"コンピュータを、所定の入力指令値から当該入力指令値のn階までの微分n≧0で表せるn1個の制御指令値を、入力数が1であり出力数がn1である状態方程式を用いて生成するn次のデジタルフィルタとして機能させる、制御指令値生成プログラム。前記所定の入力指令値は、制御対象の位置指令値であり、前記デジタルフィルタは、前記位置指令値から当該位置指令値の3階までの微分で表せる、位置指令値、速度指令値、加速度指令値および加加速度指令値の4つの制御指令値を生成する3次のデジタルフィルタである、請求項1に記載の制御指令値生成プログラム。前記入力指令値の伝達関数Gisを以下の式1で表したとき、前記入力指令値を1~n階微分した制御指令値を求めるための伝達関数G1s~Gnsは、以下の式2で示され、前記n次のデジタルフィルタの状態方程式は、入力uに対する出力をyとして以下の式3で示される、請求項1に記載の制御指令値生成プログラム。所定の入力指令値から当該入力指令値のn階までの微分n≧0で表せるn1個の制御指令値を、入力数が1であり出力数がn1である状態方程式を用いて生成するn次のデジタルフィルタを前記入力指令値に適用することにより、前記n1個の制御指令値を生成する、制御指令値生成方法。所定の入力指令値から当該入力指令値のn階までの微分n≧0で表せるn1個の制御指令値を、入力数が1であり出力数がn1である状態方程式を用いて生成するn次のデジタルフィルタを備えた、制御指令値生成装置。しかし、上記のようなデジタルフィルタでは、前回の演算で求められた速度、位置の各制御指令値の微分値を演算することで、加速度、速度の各制御指令値を生成しており、各制御指令値が小さくならない場合がある。生成される制御指令値の変化を連続系に近い形で実現できるデジタルフィルタとしては、IIR無限インパルス応答フィルタが考えられるが、フィルタの次数を高くするほど、および/または、演算周期を短くするほど、演算誤差が大きくなり、特に高次の微分の出力が振動的になる問題がある。例えば位置指令値から加加速度に関する制御指令値を演算するために、3次のIIRフィルタを適用するとすると、連続系の伝達関数Hsは、以下のように表される。ここで、a0~a3は入力側における各次数のフィルタ係数を示し、b0~b3は出力側における各次数のフィルタ係数を示す。これを離散化するために、双一次変換を行って、上記伝達関数Hsを以下に示す離散的な伝達関数Hzに変換する。ここで、P0~P3は変換後の入力側における各次数のフィルタ係数を示し、q0~q3は変換後の出力側における各次数のフィルタ係数を示し、Tはサンプリング周期を示す。このように、双一次変換において連続系の変数ラプラス変数sを離散系の変数zに変換する際に、サンプリング周期Tが用いられるため、離散化された伝達関数Hzにおけるn次のフィルタ係数には、サンプリング周期Tのn乗が乗算されることになる。したがって、各制御指令値の精度を高めるためにサンプリング周期を短くすると、高次のフィルタ係数上記式においてはp3やq3が指数関数的に小さくなり、結果として出力される制御指令値が振動的になり誤差が大きくなる。前述したように制御指令値の変化を小さく抑えるためには、できるだけサンプリング周期は短い方がよいが、サンプリング周期を短くすると制御指令値の誤差が大きくなってしまい、ロボット制御にうまく適用できない問題がある。また、上記従来のデジタルフィルタにおいては、一の入力指令値位置指令値から複数の制御指令値速度、加速度、加加速度などを演算する場合には、1つずつ制御指令値を演算する必要があるため、演算負荷が増大する問題もある。本発明は、以上のような課題を解決すべくなされたものであり、一の入力指令値から複数の制御指令値を高精度かつ安定的に生成するとともにその際の演算負荷を低減することができる制御指令値生成プログラム、制御指令値生成方法および制御指令値生成装置を提供することを目的とする。本発明に係る制御指令値生成プログラムは、コンピュータを、所定の入力指令値から当該入力指令値のn階までの微分n≧0で表せるn1個の制御指令値を、入力数が1であり出力数がn1である状態方程式を用いて生成するn次のデジタルフィルタとして機能させるものである。上記プログラムによれば、生成される制御指令値の連続系の伝達関数に対応する離散的な状態方程式を用いることにより、連続系の伝達関数を誤差なく離散化できるため、制御指令値を高精度かつ安定的に生成することができる。さらに、生成される制御指令値が入力指令値のn階までの微分であることより、各制御指令値の連続系の伝達関数が互いに共通の分母を有する。このため、連続系の伝達関数から状態方程式への当てはめを行う際に、全ての制御指令値が1組の状態方程式で表せる。したがって、上記プログラムによれば、一の入力指令値から複数の制御指令値を高精度かつ安定的に生成するとともにその際の演算負荷を低減することができる。前記所定の入力指令値は、制御対象の位置指令値であり、前記デジタルフィルタは、前記位置指令値から当該位置指令値の3階までの微分で表せる、位置指令値、速度指令値、加速度指令値および加加速度指令値の4つの制御指令値を生成する3次のデジタルフィルタであってもよい。前記入力指令値の伝達関数Gisを以下の式1で表したとき、前記入力指令値を1~n階微分した制御指令値G1s~Gnsは、以下の式2で示され、前記n次のデジタルフィルタの状態方程式は、入力uに対する出力をyとして以下の式3で示されるものでもよい。生成される制御指令値が入力指令値のn階微分であることより、各制御指令値の連続系の伝達関数が互いに共通の分母を有するため、状態方程式におけるA行列をすべての制御指令値に対して共通化することができる。また、各制御指令値の連続系の伝達関数の分子に対応するC行列は各制御指令値の連続系の分子を示す1×n行列をn1個並べてn1×n行列とすることにより、1つの状態方程式で表すことができる。ここで、入力指令値のn階微分で表される制御指令値における連続系の伝達関数は、分母と分子との次数が同じになるため、そのままでは状態方程式に当てはめることができない。しかし、式2のGnsに示すように、当該制御指令値における連続系の伝達関数における分子のn次の項を分数表記の外へ出すように変形することにより、分数表記において分母より分子の次数を少なくして、A~C行列をその他の制御指令値と同様に適用することができる。さらに、n次の項については別途D行列として加えることにより状態方程式として表現可能である。これにより、1組の行列の組み合せで、n1個の制御指令値を生成する状態方程式とすることができる。本発明に係る制御指令値生成方法は、所定の入力指令値から当該入力指令値のn階までの微分n≧0で表せるn1個の制御指令値を、入力数が1であり出力数がn1である状態方程式を用いて生成するn次のデジタルフィルタを前記入力指令値に適用することにより、前記n1個の制御指令値を生成するものである。また、本発明に係る制御指令値生成装置は、所定の入力指令値から当該入力指令値のn階までの微分n≧0で表せるn1個の制御指令値を、入力数が1であり出力数がn1である状態方程式を用いて生成するn次のデジタルフィルタを備えている。本発明は以上に説明したように構成され、一の入力指令値から複数の制御指令値を高精度かつ安定的に生成するとともにその際の演算負荷を低減することができるという効果を奏する。以下、本発明の実施の形態を、図面を参照しながら説明する。なお、以下では全ての図を通じて同一または相当する要素には同一の参照符号を付して、その重複する説明を省略する。まず、本発明の一実施形態に係る制御指令値生成装置が適用されたロボット制御システムの概略構成について説明する。図1は、本発明の一実施形態に係る制御指令値生成装置が適用されたロボット制御システムの概略構成を示すブロック図である。図1に示されるように、本実施形態のロボット制御システムは、多軸のロボットの各軸に設けられるサーボモータを制御してロボットの位置制御を行うロボット制御装置2を有している。また、ロボット制御システムは、このロボット制御装置2への制御指令値を生成する制御指令値生成装置1を備えている。なお、制御指令値生成装置1とロボット制御装置2とは、シリアル接続されていてもよいし、有線または無線による通信ネットワークにより接続されていてもよい。また、ロボット制御装置2の内部にロボット制御装置2と一体化して制御指令値生成装置1が設けられてもよい。また、ロボット制御装置2と制御指令値生成装置1とは完全に分離していてもよい。すなわち、制御指令値生成装置1で生成された制御指令値をロボット制御装置2に手入力などで入力することとしてもよい。制御指令値生成装置1は、一般的なコンピュータで構成され、入力指令値が入力される入力部11と、入力部11によって入力された入力指令値に基づいて制御指令値を生成する演算部12と、演算部12の演算に用いられる各種データおよび制御指令値生成プログラムを記憶する記憶部13とを備えている。制御指令値生成装置1の各構成は、バス14を介して電気的に接続され、演算部12で演算された制御指令値をバス14を介してロボット制御装置1へ出力するよう構成されている。記憶部13に記憶される制御指令値生成プログラムは、制御指令値生成装置1を構成するコンピュータを、所定の入力指令値から当該入力指令値のn階までの微分n≧0で表せるn1個の制御指令値を、入力数が1であり出力数がn1である状態方程式を用いて生成するn次のデジタルフィルタとして機能させるようプログラミングされている。次に、本実施形態におけるn次のデジタルフィルタを構成するための概要について説明する。初めに、1つの入力uが入力され、1つの出力yが出力される線形システムにおける状態方程式は、以下のように表せる。上記式4をxの初期条件を0として、ラプラス変換すると、以下のようになる。sXs=AXsBUs...5Ys=CXs...6ここで、sはラプラス変数を示す。上記式5より、Xs=sI-A-1BUsとなるIは単位行列を示すため、これを上記式6へ代入すると、Ys=CsI-A-1BUsとなる。本線形システムにおける伝達関数Gsは入力のラプラス変換に対する出力のラプラス変換の比で表される。すなわち、伝達関数は、Gs=Ys/Us=CsI-A-1Bで表される。ここで、上記状態方程式の各行列を以下のように表したシステムを考える。このとき、伝達関数Gsは、以下のように表せる。本発明の発明者らは、このような状態方程式と伝達関数Gsとの間で変換が可能であることに着目して、鋭意研究の末、本発明を発明したものである。具体例を用いて説明する。本実施形態においては、入力指令値uが、制御対象であるロボットの位置指令値であり、デジタルフィルタは、位置指令値から当該位置指令値の3階までの微分n=3で表せる、位置指令値p0階微分、速度指令値v1階微分、加速度指令値a2階微分および加加速度指令値j3階微分の4つの制御指令値yを生成する3次のデジタルフィルタである場合を例示する。3次のデジタルフィルタの時定数をTとすると、入力指令値である位置指令値から制御指令値である位置指令値p、速度指令値v、加速度指令値aおよび加加速度指令値jを得るための各伝達関数GpS,GvS,GaS,GjSは、それぞれ以下のようになる。上記式9に示されるように、各制御指令値yは、入力指令値uである位置指令値から当該位置指令値の3階までの微分で表せるため、各制御指令値yを得るための各伝達関数は、分子における微分演算子ラプラス変数sの次数が異なるものとなる。ここで、位置指令値から2階までの微分で表せる位置指令値p0階微分、速度指令値v1階微分および加速度指令値a2階微分については、分子におけるsの次数が分母におけるsの次数より小さいため、そのまま、上記式8の伝達関数Gsの形に変換できる。また、加加速度指令値j3階微分については、分子におけるsの次数と分母におけるsの次数とが同じになるため、そのままでは、上記式8を適用できない。このため、分子におけるsの最大次数3次の項を分数から取り出すことにより、sのある項とない項とに分離した形に変形した上で、sのある項については上記式8の伝達関数Gsの形に変換する。以上より、上記式9は以下のように変形できる。上記式10に示されるように、伝達関数Gps,Gvs,Gasの分母を加加速度指令値jを得るための伝達関数Gjsの第2項sのある項の分母と共通となるように変形することができる。これにより、上記式10に示される各伝達関数を上記式4,5で示される状態方程式にそれぞれ変換した場合に、A行列を共通化することができる。すなわち、上記式5で示されるA行列n=3における各係数a0,a1,a2は、いずれの伝達関数に対してもa0=1/T3,a1=3/T2,a2=3/Tとなる。また、B行列には伝達関数による変数は存在しないのでB行列も共通化できる。C行列については、伝達関数Gjsの第2項の分子におけるsの各次数の係数およびその他の伝達関数の分子におけるsの各次数の係数に基づいて伝達関数ごとに1×3行列で表せる。このような各伝達関数ごとのC行列を同じ行列において複数列4列に配置して4×3行列を構成することにより、1つのC行列として共通化できる。この際、出力yは4出力となる。さらに、伝達関数Gjsのsのない項については、別途、状態方程式の第2式に定数項を加えるためのD行列を設けることで対応する。D行列は、出力yが4出力p,v,a,jであることに合わせて1×4行列とする。以上をまとめると、時定数Tの3次フィルタn=3を用いて入力指令値uである位置指令値から制御指令値yである位置指令値p、速度指令値v、加速度指令値aおよび加加速度指令値jを得るための状態方程式は、以下のように表せる。図2は、本発明の一実施形態に係る制御指令値生成装置において演算されるシステムを示すブロック線図である。図2に示すように、上記式11に示される状態方程式を用いて、1入力実際には3入力あるが1入力のみを使用するに対して4出力が得られる3次のデジタルフィルタを構成することができる。これをn次のデジタルフィルタに拡張することも可能である。入力指令値uの伝達関数Gisを以下の式12で表したとき、入力指令値uを1~n階微分した制御指令値yを求めるための伝達関数G1s~Gnsは、以下の式13で示され、n次のデジタルフィルタの状態方程式は、入力uに対する出力をyとして以下の式14で示される。生成される制御指令値が入力指令値のn階微分であることより、各制御指令値の連続系の伝達関数が互いに共通の分母を有するため、状態方程式におけるA行列をすべての制御指令値に対して共通化することができる。また、各制御指令値の連続系の伝達関数の分子に対応するC行列は各制御指令値の連続系の分子を示す1×n行列をn1個並べてn1×n行列とすることにより、1つの状態方程式で表すことができる。ここで、入力指令値のn階微分で表される制御指令値における連続系の伝達関数は、分母と分子との次数が同じになるため、そのままでは状態方程式に当てはめることができない。しかし、式13のGnsに示すように、当該制御指令値における連続系の伝達関数における分子のn次の項を分数表記の外へ出すように変形することにより、分数表記において分母より分子の次数を少なくして、A~C行列をその他の制御指令値と同様に適用することができる。さらに、n次の項については別途D行列として加えることにより状態方程式として表現可能である。これにより、1組の行列の組み合せで、n1個の制御指令値を生成する状態方程式とすることができる。上記プログラムが実行される制御指令値生成装置1によれば、生成される制御指令値の連続系の伝達関数に対応する離散的な状態方程式を用いることにより、連続系の伝達関数を誤差なく離散化できるため、制御指令値を高精度かつ安定的に生成することができる。さらに、生成される制御指令値が入力指令値のn階までの微分であることより、各制御指令値の連続系の伝達関数が互いに共通の分母を有する。このため、連続系の伝達関数から状態方程式への当てはめを行う際に、全ての制御指令値が1組の状態方程式で表せる。制御指令値生成装置1は、公知の好適なプログラムを用いて1組の状態方程式を一括して演算し、複数の制御指令値を一度に演算することが可能である。したがって、上記制御指令値生成装置1によれば、一の入力指令値から複数の制御指令値を高精度かつ安定的に生成するとともにその際の演算負荷を低減することができる。以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない範囲内で種々の改良、変更、修正が可能である。例えば、上記実施形態においては、1つの入力指令値に対して0~n階微分で表せるすべての制御指令値を求めることとして説明したが、本発明はこれに限られない。例えばn=3の場合において、入力指令値である位置指令値から制御指令値として速度指令値1階微分と加加速度指令値3階微分のみを得ることとしてもよい。また、例えばn=3の場合において、入力指令値である位置指令値から制御指令値として位置指令値、速度指令値および加速度指令値を得ることとしてもよい。これらの場合には、C行列において対応する行の値をすべて0にすると演算負荷をさらに低減することができる。例えば、入力指令値の0階微分で表される制御指令値および入力指令値の2階微分で表される制御指令値について出力しない場合には上記式14において0階微分に対応する行にある係数C0と2階微分に対応する行にある係数C2とをそれぞれ0にすることで演算負荷が低減する。また、入力指令値は位置指令値に限られず、例えば、速度指令値、加速度指令値、加加速度指令値など種々の指令値を適用可能である。上記実施形態の制御指令値生成プログラムに基づく3次のデジタルフィルタを構築し、入力指令値である位置指令値としてステップ入力が入力されたときに出力される位置指令値、速度指令値、加速度指令値、加加速度指令値の応答を解析した。比較例として同じ次数3次のIIRフィルタを用いて、同様の解析を行い、実施例と比較した。図3は本実施例の制御指令値生成プログラムに基づく3次のデジタルフィルタに、入力指令値としてステップ入力を入力した場合の各制御指令値の応答結果を比較例とともに示すグラフである。図3aはステップ入力および位置制御指令値を示すグラフであり、図3bは速度指令値を示すグラフであり、図3cは加速度指令値を示すグラフであり、図3dは加加速度指令値を示すグラフである。また、図4は図3に示す加速度指令値および加加速度指令値を部分的に拡大したグラフである。図4aは加速度指令値を示すグラフであり、図4bは加加速度指令値を示すグラフである。図3aおよび図3bに示すように、ステップ入力に対して次数の小さい位置制御指令値p0階微分および速度指令値v1階微分については実施例および比較例のいずれも振動成分の少ないグラフが得られている。しかし、ステップ入力に対して次数の比較的大きい加速度制御指令値a2階微分および加加速度指令値j3階微分については、特に図4aおよび図4bに示すように、比較例において振動成分が重畳していることが分かる。これに対し、本実施例の3次フィルタによって演算された加速度指令値aおよび加加速度指令値jは、振動成分がほとんどなく非常に安定した波形が得られた。このように、本発明に基づく制御指令値生成プログラムおよびこれを備えた制御指令値生成装置において、生成される制御指令値の連続系の伝達関数に対応する離散的な状態方程式を用いることにより、入力指令値に対して次数の大きい制御指令値であっても、高精度かつ安定的に生成できることが示された。"