(57)【要約】      （修正有）【課題】上位コントローラがモータを駆動するサーボドライバに位置コマンドを提供する、数値制御システムのリカバリコマンドを計算する方法。【解決手段】メモリ空間が、位置コマンドを記憶するために提供され、それから、位置行列及び変換行列が読み取られる。最後に、変換行列が位置行列と乗算されて、位置多項式の係数及び複数の位置補間が計算される。さらに、速度多項式及び加速度多項式を計算することができる。したがって、位置コマンドは、サーボドライバと上位コントローラとを同期させるような、高次微分可能連続多項式としてリカバリするものとして計算される。これにより、高次微分可能連続多項式としてリカバリすることができる。サーボラグを大幅に低減することができる。位置コマンドを同期させる計算が簡単にできる。【選択図】図３
2010211475.tif 000002
【特許請求の範囲】
【請求項１】
数値制御システムのリカバリコマンドを計算する方法であって、前記数値制御システムは、モータを駆動するサーボドライバに位置コマンドを提供する上位コントローラを備え、該方法は、
（ａ）前記位置コマンドを記憶するためのメモリ空間を提供することと、
（ｂ）ｋ×１要素を有する位置行列を読み取ることと、
（ｃ）ｋ×ｋ要素を有する変換行列を読み取ることと、
（ｄ）（ｋ−１）次の位置多項式の複数の位置係数を計算することと、
（ｅ）前記位置多項式及び前記位置係数に従って複数の位置補間を計算することと、
を含む、方法。
【請求項２】
（ｆ）前記ステップ（ｄ）後に、前記位置多項式を一次微分することにより、（ｋ−２）次の速度多項式及び前記速度多項式の複数の速度係数を計算することと、
（ｇ）前記速度多項式及び前記速度係数に従って複数の速度補間を計算することと、
をさらに含む、請求項１に記載の方法。
【請求項３】
（ｈ）前記ステップ（ｇ）後に、前記速度多項式を一次微分することにより、（ｋ−３）次の加速度多項式及び前記加速度多項式の複数の加速度係数を計算することと、
（ｉ）前記加速度多項式及び前記加速度係数に従って複数の加速度補間を計算することと、
をさらに含む、請求項１に記載の方法。
【請求項４】
前記位置行列は、１つの現在位置要素及び（ｋ−１）個の先行位置要素を含むｋ個の要素を有する、請求項１に記載の方法。
【請求項５】
前記位置多項式が変換行列と乗算されて、前記位置多項式の前記係数が得られる、請求項１に記載の方法。
【請求項６】
前記位置多項式は、前記サーボドライバと前記上位コントローラの前記制御ループとの間で前記位置コマンドを同期させる変更位置多項式となるように変更され、前記位置多項式は以下のように表され、
θ(n)=a(k-1)*n(k-1)+a(k-2)*n(k-2)+a(k-3)*n(k-3)+...+a1*n+a0
前記位置多項式の変数ｎは変数ｔで置換されて、前記変更位置多項式が得られ、前記変更位置多項式は以下のように表され、
θ(t)=a(k-1)*(t)(k-1)+a(k-2)*(t)(k-2)+a(k-3)*(t)(k-3)+...+a1*t+a0
式中、ｔ＝Ｔａ＋ｎ×Ｔｓ−Ｔｃであり、
Ｔａは、前記位置コマンドが最初に前記制御ループに送信される時間であり、
Ｔｓは、前記制御ループによってサンプリングされる前記位置コマンドの時間であり、
Ｔｃは、前記上位コントローラの前記位置コマンドの周期である、請求項１に記載の方法。
【請求項７】
前記変更位置多項式は一次微分されて、変更速度多項式が得られる、請求項６に記載の方法。
【請求項８】
前記変更速度多項式は一次微分されて、変更加速度多項式が得られる、請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御システムのリカバリコマンドを計算する方法に関し、より詳細には、数値制御システムの高次微分可能連続多項式をリカバリするリカバリコマンドを計算する方法に関する。
【背景技術】
【０００２】
動き制御は精密機械加工ツールでのコア技術であり、動き制御の適用範囲は、位置制御用又は速度制御用の工業機械を含み、高精度制御用のコンピュータ数値制御（ＣＮＣ）機械ツールをさらに含む。動き制御システムは、様々なソフトウェア技法及びハードウェア技法に統合されるため、動き制御システムのコスト、安定性、使用頻度、メンテナンスサービス、並びにソフトウェア及びハードウェアの拡張性及び相互運用性さえも、動き制御システムを評価するための重要な要因である。さらに、機械ツールのすべてのスピンドルの位置及び速度の両方が実際に、機械ツールの制御品質を測定するために考慮される。
【０００３】
ＣＮＣ機械ツールは、コンピュータ数値制御システムが機械ツールにインストールされ、コンピュータ数値制御システムが入力データを受信して計算し、その後、スピンドルの回転、切断ツールの交換、切断移動、冷却材スイッチ等の動作状況を制御するコマンドを送信して、期待される制御を達成することを意味する。
【０００４】
ＣＮＣ機械ツールのプロセス中、元データ（幾何学的形状及びアウトラインサイズ）及び対応する命令が、未処理材料の始点と終点との間で正確な輪郭曲線を処理するための複数の補間を計算するために提供される。
【０００５】
（特許文献１）には、定められた補間走査速度で位置セットポイントを提供する補間ユニット及び精度補間ユニットを備える、数値制御機械の制御ループのコマンド変数を生成する構成が開示されている。精度補間ユニットは、走査速度変換器及び下流に接続される低域フィルタを含み、精度補間ユニットは、補間ユニットの下流に配置され、入力側における位置セットポイントから、出力側において下流に接続される１つ又はいくつかの制御ループのコマンド変数を生成し、精度補間ユニットは、制御ループ走査速度での制御ループの時間パターンでコマンド変数を生成する。制御ループのコマンド変数は、二次フィルタの構造を利用するように実施され、フィルタは、数値制御機械に合うようにも設計される。しかし、結果として生成されるパス曲線に、より高次の微分可能性を提供しない。数値制御機械の実用性は、コマンド生成構成の高い複雑性によって低減する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許第６，７７２，０２０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって、本発明の目的は、数値制御システムの高次微分可能連続多項式をリカバリするとともに、サーボドライバと上位コントローラとの間でコマンドを同期させるリカバリコマンドを計算する方法を提供することである。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、上位コントローラが、モータを駆動するサーボドライバに位置コマンドを提供する数値制御のリカバリコマンドを計算する方法を提供する。方法のステップは以下のように説明される。まず、サーボドライバが、位置コマンドを記憶するためのメモリ空間を提供する。その後、位置行列及び変換行列が読み取られる。変換行列は位置行列によって乗算されて、位置多項式の複数の位置係数が得られ、複数の位置補間が計算される。さらに、速度多項式及び加速度多項式を得ることができる。したがって、サーボドライバと上位コントローラとを同期させる高次微分可能連続多項式としてリカバリするための位置コマンドが計算される。
【０００９】
上記の全般的な説明及び以下の詳細な説明は両方とも例示的なものであり、主張される本発明のさらなる説明を提供することが意図されることを理解されたい。本発明の他の利点及び特徴が、以下の説明、図面、及び特許請求の範囲から明らかになろう。
【００１０】
新規であると確信される本発明の特徴は、添付の特許請求の範囲において特に記載される。しかし、本発明それ自体は、添付図面と併せて行われる本発明の例示的な実施形態を説明する本発明の以下の詳細な説明を参照することによって最良に理解することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明による上位コントローラとサーボドライバとの間の通信の概略図である。
【図２】リカバリコマンド計算の概略図である。
【図３】リカバリコマンド計算のフローチャートである。
【図４】上位コントローラからサーボドライバに送信され、サーボドライバによってサンプリングされる位置コマンドの概略図である。
【発明を実施するための形態】
【００１２】
添付図面により、本発明の技術的内容及び詳細な説明を好ましい実施形態により以下に説明するが、これらは実行範囲を制限するために使用されない。添付の特許請求の範囲により行われるあらゆる等価の変形及び変更はすべて、本発明によって主張される特許請求の範囲によって包含される。
【００１３】
これより、図面図を参照して本発明を詳細に説明する。
【００１４】
本発明による上位コントローラとサーボドライバとの間の通信の概略図である図１を参照する。コンピュータ数値制御（ＣＮＣ）機械ツールの電気システムが例として採用される。上位コントローラ１０は、Ｇコードインタプリタ（図示せず）を介して周期的に位置データを生成する。上位コントローラ１０はサーボドライバ２０に電気的に接続され、パルス位置コマンドθ（ｉ）をサーボドライバ２０に送信する。位置コマンドθ（ｉ）は、伝送線を介して上位コントローラ１０とサーボドライバ２０との間で伝送される。上位コントローラ１０及びサーボドライバ２０は、高速シリアル通信インタフェース１０２、２０２をそれぞれ有する。上位コントローラ１０から送信される位置コマンドθ（ｉ）の周期はＴ（秒）であり、サーボドライバ２０に受信される位置コマンドθ（ｉ）の周期もＴ（秒）である。さらに、サーボドライバ２０に設置されるデジタル信号プロセッサ（ＤＳＰ）２０４のサンプリング時間はＨ（秒）である。サーボドライバ２０によって受信される位置コマンドθ（ｉ）の周期が０．５ミリ秒（Ｔ＝０．５ｍｓ）である場合、デジタル信号プロセッサ２０４のサンプリング時間は０．０５ミリ秒（Ｈ＝０．０５ｍｓ）である。したがって、デジタル信号プロセッサ２０４は、０．５ミリ秒の位置コマンドθ（ｉ）を補償するために９つの補間を提供する。コマンドリカバリ計算器２０４２がデジタル信号プロセッサ２０４によって提供され、制御ループ２０４４がさらに使用されて、高次微分可能連続多項式への位置コマンドθ（ｉ）のリカバリに使用される。
【００１５】
リカバリコマンド計算の概略図及びリカバリコマンド計算のフローチャートである図２及び図３をそれぞれ参照する。リカバリコマンドの計算についての詳細な説明は以下である。まず、サーボドライバ２０が、位置コマンドθ（ｉ）を記憶するためのメモリ空間２０４６を提供し（Ｓ１００）、位置コマンドθ（ｉ）は上位コントローラ１０からサーボドライバ２０に送信される。位置コマンドθ（ｉ）は、キュー（先入れ先出し、ＦＩＦＯ）手法を使用してメモリ空間２０４６に記憶されて、ｋ×１要素を有する位置行列が形成される。位置行列は、１つの現在位置要素θ（０）を有し、（ｋ−１）個の先行する位置要素θ（−１）、θ（−２）、θ（−３）、・・・、θ（ｋ−１）を有する。（ｋ−１）次の位置多項式θ（ｎ）が定義される。位置多項式θ（ｎ）を例示するために、ｋを６とする。すなわち、位置多項式θ（ｎ）の次数は５である。また、５次の位置多項式θ（ｎ）は以下のように表される。
θ(n)=a5*n5+a4*n4+a3*n3+a2*n2+a1*n+a0              （式１）
【００１６】
その後、ｋ×１要素を有する位置が読み取られる（Ｓ１０２）。ｋが６に等しい場合、位置行列は６個の要素を有し、これら要素は現在位置要素θ（０）及び５つの先行位置要素θ（−１）、θ（−２）、θ（−３）、θ（−４）、及びθ（−５）である。その後、ｋ×ｋ要素を有する変換行列Ｍが読み取られる（Ｓ１０４）。変換行列Ｍは一定の要素を有する行列であり、変換行列Ｍの要素は変換行列Ｍの次元に従って決まる。したがって、位置多項式θ（ｎ）は以下のように表現することができる。
θ(0)=a5*(0)5+a4*(0)4+a3*(0)3+a2*(0)2+a1*(0)+a0              （式２．１）
θ(-1)=a5*(-1)5+a4*(-1)4+a3*(-1)3+a2*(-1)2+a1*(-1)+a0          （式２．２）
θ(-2)=a5*(-2)5+a4*(-2)4+a3*(-2)3+a2*(-2)2+a1*(-2)+a0          （式２．３）
θ(-3)=a5*(-3)5+a4*(-3)4+a3*(-3)3+a2*(-3)2+a1*(-3)+a0          （式２．４）
θ(-4)=a5*(-4)5+a4*(-4)4+a3*(-4)3+a2*(-4)2+a1*(-4)+a0          （式２．５）
θ(-5)=a5*(-5)5+a4*(-5)4+a3*(-5)3+a2*(-5)2+a1*(-5)+a0          （式２．６）
【００１７】
上記式（式２．１〜式２．６）は以下のように行列形態で表される。
【００１８】
【数１】
2010211475.tif 000003
【００１９】
また、変換行列Ｍは以下のように定義される。
【００２０】
【数２】
2010211475.tif 000004
【００２１】
その後、位置多項式θ（ｎ）のｋ個の位置係数が計算される（Ｓ１０６）。６個の位置係数（ｋ＝６）、すなわちａ０〜ａ５は、変換行列Ｍによって以下のように計算することができる。
【００２２】
【数３】
2010211475.tif 000005
【００２３】
その後、複数の位置補間が、位置多項式θ（ｎ）及び位置係数に従って計算される（Ｓ１０８）。位置コマンドθ（ｉ）を、次数（ｋ−１）の位置多項式θ（ｎ）によって計算することができる。ｉが整数の場合、位置コマンドθ（ｉ）は上位コントローラ１０から送信された位置データであり、ｉが整数ではない場合、位置コマンドθ（ｉ）は位置補間である。例えば、９つの位置補間はθ（−０．１）、θ（−０．２）、θ（−０．３）、・・・、及びθ（−０．９）のそれぞれであり、９つの位置補間はθ（０）〜θ（−１）の間にある。
【００２４】
さらに、（ｋ−２）次の速度多項式ω（ｎ）及び速度多項式の複数の速度係数は、位置多項式θ（ｎ）を一次微分することによって計算される（Ｓ１１０）。式１は一次微分されて、速度多項式ω（ｎ）、すなわちω（ｎ）＝ｄθ（ｎ）／ｄｎを以下のように計算する。
ω(n)=5a5*n4+4a4*n3+3a3*n2+2a2*n+a1                    （式３）
【００２５】
その後、複数の速度補間が、速度多項式ω（ｎ）及び速度係数に従って計算される（Ｓ１１２）。
【００２６】
さらに、（ｋ−３）次の加速度多項式α（ｎ）及び加速度多項式の複数の加速度係数が、速度多項式ω（ｎ）を一次微分することによって計算される（Ｓ１１４）。式３は一次微分されて、加速度多項式α（ｎ）、すなわちα（ｎ）＝ｄω（ｎ）／ｄｎが以下のように計算される。
α(n)=20a5*n3+12a4*n2+6a3*n2+2a2                      （式４）
【００２７】
最後に、複数の加速度補間が、加速度多項式α（ｎ）及び加速度係数に従って計算される（Ｓ１１６）。
【００２８】
位置多項式θ（ｎ）、速度多項式ω（ｎ）、及び加速度多項式α（ｎ）は同相で、式１、式３、及び式４に従って上位コントローラ１０とサーボドライバ２０との間のサーボラグを大幅に低減する。
【００２９】
上位コントローラからサーボドライバに送信され、サーボドライバによってサンプリングされる位置コマンドの概略図である図４を参照する。サーボドライバ２０と上位コントローラ１０との間の位置コマンドθ（ｉ）が同期していない場合、位置多項式θ（ｎ）は、サーボドライバ２０と、上位コントローラ１０の制御ループ２０４６との間で位置コマンドθ（ｉ）を同期させた変更位置多項式θ（ｔ）となるように変更される。
【００３０】
位置多項式θ（ｎ）（式１）内の変数ｎを変数ｔで置換して、変更位置多項式θ（ｔ）（式５）を得る。但し、ｔ＝Ｔａ＋ｎ×Ｔｓ−Ｔｃである。変更位置多項式θ（ｔ）は、以下のように表される。
X(t)=a5*(t)5+a4*(t)4+a3*(t)3+a2*(t)2+a1*t+a0                    （式５）
式中、
Ｔａは、位置コマンドθ（ｉ）が最初に制御ループ２０４６に送信される時間であり、
Ｔｓは、制御ループ２０４６によってサンプリングされる位置コマンドθ（ｉ）の時間であり、
Ｔｃは、上位コントローラ１０の位置コマンドθ（ｉ）の周期である。
【００３１】
また、制御ループ２０４６のサンプリングされた複数の位置コマンドｘ０、ｘ１、・・・、ｘ７は、式５に従って計算することができる。
【００３２】
同様に、変更速度多項式ω（ｔ）は、変更位置多項式θ（ｔ）を一次微分することによって計算することができ、変更加速度多項式α（ｔ）も、変更速度多項式ω（ｔ）を一次微分することによって計算することができる。
【００３３】
結論として、本発明は以下の諸利点を有する。
１．上位コントローラからサーボドライバに送信される位置コマンドを計算して、高次微分可能連続多項式としてリカバリすることができる。
２．位置多項式、速度多項式、及び加速度多項式は同相で、上位コントローラとサーボドライバとの間のサーボラグを大幅に低減する。
３．一定要素を有する変換行列に従っての位置係数、位置補間、速度係数、及び加速度係数の計算が簡単である。
４．サーボドライバの制御ループのサンプリングされた複数の位置コマンドが、サーボドライバと上位コントローラとの間で位置コマンドを同期させるように計算される。
【００３４】
本発明について本発明の好ましい実施形態を参照して説明したが、本発明が好ましい実施形態の詳細に制限されないことが理解されよう。様々な置換及び変更が上記説明において示唆されており、当業者ならば他の置換及び変更も思い付くであろう。したがって、このようなすべての置換及び変更は、添付の特許請求の範囲において規定される本発明の範囲内に包含されるものと意図される。
【図１】
2010211475.tif 000006
【図２】
2010211475.tif 000007
【図３】
2010211475.tif 000008
【図４】
2010211475.tif 000009