JP3640754B2 - 数値制御装置および数値制御方法 - Google Patents
数値制御装置および数値制御方法 Download PDFInfo
- Publication number
- JP3640754B2 JP3640754B2 JP03823397A JP3823397A JP3640754B2 JP 3640754 B2 JP3640754 B2 JP 3640754B2 JP 03823397 A JP03823397 A JP 03823397A JP 3823397 A JP3823397 A JP 3823397A JP 3640754 B2 JP3640754 B2 JP 3640754B2
- Authority
- JP
- Japan
- Prior art keywords
- point sequence
- correction amount
- sequence command
- evaluation range
- numerical control
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Numerical Control (AREA)
Description
【発明の属する技術分野】
この発明は、工作機械の数値制御に用いられる数値制御装置に関するものであり、特に、工作機械位置制御用の点列指令を滑らかに修正する機能を備えた数値制御装置および数値制御方法に関するものである。
【0002】
【従来の技術】
工作機械を制御するNC装置のNCプログラムは、通常、滑らかなスプライン曲線のような軌跡の場合、曲線を直線近似して微小な線分列として表現する。この場合、NC装置の前記NCプログラムは、連続する点列(位置座標点)として表現されるか、あるいは、連続する線分として表現される。このような前記直線近似による軌跡を点列指令と総称する。
【0003】
前記点列指令は、CAD/CAM装置で作成される場合は、計算誤差等で不連続な点が発生する場合がある。また、モデルの形状を計測して前記点列指令を作成する場合には、モデルを倣い計測する時に発生する計測誤差によってガタガタした不連続な軌跡になる場合がある。点列指令に不連続な軌跡があると、加工面が滑らかにならず、また、工作機械にも不必要な加速度が加わって機械を損傷する場合があるなどの問題がある。
【0004】
このような前記点列指令の不連続点を修正する方法として、例えば特開平3−63708に示されたような方法がある。この方法では、不連続な点列指令を修正するために、連続する点列指令3点ごとに三角形の重心の近似点を算出し、点列指令を前記重心の近似点に移動させることにより修正を行っている。
【0005】
【発明が解決しようとする課題】
従来の数値制御装置は以上のように構成されているので、連続する点列指令中の修正点およびその前後の計3点から三角形の重心を求めて修正を行うため、点列指令の修正に用いる点列情報が少なく、このため、前記修正において必ずしも点列指令全体を滑らかにするような有効な修正が行われない課題があった。
【0006】
また、点列指令が円弧などの曲率の変化の少ない軌跡を表現している場合に、上記従来の方法で点列指令を修正すると、逆に曲率が大きな点列指令に修正され、滑らかさが失われるとともに、修正が行われることにより誤差が大きな点列軌跡となってしまう場合がある課題があった。
【0007】
さらに、点列指令の修正量に制限を設けていないため、加工誤差が許容範囲以上に大きくなる場合があり、加工不良が発生したりするなどの課題があった。
【0008】
この発明は上記のような課題を解決するためになされたもので、単純な計算方法により、多数の点列情報を用いて点列指令全体を滑らかにする有効な修正を行うことができ、これにより、工作機械による加工面を滑らかにし、工作機械への不必要な加速度による工作機械の損傷等を有効に防止することができる数値制御装置および数値制御方法を得ることを目的とする。
【0009】
また、この発明は、円弧のような滑らかな軌跡を表現している点列指令の場合にも、従来の方法におけるように軌跡を劣化させることなく滑らかな点列指令を得ることができる数値制御装置および数値制御方法を得ることを目的とする。
【0010】
さらに、この発明は、点列指令の修正量が許容誤差以上の大きな値となって工作機械による加工不良や工作機械の損傷が発生する事態を防止することができる数値制御装置および数値制御方法を得ることを目的とする。
【0011】
さらに、この発明は、曲率の変化や点列指令間の間隔の変化が大きいような点列指令に対しても軌跡を劣化させることなく滑らかな点列指令が得られ、点列指令の修正を有効に行うことができる数値制御装置および数値制御方法を得ることを目的とする。
【0012】
さらに、この発明は、曲線の種類や、誤差の有無などが複雑に組み合わされたような軌跡に対しても、精度よく本来の軌跡を復元することのできる数値制御装置および数値制御方法を得ることを目的とする。
【0013】
【課題を解決するための手段】
この発明に係る数値制御装置は、修正量計算部が、点列指令を通過する曲線の曲率に相当する曲率評価値を評価範囲内の複数箇所で計算するとともに、前記複数の曲率評価値の中で値の最も大きなものを小さくするように前記点列指令の修正量を計算するようにしたものである。
【0014】
この発明に係る数値制御装置は、修正量計算部が、曲率評価値として、連続する点列指令を結ぶ線分ベクトルの1次または高次の変化量を示す差分ベクトルを用いるようにしたものである。
【0016】
この発明に係る数値制御装置は、修正量計算部における修正量を許容誤差値以下に制限する修正量制限部を備えたものである。
【0017】
この発明に係る数値制御装置は、修正量計算部が、差分ベクトルとして、線分ベクトルの長さに関する量により重み付けされた線分ベクトルを用いて計算された差分ベクトルを用いるようにしたものである。
【0018】
この発明に係る数値制御装置は、修正量計算部が、評価範囲内の点列指令に2次以上のスプライン曲線をあてはめ、そのスプライン曲線に近づくように前記点列指令の修正量を計算し、かつNはスプライン曲線の次数に2を加算した値以上の整数であるようにしたものである。
【0020】
この発明に係る数値制御装置は、評価範囲内の点列指令に2次曲線をあてはめた修正量計算部における修正量を許容誤差値以下に制限する修正量制限部を備えるようにしたものである。
【0022】
この発明に係る数値制御装置は、入力された点列指令からなる軌跡の性状を判断する軌跡判断部を備え、判断された前記軌跡の性状に応じて、評価範囲設定部において設定する前記評価範囲または修正量計算部における前記修正量計算方法を適宜変更するようにしたものである。
【0023】
この発明に係る数値制御方法は、第3のステップが、点列指令を通過する曲線の曲率に相当する曲率評価値を評価範囲内の複数箇所で計算するとともに、前記複数の曲率評価値の中で値の最も大きなものを小さくするように前記点列指令の修正量を計算し、かつNはスプライン曲線の次数に2を加算した値以上の整数であるようにしたものである。
【0024】
この発明に係る数値制御方法は、第3のステップが、曲率評価値として、連続する点列指令を結ぶ線分ベクトルの1次または高次の変化量を示す差分ベクトルを用いるようにしたものである。
【0026】
この発明に係る数値制御方法は、第3のステップにおける修正量を許容誤差値以下に制限する第5のステップを有するものである。
【0027】
この発明に係る数値制御方法は、第3のステップが、差分ベクトルとして、線分ベクトルの長さに関する量により重み付けされた線分ベクトルを用いて計算された差分ベクトルを用いるようにしたものである。
【0028】
この発明に係る数値制御方法は、第3のステップが、評価範囲内の点列指令に2次以上の曲線をあてはめ、その曲線に近づくように前記点列指令の修正量を計算するようにしたものである。
【0030】
この発明に係る数値制御方法は、評価範囲内の点列指令に2次曲線をあてはめた第3のステップにおける修正量を許容誤差値以下に制限する第5のステップを備えるようにしたものである。
【0032】
この発明に係る数値制御方法は、入力された点列指令からなる軌跡の性状を判断する第6のステップを有し、判断された前記軌跡の性状に応じて、第2のステップにおいて設定する前記評価範囲または第3のステップにおける前記修正量計算方法を適宜変更するようにしたものである。
【0033】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1による数値制御装置の構成を示すブロック図であり、図において、1はこの発明の実施の形態1による数値制御装置、2はx,y,z軸の3軸構成によりなる工作機械、3はCAD/CAM装置等から点列指令を含むNCプログラムを入力して記憶する点列指令入力部であり、この点列指令は、位置座標を表す点列あるいはこの点列を結ぶ線分列により指令される。4は前記点列指令入力部3から入力した点列指令を数点選択して評価範囲を設定する評価範囲設定部、5は前記評価範囲設定部4で設定された点列指令による軌跡の曲率評価値が小さくなるように点列指令の修正量を計算する修正量計算部、6は前記点列指令の修正量が最大許容誤差を越えないように前記点列指令の修正量を制限する修正量制限部である。この最大許容誤差は加工精度に応じてあらかじめ設定される。7は点列指令入力部3の点列指令の位置を前記修正量制限部6からの出力に応じて移動させる点列移動部、8は点列移動部7から出力される点列指令とNCプログラムで指令される速度指令に基づいて補間計算を行い、工作機械2の各軸(x,y,z軸)の位置指令を計算しサンプリング周期ごとに出力する点列補間部、9は点列補間部8の出力する位置指令等に基づいて工作機械2を制御するサーボ制御部である。
【0034】
また、工作機械2において、10は工作機械2を駆動するモータ、11は工作機械2の位置および速度を計測するエンコーダである。サーボ制御部9は、点列補間部8の出力と工作機械2のエンコーダ11の計測値から位置制御、速度制御などの制御演算を行い、工作機械2のモータ10に電力を供給する。
【0035】
12は実施の形態1の数値制御装置1の点列指令修正部であり、前記点列指令入力部3,評価範囲設定部4,修正量計算部5,修正量制限部6および点列移動部7を備えている。数値制御装置1は、1つあるいは複数のCPU(中央処理装置),メモリ,入出力インターフェイス等で構成されるコンピュータシステムにより実現されている。
【0036】
図2は点列指令の1例を示す模式図である。点列指令Pi は3次元位置座標(Pxi ,Pyi ,Pzi )によりなる(ここで、iは点列指令のインデックス、i=1,2,・・,nであり、P1 は始点、Pn は終点である。)。
【0037】
次に動作について説明する。
まず、数値制御装置1の点列指令修正部12の動作を図3を用いて説明する。図3はこの発明の実施の形態1による数値制御装置1の点列指令修正部12の動作を示すフローチャートである。図3に示す評価範囲設定部4は、連続する5点を評価範囲として設定する。
【0038】
ステップST1は点列指令入力部3の処理であり、点列指令入力部3はCAD/CAM装置等からNCプログラムを読み込み、点列指令P1 ,P2 ,・・,Pn をメモリに格納する。
【0039】
ステップST2〜ステップST8は評価範囲設定部4の処理である。評価範囲設定部4は、連続する5点を評価範囲として設定する。すなわち、図2において修正を行う点をPi としたとき、前記修正点Pi とその前後の各2点、Pi-2 ,Pi-1 ,Pi+1 ,Pi+2 が選択される。
【0040】
ステップST2においては、点列指令Pi の最初の修正点として、インデックスiが2に、すなわちP2 が設定される。ステップST3では、i=2ならステップST4に処理を進め、i=2でないならステップST5に処理を進める。ステップST5では、i=n−1ならステップST6に処理を進め、i=n−1でないならステップST7に処理を進める。ステップST7では、i=n(Pn すなわち終点)ならステップST24に、そうでないならステップST8に処理を進める。
【0041】
ステップST4,6,8においては、前記修正点Pi とその前後の2点(Pi-2 ,Pi-1 ,Pi+1 ,Pi+2 )の選択を行うが、前記ステップST4は点列指令の始点部での処理、前記ステップST6は点列指令の終点部での処理、前記ステップST8は始点部および終点部以外の処理である。
【0042】
ステップST4においては点Pi-2 が、ステップST6においては点Pi+2 が存在しないため、ステップST4においては式(101)を用いて、ステップST6においては式(102)を用いて、点列指令を外挿する。
Pi-2 =2P0 −P1 (101)
Pi+2 =2Pn −Pn-1 (102)
【0043】
ステップST9は修正量計算部5の処理で、ステップST4、ステップST6、ステップST8で選択した前記5点から点Pi の修正量Ei を計算する。修正量Ei はi番目の点Pi の修正量で、X、Y、Z軸の修正量(exi ,eyi ,ezi )からなるベクトルである。
【0044】
図2の点列指令でPi の修正量Ei を計算する方法を以下に示す。図4は点列指令の修正動作の説明図である。まず、図4に示すように、図2の点列指令から、式(103)〜(106)により線分ベクトルSi-2 ,Si-1 ,Si ,Si+1 を計算する。
Si-2 =Pi-1 −Pi-2
=(Pxi-1 −Pxi-2 ,Pyi-1 −Pyi-2
,Pzi-1 −Pzi-2 )
=(Sxi-2 ,Syi-2 ,Szi-2 )
(103)
Si-1 =Pi −Pi-1
=(Pxi −Pxi-1 ,Pyi −Pyi-1
,Pzi −Pzi-1 )
=(Sxi-1 ,Syi-1 ,Szi-1 )
(104)
Si =Pi+1 −Pi
=(Pxi+1 −Pxi ,Pyi+1 −Pyi
,Pzi+1 −Pzi )
=(Sxi ,Syi ,Szi )
(105)
Si+1 =Pi+2 −Pi+1
=(Pxi+2 −Pxi+1 ,Pyi+2 −Pyi+1
,Pzi+2 −Pzi+1 )
=(Sxi+1 ,Syi+1 ,Szi+1 )
(106)
【0045】
次に、図4に示すように、第1階差分ベクトル(差分ベクトル)ΔSi-1 ,ΔSi ,ΔSi+1 を計算する。
ΔSi-1 =Si-1 −Si-2
=(Sxi-1 −Sxi-2 ,Syi-1 −Syi-2
,Szi-1 −Szi-2 )
(107)
ΔSi =Si −Si-1
=(Sxi −Sxi-1 ,Syi −Syi-1
,Szi −Szi-1 )
(108)
ΔSi+1 =Si+1 −Si
=(Sxi+1 −Sxi ,Syi+1 −Syi
,Szi+1 −Szi )
(109)
【0046】
図4の点列指令Pi-2 〜Pi+2 はほぼ等間隔に配置されているので、前記第1階差分ベクトルΔSi-1 ,ΔSi ,ΔSi+1 はそれぞれ、点列指令軌跡Pi-2 〜Pi 間,Pi-1 〜Pi+1 間,Pi 〜Pi+2 間の曲率が大きい時は大きく、前記曲率が小さい時は小さい値となる。そこで前記差分ベクトルを曲率評価値として用いる。
【0047】
修正点Pi を修正量Ei だけ移動させると式(107),(108),(109)の前記差分ベクトルは以下の式(110)〜(112)のようになる。ここで、修正後の前記差分ベクトルをΔSi-1 ’、ΔSi ’、ΔSi+1 ’とする。
ΔSi-1 ’=(Si-1 +Ei )−Si-2
=Pi −2Pi-1 +Pi-2 +Ei (110)
ΔSi ’=(Si −Ei )−(Si-1 +Ei )
=Pi+1 −2Pi +Pi-1 −2Ei (111)
ΔSi+1 ’=Si+1 −(Si −Ei )
=Pi+2 −2Pi+1 +Pi +Ei (112)
【0048】
ここで式(110),(111),(112)の差分ベクトルにおいて大きな値を持つ差分ベクトルを小さくするため、前記差分ベクトルの各軸成分の2乗の和が最小となる修正量Ei (exi ,eyi ,ezi )を計算する。まず、修正量Ei のx軸成分exi を求める方法を説明する。
【0049】
前記差分ベクトルのx軸成分の2乗の和Jxは下式(113)となる。
Jx=(Pxi −2Pxi-1 +Pxi-2 +exi )2
+(Pxi+1 −2Pxi +Pxi-1 −2exi )2
+(Pxi+2 −2Pxi+1 +Pxi +exi )2
(113)
【0050】
式(113)はexi の2次式であり、これが最小となるexi を求めるためにJx/exi =0とおき、exi について整理すると、
exi =−(Pxi-2 −4Pxi-1 +6Pxi
−4Pxi+1 +Pxi+2 )/6
(114)
となる。y軸,z軸も同様にして計算すると、下式となる。
eyi =−(Pyi-2 −4Pyi-1 +6Pyi
−4Pyi+1 +Pyi+2 )/6
(115)
ezi =−(Pzi-2 −4Pzi-1 +6Pzi
−4Pzi+1 +Pzi+2 )/6
(116)
【0051】
上記結果(114),(115),(116)をベクトルで表現すると次式となる。
Ei =−(Pi-2 −4Pi-1 +6Pi
−4Pi+1 +Pi+2 )/6
(117)
【0052】
ステップST9では式(114),(115),(116)の計算が行われ、上記のようにして修正量Ei が求められる。
【0053】
ステップST10〜ステップST21は修正量制限部6で行われる処理である。ステップST10では式(114)で計算されたx軸の修正量exi の絶対値が、あらかじめ設定されている最大許容量emaxより大きい場合にはステップST11に処理を進め、小さい場合にはステップST14に処理を進める。
【0054】
ステップST11ではexi が負の場合はステップST12に、それ以外はステップST13に処理を進め、ステップST12ではexi =−emaxとし、ステップST13ではexi =emaxとして、ステップST14に処理を進める。これにより、修正量exi の絶対値が最大許容量emax以下に制限される。
【0055】
ステップST14〜ステップST17においては前記x軸成分の処理と同様に、y軸成分の修正量eyi を最大許容量emax以下に制限する処理を行う。
【0056】
ステップST18〜ステップST21においては前記x軸成分の処理と同様に、z軸成分の修正量ezi を最大許容量emax以下に制限する処理を行う。
【0057】
ステップST22では、上記ステップST9〜ステップST21で計算した点Pi に対する修正量Ei をメモリに記憶する。ステップST23では、iをインクリメントし、ステップST3に処理を戻す。
【0058】
ステップST24〜ステップST27は点列移動部7の処理であり、まず、ステップST24において点列移動部7は修正する点列指令の最初の点のインデックスiを2に設定する。ステップST25では終了判定を行い、i=nであれば処理を終了し、そうでないならステップST26に処理を進める。ステップST26においては前記Ei にゲインK0を乗じた量を点列指令Pi に加算して、点列指令Pi を移動する。前記ゲインK0は修正ゲインであり、0.3〜1.0程度の適切な値に設定する。通常は0.5を設定する。ステップST27ではiをインクリメントし、ステップST25に処理を戻す。ステップST25〜ステップST27の処理はi=nとなるまで繰り返され、以上で図3のフローチャートに示した処理が終了する。
【0059】
図5は、図4の点列指令Pi が点列移動部7によりEi だけ修正された後の様子を示す模式図である。差分ベクトルはΔSi-1 ’,ΔSi ’,ΔSi+1 ’のように小さくなり、点列指令Pi による軌跡が滑らかになっている様子がわかる。
【0060】
点列補間部8は点列移動部7で修正された点列指令Pi を速度指令に基づいて補間制御し、サーボ制御部9の各軸の位置指令を出力する。サーボ制御部9は前記位置指令により工作機械2を制御するが、この際に点列指令Pi が滑らかになるように修正されているため、滑らかな加工を実現することができる。
【0061】
以上のように、この実施の形態1によれば、点列指令修正部12に入力される点列指令Pi の修正点の前後の数点から曲率評価値である差分ベクトルを計算し、差分ベクトルの大きな値が小さくなるように点列指令を移動するため、点列指令Pi 全体を滑らかな軌跡に修正することができる。
【0062】
また、円弧のような滑らかな軌跡を表現している点列指令Pi の場合は、曲率評価値として用いる複数の差分ベクトルの値がほぼ同じ値となり、点列指令の修正量が小さな値となる。そのため、前記円弧のような曲線においても適切な修正動作を実現することができる。
【0063】
さらに、修正量の計算を式(114),(115),(116)のように少ない処理により実現することができる。
【0064】
さらに、点列指令Pi の移動量を修正量制限部6で最大許容誤差内に制限しているため、修正による点列指令の位置誤差が必要以上に大きくならず、加工精度が保証された修正動作を実現することができる。
【0065】
実施の形態2.
実施の形態1では評価範囲設定部4の選択する点列数が5点の場合を説明したが、この実施の形態2では、前記点列数が7点の場合について説明する。図6はこの発明の実施の形態2による数値制御装置の構成を示すブロック図であり、図において、1aはこの実施の形態2の数値制御装置、4aは実施の形態2の評価範囲設定部、5aは実施の形態2の修正量計算部、12aは実施の形態2の点列指令修正部である。図1に示した実施の形態1の数値制御装置1との違いは、評価範囲設定部4aと修正量計算部5aの処理の相違のみである。
【0066】
次に動作について説明する。
図7は実施の形態2の数値制御装置1aの点列指令修正部12aの動作を示すフローチャートである。図7のステップST1〜ステップST27は図3に示した実施の形態1における処理と同様であり、説明は省略する。
【0067】
ステップST3,5,7、およびステップST40〜ステップST45は評価範囲設定部4aの処理である。この実施の形態2の評価範囲設定部4aは連続する7点を評価範囲として選択する。例えば、図2で修正を行う点をPi としたとき、前記修正点Pi とその前後の各3点、Pi-3 ,Pi-2 ,Pi-1 ,Pi+1 ,Pi+2 ,Pi+3 を選択する処理が行われる。
【0068】
ステップST41では、i=3ならステップST42に処理を進め、そうでないならステップST43に処理を進める。ステップST43ではi=n−2ならステップST44に処理を進め、そうでないならステップST5に処理を進める。
【0069】
ステップST40,42,44,45,46では、前記修正点Pi と前後の3点(Pi-3 ,Pi-2 ,Pi-1 ,Pi+1 ,Pi+2 ,Pi+3 )の選択を行うが、ステップST40とステップST42は点列指令の始点部での処理、ステップST44とステップST45は点列指令の終点部での処理、ステップST46は始点部、終点部以外の処理である。
【0070】
ステップST40においては点Pi-2 と点Pi-3 が、ステップST42においては点Pi-3 が、ステップST44においては点Pi+3 が、ステップST45においては点Pi+2 と点Pi+3 が存在しないため、次式を使って点列指令を外挿する。
ステップST40
Pi-2 =P3 −3P2 +3P1 (201)
Pi-3 =3P3 −8P2 +6P1 (202)
ステップST42
Pi-3 =P3 −3P2 +3P1 (203)
ステップST44
Pi+3 =3Pn −3Pn-1 +Pn-2 (204)
ステップST45
Pi+2 =3Pn −3Pn-1 +Pn-2 (205)
Pi+3 =6Pn −8Pn-1 −3Pn-2 (206)
【0071】
ステップST47は修正量計算部5aの処理で、ステップST40,42,44,45,46で選択した前記7点から点Pi の修正量Ei を計算する。修正量Ei はi番目の点列指令Pi の修正量であり、X、Y、Z軸の修正量(exi ,eyi ,ezi )からなるベクトルである。図2の点列指令における点Pi の修正量Ei の計算方法を以下に示す。図8は点列指令修正部12aの点列指令の修正動作の説明図である。
【0072】
まず、図8に示すように図2の点列指令から線分ベクトルSi-3 ,Si-2 ,Si-1 ,Si ,Si+1 ,Si+2 を計算する。Si-2 ,Si-1 ,Si ,Si+1 としては式(103),(104),(105),(106)を用い、Si-3 およびSi+2 としては次式を用いる。
Si-3 =Pi-2 −Pi-3
=(Pxi-2 −Pxi-3 ,Pyi-2 −Pyi-3
,Pzi-2 −Pzi-3 )
=(Sxi-3 ,Syi-3 ,Szi-3 ) (207)
Si+2 =Pi+3 −Pi+2
=(Pxi+3 −Pxi+2 ,Pyi+3 −Pyi+2
,Pzi+3 −Pzi+2 )
=(Sxi+2 ,Syi+2 ,Szi+2 ) (208)
【0073】
次に、第1階差分ベクトルΔSi-2 ,ΔSi-1 ,ΔSi ,ΔSi+1 ,ΔSi+2 を計算する。ΔSi-1 ,ΔSi ,ΔSi+1 としては式(107),(108),(109)を用い、ΔSi-2 およびΔSi+2 としては次式を用いる。
ΔSi-2 =Si-2 −Si-3
=(Sxi-2 −Sxi-3 ,Syi-2 −Syi-3
,Szi-2 −Szi-3 )
(209)
ΔSi+2 =Si+2 −Si+1
=(Sxi+2 −Sxi+1 ,Syi+2 −Syi+1
,Szi+2 −Szi+1 )
(210)
【0074】
次に、図8に示すような、第2階差分ベクトル(差分ベクトル)ΔΔSi-2 ,ΔΔSi-1 ,ΔΔSi ,ΔΔSi+1 を計算する。
ΔΔSi-2 =ΔSi-1 −ΔSi-2
=Si-1 −2Si-2 +Si-3 (211)
ΔΔSi-1 =ΔSi −ΔSi-1
=Si −2Si-1 +Si-2 (212)
ΔΔSi =ΔSi+1 −ΔSi
=Si+1 −2Si +Si-1 (213)
ΔΔSi+1 =ΔSi+2 −ΔSi+1
=Si+2 −2Si+1 +Si (214)
【0075】
図4の点列指令Pi-3 〜Pi+3 はほぼ等間隔に配置されているので、前記第2階差分ベクトルΔΔSi-2 ,ΔΔSi-1 ,ΔΔSi ,ΔΔSi+1 はそれぞれ、点列指令軌跡Pi-3 〜Pi ,Pi-2 〜Pi+1 ,Pi-1 〜Pi+2 ,Pi 〜Pi+3 間の曲率の変化が大きい時は値が大きく、前記曲率の変化が小さい時は小さい値となる。ここでは前記第2階差分べクトルを曲率評価値として用いる。
【0076】
修正点Pi を修正量Ei だけ移動させると、式(211),(212),(213)の前記差分ベクトルは以下のようになる。修正後の前記差分ベクトルを、ΔΔSi-2 ’,ΔΔSi-1 ’,ΔΔSi ’,ΔΔSi+1 ’とする。
ΔΔSi-2 ’=(Si-1 +Ei )−2Si-2 +Si-3
(215)
ΔΔSi-1 ’=(Si −Ei )−2(Si-1 +Ei )
+Si-2 (216)
ΔΔSi ’=Si+1 −2(Si −Ei )+(Si-1 +Ei )
(217)
ΔΔSi+1 ’=Si+2 −2Si+1 +(Si −Ei )
(218)
【0077】
ここで、式(215),(216),(217),(218)の差分ベクトルΔΔSi-2 ’,ΔΔSi-1 ’,ΔΔSi ’,ΔΔSi+1 ’において、大きな値を持つ差分ベクトルを小さくする修正量Ei を求めるため、実施の形態1の式(113),(114)式と同様に、前記差分ベクトルの各軸成分の2乗の和が最小となる修正量Ei を計算すると、式(117)に対応した次式のような計算式が得られる。
Ei =−(−Pi-3 +6Pi-2 −15Pi-1 +20Pi
−15Pi+1 +6Pi+2 −Pi+3 )/20
(219)
【0078】
ステップST47においては式(219)により修正量Ei を計算する処理が行われる。
【0079】
以上のように、この実施の形態2によれば、点列指令の評価範囲を長くして前記曲率評価値に高次の差分ベクトルを用いて修正量を計算することができ、点列指令全体をより滑らかな軌跡に修正することが可能となる。
【0080】
実施の形態3.
実施の形態1の点列指令修正部12、あるいは実施の形態2の点列指令修正部12aの動作は、点列指令の間隔がほぼ等間隔であれば有効に働くが、等間隔でない場合、前記差分ベクトルの曲率評価値と点列指令からなる軌跡の曲率との対応関係が悪くなり、修正動作が有効に働かなくなる傾向がある。そこで、この実施の形態3では、点列指令の間隔が等間隔でない場合にも点列指令の修正動作が有効に働くような点列指令修正部を持つ数値制御装置について説明する。
【0081】
図9はこの発明の実施の形態3による数値制御装置の構成を示すブロック図であり、図において、1bはこの実施の形態3の数値制御装置、5bは実施の形態3の修正量計算部、12bは実施の形態3の点列指令修正部である。図1に示した実施の形態1の数値制御装置1との違いは、修正量計算部5bの処理の相違のみである。
【0082】
次に動作について説明する。
図10はこの実施の形態3の数値制御装置1bの点列指令修正部12bの動作を示すフローチャートである。図10に示す処理は、図3に示した実施の形態1の処理におけるステップST9の代わりにステップST50の処理を行うものである。
【0083】
ステップST50の処理は、図11に示すように点列指令が等間隔でない場合にも有効な修正量を計算するものである。ここでは、評価範囲設定部4で選択される点が修正点Pi とその前後の各2点、Pi-2 ,Pi-1 ,Pi+1 ,Pi+2 の5点であるものとして修正量Ei を計算する場合について説明する。もちろん、実施の形態2のように前後各3点(計7点)を選択して修正量を計算する場合においても同様に適用できることは言うまでもない。
【0084】
点列指令の修正量Ei の計算式は以下の手順で求める。まず、式(103),(104),(105)を用いて図12に示すような線分ベクトルSi-2 ,Si-1 ,Si ,Si+1 を計算する。次に、前記線分ベクトルSi-2 ,Si-1 ,Si ,Si+1 の線分長Li-2 ,Li-1 ,Li ,Li+1 を次式により求める。
Li-2 =sqrt(Sxi-2 ^2+Syi-2 ^2
+Szi-2 ^2)
(301)
Li-1 =sqrt(Sxi-1 ^2+Syi-1 ^2
+Szi-1 ^2)
(302)
Li =sqrt(Sxi ^2+Syi ^2+Szi ^2)
(303)
Li+1 =sqrt(Sxi+1 ^2+Syi+1 ^2
+Szi+1 ^2)
(304)
【0085】
次に、次式のような第1階差分ベクトルΔWi-1 ,ΔWi ,ΔWi+1 を計算する。
ΔWi-1 =Qi-1 Si-1 −Ri-1 Si-2
=(Qi-1 Sxi-1 −Ri-1 Sxi-2 ,
Qi-1 Syi-1 −Ri-1 Syi-2 ,
Qi-1 Szi-1 −Ri-1 Szi-2 )
(305)
ΔWi =Qi Si −Ri Si-1
=(Qi Sxi −Ri Sxi-1 ,
Qi Syi −Ri Syi-1 ,
Qi Szi −Ri Szi-1 )
(306)
ΔWi+1 =Qi+1 Si+1 −Ri+1 Si
=(Qi+1 Sxi+1 −Ri+1 Sx i ,
Qi+1 Syi+1 −Ri+1 Syi ,
Qi+1 Szi+1 −Ri+1 Szi )
(307)
【0086】
ここで、Qi-1 ,Ri-1 ,Qi ,Ri ,Qi+1 ,Ri+1 は前記線分ベクトルの重み係数であり、下式のように線分べクトルの長さを用いて計算する。
Qi-1 =2/{Li-1 (Li-1 +Li-2 )}
(308−1)
Ri-1 =2/{Li-2 (Li-1 +Li-2 )}
(308−2)
Qi =2/{Li (Li +Li-1 )}
(309−1)
Ri =2/{Li-1 (Li +Li-1 )}
(309−2)
Qi+1 =2/{Li+1 (Li+1 +Li )}
(310−1)
Ri+1 =2/{Li (Li+1 +Li )}
(310−2)
【0087】
図12に示すように、点列指令Pi-2 〜Pi+2 が不等間隔に配置されている場合でも、前記第1階差分ベクトルΔWi-1 ,ΔWi ,ΔWi+1 は線分長に関する量により重み付けがなされているため、ΔWi-1 ,ΔWi ,ΔWi+1 はそれぞれ、点列指令軌跡Pi-2 〜Pi 間,Pi-1 〜Pi+1 間,Pi 〜Pi+2 間の平均曲率に対応したベクトルとなる。ここではこの差分ベクトルを曲率評価値として用いる。
【0088】
修正点Pi を修正量Ei だけ移動させると、式(305),(306),(307)の前記3つの差分ベクトルは以下のようになる。修正後の前記差分ベクトルをΔWi-1 ’,ΔWi ’,ΔWi+1 ’とする。
ΔWi-1 ’=Qi-1 (Si-1 +Ei )−Ri-1 Si-2
(311)
ΔWi ’=Qi (Si −Ei )−Ri (Si-1 +Ei )
(312)
ΔWi+1 ’=Qi+1 Si+1 −Ri+1 (Si −Ei )
(313)
【0089】
ここで式(311),(312),(313)の差分ベクトルΔWi-1 ’,ΔWi ’,ΔWi+1 ’において大きな値を持つ差分ベクトルを小さくする修正量Ei を求めるため、実施の形態1における式(113),(114)と同様に、前記差分ベクトルの各軸成分の2乗の和が最小となる修正量Ei を計算すると、式(117)に対応した次式のような計算式が得られる。
Ei =−(K1 Pi-2 +K2 Pi-1 +K3 Pi
+K4 Pi+1 +K5 Pi+2 )/K6
(314)
ここで、
K1 =Qi-1 Ri-1
K2 =−Qi-1 2−Qi-1 Ri-1 −Ri 2+Qi Ri
K3 =Qi-1 2+Qi 2+2Qi Ri +Ri 2+Ri+1 2
K4 =−Qi Ri +Qi+1 2−Qi+1 Ri+1 −Ri+1 2
K5 =Qi+1 Ri+1
K6 =Qi-1 2+Qi 2+2Qi Ri +Ri 2+Ri+1 2
(315)
である。
【0090】
ステップST50では式(314)により修正量Ei を計算する処理が行われる。
【0091】
以上のように、この実施の形態3によれば、点列指令間の距離(線分長)に関する量により重み付けされた線分から求めた差分ベクトルを曲率評価値として用い、前記差分ベクトルの大きな値が小さくなるように点列指令を移動するため、点列指令が等間隔でない場合においても点列指令を滑らかにする良好な点列指令の修正を実現することができる。
【0092】
実施の形態4.
前記実施の形態1および2、あるいは実施の形態3で用いた方法は、本来の軌跡の曲率変化が大きい場合や、点列間隔が大きい場合には十分な効果を得ることができない。そこで、この実施の形態4では、評価範囲内において曲率変化が大きいような場合に対しても、点列指令の修正動作が有効に働くような点列指令修正部を持つ数値制御装置について説明する。この方法の考え方は、本来の軌跡と同じあるいは類似する曲線を用いて、局所的に本来の曲線に当てはめることにより、誤差成分を取り除くことである。また、この方式によれば、点列指令が等間隔でない場合にも点列指令の修正動作が有効に働く。
【0093】
図13はこの発明の実施の形態4による数値制御装置の構成を示すブロック図であり、図において、1cは実施の形態4の数値制御装置、5cは実施の形態4の修正量計算部、12cは実施の形態4の点列指令修正部である。図1に示した実施の形態1の数値制御装置1との違いは、修正量計算部5cの処理の相違のみである。
【0094】
次に動作について説明する。
図14は実施の形態4の数値制御装置1cの点列指令修正部12cの動作を示すフローチャートである。点列指令修正部12cの動作は、図3のステップST3,4,5,6,8の代わりにステップST60を用い、図3のステップST9の代わりにステップST61を用いる他は、図3に示した実施の形態1における動作と同様である。
【0095】
以下、ステップST60およびステップST61の処理について述べる。その他の処理は図3処理と同様であり、説明を省略する。
【0096】
まず、ステップST60の処理について説明する。ステップST60においては、点列の評価範囲を設定するが、実施の形態1と異なり、点の個数は固定ではなく、前方nf点、後方nb点(計1+nf+nb点)である。すなわち、この実施の形態では、選択する評価範囲の点の数は必ずしも固定である必要がなく、調節可能である。もちろん、簡単のため、実施の形態1のようにnf=nb=2、あるいは実施の形態3のようにnf=nb=3に固定するのは任意である。
【0097】
一般に、点の数が増えれば、より広い範囲に曲線を当てはめるため、軌跡をより滑らかにする効果が得られる。ただし、評価範囲内の点の数は、曲線の次数+2以上でないと、軌跡を滑らかにする効果がない。例えば、曲線の次数を2とすると、点の数は4以上である必要がある。
【0098】
次に、ステップST61の処理について説明する。ステップST61においては、評価範囲内に、近似的な曲線を当てはめる。その曲線をP(t)とおけば、修正量Ei は、
Ei =P(ti )−Pi (401)
で与えられる。ここで、tは曲線パラメータ、ti はPi に対応する曲線パラメータである。
【0099】
ここで、曲線は、本来の軌跡と同じ種類の曲線を用いるのが最も適切である。例えば、設計者がCADによりデザインする際に4次の曲線を用いていれば、4次の曲線をあてはめることが最適である。しかし、仮に設計者が高次の曲線を用いて設計していても、現実のデザインとしては、局所的に見れば、低次の曲線に十分精度よく近似でき、また、モータを制御する観点からも、速度(曲線の1次微分に対応)や加速度(2次微分に対応)が連続であれば十分である。また、曲線が高次になればなるほど、計算量が多くなるという欠点もある。そのため、必要以上に高次の曲線を用いることは必ずしも適切ではない。すなわち、実際的には、2次や3次といった低次のスプライン曲線でほとんど十分である。逆に、1次の曲線(すなわち直線)を用いた場合には、軌跡を滑らかにする効果は期待できず、むしろ軌跡を必要以上に変形させてしまい、適当ではない。以下では、2次のスプライン曲線を用いた場合について述べる。2次のスプライン曲線は以下の式で与えられる。
P(t)={X(t)Y(t)Z(t)} (402)
ここで、X(t),Y(t),Z(t)は、それぞれ以下で与えられる。
X(t)=Cx2 ・t2 +Cx1 ・t+Cx0
(403)
Y(t)=Cy2 ・t2 +Cy1 ・t+Cy0
(404)
Z(t)=Cz2 ・t2 +Cz1 ・t+Cz0
(405)
【0100】
図15は2次スプライン曲線のあてはめの一例を示す模式図である。図においては、nb=nf=2であり、評価範囲であるPi-2 ,Pi-1 ,Pi ,Pi+1 ,Pi+2 の計5点に対し、近似的な2次スプライン曲線を当てはめている。修正前のPi が2次スプライン曲線上の対応する点に近づくように修正量Ei が求められる。
【0101】
式(403),(404),(405)において、Cx2 ,Cx1 ,Cx0 などの係数は、最小2乗法を用いて求めることができる。すなわち、Cx2 ,Cx1 ,Cx0 については、
{Cx2 、Cx1 、Cx0 }’
=[inv(A’×A)]×(A’×b)
(406)
(上式において、’は、行列の転置を意味する)
となる。ここで、A,bは、次のように与えられる。
A=[fi-nb fi-nb+1 … fi … fi+nf-1 fi+nf]’
(407)
fi ={ti 2 ti 1}’ (408)
b={Pxi-nb Pxi-nb+1 … Pxi …
… Pxi+nf-1 Pxi+nf}’ (409)
ここで、Pxi はインデックスiの点のx座標値である。
【0102】
Y,Z軸成分に関しても、同様に求められる。
図16は、途中で曲率が変化するような軌跡に対して、この方法を適用した例を示すグラフ図である。修正前の点(×印で表示)においては、図中左側では曲率が大きく、図中右側では曲率が小さい。その境界あたり(図中中央付近)で曲率が変化しており、その箇所に段差状の誤差成分が観察できる。この方法を適用することにより、修正後の点(○印)は滑らかな軌跡になっていることがわかる。
以上では、2次のスプライン曲線を用いた場合について述べたが、3次以上の曲線、有理多項式で表される曲線、円弧や楕円などの曲線を用いても、同様に適用することができる。
【0103】
以上のように、この実施の形態4によれば、評価範囲内において曲率の変化や点列指令間の間隔の変化が大きいような点列指令に対しても、点列指令の修正動作を有効に働かせることができる。
【0104】
実施の形態5.
図17はこの発明の実施の形態5による数値制御装置の構成を示すブロック図であり、図において、1dはこの実施の形態5の数値制御装置、7dは実施の形態5の点列移動部である。点列移動部7dは、点列指令入力部3の点列指令の位置を修正量制限部6の出力に応じて移動させるとともに、この移動させた点列指令を評価範囲設定部4に出力する。12dは実施の形態5の点列指令修正部である。図1に示した実施の形態1の数値制御装置1との相違は、点列移動部7dにおける移動結果を評価範囲設定部4における次の評価範囲設定に用いることである。
【0105】
次に動作について説明する。
図18はこの実施の形態5の数値制御装置1dの点列指令修正部12dの動作を示すフローチャートである。図18のステップST1〜ステップST26の処理は図3のものと同様の処理であり、説明を省略する。
【0106】
図18には、図3のステップST22,24,25,27の処理がなく、ステップST26の処理がステップST18とステップST23の処理の間で行われる点が異なる。図18のステップST26で修正が行われた点列指令Pi を用いて、前記Pi の次の点Pi+1 の修正量の計算(ステップST3〜ステップST21)が繰り返し行われる。
【0107】
以上のように、この実施の形態5によれば、修正された点列指令を用いて次の点列の修正計算を行うため、より滑らかな点列指令の修正を実現することができる。なお、上記においては、実施の形態1の方法を繰り返す場合について説明したが、実施の形態2,実施の形態3,あるいは実施の形態4の方法についても、ブロック図およびフローチャートに同様の変更を施すことにより、繰り返しによる性能の向上を図ることが可能である。
【0108】
実施の形態6.
いろいろな種類の軌跡が組み合わされた場合や、誤差成分が特定の箇所にのみ存在する場合に、より正確に誤差だけを取り除くためには、軌跡の種類や誤差の有無などの点列の性状に応じて、評価範囲や修正量計算方法を可変にできる効果がある。そこで、この実施の形態6においては、評価範囲や修正量計算方法を可変にできるような点列指令修正部を持つ数値制御装置について説明する。
【0109】
図19はこの発明の実施の形態6による数値制御装置の構成を示すブロック図であり、図において、1eは実施の形態6の数値制御装置、12eは実施の形態6の点列指令修正部、13は入力された点列指令の軌跡の性状を判断する軌跡判断部である。図1に示した実施の形態1の数値制御装置1との相違は、軌跡判断部13を含むことである。
【0110】
次に動作について説明する。
図20は実施の形態6の数値制御装置1eの前記点列指令修正部12eの軌跡判断部13の動作を示すフローチャートである。ステップST80では、誤差成分があるかどうかをチェックする。誤差成分があるかどうかは、実施の形態1で述べた第1階差分ベクトルにより判定する。
【0111】
誤差成分により、段差,突起,ガタガタなどが生じている箇所では,いずれも隣接する第1階差分ベクトルの方向が逆に向いている.そこで、加速度ベクトルの方向が逆を向いている箇所およびその周辺を誤差成分がある箇所とする。誤差成分がない場合には、滑らかにする必要がないため、評価範囲に含めない。誤差成分がある場合には、ステップST81に処理を進める。
【0112】
ステップST81では、点列の間隔をチェックする。間隔の判定は、適当な基準値を設定しておき、その値と比較することによる。点列の間隔が長い場合には、連続した曲線の一部とみなすことは適当ではないため、評価範囲に含めない。間隔が短い場合には、ステップST82に処理を進める。
【0113】
ステップST82では、コーナーかどうかをチェックする。コーナーかどうかは、実施の形態1で述べた第1階差分べクトルにより判定する。第1階差分ベクトルが大きな値を示す点が単独であり、かつ、その周辺の第1階差分ベクトルが小さい点を、コーナーとする。コーナーであれば、この点は、滑らかにするのではなく、厳密にコーナーを通過するべきなので、評価範囲に含めない。コーナーでなければ、ステップST83に処理を進め、評価範囲に含める。
【0114】
評価範囲設定部4は、上記により判断された結果が「評価範囲に含める」であれば、入力された点を評価範囲に含め、逆に、判断された結果が「評価範囲に含めない」であれば、入力された点を評価範囲に含めない。
【0115】
さらに、引き続いて、ステップST85に処理を進める。ステップST85では、曲率が一定の区間かどうかをチェックする。曲率は、実施の形態1で述べた第1階差分ベクトルで代用する。曲率が一定でない場合は、ステップST89に処理を進め、曲線をあてはめることによる方法を選択する。
【0116】
曲率が一定であれば、ステップST86に処理を進める。ステップST86では、評価範囲内の点列の間隔が均一かどうかを判断し、均一であれば、ステップST87に処理を進め、1次差分による方法または2次差分による方法を選択し、均一でなければステップST88に処理を進め、重み付き1次差分による方法または重み付き2次差分による方法を選択する。
【0117】
修正量計算部5は、ここで選択した方法により、修正量を計算する。なお、上記において、ステップST80,82,85においては、第1階差分ベクトルを用いて軌跡の性状を判断したが、実施の形態3で述べた線分長さで重みづけされた第1階差分ベクトル(ΔWi )を用いてもよい。
【0118】
図21は、評価範囲や修正量計算方法を固定にした場合の点列指令の修正結果を示す模式図である。図中、×印は修正前の点、*印は誤差を含む修正前の点、○印は修正後の点、破線は修正前の点を結んだ線、実線は修正後の点を結んだ線を示す。この図においては、評価範囲や修正量計算方法を固定にしているため、次のような問題点が生じている。
(1)誤差のないコーナーの箇所も滑らかにしてしまい、内回りする(図中1の箇所)。
(2)誤差のない曲線の箇所も滑らかにしてしまい、わずかだが内回りする(図中2の箇所。図ではほとんどわからないが、点列間隔の数%程度内回りしている)。
(3)点列間隔の長い箇所の周辺では、形状が大きく崩れる場合がある(図中3の箇所)。
【0119】
図22はこの実施の形態6における方法を適用した場合の点列指令の修正結果を示す模式図である。上記の方法を用いることにより、上記問題点がなくなり、必要な個所のみを的確に滑らかにすることが可能となっている。
【0120】
以上のように、この実施の形態6によれば、いろいろな種類の軌跡が組み合わされている場合や、誤差成分が特定の箇所にのみ存在するような場合にも、的確に誤差だけを取り除くことが可能となる。
【0121】
【発明の効果】
以上のように、この発明によれば、修正量計算部が、点列指令を通過する曲線の曲率に相当する曲率評価値を評価範囲内の複数箇所で計算するとともに、前記複数の曲率評価値の中で値の最も大きなものを小さくするように前記点列指令の修正量を計算するように構成したので、点列指令の修正において点列指令全体を滑らかにする有効な修正を行うことができ、工作機械による加工面を滑らかにし、工作機械に不必要な加速度が加わって工作機械を損傷するような事態を有効に防止することができる効果がある。
【0122】
この発明によれば、修正量計算部が、曲率評価値として、連続する点列指令を結ぶ線分ベクトルの1次または高次の変化量を示す差分ベクトルを用いるように構成したので、線分ベクトルの変化量を示す差分ベクトルの単純な計算を行うことにより、差分ベクトルの階数に応じた広い範囲の点列指令を用いて点列指令の修正量を計算することができ、点列指令全体をより滑らかにする有効な修正を行うことができる効果がある。また、円弧のような滑らかな軌跡を表現している点列指令の場合にも、従来の方法におけるように軌跡を劣化させることなく滑らかな点列指令を得ることができる効果がある。
【0124】
この発明によれば、修正量計算部における修正量を許容誤差値以下に制限する修正量制限部を備えるように構成したので、修正量計算部における点列指令の修正量が許容誤差以上の大きな値となって工作機械による加工不良や工作機械の損傷が発生する事態を防止することができる効果がある。
【0125】
この発明によれば、修正量計算部が、差分ベクトルとして、線分ベクトルの長さに関する量により重み付けされた線分ベクトルを用いて計算された差分ベクトルを用いるように構成したので、点列指令が等間隔でない場合においても点列指令を滑らかにする良好な点列指令の修正を実現することができる効果がある。
【0126】
この発明によれば、修正量計算部が、評価範囲内の点列指令に2次以上のスプライン曲線をあてはめ、そのスプライン曲線に近づくように前記点列指令の修正量を計算し、かつNはスプライン曲線の次数に2を加算した値以上の整数であるように構成したので、評価範囲内において曲率の変化や点列指令間の間隔の変化が大きいような点列指令に対しても軌跡を劣化させることなく滑らかな点列指令が得られ、点列指令の修正を有効に行うことができる効果がある。
【0128】
この発明によれば、評価範囲内の点列指令に2次曲線をあてはめた修正量計算部における修正量を許容誤差値以下に制限する修正量制限部を備えるように構成したので、修正量計算部における点列指令の修正量が許容誤差以上の大きな値となって工作機械による加工不良や工作機械の損傷が発生する事態を防止することができる効果がある。
【0130】
この発明によれば、入力された点列指令からなる軌跡の性状を判断する軌跡判断部を備え、判断された前記軌跡の性状に応じて、評価範囲設定部において設定する前記評価範囲または修正量計算部における前記修正量計算方法を適宜変更するように構成したので、いろいろな種類の軌跡が組み合わされている場合や、誤差成分が特定の箇所にのみ存在するような場合にも、的確に誤差だけを取り除き、良好な点列指令の修正を行うことができる効果がある。
【0131】
この発明によれば、第3のステップが、点列指令を通過する曲線の曲率に相当する曲率評価値を評価範囲内の複数箇所で計算するとともに、前記複数の曲率評価値の中で値の最も大きなものを小さくするように前記点列指令の修正量を計算するように構成したので、点列指令の修正において点列指令全体を滑らかにする有効な修正を行うことができ、工作機械による加工面を滑らかにし、工作機械に不必要な加速度が加わって工作機械を損傷するような事態を有効に防止することができる効果がある。
【0132】
この発明によれば、第3のステップが、曲率評価値として、連続する点列指令を結ぶ線分ベクトルの1次または高次の変化量を示す差分ベクトルを用いるように構成したので、線分ベクトルの変化量を示す差分ベクトルの単純な計算を行うことにより、差分ベクトルの階数に応じた広い範囲の点列指令を用いて点列指令の修正量を計算することができ、点列指令全体をより滑らかにする有効な修正を行うことができる効果がある。また、円弧のような滑らかな軌跡を表現している点列指令の場合にも、従来の方法におけるように軌跡を劣化させることなく滑らかな点列指令を得ることができる効果がある。
【0134】
この発明によれば、第3のステップにおける修正量を許容誤差値以下に制限する第5のステップを有するように構成したので、第3のステップにおける点列指令の修正量が許容誤差以上の大きな値となって工作機械による加工不良や工作機械の損傷が発生する事態を防止することができる効果がある。
【0135】
この発明によれば、第3のステップが、差分ベクトルとして、線分ベクトルの長さに関する量により重み付けされた線分ベクトルを用いて計算された差分ベクトルを用いるように構成したので、点列指令が等間隔でない場合においても点列指令を滑らかにする良好な点列指令の修正を実現することができる効果がある。
【0136】
この発明によれば、第3のステップが、評価範囲内の点列指令に2次以上のスプライン曲線をあてはめ、そのスプライン曲線に近づくように前記点列指令の修正量を計算し、かつNはスプライン曲線の次数に2を加算した値以上の整数であるように構成したので、評価範囲内において曲率の変化や点列指令間の間隔の変化が大きいような点列指令に対しても軌跡を劣化させることなく滑らかな点列指令が得られ、点列指令の修正を有効に行うことができる効果がある。
【0138】
この発明によれば、評価範囲内の点列指令に2次曲線をあてはめた第3のステップにおける修正量を許容誤差値以下に制限する第5のステップを有するように構成したので、第3のステップにおける点列指令の修正量が許容誤差以上の大きな値となって工作機械による加工不良や工作機械の損傷が発生する事態を防止することができる効果がある。
【0140】
この発明によれば、入力された点列指令からなる軌跡の性状を判断する第6のステップを有し、判断された前記軌跡の性状に応じて、第2のステップにおいて設定する前記評価範囲または第3のステップにおける前記修正量計算方法を適宜変更するように構成したので、いろいろな種類の軌跡が組み合わされている場合や、誤差成分が特定の箇所にのみ存在するような場合にも、的確に誤差だけを取り除き、良好な点列指令の修正を行うことができる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による数値制御装置の構成を示すブロック図である。
【図2】 点列指令の1例を示す模式図である。
【図3】 この発明の実施の形態1による数値制御装置の点列指令修正部の動作を示すフローチャートである。
【図4】 この発明の実施の形態1による数値制御装置の点列指令修正部の点列指令の修正動作の説明図である。
【図5】 図4の点列指令Pi が点列移動部によりEi だけ修正された後の様子を示す模式図である。
【図6】 この発明の実施の形態2による数値制御装置の構成を示すブロック図である。
【図7】 この発明の実施の形態2による数値制御装置の点列指令修正部の動作を示すフローチャートである。
【図8】 この発明の実施の形態2による数値制御装置の点列指令修正部の点列指令の修正動作の説明図である。
【図9】 この発明の実施の形態3による数値制御装置の構成を示すブロック図である。
【図10】 この発明の実施の形態3による数値制御装置の点列指令修正部の動作を示すフローチャートである。
【図11】 等間隔でない点列指令を示す模式図である。
【図12】 この発明の実施の形態3による数値制御装置の点列指令修正部の点列指令の修正動作の説明図である。
【図13】 この発明の実施の形態4による数値制御装置の構成を示すブロック図である。
【図14】 この発明の実施の形態4による数値制御装置の点列指令修正部の動作を示すフローチャートである。
【図15】 実施の形態4における2次スプライン曲線のあてはめの一例を示す模式図である。
【図16】 実施の形態4における点列指令の修正結果の例を示すグラフ図である。
【図17】 この発明の実施の形態5による数値制御装置の構成を示すブロック図である。
【図18】 この発明の実施の形態5による数値制御装置の点列指令修正部の動作を示すフローチャートである。
【図19】 この発明の実施の形態6による数値制御装置の構成を示すブロック図である。
【図20】 この発明の実施の形態6による数値制御装置の点列指令修正部の軌跡判断部の動作を示すフローチャートである。
【図21】 評価範囲や修正量計算方法を固定にした場合の点列指令の修正結果を示す模式図である。
【図22】 この発明の実施の形態6による数値制御装置の点列指令の修正結果を示す模式図である。
【符号の説明】
1,1a,1b,1c,1d,1e 数値制御装置、2 工作機械、3 点列指令入力部、4,4a 評価範囲設定部、5,5a,5b,5c 修正量計算部、6 修正量制限部、7,7d 点列移動部、13 軌跡判断部、Pi-3 ,Pi-2 ,Pi-1 ,Pi ,Pi+1 ,Pi+2 ,Pi+3 ,P1 〜Pn 点列指令、Si-3 ,Si-2 ,Si-1 ,Si ,Si+1 ,Si+2 線分ベクトル、ΔSi-1 ,ΔSi ,ΔSi+1 ,ΔSi-1 ’,ΔSi ’,ΔSi+1 ’,ΔWi-1 ,ΔWi ,ΔWi+1 第1階差分ベクトル(差分ベクトル)、ΔΔSi-2 ,ΔΔSi-1 ,ΔΔSi ,ΔΔSi+1 第2階差分ベクトル(差分ベクトル)。
Claims (14)
- 工作機械の制御位置座標を表す点列指令を入力する点列指令入力部と、連続する前記点列指令を4点以上選択して評価範囲を設定する評価範囲設定部と、前記評価範囲設定部で選択された前記評価範囲内の点列指令を用いて、前記評価範囲内の点列指令の修正量を計算する修正量計算部と、計算された前記修正量に従って前記点列指令入力部において入力された点列指令を移動してその結果を出力する点列移動部とを備え、前記修正量計算部は、前記点列指令を通過する曲線の曲率に相当する曲率評価値を前記評価範囲内の複数箇所で計算するとともに、前記複数の曲率評価値の中で値の最も大きなものを小さくするように前記点列指令の修正量を計算することを特徴とする数値制御装置。
- 修正量計算部は、曲率評価値として、連続する点列指令を結ぶ線分ベクトルの1次または高次の変化量を示す差分ベクトルを用いることを特徴とする請求項1記載の数値制御装置。
- 修正量計算部における修正量を許容誤差値以下に制限する修正量制限部を備えたことを特徴とする請求項1から請求項2のうちのいずれか1項記載の数値制御装置。
- 修正量計算部は、差分ベクトルとして、線分ベクトルの長さに関する量により重み付けされた線分ベクトルを用いて計算された差分ベクトルを用いることを特徴とする請求項2記載の数値制御装置。
- 工作機械の制御位置座標を表す点列指令を入力する点列指令入力部と、連続する前記点列指令をN点選択して評価範囲を設定する評価範囲設定部と、前記評価範囲設定部で選択された前記評価範囲内の点列指令を用いて、前記評価範囲内の点列指令の修正量を計算する修正量計算部と、計算された前記修正量に従って前記点列指令入力部において入力された点列指令を移動してその結果を出力する点列移動部とを備え、前記修正量計算部は、前記評価範囲内の点列指令に2次以上のスプライン曲線をあてはめ、そのスプライン曲線に近づくように前記点列指令の修正量を計算し、かつ前記Nはスプライン曲線の次数に2を加算した値以上の整数であり、入力された点列指令からなる軌跡の性状を判断する軌跡判断部を備え、判断された前記軌跡の性状に応じて、前記評価範囲設定部において設定する前記評価範囲または前記修正量計算部における前記修正量計算方法を適宜変更することを特徴とする数値制御装置。
- 修正量計算部における修正量を許容誤差値以下に制限する修正量制限部を備えたことを特徴とする請求項5記載の数値制御装置。
- 入力された点列指令からなる軌跡の性状を判断する軌跡判断部を備え、判断された前記軌跡の性状に応じて、評価範囲設定部において設定する前記評価範囲または修正量計算部における前記修正量計算方法を適宜変更することを特徴とする請求項1から請求項4のうちのいずれか1項記載の数値制御装置。
- 工作機械の制御位置座標を表す点列指令を入力する第1のステップと、連続する前記点列指令を4点以上選択して評価範囲を設定する第2のステップと、前記第2のステップで選択された前記評価範囲内の点列指令を用いて、前記評価範囲内の点列指令の修正量を計算する第3のステップと、計算された前記修正量に従って前記第1のステップにおいて入力された点列指令を移動してその結果を出力する第4のステップとを有し、前記第3のステップは、前記評価範囲内の点列指令を通過する曲線の曲率に相当する曲率評価値を前記評価範囲内の複数箇所で計算するとともに、前記複数の曲率評価値の中で値の最も大きなものを小さくするように前記点列指令の修正量を計算することを特徴とする数値制御方法。
- 第3のステップは、曲率評価値として、連続する点列指令を結ぶ線分ベクトルの1次または高次の変化量を示す差分ベクトルを用いることを特徴とする請求項8記載の数値制御方法。
- 第3のステップにおける修正量を許容誤差値以下に制限する第5のステップを有することを特徴とする請求項8から請求項9のうちのいずれか1項記載の数値制御方法。
- 第3のステップは、差分ベクトルとして、線分ベクトルの長さに関する量により重み付けされた線分ベクトルを用いて計算された差分ベクトルを用いることを特徴とする請求項9記載の数値制御方法。
- 工作機械の制御位置座標を表す点列指令を入力する第1のステップと、連続する前記点列指令を数点選択して評価範囲を設定する第2のステップと、前記第2のステップで選択された前記評価範囲内の点列指令を用いて、前記評価範囲内の点列指令の修正量を計算する第3のステップと、計算された前記修正量に従って前記第1のステップにおいて入力された点列指令を移動してその結果を出力する第4のステップとを有し、前記第3のステップは、前記評価範囲内の点列指令に2次以上のスプライン曲線をあてはめ、そのスプライン曲線に近づくように前記点列指令の修正量を計算し、かつ前記Nはスプライン曲線の次数に2を加算した値以上の整数であり、入力された点列指令からなる軌跡の性状を判断する第6のステップを有し、判断された前記軌跡の性状に応じて、第2のステップにおいて設定する前記評価範囲または第3のステップにおける前記修正量計算方法を適宜変更することを特徴とする数値制御方法。
- 第3のステップにおける修正量を許容誤差値以下に制限する第5のステップを有することを特徴とする請求項12記載の数値制御方法。
- 入力された点列指令からなる軌跡の性状を判断する第6のステップを有し、判断された前記軌跡の性状に応じて、第2のステップにおいて設定する前記評価範囲または第3のステップにおける前記修正量計算方法を適宜変更することを特徴とする請求項8から請求項11のうちのいずれか1項記載の数値制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03823397A JP3640754B2 (ja) | 1997-02-21 | 1997-02-21 | 数値制御装置および数値制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03823397A JP3640754B2 (ja) | 1997-02-21 | 1997-02-21 | 数値制御装置および数値制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10240328A JPH10240328A (ja) | 1998-09-11 |
JP3640754B2 true JP3640754B2 (ja) | 2005-04-20 |
Family
ID=12519591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03823397A Expired - Fee Related JP3640754B2 (ja) | 1997-02-21 | 1997-02-21 | 数値制御装置および数値制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3640754B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3904993B2 (ja) | 2002-08-16 | 2007-04-11 | ファナック株式会社 | 曲線補間方法 |
JP2006309645A (ja) | 2005-05-02 | 2006-11-09 | Fanuc Ltd | 曲線補間方法 |
JP4518033B2 (ja) * | 2006-03-22 | 2010-08-04 | トヨタ自動車株式会社 | 経路作成方法、移動体および移動体制御システム |
JP4800873B2 (ja) | 2006-08-04 | 2011-10-26 | オークマ株式会社 | 近似点群データからの近似曲線生成プログラム及び方法 |
JP4928387B2 (ja) * | 2007-08-29 | 2012-05-09 | オークマ株式会社 | 点群データの補正方法、補正プログラム、および近似曲線生成プログラム |
JP5326015B2 (ja) | 2012-02-20 | 2013-10-30 | ファナック株式会社 | 加工曲線作成機能を有する数値制御装置 |
CN103809521B (zh) * | 2012-11-14 | 2016-08-17 | 中国科学院沈阳计算技术研究所有限公司 | 基于弦截法的样条曲线插补方法 |
JP6110250B2 (ja) * | 2013-08-06 | 2017-04-05 | オークマ株式会社 | Ncプログラムにおける回転送り軸指令の変化度合いの算出及び表示方法並びに装置 |
CN105700466A (zh) * | 2015-11-23 | 2016-06-22 | 上海交通大学 | 高速数控加工轨迹的曲率光顺方法 |
CN108287528B (zh) * | 2017-12-06 | 2020-02-14 | 莱芜钢铁集团电子有限公司 | 一种多点共面的曲线显示方法和装置 |
CN112621739B (zh) * | 2019-10-08 | 2022-03-15 | 东元电机股份有限公司 | 机器人及其路径插值规划命令产生系统 |
JPWO2023058243A1 (ja) * | 2021-10-08 | 2023-04-13 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58178406A (ja) * | 1982-04-14 | 1983-10-19 | Mitsubishi Electric Corp | 数値制御用ncデ−タ作成装置 |
JPH0658603B2 (ja) * | 1986-05-30 | 1994-08-03 | 株式会社安川電機 | 自動機械における軌道の補間方法 |
JPH0764621A (ja) * | 1993-08-25 | 1995-03-10 | Matsushita Electric Ind Co Ltd | ロボットの軌道補間装置 |
JPH0764622A (ja) * | 1993-08-26 | 1995-03-10 | Matsushita Electric Ind Co Ltd | ロボットの軌道補間装置 |
JP3543459B2 (ja) * | 1995-12-06 | 2004-07-14 | 豊田工機株式会社 | 工作物加工用数値制御装置 |
-
1997
- 1997-02-21 JP JP03823397A patent/JP3640754B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10240328A (ja) | 1998-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3640754B2 (ja) | 数値制御装置および数値制御方法 | |
CN110865610B (zh) | 一种基于机床振动抑制的刀具轨迹插值和速度规划方法 | |
US6922606B1 (en) | Apparatus and method for smooth cornering in a motion control system | |
WO2011052800A1 (ja) | 工具経路の生成方法および装置 | |
CN110900612B (zh) | 一种位姿同步的六轴工业机器人轨迹平顺方法 | |
CN113985817B (zh) | 一种可在线插补的机器人小线段轨迹局部光顺方法及系统 | |
US7792603B2 (en) | Program and method for generating approximate curve from approximate point group data | |
JP6629808B2 (ja) | 数値制御装置 | |
Fan et al. | Modeling and simulation of trajectory smoothing and feedrate scheduling for vibration-damping CNC machining | |
CN112731865B (zh) | 一种基于插补数据的多轴加工轮廓误差预补偿方法 | |
Duong et al. | Contour error pre-compensation for five-axis high speed machining: offline gain adjustment approach | |
CN117008532B (zh) | 三阶几何连续的数控刀具路径拐角平滑方法 | |
Ni et al. | An optimized feedrate scheduling method for CNC machining with round-off error compensation | |
CN106970589A (zh) | 一种减小多轴加工轮廓误差的进给率松弛方法 | |
Wu et al. | Implementation of CL points preprocessing methodology with NURBS curve fitting technique for high-speed machining | |
CN114839921A (zh) | 一种基于数据驱动的五轴轮廓控制方法 | |
Ye et al. | Geometric parameter optimization in multi-axis machining | |
Ishizaki et al. | A new real-time trajectory generation method modifying trajectory based on trajectory error and angular speed for high accuracy and short machining time | |
CN117666475B (zh) | 一种连续短线段拐角加工路径平滑方法 | |
CN114019910A (zh) | 一种小线段刀具轨迹实时全局光顺方法 | |
CN116360343A (zh) | 一种提升五轴机床运动学性能的拐角外接过渡光顺方法 | |
Vieilledent et al. | Shape optimization of axisymmetric preform tools in forging using a direct differentiation method | |
CN111487928A (zh) | 一种基于刀位点增删改指令的数控加工轨迹平滑方法 | |
CN116954149A (zh) | 一种三阶几何连续的刀具路径平滑压缩方法 | |
JPH07302110A (ja) | ロボット動作プログラムの作成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040302 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040316 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040513 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041012 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041129 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20041202 |
|
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: 20041221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050119 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080128 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090128 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100128 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100128 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110128 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120128 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130128 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130128 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |