JPH10240328A - 数値制御装置 - Google Patents

数値制御装置

Info

Publication number
JPH10240328A
JPH10240328A JP9038233A JP3823397A JPH10240328A JP H10240328 A JPH10240328 A JP H10240328A JP 9038233 A JP9038233 A JP 9038233A JP 3823397 A JP3823397 A JP 3823397A JP H10240328 A JPH10240328 A JP H10240328A
Authority
JP
Japan
Prior art keywords
point sequence
correction amount
sequence command
unit
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.)
Granted
Application number
JP9038233A
Other languages
English (en)
Other versions
JP3640754B2 (ja
Inventor
悌史 ▲たか▼橋
Yoshifumi Takahashi
Takashi Iwasaki
隆至 岩▲さき▼
Tomonori Satou
智典 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP03823397A priority Critical patent/JP3640754B2/ja
Publication of JPH10240328A publication Critical patent/JPH10240328A/ja
Application granted granted Critical
Publication of JP3640754B2 publication Critical patent/JP3640754B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)

Abstract

(57)【要約】 【課題】 点列指令の修正に用いる点列情報が少ないた
め必ずしも点列指令全体を滑らかにするような有効な修
正が行われず、また、点列指令が円弧などの曲率の変化
の少ない軌跡を表現している場合には、曲率が大きな点
列指令に修正され、滑らかさが失われて誤差が大きな点
列軌跡となってしまう場合があるなどの課題があった。 【解決手段】 点列指令を通過する曲線の曲率に相当す
る曲率評価値を評価範囲内の複数箇所で計算するととも
に、前記複数の曲率評価値の中で値の大きなものを小さ
くするように前記点列指令の修正量を計算する修正量計
算部5を備えたものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、工作機械の数値
制御に用いられる数値制御装置に関するものであり、特
に、工作機械位置制御用の点列指令を滑らかに修正する
機能を備えた数値制御装置に関するものである。
【0002】
【従来の技術】工作機械を制御するNC装置のNCプロ
グラムは、通常、滑らかなスプライン曲線のような軌跡
の場合、曲線を直線近似して微小な線分列として表現す
る。この場合、NC装置の前記NCプログラムは、連続
する点列(位置座標点)として表現されるか、あるい
は、連続する線分として表現される。このような前記直
線近似による軌跡を点列指令と総称する。
【0003】前記点列指令は、CAD/CAM装置で作
成される場合は、計算誤差等で不連続な点が発生する場
合がある。また、モデルの形状を計測して前記点列指令
を作成する場合には、モデルを倣い計測する時に発生す
る計測誤差によってガタガタした不連続な軌跡になる場
合がある。点列指令に不連続な軌跡があると、加工面が
滑らかにならず、また、工作機械にも不必要な加速度が
加わって機械を損傷する場合があるなどの問題がある。
【0004】このような前記点列指令の不連続点を修正
する方法として、例えば特開平3−63708に示され
たような方法がある。この方法では、不連続な点列指令
を修正するために、連続する点列指令3点ごとに三角形
の重心の近似点を算出し、点列指令を前記重心の近似点
に移動させることにより修正を行っている。
【0005】
【発明が解決しようとする課題】従来の数値制御装置は
以上のように構成されているので、連続する点列指令中
の修正点およびその前後の計3点から三角形の重心を求
めて修正を行うため、点列指令の修正に用いる点列情報
が少なく、このため、前記修正において必ずしも点列指
令全体を滑らかにするような有効な修正が行われない課
題があった。
【0006】また、点列指令が円弧などの曲率の変化の
少ない軌跡を表現している場合に、上記従来の方法で点
列指令を修正すると、逆に曲率が大きな点列指令に修正
され、滑らかさが失われるとともに、修正が行われるこ
とにより誤差が大きな点列軌跡となってしまう場合があ
る課題があった。
【0007】さらに、点列指令の修正量に制限を設けて
いないため、加工誤差が許容範囲以上に大きくなる場合
があり、加工不良が発生したりするなどの課題があっ
た。
【0008】この発明は上記のような課題を解決するた
めになされたもので、単純な計算方法により、多数の点
列情報を用いて点列指令全体を滑らかにする有効な修正
を行うことができ、これにより、工作機械による加工面
を滑らかにし、工作機械への不必要な加速度による工作
機械の損傷等を有効に防止することができる数値制御装
置を得ることを目的とする。
【0009】また、この発明は、円弧のような滑らかな
軌跡を表現している点列指令の場合にも、従来の方法に
おけるように軌跡を劣化させることなく滑らかな点列指
令を得ることができる数値制御装置を得ることを目的と
する。
【0010】さらに、この発明は、点列指令の修正量が
許容誤差以上の大きな値となって工作機械による加工不
良や工作機械の損傷が発生する事態を防止することがで
きる数値制御装置を得ることを目的とする。
【0011】さらに、この発明は、曲率の変化や点列指
令間の間隔の変化が大きいような点列指令に対しても軌
跡を劣化させることなく滑らかな点列指令が得られ、点
列指令の修正を有効に行うことができる数値制御装置を
得ることを目的とする。
【0012】さらに、この発明は、曲線の種類や、誤差
の有無などが複雑に組み合わされたような軌跡に対して
も、精度よく本来の軌跡を復元することのできる数値制
御装置を得ることを目的とする。
【0013】
【課題を解決するための手段】請求項1記載の発明に係
る数値制御装置は、修正量計算部が、点列指令を通過す
る曲線の曲率に相当する曲率評価値を評価範囲内の複数
箇所で計算するとともに、前記複数の曲率評価値の中で
値の大きなものを小さくするように前記点列指令の修正
量を計算するようにしたものである。
【0014】請求項2記載の発明に係る数値制御装置
は、修正量計算部が、曲率評価値として、連続する点列
指令を結ぶ線分ベクトルの1次または高次の変化量を示
す差分ベクトルを用いるようにしたものである。
【0015】請求項3記載の発明に係る数値制御装置
は、修正量計算部が、複数箇所における差分ベクトルの
各軸成分の2乗和が最小となるように、修正量の前記各
軸成分を計算するようにしたものである。
【0016】請求項4記載の発明に係る数値制御装置
は、修正量計算部における修正量を許容誤差値以下に制
限する修正量制限部を備えたものである。
【0017】請求項5記載の発明に係る数値制御装置
は、修正量計算部が、差分ベクトルとして、線分ベクト
ルの長さに関する量により重み付けされた線分ベクトル
を用いて計算された差分ベクトルを用いるようにしたも
のである。
【0018】請求項6記載の発明に係る数値制御装置
は、修正量計算部が、評価範囲内の点列指令に2次以上
の曲線をあてはめ、その曲線に近づくように前記点列指
令の修正量を計算するようにしたものである。
【0019】請求項7記載の発明に係る数値制御装置
は、修正量計算部が、評価範囲内の点列指令に2次曲線
をあてはめるようにしたものである。
【0020】請求項8記載の発明に係る数値制御装置
は、修正量計算部における修正量を許容誤差値以下に制
限する修正量制限部を備えるようにしたものである。
【0021】請求項9記載の発明に係る数値制御装置
は、修正量計算部が、修正された点列指令を以降の修正
点に対する修正量の計算に用いるようにしたものであ
る。
【0022】請求項10記載の発明に係る数値制御装置
は、入力された点列指令からなる軌跡の性状を判断する
軌跡判断部を備え、判断された前記軌跡の性状に応じ
て、評価範囲設定部において設定する前記評価範囲、お
よび/または、修正量計算部における前記修正量計算方
法を適宜変更するようにしたものである。
【0023】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態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を制御す
るサーボ制御部である。
【0024】また、工作機械2において、10は工作機
械2を駆動するモータ、11は工作機械2の位置および
速度を計測するエンコーダである。サーボ制御部9は、
点列補間部8の出力と工作機械2のエンコーダ11の計
測値から位置制御、速度制御などの制御演算を行い、工
作機械2のモータ10に電力を供給する。
【0025】12は実施の形態1の数値制御装置1の点
列指令修正部であり、前記点列指令入力部3,評価範囲
設定部4,修正量計算部5,修正量制限部6および点列
移動部7を備えている。数値制御装置1は、1つあるい
は複数のCPU(中央処理装置),メモリ,入出力イン
ターフェイス等で構成されるコンピュータシステムによ
り実現されている。
【0026】図2は点列指令の1例を示す模式図であ
る。点列指令Pi は3次元位置座標(Pxi ,Pyi
Pzi )によりなる(ここで、iは点列指令のインデッ
クス、i=1,2,・・,nであり、P1 は始点、Pn
は終点である。)。
【0027】次に動作について説明する。まず、数値制
御装置1の点列指令修正部12の動作を図3を用いて説
明する。図3はこの発明の実施の形態1による数値制御
装置1の点列指令修正部12の動作を示すフローチャー
トである。図3に示す評価範囲設定部4は、連続する5
点を評価範囲として設定する。
【0028】ステップST1は点列指令入力部3の処理
であり、点列指令入力部3はCAD/CAM装置等から
NCプログラムを読み込み、点列指令P1 ,P2 ,・
・,Pn をメモリに格納する。
【0029】ステップST2〜ステップST8は評価範
囲設定部4の処理である。評価範囲設定部4は、連続す
る5点を評価範囲として設定する。すなわち、図2にお
いて修正を行う点をPi としたとき、前記修正点Pi
その前後の各2点、Pi-2 ,Pi-1 ,Pi+1 ,Pi+2
選択される。
【0030】ステップ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 すなわち終点)ならステップST2
4に、そうでないならステップST8に処理を進める。
【0031】ステップST4,6,8においては、前記
修正点Pi とその前後の2点(Pi- 2 ,Pi-1
i+1 ,Pi+2 )の選択を行うが、前記ステップST4
は点列指令の始点部での処理、前記ステップST6は点
列指令の終点部での処理、前記ステップST8は始点部
および終点部以外の処理である。
【0032】ステップST4においては点Pi-2 が、ス
テップST6においては点Pi+2 が存在しないため、ス
テップST4においては式(101)を用いて、ステッ
プST6においては式(102)を用いて、点列指令を
外挿する。 Pi-2 =2P0 −P1 (101) Pi+2 =2Pn −Pn-1 (102)
【0033】ステップST9は修正量計算部5の処理
で、ステップST4、ステップST6、ステップST8
で選択した前記5点から点Pi の修正量Ei を計算す
る。修正量Ei はi番目の点Pi の修正量で、X、Y、
Z軸の修正量(exi ,eyi ,ezi )からなるベク
トルである。
【0034】図2の点列指令でPi の修正量Ei を計算
する方法を以下に示す。図4は点列指令の修正動作の説
明図である。まず、図4に示すように、図2の点列指令
から、式(103)〜(106)により線分ベクトルS
i-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)
【0035】次に、図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)
【0036】図4の点列指令Pi-2 〜Pi+2 はほぼ等間
隔に配置されているので、前記第1階差分ベクトル△S
i-1 ,△Si ,△Si+1 はそれぞれ、点列指令軌跡P
i-2 〜Pi 間,Pi-1 〜Pi+1 間,Pi 〜Pi+2 間の曲
率が大きい時は大きく、前記曲率が小さい時は小さい値
となる。そこで前記差分ベクトルを曲率評価値として用
いる。
【0037】修正点Pi を修正量Ei だけ移動させると
式(107),(108),(109)の前記差分ベク
トルは以下の式(110)〜(112)のようになる。
ここで、修正後の前記差分ベクトルを△Si-1 ’、△S
i ’、△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)
【0038】ここで式(110),(111),(11
2)の差分ベクトルにおいて大きな値を持つ差分ベクト
ルを小さくするため、前記差分ベクトルの各軸成分の2
乗の和が最小となる修正量Ei (exi ,eyi ,ez
i )を計算する。まず、修正量Ei のx軸成分exi
求める方法を説明する。
【0039】前記差分ベクトルのx軸成分の2乗の和J
xは下式(113)となる。 Jx=(Pxi −2Pxi-1 +Pxi-2 +exi2 +(Pxi+1 −2Pxi +Pxi-1 −2exi2 +(Pxi+2 −2Pxi+1 +Pxi +exi2 (113)
【0040】式(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)
【0041】上記結果(114),(115),(11
6)をベクトルで表現すると次式となる。
【0042】ステップST9では式(114),(11
5),(116)の計算が行われ、上記のようにして修
正量Ei が求められる。
【0043】ステップST10〜ステップST21は修
正量制限部6で行われる処理である。ステップST10
では式(114)で計算されたx軸の修正量exi の絶
対値が、あらかじめ設定されている最大許容量emax
より大きい場合にはステップST11に処理を進め、小
さい場合にはステップST14に処理を進める。
【0044】ステップST11ではexi が負の場合は
ステップST12に、それ以外はステップST13に処
理を進め、ステップST12ではexi =−emaxと
し、ステップST13ではexi =emaxとして、ス
テップST14に処理を進める。これにより、修正量e
i の絶対値が最大許容量emax以下に制限される。
【0045】ステップST14〜ステップST17にお
いては前記x軸成分の処理と同様に、y軸成分の修正量
eyi を最大許容量emax以下に制限する処理を行
う。
【0046】ステップST18〜ステップST21にお
いては前記x軸成分の処理と同様に、z軸成分の修正量
ezi を最大許容量emax以下に制限する処理を行
う。
【0047】ステップST22では、上記ステップST
9〜ステップST21で計算した点Pi に対する修正量
i をメモリに記憶する。ステップST23では、iを
インクリメントし、ステップST3に処理を戻す。
【0048】ステップST24〜ステップST27は点
列移動部7の処理であり、まず、ステップST24にお
いて点列移動部7は修正する点列指令の最初の点のイン
デックスiを2に設定する。ステップST25では終了
判定を行い、i=nであれば処理を終了し、そうでない
ならステップST26に処理を進める。ステップST2
6においては前記Ei にゲインK0を乗じた量を点列指
令Pi に加算して、点列指令Pi を移動する。前記ゲイ
ンK0は修正ゲインであり、0.3〜1.0程度の適切
な値に設定する。通常は0.5を設定する。ステップS
T27ではiをインクリメントし、ステップST25に
処理を戻す。ステップST25〜ステップST27の処
理はi=nとなるまで繰り返され、以上で図3のフロー
チャートに示した処理が終了する。
【0049】図5は、図4の点列指令Pi が点列移動部
7によりEi だけ修正された後の様子を示す模式図であ
る。差分ベクトルは△Si-1 ’,△Si ’,△Si+1
のように小さくなり、点列指令Pi による軌跡が滑らか
になっている様子がわかる。
【0050】点列補間部8は点列移動部7で修正された
点列指令Pi を速度指令に基づいて補間制御し、サーボ
制御部9の各軸の位置指令を出力する。サーボ制御部9
は前記位置指令により工作機械2を制御するが、この際
に点列指令Pi が滑らかになるように修正されているた
め、滑らかな加工を実現することができる。
【0051】以上のように、この実施の形態1によれ
ば、点列指令修正部12に入力される点列指令Pi の修
正点の前後の数点から曲率評価値である差分ベクトルを
計算し、差分ベクトルの大きな値が小さくなるように点
列指令を移動するため、点列指令Pi 全体を滑らかな軌
跡に修正することができる。
【0052】また、円弧のような滑らかな軌跡を表現し
ている点列指令Pi の場合は、曲率評価値として用いる
複数の差分ベクトルの値がほぼ同じ値となり、点列指令
の修正量が小さな値となる。そのため、前記円弧のよう
な曲線においても適切な修正動作を実現することができ
る。
【0053】さらに、修正量の計算を式(114),
(115),(116)のように少ない処理により実現
することができる。
【0054】さらに、点列指令Pi の移動量を修正量制
限部6で最大許容誤差内に制限しているため、修正によ
る点列指令の位置誤差が必要以上に大きくならず、加工
精度が保証された修正動作を実現することができる。
【0055】実施の形態2.実施の形態1では評価範囲
設定部4の選択する点列数が5点の場合を説明したが、
この実施の形態2では、前記点列数が7点の場合につい
て説明する。図6はこの発明の実施の形態2による数値
制御装置の構成を示すブロック図であり、図において、
1aはこの実施の形態2の数値制御装置、4aは実施の
形態2の評価範囲設定部、5aは実施の形態2の修正量
計算部、12aは実施の形態2の点列指令修正部であ
る。図1に示した実施の形態1の数値制御装置1との違
いは、評価範囲設定部4aと修正量計算部5aの処理の
相違のみである。
【0056】次に動作について説明する。図7は実施の
形態2の数値制御装置1aの点列指令修正部12aの動
作を示すフローチャートである。図7のステップST1
〜ステップST27は図3に示した実施の形態1におけ
る処理と同様であり、説明は省略する。
【0057】ステップST3,5,7、およびステップ
ST40〜ステップST45は評価範囲設定部4aの処
理である。この実施の形態2の評価範囲設定部4aは連
続する7点を評価範囲として選択する。例えば、図2で
修正を行う点をPi としたとき、前記修正点Pi とその
前後の各3点、Pi-3 ,Pi-2 ,Pi-1 ,Pi+1 ,P
i+2 ,Pi+3 を選択する処理が行われる。
【0058】ステップST41では、i=3ならステッ
プST42に処理を進め、そうでないならステップST
43に処理を進める。ステップST43ではi=n−2
ならステップST44に処理を進め、そうでないならス
テップST5に処理を進める。
【0059】ステップST40,42,44,45,4
6では、前記修正点Pi と前後の3点(Pi-3 ,P
i-2 ,Pi-1 ,Pi+1 ,Pi+2 ,Pi+3 )の選択を行う
が、ステップST40とステップST42は点列指令の
始点部での処理、ステップST44とステップST45
は点列指令の終点部での処理、ステップST46は始点
部、終点部以外の処理である。
【0060】ステップST40においては点Pi-2 と点
i-3 が、ステップST42においては点Pi-3 が、ス
テップST44においては点Pi+3 が、ステップST4
5においては点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)
【0061】ステップST47は修正量計算部5aの処
理で、ステップST40,42,44,45,46で選
択した前記7点から点Pi の修正量Ei を計算する。修
正量Ei はi番目の点列指令Pi の修正量であり、X、
Y、Z軸の修正量(exi ,eyi ,ezi )からなる
ベクトルである。図2の点列指令における点Pi の修正
量Ei の計算方法を以下に示す。図8は点列指令修正部
12aの点列指令の修正動作の説明図である。
【0062】まず、図8に示すように図2の点列指令か
ら線分ベクトルSi-3 ,Si-2 ,Si-1 ,Si
i+1 ,Si+2 を計算する。Si-2 ,Si-1 ,Si ,S
i+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)
【0063】次に、第1階差分ベクトル△Si-2 ,△S
i-1 ,△Si ,△Si+1 ,△Si+2を計算する。△S
i-1 ,△Si ,△Si+1 としては式(107),(10
8),(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)
【0064】次に、図8に示すような、第2階差分ベク
トル(差分ベクトル)△△Si-2 ,△△Si-1 ,△△S
i ,△△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)
【0065】図4の点列指令Pi-3 〜Pi+3 はほぼ等間
隔に配置されているので、前記第2階差分ベクトル△△
i-2 ,△△Si-1 ,△△Si ,△△Si+1 はそれぞ
れ、点列指令軌跡Pi-3 〜Pi ,Pi-2 〜Pi+1 ,P
i-1 〜Pi+2 ,Pi 〜Pi+3 間の曲率の変化が大きい時
は値が大きく、前記曲率の変化が小さい時は小さい値と
なる。ここでは前記第2階差分べクトルを曲率評価値と
して用いる。
【0066】修正点Pi を修正量Ei だけ移動させる
と、式(211),(212),(213)の前記差分
ベクトルは以下のようになる。修正後の前記差分ベクト
ルを、△△Si-2 ’,△△Si-1 ’,△△Si ’,△△
i+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)
【0067】ここで、式(215),(216),(2
17),(218)の差分ベクトル△△Si-2 ’,△△
i-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)
【0068】ステップST47においては式(219)
により修正量Ei を計算する処理が行われる。
【0069】以上のように、この実施の形態2によれ
ば、点列指令の評価範囲を長くして前記曲率評価値に高
次の差分ベクトルを用いて修正量を計算することがで
き、点列指令全体をより滑らかな軌跡に修正することが
可能となる。
【0070】実施の形態3.実施の形態1の点列指令修
正部12、あるいは実施の形態2の点列指令修正部12
aの動作は、点列指令の間隔がほぼ等間隔であれば有効
に働くが、等間隔でない場合、前記差分ベクトルの曲率
評価値と点列指令からなる軌跡の曲率との対応関係が悪
くなり、修正動作が有効に働かなくなる傾向がある。そ
こで、この実施の形態3では、点列指令の間隔が等間隔
でない場合にも点列指令の修正動作が有効に働くような
点列指令修正部を持つ数値制御装置について説明する。
【0071】図9はこの発明の実施の形態3による数値
制御装置の構成を示すブロック図であり、図において、
1bはこの実施の形態3の数値制御装置、5bは実施の
形態3の修正量計算部、12bは実施の形態3の点列指
令修正部である。図1に示した実施の形態1の数値制御
装置1との違いは、修正量計算部5bの処理の相違のみ
である。
【0072】次に動作について説明する。図10はこの
実施の形態3の数値制御装置1bの点列指令修正部12
bの動作を示すフローチャートである。図10に示す処
理は、図3に示した実施の形態1の処理におけるステッ
プST9の代わりにステップST50の処理を行うもの
である。
【0073】ステップST50の処理は、図11に示す
ように点列指令が等間隔でない場合にも有効な修正量を
計算するものである。ここでは、評価範囲設定部4で選
択される点が修正点Pi とその前後の各2点、Pi-2
i-1 ,Pi+1 ,Pi+2 の5点であるものとして修正量
i を計算する場合について説明する。もちろん、実施
の形態2のように前後各3点(計7点)を選択して修正
量を計算する場合においても同様に適用できることは言
うまでもない。
【0074】点列指令の修正量Ei の計算式は以下の手
順で求める。まず、式(103),(104),(10
5)を用いて図12に示すような線分ベクトルSi-2
i- 1 ,Si ,Si+1 を計算する。次に、前記線分ベク
トルSi-2 ,Si-1 ,Si ,Si+1 の線分長Li-2 ,L
i-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)
【0075】次に、次式のような第1階差分ベクトル△
i-1 ,△Wi ,△Wi+1 を計算する。 △Wi-1 =Qi-1i-1 −Ri-1i-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 =Qii −Rii-1 =(Qi Sxi −Ri Sxi-1 , Qi Syi −Ri Syi-1 , Qi Szi −Ri Szi-1 ) (306) △Wi+1 =Qi+1i+1 −Ri+1i =(Qi+1 Sxi+1 −Ri+1 Sxi , Qi+1 Syi+1 −Ri+1 Syi , Qi+1 Szi+1 −Ri+1 Szi ) (307)
【0076】ここで、Qi-1 ,Ri-1 ,Qi ,Ri ,Q
i+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)
【0077】図12に示すように、点列指令Pi-2 〜P
i+2 が不等間隔に配置されている場合でも、前記第1階
差分ベクトル△Wi-1 ,△Wi ,△Wi+1 は線分長に関
する量により重み付けがなされているため、△Wi-1
△Wi ,△Wi+1 はそれぞれ、点列指令軌跡Pi-2 〜P
i 間,Pi-1 〜Pi+1 間,Pi 〜Pi+2 間の平均曲率に
対応したベクトルとなる。ここではこの差分ベクトルを
曲率評価値として用いる。
【0078】修正点Pi を修正量Ei だけ移動させる
と、式(305),(306),(307)の前記3つ
の差分ベクトルは以下のようになる。修正後の前記差分
ベクトルを△Wi-1 ’,△Wi ’,△Wi+1 ’とする。 △Wi-1 ’=Qi-1 (Si-1 +Ei )−Ri-1i-2 (311) △Wi ’=Qi (Si −Ei )−Ri (Si-1 +Ei ) (312) △Wi+1 ’=Qi+1i+1 −Ri+1 (Si −Ei ) (313)
【0079】ここで式(311),(312),(31
3)の差分ベクトル△Wi-1 ’,△Wi ’,△Wi+1
において大きな値を持つ差分ベクトルを小さくする修正
量Ei を求めるため、実施の形態1における式(11
3),(114)と同様に、前記差分ベクトルの各軸成
分の2乗の和が最小となる修正量Ei を計算すると、式
(117)に対応した次式のような計算式が得られる。 Ei =−(K1i-2 +K2i-1 +K3i +K4i+1 +K5i+2 )/K6 (314) ここで、 K1 =Qi-1i-12 =−Qi-1 2−Qi-1i-1 −Ri 2+Qii3 =Qi-1 2+Qi 2+2Qii +Ri 2+Ri+1 24 =−Qii +Qi+1 2−Qi+1i+1 −Ri+1 25 =Qi+1i+16 =Qi-1 2+Qi 2+2Qii +Ri 2+Ri+1 2 (315) である。
【0080】ステップST50では式(314)により
修正量Ei を計算する処理が行われる。
【0081】以上のように、この実施の形態3によれ
ば、点列指令間の距離(線分長)に関する量により重み
付けされた線分から求めた差分ベクトルを曲率評価値と
して用い、前記差分ベクトルの大きな値が小さくなるよ
うに点列指令を移動するため、点列指令が等間隔でない
場合においても点列指令を滑らかにする良好な点列指令
の修正を実現することができる。
【0082】実施の形態4.前記実施の形態1および
2、あるいは実施の形態3で用いた方法は、本来の軌跡
の曲率変化が大きい場合や、点列間隔が大きい場合には
十分な効果を得ることができない。そこで、この実施の
形態4では、評価範囲内において曲率変化が大きいよう
な場合に対しても、点列指令の修正動作が有効に働くよ
うな点列指令修正部を持つ数値制御装置について説明す
る。この方法の考え方は、本来の軌跡と同じあるいは類
似する曲線を用いて、局所的に本来の曲線に当てはめる
ことにより、誤差成分を取り除くことである。また、こ
の方式によれば、点列指令が等間隔でない場合にも点列
指令の修正動作が有効に働く。
【0083】図13はこの発明の実施の形態4による数
値制御装置の構成を示すブロック図であり、図におい
て、1cは実施の形態4の数値制御装置、5cは実施の
形態4の修正量計算部、12cは実施の形態4の点列指
令修正部である。図1に示した実施の形態1の数値制御
装置1との違いは、修正量計算部5cの処理の相違のみ
である。
【0084】次に動作について説明する。図14は実施
の形態4の数値制御装置1cの点列指令修正部12cの
動作を示すフローチャートである。点列指令修正部12
cの動作は、図3のステップST3,4,5,6,8の
代わりにステップST60を用い、図3のステップST
9の代わりにステップST61を用いる他は、図3に示
した実施の形態1における動作と同様である。
【0085】以下、ステップST60およびステップS
T61の処理について述べる。その他の処理は図3処理
と同様であり、説明を省略する。
【0086】まず、ステップST60の処理について説
明する。ステップST60においては、点列の評価範囲
を設定するが、実施の形態1と異なり、点の個数は固定
ではなく、前方nf点、後方nb点(計1+nf+nb
点)である。すなわち、この実施の形態では、選択する
評価範囲の点の数は必ずしも固定である必要がなく、調
節可能である。もちろん、簡単のため、実施の形態1の
ようにnf=nb=2、あるいは実施の形態3のように
nf=nb=3に固定するのは任意である。
【0087】一般に、点の数が増えれば、より広い範囲
に曲線を当てはめるため、軌跡をより滑らかにする効果
が得られる。ただし、評価範囲内の点の数は、曲線の次
数+2以上でないと、軌跡を滑らかにする効果がない。
例えば、曲線の次数を2とすると、点の数は4以上であ
る必要がある。
【0088】次に、ステップST61の処理について説
明する。ステップST61においては、評価範囲内に、
近似的な曲線を当てはめる。その曲線をP(t)とおけ
ば、修正量Ei は、 Ei =P(ti )−Pi (401) で与えられる。ここで、tは曲線パラメータ、ti はP
i に対応する曲線パラメータである。
【0089】ここで、曲線は、本来の軌跡と同じ種類の
曲線を用いるのが最も適切である。例えば、設計者がC
ADによりデザインする際に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)
【0090】図15は2次スプライン曲線のあてはめの
一例を示す模式図である。図においては、nb=nf=
2であり、評価範囲であるPi-2 ,Pi-1 ,Pi ,P
i+1 ,Pi+2 の計5点に対し、近似的な2次スプライン
曲線を当てはめている。修正前のPi が2次スプライン
曲線上の対応する点に近づくように修正量Ei が求めら
れる。
【0091】式(403),(404),(405)に
おいて、Cx2 ,Cx1 ,Cx0 などの係数は、最小2
乗法を用いて求めることができる。すなわち、Cx2
Cx1 ,Cx0 については、 {Cx2 、Cx1 、Cx0 }’ =[inv(A’×A)]×(A’×b) (406) (上式において、’は、行列の転置を意味する)とな
る。ここで、A,bは、次のように与えられる。 A=[fi-nbi-nb+1 … fi … fi+nf-1i+nf]’ (407) fi ={ti 2i 1}’ (408) b={Pxi-nb Pxi-nb+1 … Pxi … … Pxi+nf-1 Pxi+nf}’ (409) ここで、Pxi はインデックスiの点のx座標値であ
る。
【0092】Y,Z軸成分に関しても、同様に求められ
る。図16は、途中で曲率が変化するような軌跡に対し
て、この方法を適用した例を示すグラフ図である。修正
前の点(×印で表示)においては、図中左側では曲率が
大きく、図中右側では曲率が小さい。その境界あたり
(図中中央付近)で曲率が変化しており、その箇所に段
差状の誤差成分が観察できる。この方法を適用すること
により、修正後の点(○印)は滑らかな軌跡になってい
ることがわかる。以上では、2次のスプライン曲線を用
いた場合について述べたが、3次以上の曲線、有理多項
式で表される曲線、円弧や楕円などの曲線を用いても、
同様に適用することができる。
【0093】以上のように、この実施の形態4によれ
ば、評価範囲内において曲率の変化や点列指令間の間隔
の変化が大きいような点列指令に対しても、点列指令の
修正動作を有効に働かせることができる。
【0094】実施の形態5.図17はこの発明の実施の
形態5による数値制御装置の構成を示すブロック図であ
り、図において、1dはこの実施の形態5の数値制御装
置、7dは実施の形態5の点列移動部である。点列移動
部7dは、点列指令入力部3の点列指令の位置を修正量
制限部6の出力に応じて移動させるとともに、この移動
させた点列指令を評価範囲設定部4に出力する。12d
は実施の形態5の点列指令修正部である。図1に示した
実施の形態1の数値制御装置1との相違は、点列移動部
7dにおける移動結果を評価範囲設定部4における次の
評価範囲設定に用いることである。
【0095】次に動作について説明する。図18はこの
実施の形態5の数値制御装置1dの点列指令修正部12
dの動作を示すフローチャートである。図18のステッ
プST1〜ステップST26の処理は図3のものと同様
の処理であり、説明を省略する。
【0096】図18には、図3のステップST22,2
4,25,27の処理がなく、ステップST26の処理
がステップST18とステップST23の処理の間で行
われる点が異なる。図18のステップST26で修正が
行われた点列指令Pi を用いて、前記Pi の次の点P
i+1 の修正量の計算(ステップST3〜ステップST2
1)が繰り返し行われる。
【0097】以上のように、この実施の形態5によれ
ば、修正された点列指令を用いて次の点列の修正計算を
行うため、より滑らかな点列指令の修正を実現すること
ができる。なお、上記においては、実施の形態1の方法
を繰り返す場合について説明したが、実施の形態2,実
施の形態3,あるいは実施の形態4の方法についても、
ブロック図およびフローチャートに同様の変更を施すこ
とにより、繰り返しによる性能の向上を図ることが可能
である。
【0098】実施の形態6.いろいろな種類の軌跡が組
み合わされた場合や、誤差成分が特定の箇所にのみ存在
する場合に、より正確に誤差だけを取り除くためには、
軌跡の種類や誤差の有無などの点列の性状に応じて、評
価範囲や修正量計算方法を可変にできる効果がある。そ
こで、この実施の形態6においては、評価範囲や修正量
計算方法を可変にできるような点列指令修正部を持つ数
値制御装置について説明する。
【0099】図19はこの発明の実施の形態6による数
値制御装置の構成を示すブロック図であり、図におい
て、1eは実施の形態6の数値制御装置、12eは実施
の形態6の点列指令修正部、13は入力された点列指令
の軌跡の正常を判断する軌跡判断部である。図1に示し
た実施の形態1の数値制御装置1との相違は、軌跡判断
部13を含むことである。
【0100】次に動作について説明する。図20は実施
の形態6の数値制御装置1eの前記点列指令修正部12
eの軌跡判断部13の動作を示すフローチャートであ
る。ステップST80では、誤差成分があるかどうかを
チェックする。誤差成分があるかどうかは、実施の形態
1で述べた第1階差分ベクトルにより判定する。
【0101】誤差成分により、段差,突起,ガタガタな
どが生じている箇所では,いずれも隣接する第1階差分
ベクトルの方向が逆に向いている.そこで、加速度ベク
トルの方向が逆を向いている箇所およびその周辺を誤差
成分がある箇所とする。誤差成分がない場合には、滑ら
かにする必要がないため、評価範囲に含めない。誤差成
分がある場合には、ステップST81に処理を進める。
【0102】ステップST81では、点列の間隔をチェ
ックする。間隔の判定は、適当な基準値を設定してお
き、その値と比較することによる。点列の間隔が長い場
合には、連続した曲線の一部とみなすことは適当ではな
いため、評価範囲に含めない。間隔が短い場合には、ス
テップST82に処理を進める。
【0103】ステップST82では、コーナーかどうか
をチェックする。コーナーかどうかは、実施の形態1で
述べた第1階差分べクトルにより判定する。第1階差分
ベクトルが大きな値を示す点が単独であり、かつ、その
周辺の第1階差分ベクトルが小さい点を、コーナーとす
る。コーナーであれば、この点は、滑らかにするのでは
なく、厳密にコーナーを通過するべきなので、評価範囲
に含めない。コーナーでなければ、ステップST83に
処理を進め、評価範囲に含める。
【0104】評価範囲設定部4は、上記により判断され
た結果が「評価範囲に含める」であれば、入力された点
を評価範囲に含め、逆に、判断された結果が「評価範囲
に含めない」であれば、入力された点を評価範囲に含め
ない。
【0105】さらに、引き続いて、ステップST85に
処理を進める。ステップST85では、曲率が一定の区
間かどうかをチェックする。曲率は、実施の形態1で述
べた第1階差分ベクトルで代用する。曲率が一定でない
場合は、ステップST89に処理を進め、曲線をあては
めることによる方法を選択する。
【0106】曲率が一定であれば、ステップST86に
処理を進める。ステップST86では、評価範囲内の点
列の間隔が均一かどうかを判断し、均一であれば、ステ
ップST87に処理を進め、1次差分による方法または
2次差分による方法を選択し、均一でなければステップ
ST88に処理を進め、重み付き1次差分による方法ま
たは重み付き2次差分による方法を選択する。
【0107】修正量計算部5は、ここで選択した方法に
より、修正量を計算する。なお、上記において、ステッ
プST80,82,85においては、第1階差分ベクト
ルを用いて軌跡の性状を判断したが、実施の形態3で述
べた線分長さで重みづけされた第1階差分ベクトル(△
i )を用いてもよい。
【0108】図21は、評価範囲や修正量計算方法を固
定にした場合の点列指令の修正結果を示す模式図であ
る。図中、×印は修正前の点、*印は誤差を含む修正前
の点、○印は修正後の点、破線は修正前の点を結んだ
線、実線は修正後の点を結んだ線を示す。この図におい
ては、評価範囲や修正量計算方法を固定にしているた
め、次のような問題点が生じている。 (1)誤差のないコーナーの箇所も滑らかにしてしま
い、内回りする(図中1の箇所)。 (2)誤差のない曲線の箇所も滑らかにしてしまい、わ
ずかだが内回りする(図中2の箇所。図ではほとんどわ
からないが、点列間隔の数%程度内回りしている)。 (3)点列間隔の長い箇所の周辺では、形状が大きく崩
れる場合がある(図中3の箇所)。
【0109】図22はこの実施の形態6における方法を
適用した場合の点列指令の修正結果を示す模式図であ
る。上記の方法を用いることにより、上記問題点がなく
なり、必要な個所のみを的確に滑らかにすることが可能
となっている。
【0110】以上のように、この実施の形態6によれ
ば、いろいろな種類の軌跡が組み合わされている場合
や、誤差成分が特定の箇所にのみ存在するような場合に
も、的確に誤差だけを取り除くことが可能となる。
【0111】
【発明の効果】以上のように、請求項1記載の発明によ
れば、修正量計算部が、点列指令を通過する曲線の曲率
に相当する曲率評価値を評価範囲内の複数箇所で計算す
るとともに、前記複数の曲率評価値の中で値の大きなも
のを小さくするように前記点列指令の修正量を計算する
ように構成したので、点列指令の修正において点列指令
全体を滑らかにする有効な修正を行うことができ、工作
機械による加工面を滑らかにし、工作機械に不必要な加
速度が加わって工作機械を損傷するような事態を有効に
防止することができる効果がある。
【0112】請求項2記載の発明によれば、修正量計算
部が、曲率評価値として、連続する点列指令を結ぶ線分
ベクトルの1次または高次の変化量を示す差分ベクトル
を用いるように構成したので、線分ベクトルの変化量を
示す差分ベクトルの単純な計算を行うことにより、差分
ベクトルの階数に応じた広い範囲の点列指令を用いて点
列指令の修正量を計算することができ、点列指令全体を
より滑らかにする有効な修正を行うことができる効果が
ある。また、円弧のような滑らかな軌跡を表現している
点列指令の場合にも、従来の方法におけるように軌跡を
劣化させることなく滑らかな点列指令を得ることができ
る効果がある。
【0113】請求項3記載の発明によれば、修正量計算
部が、複数箇所における差分ベクトルの各軸成分の2乗
和が最小となるように、修正量の前記各軸成分を計算す
るように構成したので、複数箇所における差分ベクトル
の各軸成分の2乗和を最小とするように修正量の各軸成
分を決定することにより複数の曲率評価値の中で値の大
きなものを小さくすることができ、これにより、請求項
2記載の発明の効果を得ることができる効果がある。
【0114】請求項4記載の発明によれば、修正量計算
部における修正量を許容誤差値以下に制限する修正量制
限部を備えるように構成したので、修正量計算部におけ
る点列指令の修正量が許容誤差以上の大きな値となって
工作機械による加工不良や工作機械の損傷が発生する事
態を防止することができる効果がある。
【0115】請求項5記載の発明によれば、修正量計算
部が、差分ベクトルとして、線分ベクトルの長さに関す
る量により重み付けされた線分ベクトルを用いて計算さ
れた差分ベクトルを用いるように構成したので、点列指
令が等間隔でない場合においても点列指令を滑らかにす
る良好な点列指令の修正を実現することができる効果が
ある。
【0116】請求項6記載の発明によれば、修正量計算
部が、評価範囲内の点列指令に2次以上の曲線をあては
め、その曲線に近づくように前記点列指令の修正量を計
算するように構成したので、評価範囲内において曲率の
変化や点列指令間の間隔の変化が大きいような点列指令
に対しても軌跡を劣化させることなく滑らかな点列指令
が得られ、点列指令の修正を有効に行うことができる効
果がある。
【0117】請求項7記載の発明によれば、修正量計算
部が、評価範囲内の点列指令に2次曲線をあてはめるよ
うに構成したので、少ない計算量により本来の曲線に良
好に倣った点列指令への修正を行うことができる効果が
ある。
【0118】請求項8記載の発明によれば、修正量計算
部における修正量を許容誤差値以下に制限する修正量制
限部を備えるように構成したので、修正量計算部におけ
る点列指令の修正量が許容誤差以上の大きな値となって
工作機械による加工不良や工作機械の損傷が発生する事
態を防止することができる効果がある。
【0119】請求項9記載の発明によれば、修正量計算
部が、修正された点列指令を以降の修正点に対する修正
量の計算に用いるように構成したので、より滑らかな点
列指令の修正を実現することができる効果がある。
【0120】請求項10記載の発明によれば、入力され
た点列指令からなる軌跡の性状を判断する軌跡判断部を
備え、判断された前記軌跡の性状に応じて、評価範囲設
定部において設定する前記評価範囲、および/または、
修正量計算部における前記修正量計算方法を適宜変更す
るように構成したので、いろいろな種類の軌跡が組み合
わされている場合や、誤差成分が特定の箇所にのみ存在
するような場合にも、的確に誤差だけを取り除き、良好
な点列指令の修正を行うことができる効果がある。
【図面の簡単な説明】
【図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
i+3 ,P1 〜Pn 点列指令、Si-3 ,Si-2 ,S
i-1 ,Si ,Si+1 ,Si+2 線分ベクトル、△
i-1 ,△Si ,△Si+1 ,△Si-1 ’,△Si ’,△
i+1 ’,△Wi-1 ,△Wi ,△Wi+1 第1階差分ベ
クトル(差分ベクトル)、△△Si-2 ,△△Si-1 ,△
△Si ,△△Si+1 第2階差分ベクトル(差分ベクト
ル)。

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 工作機械の制御位置座標を表す点列指令
    を入力する点列指令入力部と、連続する前記点列指令を
    数点選択して評価範囲を設定する評価範囲設定部と、前
    記評価範囲設定部で選択された前記評価範囲内の点列指
    令を用いて、前記評価範囲内の点列指令の修正量を計算
    する修正量計算部と、計算された前記修正量に従って前
    記点列指令入力部において入力された点列指令を移動し
    てその結果を出力する点列移動部とを備え、前記修正量
    計算部は、前記点列指令を通過する曲線の曲率に相当す
    る曲率評価値を前記評価範囲内の複数箇所で計算すると
    ともに、前記複数の曲率評価値の中で値の大きなものを
    小さくするように前記点列指令の修正量を計算すること
    を特徴とする数値制御装置。
  2. 【請求項2】 修正量計算部は、曲率評価値として、連
    続する点列指令を結ぶ線分ベクトルの1次または高次の
    変化量を示す差分ベクトルを用いることを特徴とする請
    求項1記載の数値制御装置。
  3. 【請求項3】 修正量計算部は、複数箇所における差分
    ベクトルの各軸成分の2乗和が最小となるように、修正
    量の前記各軸成分を計算することを特徴とする請求項2
    記載の数値制御装置。
  4. 【請求項4】 修正量計算部における修正量を許容誤差
    値以下に制限する修正量制限部を備えたことを特徴とす
    る請求項1から請求項3のうちのいずれか1項記載の数
    値制御装置。
  5. 【請求項5】 修正量計算部は、差分ベクトルとして、
    線分ベクトルの長さに関する量により重み付けされた線
    分ベクトルを用いて計算された差分ベクトルを用いるこ
    とを特徴とする請求項2記載の数値制御装置。
  6. 【請求項6】 工作機械の制御位置座標を表す点列指令
    を入力する点列指令入力部と、連続する前記点列指令を
    数点選択して評価範囲を設定する評価範囲設定部と、前
    記評価範囲設定部で選択された前記評価範囲内の点列指
    令を用いて、前記評価範囲内の点列指令の修正量を計算
    する修正量計算部と、計算された前記修正量に従って前
    記点列指令入力部において入力された点列指令を移動し
    てその結果を出力する点列移動部とを備え、前記修正量
    計算部は、前記評価範囲内の点列指令に2次以上の曲線
    をあてはめ、その曲線に近づくように前記点列指令の修
    正量を計算することを特徴とする数値制御装置。
  7. 【請求項7】 修正量計算部は、前記評価範囲内の点列
    指令に2次曲線をあてはめることを特徴とする請求項6
    記載の数値制御装置。
  8. 【請求項8】 修正量計算部における修正量を許容誤差
    値以下に制限する修正量制限部を備えたことを特徴とす
    る請求項6または請求項7記載の数値制御装置。
  9. 【請求項9】 修正量計算部は、修正された点列指令を
    以降の修正点に対する修正量の計算に用いることを特徴
    とする請求項1から請求項8のうちのいずれか1項記載
    の数値制御装置。
  10. 【請求項10】 入力された点列指令からなる軌跡の性
    状を判断する軌跡判断部を備え、判断された前記軌跡の
    性状に応じて、評価範囲設定部において設定する前記評
    価範囲、および/または、修正量計算部における前記修
    正量計算方法を適宜変更することを特徴とする請求項1
    から請求項9のうちのいずれか1項記載の数値制御装
    置。
