(57)【特許請求の範囲】
【請求項１】
指令を入力し、制御対象が所望の動作を実現するように指令を加工し、最適指令値をサーボ制御装置へ出力する、最適指令作成装置において、
前記指令に対してN次（Nは２以上の整数）のフィルタ処理を施し、且つ、該フィルタ処理を施された指令の１階微分から（N−１）階微分までの値を算出するＮ次フィルタ処理部と、
該Ｎ次フィルタ処理部の出力にゲインを乗じた値を加算する四則演算部とを備え、
前記Ｎは、前記制御対象物をラプラス演算子を用いて表現した伝達関数形式で定義される近似モデルの伝達関数の分母の次数から、前記指令の次数を減じた値以上の値であることを特徴とする最適指令作成装置。
【請求項２】
指令を入力し、制御対象が所望の動作を実現するように指令を加工し、最適指令値をサーボ制御装置へ出力する、最適指令作成装置において、
前記指令に対してN次（Nは２以上の整数）のフィルタ処理を施し、且つ、該フィルタ処理を施された指令の１階微分から（N−１）階微分までの値を算出するＮ次フィルタ処理部と、
該Ｎ次フィルタ処理部の出力にゲインを乗じた値を加算する四則演算部と、
該四則演算部から出力されたそれぞれの変数に対し、Ｍ次（Ｍは１以上の整数）のフィルタ処理をするＭ次フィルタ処理部とを備え、
前記Ｎは、前記制御対象物をラプラス演算子を用いて表現した伝達関数形式で定義される近似モデルの伝達関数の分母の次数から、前記指令の次数を減じた値以上の値であることを特徴とする最適指令作成装置。
【請求項３】
指令を入力し、制御対象が所望の動作を実現するように指令を加工し、最適指令値をサーボ制御装置へ出力する、最適指令作成装置において、
前記指令に対してN次（Nは２以上の整数）のフィルタ処理を施し、且つ、該フィルタ処理を施された指令の１階微分からL階微分（Lは１以上の整数）までの値を算出するＮ次フィルタ処理部と、
該Ｎ次フィルタ処理部の出力である、前記１階微分からL階微分の値それぞれにゲインを乗じた後、それら全てを足し合わせる四則演算部とを備え、
前記Ｌは、前記制御対象物をラプラス演算子を用いて表現した伝達関数形式で定義される近似モデルの伝達関数の分母の次数であり、
前記Ｎは、前記Ｌから前記指令の次数を減じた値以上の値であることを特徴とする最適指令作成装置。
【請求項４】
前記N次のフィルタとしては、巡回型フィルタまたは非巡回型フィルタを用いることを特徴とする請求項１乃至３に記載の最適指令作成装置。
【請求項５】
前記最適指令値は、位置指令、速度指令、加速度指令、トルク指令のうちのいずれかひとつ、もしくは、その組み合わせであることを特徴とする請求項１乃至４に記載の最適指令作成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は工作機や産業用ロボットなどの制御方法に関し、特に、振動要素を有する制御対象を、振動なく、且つ、指令に対し遅れを可能な限り小さくするように動作させることを目的に、サーボ制御部に入力する指令を加工する最適指令作成装置に関する。
【０００２】
【従来の技術】
従来、指令追従特性と、外乱応答特性両方を改善する手法として、各種の２自由度制御が提案されているが、指令追従特性と、外乱応答特性を独立に簡単に設計できる手法として、「自動制御装置」が開示されている（例えば、特許文献１参照）。
この方法では、従来のフィードバック制御系に加えて、被制御対象を模擬した被制御対象模擬回路にフィードバック系が構成され、この被制御対象模擬回路に入力する模擬入力信号と被制御対象模擬回路から得られる模擬出力信号とを用いて、被制御対象に対して２自由度制御系が構成されることになると記されている。
図３は従来の方法を説明する図である。図中、３１は模擬フィードバック制御装置であり、ここで、フィードフォワード部の計算を行う。３２は模擬補償回路であり、指令xRと被制御対象模擬回路から出力される状態量xMの偏差εMを入力し、被制御対象模擬回路に入力する模擬入力信号vRを計算する。３３は被制御対象模擬回路であり、35の被制御対象をモデル化したものである。３４はフィードバック系の補償回路であり、xMと被制御対象の状態量xの偏差εを入力し制御入力信号vεを出力する。vεとvRを加算し、最終的な制御入力信号vを算出する。
【０００３】
【特許文献１】
特公平７−２１７２４（第３−４頁、第１、２図）
【０００４】
【発明が解決しようとする課題】
しかしながら上記従来のサーボ制御方法では、以下に示す４つの問題があった。
（１）模擬フィードバック制御装置の中で、被制御対象のモデルの計算と、模擬補償回路内での演算を必要とするため、非常に演算量が多く、演算時間がかかるため、制御サンプリング周期を短くできず、結果として制御性能が悪化するといった問題があった。
（２）また、模擬フィードバック制御装置では、フィードバック制御を行うため、指令xRに対して、xMは必ず遅れることになる。さらに、フィードバック制御部でもxMに対してxは遅れるため、元々の指令xRに対して、被制御対象の動作xは、大きく遅れることになるという問題があった。
（３）また、模擬フィードバック制御装置で被制御対象模擬回路を使用するため、被制御対象模擬回路で使用するパラメータが必要なため、入力するパラメータが多くなり、多くのメモリを有する必要があるという問題があった。
（４）また、模擬フィードバック制御装置内の模擬補償回路では、フィードバック制御を行うため、ゲインの決定や調整が必要であるため、この手法を、誰でも、簡単には構築し使用できないといった問題があった。
したがって、この発明の目的は上記４つの課題を同時に解決する最適指令作成装置を提供することである。
【０００５】
【課題を解決するための手段】
上記問題を解決するため、第１の発明の最適指令作成装置は、指令を入力し、制御対象が所望の動作を実現するように指令を加工し、最適指令値をサーボ制御装置へ出力する、最適指令作成装置において、前記指令に対してN次（Nは２以上の整数）のフィルタ処理を施し、且つ、該フィルタ処理を施された指令の１階微分から（N−１）階微分までの値を算出するＮ次フィルタ処理部と、該Ｎ次フィルタ処理部の出力にゲインを乗じた値を加算する四則演算部とを備え、前記Ｎは、前記制御対象物をラプラス演算子を用いて表現した伝達関数形式で定義される近似モデルの伝達関数の分母の次数から、前記指令の次数を減じた値以上の値であることを特徴とするものであり、また、第２の発明の最適指令作成装置は、指令を入力し、制御対象が所望の動作を実現するように指令を加工し、最適指令値をサーボ制御装置へ出力する、最適指令作成装置において、前記指令に対してN次（Nは２以上の整数）のフィルタ処理を施し、且つ、該フィルタ処理を施された指令の１階微分から（N−１）階微分までの値を算出するＮ次フィルタ処理部と、該Ｎ次フィルタ処理部の出力にゲインを乗じた値を加算する四則演算部と、該四則演算部から出力されたそれぞれの変数に対し、Ｍ次（Ｍは１以上の整数）のフィルタ処理をするＭ次フィルタ処理部とを備え、前記Ｎは、前記制御対象物をラプラス演算子を用いて表現した伝達関数形式で定義される近似モデルの伝達関数の分母の次数から、前記指令の次数を減じた値以上の値であることを特徴とするものである。
【０００６】
また、第３の発明の最適指令作成装置は、指令を入力し、制御対象が所望の動作を実現するように指令を加工し、最適指令値をサーボ制御装置へ出力する、最適指令作成装置において、前記指令に対してN次（Nは２以上の整数）のフィルタ処理を施し、且つ、該フィルタ処理を施された指令の１階微分からL階微分（Lは１以上の整数）までの値を算出するＮ次フィルタ処理部と、該Ｎ次フィルタ処理部の出力である、前記１階微分からL階微分の値それぞれにゲインを乗じた後、それら全てを足し合わせる四則演算部とを備え、前記Ｌは、前記制御対象物をラプラス演算子を用いて表現した伝達関数形式で定義される近似モデルの伝達関数の分母の次数であり、前記Ｎは、前記Ｌから前記指令の次数を減じた値以上の値であることを特徴とするものである。
【０００８】
また、第４の発明の最適指令作成装置は、前記N次のフィルタとしては、巡回型フィルタまたは非巡回型フィルタを用いることを特徴とするものである。
【０００９】
また、第５の発明の最適指令作成装置は、前記最適指令値は、位置指令、速度指令、加速度指令、トルク指令のうちのいずれかひとつ、もしくは、その組み合わせであることを特徴とするものである。
【００１０】
【発明の実施の形態】
本発明の第一の実施の形態を図に基づいて説明する。図１において、１は指令をN次のフィルタ処理するＮ次フィルタ処理部、２はＮ次フィルタ処理部の出力である各変数に、ゲインを乗じて足し合わせる処理を行う四則演算部である。四則演算部２の出力が最適指令値である。４はサーボ制御部、５は制御対象、１０は最適指令作成装置である。今回説明する実施例では、最適指令値として、位置指令Xref、速度指令Vref、トルク指令値Trefを出力するものとする。
また、本実施例で制御対象は２慣性系とする。２慣性系の制御対象のモータ位置Xmから負荷位置XLまでの伝達関数は式（1）のようになる。
【００１１】
【数１】
0003834815.tif 000002
【００１２】
各記号の意味は、J1：モータイナーシャ、  J2：負荷イナーシャ、K2：バネ定数、  D2：粘性係数、S ：ラプラス演算子である。
ここで、一般にD2の値は非常に小さく、無視できることが多い。よって、第一の実施の形態ではD2=0として説明し、第二の実施の形態でD2まで含めた方法を示す。
D2=0としたとき、式（１）は式（２）のように書き直すことができる。
【００１３】
【数２】
0003834815.tif 000003
【００１４】
この時、負荷位置XLを実現するためにはモータの位置Xref、速度Vref、モータへ与えるトルク指令Trefはそれぞれ、式（３）、式（４）、式（５）のようになる。
ここで、XL(a)は変数XLのa階微分を表すものとする。
【００１５】
【数３】
0003834815.tif 000004
【００１６】
したがって、２慣性系の制御対象の場合、負荷位置XLの４階微分までの値があれば、後はK2やJ2からなる係数を乗じて、足し合わせるだけで、最適なモータの動作を実現するモータの位置Xref、速度Vref、モータへ与えるトルク指令Trefを計算できることになる。
以下に具体的に、N次フィルタ処理部１の処理を説明する。ここで、N次フィルタは、与えられた指令を、最適指令値を求める際に必要な回数微分が実現できるような指令に変換するためのものであるため、次数Nは、その条件を満たすように決定してやればよい。
本実施の形態では、制御対象５が２慣性系であるため、最適指令値を求めるためには、与えられた指令を、４階微分可能な指令に変換することが必要である。よって、指令が微分できない（例えばステップ指令）ものであった場合でも対応できるためには、フィルタ次数Nは４次以上必要であるが、今回は、指令を滑らかにする理由で、Nを５次にした時の例を説明する。
５次のフィルタを伝達関数の形で表現すると式（６）のように表現できる。ここで、XRはフィルタ処理前の変数、XLはXRをフィルタ処理したあとの変数を表し、XLが、制御対象の負荷位置となるように最適指令値を作成する。
【００１７】
【数４】
0003834815.tif 000005
【００１８】
式（６）中、K0〜K4までは任意の値に決定してよいが、例えば、フィルタの周波数λを用いて、式（７）の恒等式を解くことにより求めることができる。
【００１９】
【数５】
0003834815.tif 000006
【００２０】
式（６）を状態方程式の形で表現すると式（８）のようになる。
【００２１】
【数６】
0003834815.tif 000007
【００２２】
式（８）をサンプリング周期Ts毎の差分方程式（k番目の変数からk+1番目の変数を求める式）に書き直すと式（９）のようになる。
ここでは、簡単のため単純にオイラー一次近似を用いて差分方程式を導出したが、計算精度を向上させる目的等で、他の離散化手法を用いてもよい。その場合、行列の各要素の値は式（９）のものとは異なる値になる。
【００２３】
【数７】
0003834815.tif 000008
【００２４】
ここで、XL(1)(k+1) 、XL (2)(k+1) 、XL (3)(k+1) 、XL (4)(k+1)は、XL (k+1)のそれぞれ１階微分から４階微分までの値である。このように式（９）を実行することで自動的に、XL (k+1)の１階微分から４階微分までの値も求まる。
したがって、５次フィルタ処理内部では、入力された指令XR (k)を使用して、式（９）の計算を逐次行うだけでよい。
ただし、演算する計算機の計算精度に問題があり、位置ずれ等が発生する場合は、フィルタ処理後の変数XL(k)の１階微分値からN階微分値までの計算方法として、微分の近似をN回繰り返す処理を行っても良い。
例えば、微分を、差分を用いて近似した場合は式（10）のようになる。ここでは、式（９）と区別するため、１階微分値からN階微分値までを、それぞれ
XL2(1)(k) 、XL2 (2)(k) 、・・・ 、XL2(N)(k)という記号で表す。
【００２５】
【数８】
0003834815.tif 000009
【００２６】
このように計算すれば、計算誤差があった場合も、位置ずれの問題は解消される。
次に、四則演算部２での処理を説明する。
ここでは、求められたXL (k+1)、XL (1)(k+1) 、XL (2)(k+1) 、XL (3)(k+1) 、XL (4)(k+1)を用いて、式（３）〜式（５）により、最適指令値Xref、Vref、Trefを求めればよい。
以上が第一の実施の形態の説明である。
【００２７】
次に、第二の実施の形態の方法を説明する。
D2＝０でない場合、式（３）〜式（５）は式（１１）〜式（１３）のようになる。
【００２８】
【数９】
0003834815.tif 000010
【００２９】
式（１１）〜式（１３）からわかるように、｛  ｝内は実施例１の式と同様に単純な四則演算で計算される。したがって、５次フィルタの処理を施した後に、四則演算を行えば計算できる。
ここで、D2=0でない場合は、｛  ｝内で計算された結果に、請求項２に記載するように再びM次のフィルタ処理を施す必要がある。本実施例では、式（１１）〜式（１３）からわかるように、１次のフィルタ処理を施すことになる。１次のフィルタとしては、式（１４）に示すように、D2とK2からなる1次のフィルタの形となる。（P:フィルタ処理前の値、Q:フィルタ処理後の値）
【００３０】
【数１０】
0003834815.tif 000011
【００３１】
ここでも式（１４）をオイラー一次近似し差分方程式の形で記述すると式（１５）のようになる。
【００３２】
【数１１】
0003834815.tif 000012
【００３３】
このようにD2=０でない場合も、実施例１同様に、５次のフィルタ処理を施した後、式（１１）〜式（１３）の計算を実行すれば、Xref、Vref、Trefを計算することができる。
以上が第二の実施の形態の説明である。
【００３４】
次に第三の実施の形態を図４に基づいて説明する。
図４は、第一の実施の形態を説明する図１と、１箇所だけ違いがあり、Ｎ次フィルタ処理された変数の、１階微分からＮ−１階微分を求めるのではなく、新しく、Ｌという変数を定義し、１階微分からＬ階微分まで求め、それを、２の四則演算部へ入力する構成である。ここで、変数Ｌの値は、制御対象を近似するモデルの次数に相当するように設定する。
例えば２慣性系の制御対象に対して、最適指令を作成する場合は、前述したとおり、指令の４階微分値までが求められればよい。これは、２慣性系の制御対象の次数が４次であることと等価である。すなわち、この場合、Lの値は４ということになる。
【００３５】
また、第一と第二の実施例では、Ｎ−１＝４であるため、フィルタの次数Nは５以上必要であることになるが、例えば、与えられる指令が、予め高次微分可能な指令であった場合、必ずしもNは５以上必要ない。
例えば、予め与えられた指令が、２階微分可能な指令であった場合は、フィルタ次数Nは２次以上であれば良いことになる。
したがって、この場合は、N＝２、L=４で実現可能である。
【００３６】
次に、２の四則演算処理部の処理について、図５を基に説明する。
入力された、指令をＮ次フィルタ処理した信号と、その１階微分からＬ階微分までの値を、XL(0)(k+1) 、XL(1)(k+1) 、XL (2)(k+1) 、・・・、XL (L)(k+1)とした時、式（１６）〜式（１８）のように最適指令値を求める。
【００３７】
【数１２】
0003834815.tif 000013
【００３８】
ここで、ゲインGx0〜GxL、Gv0〜GvL、Gt0〜GtLは、それぞれ、制御対象に応じて、設定する値であり、完全に、制御対象が分かっている場合は、式（３）、式（４）、式（５）のように、具体的な変数を設定し、該当しない変数は０とすればよい。例えば、実施の形態１の場合は、式（19）のようになる。
【００３９】
【数１３】
0003834815.tif 000014
【００４０】
しかしながら、実際には、制御対象の構成を、完璧に把握することは難しく、例えば、摩擦や、伝達機構で発生するロス分などは、通常予め把握できない。そのような場合は、実際に機械を動作させることで、ゲインGx0〜GxL、Gv0〜GvL、Gt0〜GtLに該当する値を、同定すればよい。同定方法は、精度と計算量から決定すればよく、どのような手法を用いても良い。例えばGA（Genetic Algorithm：遺伝的アルゴリズム）による手法などを用いてもよい。以上が、実施の形態３の説明である。
【００４１】
ここまでは、N次フィルタとして式（６）のような巡回型フィルタを使用する例を説明したが、N次フィルタとして、式（２０）のような非巡回型フィルタを構成しても良い。（Wi：i番目の重み係数）
【００４２】
【数１４】
0003834815.tif 000015
【００４３】
この場合も、変数XL(k)の１階微分値からN階微分値は自動的に求められないため、フィルタ処理後に、上述した、式（１０）の微分処理を行えばよい。
また、N次のフィルタ処理を行う方法として、Nよりも低次のフィルタ処理を数回繰り返して計算する方法を用いても良い。（５次の場合は、例えば、２次のフィルタ処理を２回、一次のフィルタ処理を１回してもよい。）
最後に、第一から第三の実施の形態で計算された、モータの位置Xref、速度Vref、モータへ与えるトルク指令Trefを、最適指令値として、従来からあるフィードバック制御部に出力することで、所望の動作を実現することができる。
【００４４】
以上の３つの実施例では、制御対象を２慣性系にしたため、L=4、N=5あるいはＮ＝２、M＝１であったが、当然、他のすべての制御対象に本装置は適用できる。そのときは変数L、N、Mが他の値になることもある。
例えば、制御対象が、機台の上に設置されており、その機台がばね要素で地面と結合されているとみなされる機械であった場合の式（3）〜式（5）に相当する式を、機台の上に設置される機械が剛体の場合と、２慣性系の場合について、それぞれ、式（２１）〜式（２３）、式（２４）〜式（２６）に示す。
J3：機台質量のイナーシャ換算値、K3：機台ばね定数
・機台の上の機械が剛体で近似される場合
（ここでは、J1：剛体イナーシャ）
【００４５】
【数１５】
0003834815.tif 000016
【００４６】
・機台の上の機械が２慣性系で近似される場合
（ここでは、J1：モータイナーシャ、  J2：負荷イナーシャ、K2：２慣性系ばね定数）
【００４７】
【数１６】
0003834815.tif 000017
【００４８】
このように、制御対象がどのような構成であっても、本方式を用いることができる。
また、この構成であれば、制御対象が変わった場合も、同じ次数であれば、四則演算部で乗じるゲインの値を変えるだけで対応できる。
本実施例で最適指令値として計算したのは、位置指令Xref、速度指令Vref、トルク指令値Trefであったが、これらに限定されるものではなく、最適指令値は、位置指令、速度指令、加速度指令、トルク指令のうちのいずれかひとつ、もしくは、その組み合わせであれば、どのようなものでも良い。
【発明の効果】
本発明によれば、与えられた指令を、複雑な計算なしに、簡単に制御対象が振動しないような指令に加工できるという効果がある。
また、制御対象のモデルも持たず、そのモデルをフィードバック制御する補償器も持たないので、演算量が少なく、結果として演算時間が短くなり、制御サンプリング周期が短くなることで、制御性能が上がるという効果も得られる。
また、指令に対しての遅れも、N次のフィルタによる遅れだけであるため、従来のものに比較して指令追従性能も向上するという効果もある。
また、設定するパラメータがN次フィルタの周波数λのみであるため、誰にでも簡単に本装置を構築し、使用することが可能であるという効果もある。
また、制御対象を正確に把握できない場合でも、機械を実際に動作させて、各微分値に乗じるゲインの値を同定することにより、対応できるという効果がある。
また、本発明によれば、制御対象が変わった場合も、同じ次数であれば、四則演算部で乗じるゲインの値を変えるだけで対応できるという効果がある。
【図面の簡単な説明】
【図１】本発明の第一の構成を示すブロック図
【図２】本発明の第二の構成を示すブロック図
【図３】従来の装置の構成を示すブロック図
【図４】本発明の第三の構成を示すブロック図
【図５】本発明の第三の構成の四則演算部の処理を示すブロック図
【符号の説明】
１  Ｎ次フィルタ処理部
２  四則演算部
３  Ｍ次フィルタ処理部
３１  模擬フィードバック制御装置
３２  模擬補償回路
３３  被制御対象模擬回路
３４  補償回路
３５  被制御対象
４    サーボ制御部
５    制御対象
１０  最適指令作成装置
【図１】
0003834815.tif 000018
【図２】
0003834815.tif 000019
【図３】
0003834815.tif 000020
【図４】
0003834815.tif 000021
【図５】
0003834815.tif 000022