(57)【要約】【課題】機械振動（許容速度）の正確な管理および処理能率の向上を実現可能な数値制御方法を得ること。【解決手段】２軸以上の可動部の移動を指令経路に沿って指令速度に従って制御する場合に、指令経路上の特定点もしくは特定領域における許容速度を決定するために、例えば特定点もしくは特定領域から特定時間が経過するまでの範囲または特定点もしくは特定領域から特定距離までの範囲の指令経路および指令速度を読み込む指令読み込みステップと、指令経路および指令速度に基づいて、各時刻の各軸の速度指令を生成する速度指令生成ステップと、各時刻の各軸の仮の速度指令に含まれる機械振動に対応する各軸の周波数帯域の成分を計算する周波数成分計算ステップと、予め設定された周波数帯域の成分の基準値に対する各軸の周波数帯域の成分の二乗平均平方根の比から特定領域の指令経路に沿った許容速度を計算する許容速度決定ステップと、を含む。【選択図】      図１
2006294053.tif 000002
【特許請求の範囲】
【請求項１】
２軸以上の可動部の移動を指令経路に沿って指令速度に従って制御する数値制御方法において、
指令経路上の特定点もしくは特定領域における指令経路に沿った許容速度を決定する許容速度決定部と、
前記指令経路に沿った指令速度および前記指令経路に沿った許容速度に基づいて、前記可動部の指令経路に沿った速度が前記指令経路に沿った指令速度および前記指令経路に沿った許容速度を越えないように制御する速度制御部と、
を備え、
前記許容速度決定部は、
前記特定点もしくは特定領域から所定の移動時間の範囲、または、前記特定点もしくは特定領域から所定の移動距離の範囲、の指令経路および指令経路に沿った指令速度を読み込む指令読み込みステップと、
前記指令経路および指令経路に沿った指令速度に基づいて、各時刻の各軸の仮の速度指令を一旦生成する速度指令生成ステップと、
前記各時刻の各軸の仮の速度指令に含まれる、機械振動に対応する各軸の周波数帯域の成分を計算する周波数成分計算ステップと、
予め設定された周波数帯域の成分の基準値に対する前記各軸の周波数帯域の成分の比の最小値、あるいは予め設定された周波数帯域の成分の基準値に対する前記各軸の周波数帯域の成分の二乗平均平方根の比から前記特定領域の指令経路に沿った許容速度を計算する許容速度決定ステップと、
を含むことを特徴とする数値制御方法。
【請求項２】
前記特定領域は、前記特定点間の領域、または当該特定点間の領域をさらに細分化した小領域、とすることを特徴とする請求項１に記載の数値制御方法。
【請求項３】
前記基準値は、軸毎に設けるか、または全軸共通に設けることを特徴とする請求項１または２に記載の数値制御方法。
【請求項４】
前記機械振動に対応する各軸の周波数帯域の成分がその許容値に対して予め指定した第１の許容誤差の範囲内となるまで、指令経路に沿った速度の計算値の変化が予め指定した第２の許容誤差の範囲内となるまで、または、繰り返し計算の回数が予め指定された回数を超えるまで、前記指令読み込みステップ、前記速度指令生成ステップ、前記周波数成分計算ステップおよび前記許容速度決定ステップの各ステップを繰り返し実行することを特徴とする請求項１〜３のいずれか一つに記載の数値制御方法。
【請求項５】
２軸以上の可動部の移動を指令経路に沿って指令速度に従って制御する速度制御装置において、
指令経路上の特定点もしくは特定領域における指令経路に沿った許容速度を決定する許容速度決定部と、
前記指令経路に沿った指令速度および前記指令経路に沿った許容速度に基づいて、前記可動部の指令経路に沿った速度が前記指令経路に沿った指令速度および前記指令経路に沿った許容速度を越えないように制御する速度制御部と、
を備え、
前記許容速度決定部は、
前記特定点もしくは特定領域から所定の移動時間の範囲、または、前記特定点もしくは特定領域から所定の移動距離の範囲、の指令経路および指令経路に沿った指令速度を読み込む指令読み込み手段と、
前記指令経路および指令経路に沿った指令速度に基づいて、各時刻の各軸の仮の速度指令を一旦生成する速度指令生成手段と、
前記各時刻の各軸の仮の速度指令に含まれる、機械振動に対応する各軸の周波数帯域の成分を計算する周波数成分計算手段と、
予め設定された周波数帯域の成分の基準値に対する前記各軸の周波数帯域の成分の比の最小値、あるいは予め設定された周波数帯域の成分の基準値に対する前記各軸の周波数帯域の成分の二乗平均平方根の比から前記特定領域の指令経路に沿った許容速度を計算する許容速度決定手段と、
を含むことを特徴とする速度制御装置。
【請求項６】
前記特定領域は、前記特定点間の領域、または当該特定点間の領域をさらに細分化した小領域、とすることを特徴とする請求項５に記載の速度制御装置。
【請求項７】
前記基準値は、軸毎に設けるか、または全軸共通に設けることを特徴とする請求項５または６に記載の速度制御装置。
【請求項８】
前記機械振動に対応する各軸の周波数帯域の成分がその許容値に対して予め指定した第１の許容誤差の範囲内となるまで、指令経路に沿った速度の計算値の変化が予め指定した第２の許容誤差の範囲内となるまで、または、繰り返し計算の回数が予め指定された回数を超えるまで、前記指令読み込み手段、前記速度指令生成手段、前記周波数成分計算手段および前記許容速度決定手段の各手段の処理を繰り返し実行することを特徴とする請求項５〜７のいずれか一つに記載の速度制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可動部の許容速度を決定するための数値制御方法および速度制御装置に関するものであり、特に、決定した許容速度を超えないように可動部の速度を制御する制御装置、たとえば、数値制御装置，ロボット制御装置，シーケンサや、エレベータ，ミシン，座標測定器，プロッタ，ベルトコンベア，自動車，列車などの移動体や、航空機などの制御装置に好適な数値制御方法に関するものである。
【背景技術】
【０００２】
以下、従来の数値制御方法について説明する。一般に、可動部の動作を制御する場合、高速に動作するほど機械振動が大きくなる。そのため、機械振動に対して許容可能な最大の速度（許容速度）を求め、可動部の速度がその許容速度を超えないように制御する。
【０００３】
従来の数値制御方法における許容速度決定手法としては、たとえば、下記特許文献１に記載の方法がある。この特許文献では、たとえば、移動軌跡を複数の目標点Ｐ１，Ｐ２，…，Ｐｎを順次通る経路とし、この経路上の任意の点ＰｋとＰｋ＋１を結ぶ区間ｋの線分データＸｋおよび最高速度指令値Ｆ０を入力した場合に、区間ｋとその近傍の区間の線分データおよび最高速度指令値Ｆ０に基づいて、区間ｋの曲率に応じて定まる許容法線加速度以下の許容速度を求める。
【０００４】
また、従来の他の数値制御方法における許容速度決定手法としては、たとえば、下記特許文献２に記載の方法がある。この特許文献では、隣接する２ブロック間の速度差に基づいて許容速度を決定していた。すなわち、モータの最大トルクまたは機械へのショックから決まる最大速度変化を予め求めておき、別途設定されている最大切削速度で加工するものとし、コーナにおける軸毎の速度変化が最大速度変化を超える場合に、超えない範囲で最大となるような送り速度を求める。
【０００５】
【特許文献１】特開平２−２１９１０７号公報
【特許文献２】特開平２−７２４１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記、従来の数値制御方法における許容速度決定手法については、以下に示す問題点があった。
【０００７】
たとえば、上記のように加速度や速度差をその許容値以下に抑えることによって、間接的に機械振動が低減される場合もあるが、近年のように移動時間をより短縮して動作速度を高める場合には、上記従来の技術では、機械振動の抑制が不十分であることがわかってきた。
【０００８】
ここで、上記特許文献１に記載の方法を例に挙げて説明する。たとえば、機械振動が必ず発生しないようにするには加速度の許容値を十分に小さくする方法がある。しかしながら、このような方法では、たとえば、加速度が上記許容値より大きいにもかかわらず機械振動が発生しないような場合には、むだに速度を下げることとなり、加工能率が下がってしまう、という問題があった。
【０００９】
現状の問題点を、図面を用いて具体的に説明する。図１５，図１６，図１７，図１８，図１９は、従来の問題点を説明するための図である。まず、図１５に示すような指令経路と指令速度に従って動作する場合について説明する。なお、図中のＰ０〜Ｐ２は指令経路を構成する各線分の始終点であり、Ｐ０，Ｐ１，Ｐ２の順番に移動する。また、各線分に示されたＦは指令速度（mm/min）を表している。
【００１０】
たとえば、指令速度で通過する場合、点Ｐ１において発生する速度差は、
Ｘ軸：１０００×（ＣＯＳ（π／２）−ＣＯＳ（−π／２））＝０
Ｙ軸：１０００×（ＳＩＮ（π／２）−ＳＩＮ（−π／２））＝１０００√２である。ここで、たとえば、Ｘ軸，Ｙ軸の許容速度差をともに３００√２とすると、点Ｐ１の許容速度は、
１０００×３００√２／１０００√２＝３００
となる。
【００１１】
図１６では、点Ｐ１の近傍をこの速度３００で通過する場合に機械に発生する振動を示しており、詳細には、Ｙ軸の加速度波形を示している。なお、Ｘ軸の加速度は０なので省略する。また、機械の共振周波数を２０Ｈｚとし、減衰比を０．１とする。この場合、発生する機械振動は最大で０．７８ｍ／ｓ2となる。
【００１２】
つぎに、図１７に示すような指令経路と指令速度に従って動作する場合について説明する。なお、図中のＰ０〜Ｐ３は指令経路を構成する各線分の始終点であり、Ｐ０，Ｐ１，Ｐ２，Ｐ３の順番に移動する。また、図１７では点Ｐ１とＰ２は重なって見えるが、実際は１０μｍだけ離れている（図１８参照）。
【００１３】
たとえば、指令速度で通過する場合に点Ｐ１において発生する速度差は、
Ｘ軸：１０００×（ＣＯＳ（π／２）−ＣＯＳ（０））
＝１０００×（√２／２−１）
Ｙ軸：１０００×（ＳＩＮ（π／２）−ＳＩＮ（０））
＝１０００×（√２／２）
となる。ここで、Ｘ軸，Ｙ軸の許容速度差をともに３００√２とすると、点Ｐ１の許容速度は、
１０００×ｍｉｎ（３００√２／（１０００（√２／２−１）），
３００√２／（１０００（√２／２）））＝６００
となる。
【００１４】
図１９では、点Ｐ１の近傍をこの速度６００で通過する場合に機械に発生する振動を示しており、詳細には、Ｙ軸の加速度波形を示している。なお、Ｘ軸の加速度はＹ軸の加速度より小さいので省略する。この場合、発生する機械振動は最大で１．２６ｍ／ｓ2となる。
【００１５】
このように、従来技術によれば、図１５と図１７のように、わずかに形状が異なっただけで、発生する機械振動の大きさが大きく異なってしまい、正しく機械振動を管理できていないことがわかる。具体的にいうと、たとえば、機械振動を０．７８ｍ／ｓ2以下に制限するような場合、許容速度差は、現状の約半分、すなわち、１５０√２にする必要がある。しかしながら、この設定では、図１５の指令経路に対して許容速度が１５０（このときの振動は０．３９ｍ／ｓ2）となってしまい、明らかに速度の下げすぎになる。すなわち、加工能率が低下する。
【００１６】
本発明は、上記に鑑みてなされたものであって、機械振動（許容速度）の正確な管理および処理能率の向上を実現可能な数値制御方法および速度制御装置を得ることを目的とする。
【課題を解決するための手段】
【００１７】
上述した課題を解決し、目的を達成するため、本発明にかかる数値制御方法は、２軸以上の可動部の移動を指令経路に沿って指令速度に従って制御する数値制御方法において、指令経路上の特定点もしくは特定領域における指令経路に沿った許容速度を決定する許容速度決定部と、前記指令経路に沿った指令速度および前記指令経路に沿った許容速度に基づいて、前記可動部の指令経路に沿った速度が前記指令経路に沿った指令速度および前記指令経路に沿った許容速度を越えないように制御する速度制御部と、を備え、前記許容速度決定部は、前記特定点もしくは特定領域から所定の移動時間の範囲、または、前記特定点もしくは特定領域から所定の移動距離の範囲、の指令経路および指令経路に沿った指令速度を読み込む指令読み込みステップと、前記指令経路および指令経路に沿った指令速度に基づいて、各時刻の各軸の仮の速度指令を一旦生成する速度指令生成ステップと、前記各時刻の各軸の仮の速度指令に含まれる、機械振動に対応する各軸の周波数帯域の成分を計算する周波数成分計算ステップと、予め設定された周波数帯域の成分の基準値に対する前記各軸の周波数帯域の成分の比の最小値、あるいは予め設定された周波数帯域の成分の基準値に対する前記各軸の周波数帯域の成分の二乗平均平方根の比から前記特定領域の指令経路に沿った許容速度を計算する許容速度決定ステップと、を含むことを特徴とする。
【発明の効果】
【００１８】
本発明にかかる数値制御方法によれば、機械振動に対応する周波数成分に基づいて許容速度を求めるようにしているので、機械振動（許容速度）の正確な管理および処理能率の向上を実現することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１９】
以下に、本発明にかかる数値制御方法および速度制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００２０】
実施の形態１．
図１は、本発明にかかる速度制御装置の構成を示す図である。図１において、１は許容速度決定部であり、２は速度制御部であり、３は可動部（制御対象）であり、速度制御装置は、許容速度決定部１と速度制御部２で構成される。許容速度決定部１では、後述する数値制御方法に従って許容速度を決定する。ここでは、指令経路と指令速度に基づいて許容速度を決定する。速度制御部２では、指令経路に沿って可動部（制御対象）３の速度を制御する。このとき、制御対象の速度が指令速度，許容速度を超えないように制御する。
【００２１】
以下、本実施の形態１の数値制御方法について説明する。図２は、本発明にかかる速度制御装置の許容速度決定部１にて実現される実施の形態１の数値制御方法を示すフローチャートである。ここでは、実施の形態１の数値制御方法を、図１５，図１７の例を再度用いて具体的に説明する。
【００２２】
まず、図１５に示すような指令経路と指令速度に従って動作する場合について説明する。ここでは、たとえば、点Ｐ１の許容速度を決定する。速度制御装置の許容速度決定部１では、指令経路および指令速度を読み込む（ステップＳ１）。なお、点Ｐ１を含む所定の時間または距離の範囲内の、指令経路および指令速度を読み込む。
【００２３】
図３は、たとえば、距離Ｌの範囲内の指令経路および指令速度を読み込む場合の一例を示す図である。この場合には、点Ｐ１に対する指令経路に沿って、進行方向と逆方向におけるそれぞれ距離Ｌの範囲（図中の指令経路に沿ってＡ〜Ｐ１の範囲，Ｐ１〜Ｂの範囲）で、指令経路および指令速度を読み込む。
【００２４】
ただし、指令経路および指令速度を読み込む範囲については、所定時間の範囲で定めてもよいし、また、時間と距離の両方を用いて定めてもよい。たとえば、点Ｐ１からの時間（所要時間）は、点Ｐ１からの指令経路に沿った距離をｄとすると、「時間＝ｄ／指令速度」で求めることができる。一般に、指令経路および指令速度は動作プログラムに定義されている場合が多いので、その場合には、点Ｐ１より前（過去）の指令経路と指令速度を記憶しておくとともに、点Ｐ１より後（未来）の指令経路と指令速度を先読みすることになる。また、上記所定の時間は、機械振動周波数の成分を精度よく抽出するため、少なくともその周期の１／４以上とすることが好ましい。また、上記所定の距離は、同様の理由で、機械振動周波数と指令送り速度との積の１／４以上とすることが好ましい。
【００２５】
指令経路および指令速度を読み込んだ後、許容速度決定部１では、各指令に基づいて計算される許容速度から各時刻の速度指令（速度指令波形）を生成する（ステップＳ２）。図４は、たとえば、前述の図３の場合における各軸の速度指令波形を示す図である。図中ＶｘはＸ軸の速度指令波形を表し、ＶｙはＹ軸の速度指令波形を表す。各ブロックにおける各軸の速度の値は、線分のＸ軸に対してなす角度をθとし、指令速度をＦとすると、下記（１）（２）式のように表すことができる。この演算処理をステップＳ１にて決定した全範囲に対して行う。
Ｖｘ＝Ｆ×ｃｏｓθ      …（１）
Ｖｙ＝Ｆ×ｓｉｎθ      …（２）
【００２６】
各軸の速度指令波形を生成後、許容速度決定部１では、機械振動に対応する周波数成分を求める（ステップＳ３）。たとえば、ここでは、ステップＳ２にて求めた速度指令波形Ｖｙに対してＦＦＴ演算（離散フーリエ演算）を施し、そのスペクトルを求める。図５は、速度指令波形Ｖｙに対応したスペクトルを示す図である。この場合、機械振動に対応する周波数成分（図中の○印）の大きさＧは、６．９３となった。
【００２７】
機械振動に対応する周波数成分を求めた後、許容速度決定部１では、上記周波数成分の大きさＧとその基準値Ｖｍａｘ（ここでは２．０７９とする）とを用いて、以下の（３）式で許容速度を求める（ステップＳ４）。
許容速度
＝指令速度×Ｖｍａｘ／Ｇ
＝１０００×２．０７９／６．９３＝３００      …（３）
【００２８】
図６は、点Ｐ１の近傍を上記速度３００で通過する場合に機械に発生する振動を示す図である。ここでは、特に、Ｙ軸の加速度波形を示している。図示のとおり、発生する機械振動は最大で０．７８ｍ／ｓ2となる。
【００２９】
つぎに、図１７に示すような指令経路と指令速度に従って動作する場合について説明する。この場合も、上記同様、速度制御装置が指令経路および指令速度を読み込む（ステップＳ１）。図７は、たとえば、距離Ｌの範囲内の指令経路および指令速度を読み込む場合の一例を示す図である。この場合には、点Ｐ１に対する指令経路に沿って、進行方向と逆方向におけるそれぞれ距離Ｌの範囲（図中の指令経路に沿ってＡ〜Ｐ１の範囲，Ｐ１〜Ｂの範囲）で、指令経路および指令速度を読み込む。そして、各指令に基づいて速度指令波形を生成する（ステップＳ２）。図８は、ステップＳ２にて求めた各軸の速度指令波形を示す図である。
【００３０】
各軸の速度指令波形を生成後、速度制御装置では、機械振動に対応する周波数成分を求める（ステップＳ３）。上記同様、速度指令波形Ｖｙに対してＦＦＴ演算（離散フーリエ演算）を施し、そのスペクトルを求める。図９は、速度指令波形Ｖｙに対応したスペクトルを示す図である。この場合、機械振動に対応する周波数成分（図中の○印）の大きさＧは、６．８８となった。
【００３１】
機械振動に対応する周波数成分を求めた後、速度制御装置では、上記周波数成分の大きさＧとその基準値Ｖｍａｘ（ここでは２．０７９とする）とを用いて、以下の（４）式で許容速度を求める（ステップＳ４）。
許容速度＝指令速度×Ｖｍａｘ／Ｇ
＝１０００×２．０７９／６．８８＝３０２      …（４）
【００３２】
図１０は、点Ｐ１の近傍を上記速度３０２で通過する場合に機械に発生する振動を示す図である。ここでは、特に、Ｙ軸の加速度波形を示している。図示のとおり、発生する機械振動は最大で０．６９ｍ／ｓ2となる。
【００３３】
このように、本実施の形態においては、機械振動に対応する周波数成分に基づいて許容速度を求めるので、高精度に機械振動を管理することができ、これにより、ショックのない滑らかな動作を実現できる。また、従来技術と比較して、必要以上に減速することがなく動作時間をより短くできる。
【００３４】
なお、上記ステップＳ２では、許容速度を求める点の近傍の指令速度を、一定の指令速度Ｆとして各軸の速度指令波形を生成したが、その他に、ブロックの途中で加減速が生じる場合にはその加減速も考慮して各軸の速度指令波形を生成してもよい。これにより、その後の計算精度が向上する。また、各軸の速度指令波形から、サーボ系の応答特性を用いて機械の各軸の速度波形を推定することとしてもよい。これにより、その後の計算精度がさらに向上する。
【００３５】
また、ステップＳ２では、指令速度波形を生成するが、速度指令ではなく、位置，加速度，加々速度を計算し、その周波数成分を求めることとしてもよい。なお、位置は速度指令を積分することで、加速度および加々速度は速度を１回または２回微分することで、それぞれ容易に得ることができる。
【００３６】
また、ステップＳ３では、ＦＦＴ演算を用いたが、ウェーブレット変換，ラプラス変換，ハイパス／ローパス／バンドパスフィルタによる演算，所定の時間波形との相関係数演算を用いてもよく、さらに、それらの演算結果に対して連続時間領域の計算法または離散時間領域の計算法を適用してもよい。
【００３７】
また、ステップＳ３では、１つの周波数成分に着目したが、たとえば、複数の機械振動モードがある場合，機械振動数が変化する場合，機械振動数が未知の場合などは、複数の周波数成分に着目し、それらの最大値，平均値または重み付け平均値などを用いて許容速度を求めることとしてもよい。
【００３８】
また、ステップＳ４では、基準値Ｖｍａｘを各軸毎に設けてもよいし、全軸共通に設けてもよい。各軸毎に設ける場合には、各軸の周波数成分をＧｊとし、基準値をＶｍａｘｊ（ｊ＝１，２，…，ｎ（ｎは軸数））とし、以下の（５）式を用いて許容速度を計算する。
許容速度
＝ｍｉｎ（Ｖｍａｘ１／Ｇ１，Ｖｍａｘ２／Ｇ２，…，Ｖｍａｘｎ/Ｇｎ）
…（５）
機械の振動特性が各軸で異なる場合には、基準値を各軸に設けることでより精密な振動制御が可能となる。一方、全軸共通に設ける場合には、基準値をＶｍａｘとし、以下の（６）または（７）式を用いて許容速度を計算する。
許容速度
＝ｍｉｎ（Ｖｍａｘ／Ｇ１，Ｖｍａｘ／Ｇ２，…，Ｖｍａｘ／Ｇｎ）
…（６）
許容速度＝Ｖｍａｘ／√（Ｇ１2＋Ｇ２2＋…＋Ｇｎ2）      …（７）
機械の振動特性の軸毎の差が小さい場合には、基準値を共通とすることでパラメータ設定や調整の手間を減らすことができる。
【００３９】
また、本実施の形態では、ステップＳ１，ステップＳ２，ステップＳ４において指令速度の情報を用いたが、指令速度を用いずに計算することもできる。たとえば、指令速度の変わりに、各軸の駆動可能な最大の速度，または単位速度を用いてもよい。
【００４０】
また、本実施の形態では、あるブロックの終点における許容速度を求めたが、たとえば、図１１に示すように、ブロックをさらに再分割した小領域（Ｚ０，Ｚ１，…，Ｚｋ，…）の始終点の許容速度を求めることも可能である。これにより、スプライン曲線やＮＵＲＢＳ曲線など、ブロックの途中で曲率が変化する場合であっても、より正確な機械振動の制御が可能となる。
【００４１】
また、本実施の形態では、点の許容速度を求めたが、ブロック全体または前述の小領域全体の許容速度を求めることも可能である。この場合には、ステップＳ１において、ブロック全体または小領域全体の前後に、所定の距離または時間の範囲内の指令経路，指令速度を読み込む。
【００４２】
また、本実施の形態では、機械振動に対応する周波数成分に基づいて許容速度を求めるので、高精度に機械振動を管理することができ、これにより、ショックのない滑らかな動作を実現することができる、という効果を奏する。また、従来技術と比較して、必要以上に減速することがなく動作時間をより短くできるため、処理効率を向上させることが可能となる。
【００４３】
また、本実施の形態では、種々の方法で特定の周波数成分を抽出できるため、適応的に機械振動を管理することが可能となる。
【００４４】
さらに、本実施の形態では、たとえば、機械の振動特性が各軸で異なる場合、基準値を各軸に設けることとしたため、より精密に振動を制御することが可能となる。また、機械の振動特性の軸毎の差が小さい場合には、基準値を共通にしたため、パラメータ設定や調整の手間を減らすことが可能となる。
【００４５】
実施の形態２．
実施の形態１では、ステップＳ４にて許容速度を周波数成分Ｇの逆数に比例するように求めたが、許容速度と周波数成分は周囲の形状に依存するため、必ずしもに反比例の関係にない場合がある。したがって、実施の形態２では、許容速度をより高精度に求めるために、繰り返し計算を行う。なお、本実施の形態の速度制御装置は、先に説明した実施の形態１の図１と同様であるため、同一の符号を付してその説明を省略する。
【００４６】
以下、本実施の形態２の数値制御方法について説明する。図１２は、本発明にかかる速度制御装置の許容速度決定部１にて実現される実施の形態２の数値制御方法を示すフローチャートである。なお、図中ステップＳ１〜Ｓ３の処理については、図２と同じである。
【００４７】
ステップＳ３にて機械振動に対応する周波数成分を求めた後、許容速度決定部１では、繰り返し計算を終了して良いかどうかを判断する（ステップＳ５）。たとえば、周波数成分がその基準値に一致する場合（ステップＳ５，Ｙｅｓ）、許容速度決定部１では、処理を終了する。一方、終了不可の場合（ステップＳ５，Ｎｏ）には、実施の形態１のステップＳ４と同様の手順で許容速度を計算する（ステップＳ４）。
【００４８】
つぎに、第２回目の処理として、再度ステップＳ１〜Ｓ３の処理を行う。ここでは、ステップＳ４にて求めた許容速度を考慮してステップＳ１〜Ｓ３の処理を行うので、第１回目の処理とは異なった計算結果が得られる。
【００４９】
許容速度決定部１では、許容速度を計算する点からの時間を「時間＝距離／ｍｉｎ（指令速度，許容速度）」で演算し、この時間範囲内の指令経路と指令速度および許容速度を読み込む（ステップＳ１）。
【００５０】
指令経路と指令速度および許容速度を読み込んだ後、許容速度決定部１では、実施の形態１と同様に、各時刻の速度指令を生成し（ステップＳ２）、さらに、機械振動に対応する周波数成分Ｇを求める（ステップＳ３）。なお、ステップＳ２では、指令速度と許容速度のいずれか小さい方を用いて仮の速度指令波形を生成する。
【００５１】
その後、許容速度決定部１では、周波数成分がその許容値に十分近い場合、許容速度の計算値の変化が十分小さい場合、または繰り返し回数ｋが十分多い場合（ステップＳ５）、処理を終了する。具体的には以下の条件式（８）〜（１２）を用いる。
｜Ｇ―Ｖｍａｘ｜＜ε１                          …（８）
｜Ｇ／Ｖｍａｘ−１｜＜ε２                      …（９）
｜Ｆａ（ｋ）−Ｆａ（ｋ−１）｜＜ε３            …（１０）
｜Ｆａ（ｋ）／Ｆａ（ｋ−１）−１｜＜ε４        …（１１）
繰り返し回数＞最大繰り返し回数                  …（１２）
なお、ε１は最大周波数成分誤差量を表し、ε２は最大周波数成分変化比率を表し、ε３は最大許容速度誤差量を表し、ε４は最大許容速度変化比率を表し、Ｆａ（ｋ）はｋ回目に求めた許容速度を表す。
【００５２】
このように、本実施の形態では、繰り返し処理により、許容速度をさらに高精度に求めることができるため、より正確な機械振動制御および加工時間の短縮が可能となる。
【００５３】
実施の形態３．
実施の形態１および２では、機械振動に着目した許容速度計算方法（ステップＳ４）を用いて機械振動を正確に管理しているが、実施の形態３では、さらに軌跡誤差，速度，加速度，加々速度，速度差などの別の特徴量がそれぞれの許容値を超えないようにする。なお、本実施の形態の速度制御装置は、先に説明した実施の形態１の図１と同様であるため、同一の符号を付してその説明を省略する。また、前述した数値制御方法におけるステップＳ４以外の処理については、実施の形態１および２と同様である。
【００５４】
以下、本実施の形態３の数値制御方法について説明する。図１３は、本発明にかかる速度制御装置の許容速度決定部１にて実現される実施の形態３の数値制御方法を示すフローチャートである。
【００５５】
ここでは、前述のステップＳ４において、上記機械振動に着目した許容速度計算方法（ステップＳ１００）と、機械振動とは別の特徴量に基づいた許容速度計算方法（ステップＳ１０１）と、を併用する。なお、ステップＳ１０１では、たとえば、従来技術に記載の既知の方法を用いる。そして、ステップＳ１００とステップＳ１０１にて求めた許容速度をそれぞれＦａ１，Ｆａ２とした場合、許容速度決定部１では、両者の小さい方を最終的に許容速度として採用する（ステップＳ２００）。なお、ステップＳ１００とステップＳ１０１の順番を入れ替えてもよい。また、図１４のように、ｎ個の許容速度計算方法を併用することとしてもよい（ステップＳ１００，Ｓ１０１，…，Ｓ１０９，Ｓ２０１）。この場合も第１〜第ｎの許容速度計算方法の順番を入れ替えてもよい。
【００５６】
このように、本実施の形態では、機械振動だけでなく、軌跡誤差，速度，加速度，加々速度，速度差などの特徴量も管理することができる。
【００５７】
また、本実施の形態では、機械振動周波数の成分を精度よく抽出することも可能となる。
【産業上の利用可能性】
【００５８】
以上のように、本発明にかかる数値制御方法および速度制御装置は、決定した許容速度を超えないように可動部の速度を制御する制御装置、たとえば、数値制御装置，ロボット制御装置，シーケンサや、エレベータ，ミシン，座標測定器，プロッタ，ベルトコンベア，自動車，列車などの移動体や、航空機などの制御装置に有用である。
【図面の簡単な説明】
【００５９】
【図１】本発明にかかる速度制御装置の構成を示す図である。
【図２】実施の形態１の数値制御方法を示すフローチャートである。
【図３】指令経路および指令速度を読み込む場合の一例を示す図である。
【図４】各軸の速度指令波形の一例を示す図である。
【図５】速度指令波形に対応したスペクトルの一例を示す図である。
【図６】機械に発生する振動の一例を示す図である。
【図７】指令経路および指令速度を読み込む場合の一例を示す図である。
【図８】各軸の速度指令波形の一例を示す図である。
【図９】速度指令波形に対応したスペクトルの一例を示す図である。
【図１０】機械に発生する振動の一例を示す図である。
【図１１】ブロックをさらに再分割した小領域の始終点の許容速度を求める場合を示す図である。
【図１２】実施の形態２の数値制御方法を示すフローチャートである。
【図１３】実施の形態３の数値制御方法の一例を示すフローチャートである。
【図１４】実施の形態３の数値制御方法の一例を示すフローチャートである。
【図１５】従来の問題点を説明するための図である。
【図１６】従来の問題点を説明するための図である。
【図１７】従来の問題点を説明するための図である。
【図１８】従来の問題点を説明するための図である。
【図１９】従来の問題点を説明するための図である。
【符号の説明】
【００６０】
１  許容速度決定部
２  速度制御部
３  可動部（制御対象）
【図１】
2006294053.tif 000003
【図２】
2006294053.tif 000004
【図３】
2006294053.tif 000005
【図４】
2006294053.tif 000006
【図５】
2006294053.tif 000007
【図６】
2006294053.tif 000008
【図７】
2006294053.tif 000009
【図８】
2006294053.tif 000010
【図９】
2006294053.tif 000011
【図１０】
2006294053.tif 000012
【図１１】
2006294053.tif 000013
【図１２】
2006294053.tif 000014
【図１３】
2006294053.tif 000015
【図１４】
2006294053.tif 000016
【図１５】
2006294053.tif 000017
【図１６】
2006294053.tif 000018
【図１７】
2006294053.tif 000019
【図１８】
2006294053.tif 000020
【図１９】
2006294053.tif 000021