JP03823397A 1997-02-21 1997-02-21 数値制御装置および数値制御方法 Expired - Fee Related JP3640754B2 (ja)

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 true JPH10240328A (ja) 1998-09-11
JP3640754B2 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)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823234B2 (en) 2002-08-16 2004-11-23 Fanuc Ltd Curve interpolation method
EP1720085A1 (en) * 2005-05-02 2006-11-08 Fanuc Ltd Curve interpolating method
JP2007257094A (ja) * 2006-03-22 2007-10-04 Toyota Motor Corp 経路作成方法、移動体および移動体制御システム
JP2009058985A (ja) * 2007-08-29 2009-03-19 Okuma Corp 点群データの補正方法、補正プログラム、および近似曲線生成プログラム
US7792603B2 (en) 2006-08-04 2010-09-07 Okuma Corporation Program and method for generating approximate curve from approximate point group data
DE102013002516A1 (de) 2012-02-20 2013-08-22 Fanuc Corp. Numerical controller with machining curve creating function
CN103809521A (zh) * 2012-11-14 2014-05-21 中国科学院沈阳计算技术研究所有限公司 基于弦截法的样条曲线插补方法
JP2015032229A (ja) * 2013-08-06 2015-02-16 オークマ株式会社 Ncプログラムにおける回転送り軸指令の変化度合いの算出及び表示方法並びに装置
CN105700466A (zh) * 2015-11-23 2016-06-22 上海交通大学 高速数控加工轨迹的曲率光顺方法
CN108287528A (zh) * 2017-12-06 2018-07-17 莱芜钢铁集团电子有限公司 一种多点共面的曲线显示方法和装置
CN112621739A (zh) * 2019-10-08 2021-04-09 东元电机股份有限公司 机器人及其路径插值规划命令产生***
WO2023058243A1 (ja) * 2021-10-08 2023-04-13 ファナック株式会社 制御装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58178406A (ja) * 1982-04-14 1983-10-19 Mitsubishi Electric Corp 数値制御用ncデ−タ作成装置
JPS62282304A (ja) * 1986-05-30 1987-12-08 Yaskawa Electric Mfg Co Ltd 自動機械における軌道の補間方法
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 ロボットの軌道補間装置
JPH09160623A (ja) * 1995-12-06 1997-06-20 Toyoda Mach Works Ltd 工作物加工用数値制御装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58178406A (ja) * 1982-04-14 1983-10-19 Mitsubishi Electric Corp 数値制御用ncデ−タ作成装置
JPS62282304A (ja) * 1986-05-30 1987-12-08 Yaskawa Electric Mfg Co Ltd 自動機械における軌道の補間方法
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 ロボットの軌道補間装置
JPH09160623A (ja) * 1995-12-06 1997-06-20 Toyoda Mach Works Ltd 工作物加工用数値制御装置

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823234B2 (en) 2002-08-16 2004-11-23 Fanuc Ltd Curve interpolation method
EP1720085A1 (en) * 2005-05-02 2006-11-08 Fanuc Ltd Curve interpolating method
US7274969B2 (en) 2005-05-02 2007-09-25 Fanuc Ltd Curve interpolating method
CN100445911C (zh) * 2005-05-02 2008-12-24 发那科株式会社 曲线插补方法
JP2007257094A (ja) * 2006-03-22 2007-10-04 Toyota Motor Corp 経路作成方法、移動体および移動体制御システム
US7792603B2 (en) 2006-08-04 2010-09-07 Okuma Corporation Program and method for generating approximate curve from approximate point group data
JP2009058985A (ja) * 2007-08-29 2009-03-19 Okuma Corp 点群データの補正方法、補正プログラム、および近似曲線生成プログラム
DE102013002516B4 (de) * 2012-02-20 2015-10-01 Fanuc Corp. Numerische Steuerung mit Bearbeitungskurvenerzeugungsfunktion
DE102013002516A1 (de) 2012-02-20 2013-08-22 Fanuc Corp. Numerical controller with machining curve creating function
US9268323B2 (en) 2012-02-20 2016-02-23 Fanuc Corporation Numerical controller with machining curve creating function
CN103809521A (zh) * 2012-11-14 2014-05-21 中国科学院沈阳计算技术研究所有限公司 基于弦截法的样条曲线插补方法
JP2015032229A (ja) * 2013-08-06 2015-02-16 オークマ株式会社 Ncプログラムにおける回転送り軸指令の変化度合いの算出及び表示方法並びに装置
CN105700466A (zh) * 2015-11-23 2016-06-22 上海交通大学 高速数控加工轨迹的曲率光顺方法
CN108287528A (zh) * 2017-12-06 2018-07-17 莱芜钢铁集团电子有限公司 一种多点共面的曲线显示方法和装置
CN108287528B (zh) * 2017-12-06 2020-02-14 莱芜钢铁集团电子有限公司 一种多点共面的曲线显示方法和装置
CN112621739A (zh) * 2019-10-08 2021-04-09 东元电机股份有限公司 机器人及其路径插值规划命令产生***
CN112621739B (zh) * 2019-10-08 2022-03-15 东元电机股份有限公司 机器人及其路径插值规划命令产生***
WO2023058243A1 (ja) * 2021-10-08 2023-04-13 ファナック株式会社 制御装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
JP3640754B2 (ja) 2005-04-20

Similar Documents

Publication Publication Date Title
WO2011052800A1 (ja) 工具経路の生成方法および装置
JP3971773B2 (ja) ロボットのオフライン教示装置
JP3610485B2 (ja) 数値制御曲面加工装置
WO2019119268A1 (zh) 数控***、具有存储功能的装置及nurbs曲线插补方法
JP6450732B2 (ja) 数値制御装置
JPH10240328A (ja) 数値制御装置
JP5615377B2 (ja) 工具経路の生成方法および生成装置
JP2000112511A (ja) プロセス途中の部品のnc処理方法
US20140156052A1 (en) Numerical control device
JP3879056B2 (ja) 数値制御曲面加工装置
CN114839921A (zh) 一种基于数据驱动的五轴轮廓控制方法
CN112731865B (zh) 一种基于插补数据的多轴加工轮廓误差预补偿方法
JP3511583B2 (ja) 数値制御方法
JPH07302110A (ja) ロボット動作プログラムの作成方法
JP2790643B2 (ja) 数値制御装置
CN116661377A (zh) 一种基于行程空间的多轴轨迹平滑和插补的方法和装置
WO2022138843A1 (ja) 数値制御装置
CN114019911B (zh) 一种基于速度规划的曲线拟合方法
JP2000311010A (ja) 軌跡制御装置、プログラム作成装置およびプログラム変換装置
CN110968040A (zh) 一种机械数控用加工轨迹的程序生成方法
Yang et al. A new high precision fitting approach for NURBS tool paths generation
Tournier et al. The concept of the machining surface in 5-axis milling of free-form surfaces
CN116795044B (zh) 速度规划方法、装置、机床控制***和存储介质
WO2024084706A1 (ja) 加工指令修正装置及び加工指令修正方法
KR0170343B1 (ko) 로보트 캘리브레이션 모델의 변수값 추정 방법

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