JP2004078516A - 曲線補間方法 - Google Patents
曲線補間方法 Download PDFInfo
- Publication number
- JP2004078516A JP2004078516A JP2002237394A JP2002237394A JP2004078516A JP 2004078516 A JP2004078516 A JP 2004078516A JP 2002237394 A JP2002237394 A JP 2002237394A JP 2002237394 A JP2002237394 A JP 2002237394A JP 2004078516 A JP2004078516 A JP 2004078516A
- Authority
- JP
- Japan
- Prior art keywords
- curve
- point
- command
- points
- interpolation
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/41—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
- G05B19/4103—Digital interpolation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33077—Calculation iterative, recursive
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34124—Cordic processing
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34127—Brm followed by postprocessor to smooth curve
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34135—Spline
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34145—Bezier interpolation, spline
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34171—Generate polynomial fitting in tolerance zone around polygon
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/42—Servomotor, servo controller kind till VSS
- G05B2219/42207—Generate points between start and end position, linear interpolation
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Complex Calculations (AREA)
- Image Generation (AREA)
Abstract
【解決手段】指令点列P,P…の各点間に内挿点Q,Q…を求め、この内挿点Q,Q…を指令形状点とする。指令形状点Q,Q…は、指令点列P,P…が形成された目標曲線のトレランス幅w内にある。指令形状点Q,Q…の各点を順次着目点とし、その着目点の前後の複数の指令形状点より,順次近似曲線を生成する。着目指令形状点を近似曲線に移動させ修正指令点とする。修正指令点より曲線を生成し、この曲線を曲線補間する。指令形状点(内挿点)Q,Q…は、指令点列P,P…よりもよりトレランス幅wの中心部に存在するから、近似曲線、修正指令点はトレランス幅wの中心部となり、生成される曲線はトレランス幅w内に納まり滑らかな曲線が得られる。
【選択図】 図5
Description
【発明の属する技術分野】
本発明は、数値制御装置等で曲面を加工する際の指令点列データより滑らかな曲線を得る曲線補間方法に関する。
【0002】
【従来の技術】
CAD/CAM装置や倣い装置などを使って作成した指令点列データに基づいて数値制御工作機械等で金型等の曲面を加工する場合、指令点列データから曲線補間を行って曲面加工が行われている。例えば、特開平2−113305号公報には、指令点列データから近似的なスプライン曲線を生成し補間する方法が記載されている。
【0003】
また、特開平10−240328号公報には、隣り合う点間の線分ベクトルを求めこの線分ベクトルの差の差分ベクトルの2乗の和が最小となるように各指令点の補正量を求め、各指令点を修正し補間する方法や、指令点列から連続する複数の点列を評価範囲として、この評価範囲の点列に対して近似的な曲線を当てはめ、この近似曲線と評価範囲内の各指令点との差を修正量とし修正指令点列を求める方法等が記載されている。
【0004】
【発明が解決しようとする課題】
CAD/CAMで作成されるデータは、CADで作成されるデータの目標曲線(以下、所期の曲線という)に対してあるトレランス内に入るように線分が作成され、その線分の両端の点が指令点列データとして数値制御装置に指令される。
図1に示すように、CAMでは所期の曲線Csに対して、あるトレランス幅2w内に入るように線分Lが作成され、その線分の両端の点P,P…・が指令点列データとしてCAMから数値制御装置に指令される。この指令点列の位置情報に基づいて曲線Ceが生成されるために、所期の曲線Csに対するトレランス幅2wを越えるような曲線Ceが生成されてしまうことがある。
【0005】
特開平10−240328号公報に記載された技術は、指令点を修正するものであるが、この場合も同様である。指令点を修正しても図1と同様な曲線Ceになる可能性があり、所期の曲線Csに対するトレランス幅2wを越えるような曲線Ceが生成されないという保証はない。
また、指令点列は所期の曲線Csに対してあるトレランス幅2wの帯の端に来ることが多い。そのため、指令点列のみから曲線Ceを生成すると、所期の曲線Csから離れてしまうことがある。たとえば、図2に示すように、所期の曲線Csが円弧であった場合、あるトレランス幅2w内に入る線分Lを生成すると、指令点P,P,Pは所期の曲線Csからトレランス量wだけ離れた位置にあり、図3に示すように、各線分Lを約0.15:0.7:0.15で内分した2点Q1,Q2が所期の曲線Cs上に存在する点である。
【0006】
このことは、指令点を修正する場合も同様である。たとえば、上述した図2のように、所期の曲線が円弧であった場合、指令点列は円弧上に並んでいるため、指令点列に対して近似的な曲線を当てはめても指令点列はほとんど修正されない。したがって、修正された指令点列はやはり所期の曲線Csからトレランス量wだけ離れた位置にある。
【0007】
又、指令点列から生成される曲線Ceは、指令点列の位置を必ず通過する。 そのため、指令点列にCAD/CAMでの計算誤差があったり、設定単位への丸め誤差があり、図4に示すような点列P,P,P…であると、その誤差が生成曲線Ceに反映し、加工面の面精度が良くないことや加工時の機械の振動の原因となることがある。このように、指令された点列の位置を必ず通過することが、面精度の劣化の原因となることがある。
【0008】
そこで、本発明の目的は、所期の曲線に対するトレランス以内に収まる曲線を得る曲線補間方法を提供することにある。又は、所期の曲線により近い曲線を得る曲線補間方法を提供することにある。
【0009】
【課題を解決するための手段】
指令点P,P,P…・は、図5に示すようにトレランス幅2w内に有り、各指令点列P,P,P…・を結ぶ線分もトレランス幅2w内にある。よって、指令点間線分を内挿すれば、この内挿点Q,Q,Q…もトレランス幅2w内に存在することになる。本発明は、この内挿点を利用して、所期の曲線Csにより近い滑らかな曲線Ceを生成しその曲線に沿って補間する方法であり、
ステップ▲1▼;指令点列P,P,P…・の各点間に内挿点Q,Q,Q,…・を求め、それを形状指令点とする。この形状指令点(内挿点)Q,Q,Q,…・は指令点P,P,P…・よりもトレランス幅2w内の中心部に位置する。
ステップ▲2▼;該形状指令点Q,Q,Q,…・の各点について順に着目し、着目した点とその前後の予め決められた点数の形状指令点を選択する。
ステップ▲3▼;図6に示すように該選択した形状指令点Q,Q,Q,…・に対して近似曲線Cmを生成する。
ステップ▲4▼;前記着目した形状指令点Qを前記近似曲線Cmに向かって移動し、修正指令点Q’とする。
ステップ▲5▼;前記ステップS▲2▼からステップS▲4▼までを各形状指令点Q,Q,Q,…・について繰り返し実行し、修正指令点Q’,Q’,Q’…・を得る。
ステップ▲6▼;前記修正指令点Q’の点列を通る曲線を生成する。
ステップ▲7▼;生成した曲線を補間する。
以上のステップで構成された曲線補間方法である。
【0010】
又、前記ステップ▲1▼において、内挿点Qだけではなく指令点Pをあわせて形状指令点としてもよい。このステップ▲1▼において内挿点を求めるにあたり、点列指令における指令設定単位以下の細かさで内挿点を求めるようにする。
【0011】
ステップ▲3▼の処理においては、各形状指令点Qと近似曲線Cmとの距離の2乗の和が最小となる近似曲線Cmを生成するようにする。
ステップ▲4▼において、修正のための移動量が第1の設定値を越えるとき、修正のための移動量はこの第1の設定値分だけとする。
又、ステップ▲4▼において、図7に示すように、修正指令点Q’間が第2の設定値よりも短い場合は、さらにその内挿点(例えば中点)Q”を修正指令点Q’とし、その内挿点を求めるために使用した修正指令点は削除する。
ステップ▲4▼において、移動するにあたり、点列指令の設定単位以下の細かさで移動するようにする。
【0012】
ステップ▲6▼において、修正指令点列Q’,Q,’Q’,…・を通る曲線を生成するにあたり、図9に示すように、各修正指令点Q’が対応する近似曲線Cmの点における近似曲線Cmの1階微分の値Q(1)’も使用する。
ステップ▲7▼においては、点列指令の設定単位以下の細かさで補間する。
ステップ▲1▼において、指令点間の距離がある設定値よりも短い場合は図8に示すように、さらにその内挿点(例えば中点)P’を指令点Pとみなし、その内挿点を求めるために使用した指令点は削除するようにする。
ステップ▲6▼において、生成する曲線Ceは、NURBS曲線又はスプライン曲線とする。
【0013】
【発明の実施の形態】
図10は本発明の曲線補間方法を適用する数値制御装置100のブロック図である。数値制御装置100を全体的に制御するプロセッサ11には、ROM、RAM、バッテリでバックアップされたCMOSメモリ等のメモリ12、記憶媒体にデータを入出力するデータ入出力装置34が接続されたインターフェイス13,表示器/MDIユニット30が接続されたインターフェイス16,操作盤31が接続されたインターフェイス17、PMC(プログラマブル・マシン・コントローラ)14、表示器/MDIユニット30、各軸の軸制御回路18、スピンドル制御回路20がバス22で接続されている。
【0014】
各軸の軸制御回路18はプロセッサ11からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ19に出力する。サーボアンプ19はこの指令を受けて、各軸のサーボモータ32を駆動する。各軸のサーボモータ32は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路18にフィードバックし、位置・速度のフィードバック制御を行う。なお、図10では、位置・速度のフィードバックについては省略している。
【0015】
また、スピンドル制御回路20は主軸回転指令を受け、指令主軸速度と主軸モータ33に設けられたポジションコーダからの速度フィードバック信号とにより、スピンドルアンプ21にスピンドル速度信号を出力する。スピンドルアンプ21はスピンドル速度信号により主軸の速度制御を行う。
【0016】
データ入出力装置34からインターフェイス13を介して、CAD/CAM装置や倣い装置などを使って作成された指令点列データを含む加工プログラムが入力され、メモリの不揮発性部分に記憶されているものとする。滑らかな曲線を生成して補間することの開始を指令するGコードとこの指令を解除するGコードが用意されており、加工プログラムには、図11に示すように、滑らかな曲線を生成して補間すべき対象の指令点列の最初に、滑らか曲線補間指令のGコード「G06.3」がプログラムされ、この指令をキャンセルする位置に滑らか曲線補間キャンセル指令Gコード「G06.9」がプログラムされている。このGコード「G06.3」と「G06.9」間において本発明が採用する滑らか補間がなされる。
【0017】
又、この滑らか補間をなす区間を自動的に判断するようにしてもよい。この場合は、プロセッサ11は加工プログラムより点列を読み、各点列間を結ぶ線分野角度や長さから滑らか曲線を生成して補間するか否かを自動的に判断するようにする。図12に示すように、点P1,P2,P3の各点間の隣り合う線分間の屈折角度は小さい。及び点,P6,P7,P8の各点間の隣り合う線分間の屈折角度も小さい。よって、これらの区間は滑らか曲線を生成して補間する領域と判断し、又、点P3とP4間の線分と点P4とP5間の線分の屈折角度α、点P4とP5間の線分と点P5とP6間の線分の屈折角度βは大きい。このため、点P4とP5間は滑らかな曲線を生成して補間する処理は行わないようにする。すなわち、指令点列間のとなりあう線分の屈折角が基準値以下の場合には、滑らか曲線を生成して補間する処理を行うものと自動的に判断し、他の場合には行わないように自動的に判断するようにする。
【0018】
又、図13に示すように、指令点P1からP4及び指令点P5からP8の各点間の距離は短いが、指令点P4とP5間の距離は長い、このように指令点間の距離が基準値以下の指令点P0〜P4、P5〜P8場合には、滑らか曲線を生成して補間する処理を行い、基準値より長い指令点P4〜P5の場合には、滑らか曲線を生成して補間する処理を行わないものと自動的に判断するようにする。
【0019】
そこで、Gコードにより又は自動的に滑らか曲線を生成して補間する処理と判断されたときの処理について、図14、図15に示すフローチャートと共に説明する。
【0020】
プロセッサ11は加工プログラムより指令点列P0,P1,P2,Pn−1,Pnを読込む(S1)。この読み込んだ指令点列が図16に示すような指令点列P0,P1,P2,Pn−1,Pnであったとする。
【0021】
次に、各点間(P0,P1) ,(P1,P2)…(Pn−1,Pn)に2点の内挿点(Q1,Q2),(Q3,Q4)…(Q2n−1,Q2n)を作成する(S2)。この実施形態においては、図17に示すように、内挿比を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とする。
【0022】
そして、Q0=P0,Q2n+1=Pnとし(S3)、これによって内挿点の点列Q0,Q1,Q2,…Q2n,Q2n+1からなる形状指令点列を生成する。
指標iを「1」にセットし(S4)、該指標iの値を判断し(S5,S6)、指標iが「1」の場合には、形状指令点列Qi−1,Qi,Qi+1,Qi+2(=Q0,Q1,Q2,Q3)を取り出し(S17)、指標iが「2〜2n−1」の場合には、形状指令点列Qi−2,Qi−1,Qi,Qi+1,Qi+2を取出し(S7)、指標iが「2n」の場合には、形状指令点列Qi−2,Qi−1,Qi,Qi+1(=Q2n−2,Q2n−1,Q2n,Q2n+1)を取出す(S18)。なお、指標iが「2n+1」の場合には後述する。
こうして取出した点列に対して、最小2乗法にて近似曲線Cmを作成する。 つまり、取出した点列からの距離の2乗和が最も小さくなる曲線Cmを作成する(S8)。この近似曲線Cmが図18に示す一点鎖線の曲線であったとする。次に、この時点の指標iに対応する形状指令点Qiを近似曲線Cmに向かって、点列指令の設定単位以下の細かさでかつトレランス量2w以内で移動し、修正指令点Qi’とする(S9)。そして、形状指令点Qiに対応する近似曲線Cm上の修正指令点Qi’における1階微分値Qi (1)’を求め記憶する(S10)。
【0023】
指標iを「1」インクリメントし(S11)、該指標iが形状指令点Qの数の「2n+1」を越えたか判断し(S12)、越えてなければ、処理S5に戻り上述した処理を実行する。
【0024】
指標iが「2n+1」に達したことが、処理S5で判断されたときには、修正指令点Q2n+1’=指令点Pnとし、修正指令点Q2n’から指令点Pnへの方向ベクトルを修正指令点Q2n+1’に対応する1階微分値Q2n+1 (1)’として記憶し(S19)、指標iを1インクリメントする(S11)。その結果、指標iが形状指令点Qの数「2n+1」を越えたことが判別されるので(S12)、処理S13に移行し、修正指令点Q0’=指令点P0とし、指令点P0から修正指令点Q1’の方向ベクトルを修正指令点Q0’(=P0)に対応する1階微分値Q0 (1)’とする。以上の処理によって、形状指令点列Q0,Q1,Q2,…Q2n,Q2n+1に対応する修正指令点列Q0’,Q1’,Q2’…Q2n’,Q2n+1’及び各修正指令点の1階微分値Q0 (1)’,Q1 (1)’,Q2 (1)’…Q2n (1)’,Q2n+1 (1)’を得る。
【0025】
さらに本実施形態においては、図19に示すように、修正指令点Q0’,Q1’…Q2n+1’の各2点間の距離について、設定されている基準値よりも短い2点Qj’,Qj+1’間の距離があれば、その2点間を内挿した内挿点を求める。この図19に示す例では2点の中点を新しい修正指令点Qj’とし、旧い修正指令点Qj’,Qj+1’を削除する。又、旧い修正指令点の1階微分値Qj (1)’とQj+1 (1)’の平均値を新しい修正指令点Qj’の1階微分値Qj (1)’として、旧い修正指令点の1階微分値Qj (1)’とQj+1 (1)’を削除する。ただし、修正指令点列の両端の修正指令点Q0’,Q2n+1’及びこの修正指令点の1階微分値Q0 (1)’,Q2n+1 (1)’は削除しない。
これによって、曲線生成の元データとして、修正指令点列Q0’,Q1’…Q2n+1’と、各点における1階微分値Q0 (1)’,Q1 (1)’…Q2n+1 (1)’が作成される(S14)。
【0026】
次に、修正指令点列Q0’,Q1’…Q2n+1’および各1階微分値Q0 (1)’,Q1 (1)’…Q2n+1 (1)’とから、修正指令点列Q0’,Q1’…Q2n+1’を通る曲線を生成する(S15)。
【0027】
たとえば、2点Qj’,Qj+1’において、それらの位置Qj’,Qj+1’とそれらの点における1階微分値Qj (1)’,Qj+1 (1)’が与えられているので、それらの点を結ぶスプライン曲線やNURBS曲線等の3次曲線を生成して補間することができる。より具体的には、たとえば、2点Qj’,Qj+1’間を次のようなスプライン曲線の3次曲線で結ぶ場合、2点の位置Qj’,Qj+1’と1階微分値Qj (1)’,Qj+1 (1)’の4個のデータが与えられるので、次式で示すスプライン曲線の係数A,B,C,Dは決定され、2点Qj’,Qj+1’間を結ぶ3次曲線Ceが生成される(S15)。
【0028】
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
なお、図20にこうして生成された曲線Ceを示す。
次に、こうして生成された曲線Ceを点列指令の設定単位以下の細かさで補間する(S16)。
【0029】
上述の実施形態においては、ステップS1で全ての指令点列P0,P1,P2, …Pn−1,Pnの読込みを行ってから処理を開始したが、必要点列だけ読みとってその点列に対する処理を行うことも可能である。 そうすることによって、対象の指令点列をすべて読込み終わってから曲線生成の処理を開始するのでなく指令点列を読込みながら読込んだ指令点列に対して曲線を生成していくことが可能である。
【0030】
又、各指令点間に内挿点(=形状指令点)を得る場合、上記実施形態では2点の内挿点を作成しているが、2点に限らず他の数の内挿点を作成するようにしてもよい。さらに、近似曲線Cmを作成する場合、上記実施形態では、着目している形状指令点Qiの前後に最大2点の形状指令点を取出しているが、2点という点数を他の数にしてもよい。さらには、指令点列P0,P1,P2,…Pn−1,Pn と内挿点Q1,Q2,…Q2nを合わせて形状指令点としてもよい。
【0031】
さらに、指令点列P0,P1,P2,…Pn−1,Pn の任意の2点を結ぶ線分がある設定値よりも短い場合、図8に示すように、その内挿点または中点を指令点P’とみなしその内挿点または中点を生成するために使用した2点の指令点は削除するようにしてもよい。この場合、処理S2で、各指令点P間の距離が設定基準値以下か判断し,基準以下の場合には、上述した処理を行うようにして、指令点列を作成しなおし、内挿点を求めるようにすればよい。
【0032】
又、上記実施形態では、処理S2の処理で指令点Pi,Pi+1間の内挿点Q2i+1,Q2i+2おいて、線分(Pi,Pi+1)の距離:線分(Q2i+1,Q2i+2)の距離:線分(Pi,Q2i+1)の距離=1:0.7:0.15とした内挿比を用いたが、他の値にしてもよい。
【0033】
【発明の効果】
本発明は、より滑らかでかつ所期の曲線に近い曲線を補間することができる。
【図面の簡単な説明】
【図1】指令点列に基づいて曲線を生成する従来の方法の問題点の説明図である。
【図2】従来の方法により生成した曲線と所期の曲線の説明図である。
【図3】従来の方法による所期の曲線上の点の説明図である。
【図4】指令点列によっては、従来の方法では滑らかな生成曲線が得られない例の説明図である。
【図5】本発明が形状指令点として用いる内挿点の説明図である。
【図6】本発明における形状指令点を近似曲線へ移動させ修正指令点を求める説明図である。
【図7】本発明における修正指令点をさらに修正する場合の説明図である。
【図8】本発明において,さらに指令点を修正する場合の説明図である。
【図9】本発明における1階微分値の説明図である。
【図10】本発明を実施する数値制御装置の一実施形態の要部ブロック図である。
【図11】同実施形態における曲線を生成して補間するプログラムを指令したプログラム例の説明図である。
【図12】同実施形態において、曲線を生成して補間するか否かを自動的に判断する方法の説明図である。
【図13】同実施形態において、曲線を生成して補間するか否かを自動的に判断する別の方法の説明図である。
【図14】同実施形態における動作処理のフローチャートである。
【図15】同動作処理フローチャートの続きである。
【図16】同実施形態における点列指令の説明図である。
【図17】同実施形態における内挿点(形状指令点)の説明図である。
【図18】同実施形態における近似曲線を求め、修正指令点及び1階微分値を求める説明図である。
【図19】同実施形態における修正指令点をさらに修正し新しい修正指令点と1階微分値を求める説明図である。
【図20】同実施形態において生成される滑らかな曲線の説明図である。
【符号の説明】
100 数値制御装置
P,P0,P1,P2,…Pn−1,Pn 指令点
Q,Q0,Q1,Q2,…Q2n,Q2n+1 内挿点(形状指令点)
Q’,Q0’,Q1’,Q2’…Q2n’,Q2n+1’ 修正指令点
Q(1)’,Q0 (1)’,Q1 (1)’…Q2n+1 (1)’ 1階微分値
Cs 所期の曲線
Cm 近似曲線
Ce 生成される曲線
w トレランス幅
L 線分
Claims (14)
- 数値制御装置における、指令点列から滑らかな曲線を生成しその曲線に沿って補間する方法において、
▲1▼前記指令点列の各点間に内挿点を求め、それを形状指令点とするステップと、
▲2▼該形状指令点の各点について順に着目し、着目した点とその前後の予め決められた点数の形状指令点を選択するステップと、
▲3▼該選択した点に対して近似曲線を生成するステップと、
▲4▼前記着目した点を前記近似曲線に向かって移動し、修正指令点とするステップと、
▲5▼前記ステップ▲2▼からステップ▲4▼までを各形状指令点について繰り返し実行するステップと、
▲6▼前記修正指令点の点列を通る曲線を生成するステップと、
▲7▼生成した曲線を補間するステップと、
を備えた曲線補間方法。 - ステップ▲1▼において、内挿点と指令点をあわせて形状指令点とする、請求項1記載の曲線補間方法。
- ステップ▲1▼において、内挿するにあたり、設定単位以下の細かさで内挿点を求める、請求項1又は請求項2記載の曲線補間方法。
- ステップ▲3▼において、各点と近似曲線との距離の2乗の和が最小となる近似曲線を生成する、請求項1乃至3の内いずれか1項に記載の曲線補間方法。
- ステップ▲4▼において、修正のための移動量が第1の設定値を越えるとき、修正のための移動量は前記第1の設定値分だけとする、請求項1乃至4の内いずれか1項に記載の曲線補間方法。
- ステップ▲4▼において、修正指令点間が第2の設定値よりも短い場合は、さらにその内挿点を修正指令点とし、その内挿点を求めるために使用した修正指令点は削除する、請求項1乃至5の内いずれか1項に記載の曲線補間方法。
- 前記内挿点は中点である、請求項6記載の曲線補間方法。
- ステップ▲4▼において、移動するにあたり、設定単位以下の細かさで移動する、請求項1乃至7の内いずれか1項に記載の曲線補間方法。
- ステップ▲6▼において、修正指令点列を通る曲線を生成するにあたり、各修正指令点が対応する近似曲線の点における近似曲線の1階微分の値も使用する、請求項1乃至8の内いずれか1項に記載の曲線補間方法。
- ステップ▲7▼において、設定単位以下の細かさで補間する、請求項1乃至9の内いずれか1項に記載の曲線補間方法。
- ステップ▲1▼において、指令点間がある設定値よりも短い場合は、さらにその内挿点を指令点とみなし、その内挿点を求めるために使用した指令点は削除する、請求項1乃至10の内いずれか1項に記載の曲線補間方法。
- 前記内挿点とは中点である、請求項11記載の曲線補間方法。
- ステップ▲6▼において、生成する曲線はNURBS曲線である、請求項1乃至12の内いずれか1項に記載の曲線補間方法。
- ステップ▲6▼において、生成する曲線はスプライン曲線である、請求項1乃至12の内いずれか1項に記載の曲線補間方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002237394A JP3904993B2 (ja) | 2002-08-16 | 2002-08-16 | 曲線補間方法 |
EP03254589A EP1389749B1 (en) | 2002-08-16 | 2003-07-23 | Curve interpolation method |
US10/624,600 US6823234B2 (en) | 2002-08-16 | 2003-07-23 | Curve interpolation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002237394A JP3904993B2 (ja) | 2002-08-16 | 2002-08-16 | 曲線補間方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004078516A true JP2004078516A (ja) | 2004-03-11 |
JP3904993B2 JP3904993B2 (ja) | 2007-04-11 |
Family
ID=30768058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002237394A Expired - Fee Related JP3904993B2 (ja) | 2002-08-16 | 2002-08-16 | 曲線補間方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6823234B2 (ja) |
EP (1) | EP1389749B1 (ja) |
JP (1) | JP3904993B2 (ja) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7274969B2 (en) | 2005-05-02 | 2007-09-25 | Fanuc Ltd | Curve interpolating method |
JP2008040702A (ja) * | 2006-08-04 | 2008-02-21 | Okuma Corp | 近似点群データからの近似曲線生成プログラム及び方法 |
JP2009199483A (ja) * | 2008-02-25 | 2009-09-03 | Mitsubishi Heavy Ind Ltd | 数値制御装置 |
DE102014015278A1 (de) | 2013-10-23 | 2015-04-23 | Fanuc Corporation | Bearbeitungskurven-Erzeugungsvorrichtung und dazu gehöriges Bearbeitungskurven-Erzeugungsverfahren |
JP2015100867A (ja) * | 2013-11-22 | 2015-06-04 | トヨタ自動車株式会社 | ロボットの3次元軌道生成方法 |
DE102015120118A1 (de) | 2014-11-28 | 2016-06-02 | Fanuc Corporation | Werkzeugwegkurvenerzeugungsverfahren und Werkzeugwegkurvenerzeugungsvorrichtung |
JP2016189136A (ja) * | 2015-03-30 | 2016-11-04 | ブラザー工業株式会社 | 制御装置、工作機械及びコンピュータプログラム |
JP2018073097A (ja) * | 2016-10-28 | 2018-05-10 | ファナック株式会社 | 工具経路生成装置、工具経路生成方法及び工具経路生成プログラム |
JP2019057253A (ja) * | 2017-09-22 | 2019-04-11 | オムロン株式会社 | 制御装置、制御方法およびサポート装置 |
CN112305994A (zh) * | 2020-11-05 | 2021-02-02 | 广东三维家信息科技有限公司 | 基于平均滤波的直线段平滑方法、装置、设备及存储介质 |
CN113204215A (zh) * | 2021-04-16 | 2021-08-03 | 华中科技大学 | 一种数控加工全局nurbs轨迹实时插补方法及其应用 |
WO2023073815A1 (ja) * | 2021-10-26 | 2023-05-04 | ファナック株式会社 | 工具経路修正装置及び工具経路修正方法 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10357650B4 (de) | 2003-12-10 | 2019-04-25 | Dr. Johannes Heidenhain Gmbh | Verfahren zur Glättung von Polygonzügen in NC-Programmen |
US8549888B2 (en) * | 2008-04-04 | 2013-10-08 | Nuvasive, Inc. | System and device for designing and forming a surgical implant |
US7957831B2 (en) * | 2008-04-04 | 2011-06-07 | Isaacs Robert E | System and device for designing and forming a surgical implant |
US8643650B1 (en) | 2009-08-13 | 2014-02-04 | Adobe Systems Incorporated | System and method for approximating parametric curves using optimal number of segments |
JP4689745B2 (ja) * | 2009-08-19 | 2011-05-25 | ファナック株式会社 | 工作機械の工具ベクトル表示装置 |
JP2011096077A (ja) * | 2009-10-30 | 2011-05-12 | Makino Milling Mach Co Ltd | 工具経路の生成方法及び装置 |
JP5615377B2 (ja) * | 2010-10-25 | 2014-10-29 | 株式会社牧野フライス製作所 | 工具経路の生成方法および生成装置 |
US11207132B2 (en) | 2012-03-12 | 2021-12-28 | Nuvasive, Inc. | Systems and methods for performing spinal surgery |
DE112012006342B4 (de) | 2012-07-17 | 2019-05-09 | Mitsubishi Electric Corporation | Numerische Steuervorrichtung und numerisches Steuersystem |
US9848922B2 (en) | 2013-10-09 | 2017-12-26 | Nuvasive, Inc. | Systems and methods for performing spine surgery |
US10140316B1 (en) * | 2014-05-12 | 2018-11-27 | Harold T. Fogg | System and method for searching, writing, editing, and publishing waveform shape information |
US10433893B1 (en) | 2014-10-17 | 2019-10-08 | Nuvasive, Inc. | Systems and methods for performing spine surgery |
JP6267156B2 (ja) * | 2015-05-29 | 2018-01-24 | ファナック株式会社 | 微小ブロックのコーナ制御を行うワイヤカット放電加工機用数値制御装置 |
US10390884B2 (en) | 2015-06-30 | 2019-08-27 | DePuy Synthes Products, Inc. | Methods and templates for shaping patient-specific anatomical-fixation implants |
AU2015414802B2 (en) * | 2015-11-19 | 2020-12-24 | Eos Imaging | Method of preoperative planning to correct spine misalignment of a patient |
JP6242539B1 (ja) * | 2016-07-29 | 2017-12-06 | 三菱電機株式会社 | 数値制御装置 |
CN114746221A (zh) * | 2019-12-04 | 2022-07-12 | Abb瑞士股份有限公司 | 控制工业致动器、控制系统和致动器系统的方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02113305A (ja) | 1988-10-24 | 1990-04-25 | Fanuc Ltd | スプライン補間方法 |
DE4430003A1 (de) * | 1994-08-25 | 1996-02-29 | Siemens Ag | Verfahren zur numerischen Bahnsteuerung einer Werkzeugmaschine |
JP3037881B2 (ja) * | 1995-07-10 | 2000-05-08 | ファナック株式会社 | 数値制御装置 |
US5726896A (en) * | 1995-08-30 | 1998-03-10 | University Of Utah Research Foundation | Method and system for spline interpolation, and their use in CNC |
DE59602110D1 (de) * | 1996-10-11 | 1999-07-08 | Siemens Ag | Steuerungsverfahren zur Bewegungsführung einer numerisch gesteuerten industriellen Bearbeitungsmaschine |
JP3640754B2 (ja) | 1997-02-21 | 2005-04-20 | 三菱電機株式会社 | 数値制御装置および数値制御方法 |
KR100363814B1 (ko) * | 1998-05-28 | 2002-12-06 | 미쓰비시덴키 가부시키가이샤 | 수치제어장치를위한가공프로그램의파일컨버터장치및파일컨버터의순서를컴퓨터에실행시키는프로그램을저장한컴퓨터판독가능한기록매체 |
JP3610485B2 (ja) * | 1999-09-20 | 2005-01-12 | 株式会社日立製作所 | 数値制御曲面加工装置 |
KR20030007636A (ko) * | 2000-05-16 | 2003-01-23 | 브라이엄 영 유니버시티 | 기계가공 데이타를 직접 전송하는 공작기계 제어 방법 및제어시스템 |
-
2002
- 2002-08-16 JP JP2002237394A patent/JP3904993B2/ja not_active Expired - Fee Related
-
2003
- 2003-07-23 EP EP03254589A patent/EP1389749B1/en not_active Expired - Lifetime
- 2003-07-23 US US10/624,600 patent/US6823234B2/en not_active Expired - Lifetime
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7274969B2 (en) | 2005-05-02 | 2007-09-25 | Fanuc Ltd | Curve interpolating method |
JP2008040702A (ja) * | 2006-08-04 | 2008-02-21 | Okuma Corp | 近似点群データからの近似曲線生成プログラム及び方法 |
US7792603B2 (en) | 2006-08-04 | 2010-09-07 | Okuma Corporation | Program and method for generating approximate curve from approximate point group data |
JP2009199483A (ja) * | 2008-02-25 | 2009-09-03 | Mitsubishi Heavy Ind Ltd | 数値制御装置 |
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 |
DE102014015278A1 (de) | 2013-10-23 | 2015-04-23 | Fanuc Corporation | Bearbeitungskurven-Erzeugungsvorrichtung und dazu gehöriges Bearbeitungskurven-Erzeugungsverfahren |
JP2015100867A (ja) * | 2013-11-22 | 2015-06-04 | トヨタ自動車株式会社 | ロボットの3次元軌道生成方法 |
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 |
JP2016189136A (ja) * | 2015-03-30 | 2016-11-04 | ブラザー工業株式会社 | 制御装置、工作機械及びコンピュータプログラム |
JP2018073097A (ja) * | 2016-10-28 | 2018-05-10 | ファナック株式会社 | 工具経路生成装置、工具経路生成方法及び工具経路生成プログラム |
US10409256B2 (en) | 2016-10-28 | 2019-09-10 | Fanuc Corporation | Tool-path generating device, tool-path generating method, and non-transitory recording medium storing tool-path generating program |
JP2019057253A (ja) * | 2017-09-22 | 2019-04-11 | オムロン株式会社 | 制御装置、制御方法およびサポート装置 |
CN112305994A (zh) * | 2020-11-05 | 2021-02-02 | 广东三维家信息科技有限公司 | 基于平均滤波的直线段平滑方法、装置、设备及存储介质 |
CN113204215A (zh) * | 2021-04-16 | 2021-08-03 | 华中科技大学 | 一种数控加工全局nurbs轨迹实时插补方法及其应用 |
WO2023073815A1 (ja) * | 2021-10-26 | 2023-05-04 | ファナック株式会社 | 工具経路修正装置及び工具経路修正方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1389749A3 (en) | 2007-05-02 |
EP1389749B1 (en) | 2011-06-08 |
JP3904993B2 (ja) | 2007-04-11 |
EP1389749A2 (en) | 2004-02-18 |
US20040122549A1 (en) | 2004-06-24 |
US6823234B2 (en) | 2004-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004078516A (ja) | 曲線補間方法 | |
EP1720085B1 (en) | Curve interpolating method | |
JP4406034B2 (ja) | 5軸加工機を制御する数値制御装置 | |
JP2005182437A (ja) | 数値制御装置及び数値制御方法 | |
JP2009146152A (ja) | 5軸加工機を制御する数値制御装置 | |
JP6885350B2 (ja) | 数値制御装置と制御方法 | |
WO1990004818A1 (en) | Spline interpolation system | |
JP6242539B1 (ja) | 数値制御装置 | |
JP2010146176A (ja) | 回転軸を有する工作機械用の数値制御装置 | |
US5936864A (en) | Free curve interpolation apparatus and interpolation method | |
JP2007293478A (ja) | 曲線補間方法 | |
JP2000353006A (ja) | 数値制御装置 | |
WO2020178978A1 (ja) | 加工プログラム変換装置、数値制御装置および加工プログラム変換方法 | |
JP6396273B2 (ja) | ワークとの干渉を避ける位置決めを行う数値制御装置 | |
JPH07302110A (ja) | ロボット動作プログラムの作成方法 | |
JPH0354610A (ja) | インボリュート補間誤差補正方式 | |
CN113467368A (zh) | S形速度曲线的调整方法 | |
JP6871280B2 (ja) | 数値制御装置 | |
JP2018533127A (ja) | 移動プロファイルを提供するための方法、制御装置、機械、およびコンピュータプログラム | |
JP2640658B2 (ja) | 数値制御装置 | |
JPH01217608A (ja) | スプライン曲線生成方法 | |
CN117647954A (zh) | 一种六轴nurbs直纹面实时插补控制方法 | |
JP3934299B2 (ja) | 軌道に沿ったスキニング曲面の生成方法、生成装置及び記憶媒体 | |
Kittel et al. | Introduction of a CAM feature model for laser beam welding | |
JPH1039913A (ja) | Ncデ−タ作成方法及びnc装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040806 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040907 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041102 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060928 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070110 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3904993 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110119 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120119 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120119 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130119 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130119 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140119 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |