(57)【要約】【課題】  制御対象の振動を抑制しつつモータを滑らかに動作させることのできるモータ制御装置を提供する。【解決手段】  移動時間ｔｂと指令次数に関する変数ｋとａを移動距離に依存する変数とした速度時間関数に基づいて指令払い出し周期毎の指令を演算する指令演算部と，ｓをラプラス演算子とした時に，ωｓ，ωｃ，ζを変数とする２次の伝達関数ＧＦ（ｓ）の特性を有するフィルタ演算をする指令フィルタ演算部と，移動時間ｔｂと指令次数に関する変数ｋに基づいて指令フィルタの変数であるωｓを演算で求めるフィルタ定数演算部を備える。  【選択図】図１
2010207011.tif 000002
【特許請求の範囲】
【請求項１】
指令条件設定部と、指令演算部と、指令フィルタ演算部と，指令フィルタ演算部の一部の定数を指令条件設定部で設定された条件から算出するフィルタ定数演算部とを備え，前記指令フィルタの出力と制御対象に付加された検出器で検出される信号をもとに制御演算を行うモータ制御装置において、
前記指令条件設定部は，移動距離ｄｉｓｔと移動時間ｔｂと指令次数に関する変数ｋを設定するようになっており，
前記指令演算部は，ａを移動距離に依存する変数とした速度時間関数v(t) に基づいて指令払い出し周期毎の指令を演算するようになっており、
前記指令フィルタ演算部は，ｓをラプラス演算子とした時に，ωｓ，ωｃ，ζを変数とする以下の伝達関数ＧＦ（ｓ）で表される特性を有するフィルタになっており，
前記フィルタ定数演算部では，移動時間ｔｂと指令次数に関する変数ｋに基づいて前記指令フィルタの変数であるωｓを演算で求めるようになっていることを特徴とするモータ制御装置。
ここでｖ（ｔ）は、
v(t)=a・tk・(tb-t)k
であり、ＧＦ（ｓ）は、
GF(s)=(ωs2/ωc2)・(s2+2・ζ・ωc・s+ωc2)/(s2+ωs2)
である。
【請求項２】
指令条件設定部と、指令演算部と、指令フィルタ演算部と，指令フィルタ演算部の一部の定数を指令条件設定部で設定された条件から算出するフィルタ定数演算部と，前記指令フィルタの出力と制御対象に付加された検出器で検出される信号をもとに制御演算を行う制御部を備えたモータ制御装置において、
前記指令条件設定部は，移動距離ｄｉｓｔあるいは速度Ｖと加減速時間ｔａと一定速度時間ｔｃと指令次数に関する変数ｋを設定するようになっており，
前記指令演算部は，ａｄを速度に依存する変数とした加速度時間関数α(t) に基づいて指令払い出し周期毎の指令を演算するようになっており、
前記指令フィルタ演算部は，ｓをラプラス演算子とした時に，ωｓ，ωｃ，ζを変数とする以下の伝達関数ＧＦ（ｓ）で表される特性を有するフィルタになっており，
前記フィルタ定数演算部では，加減速時間ｔａと指令次数に関する変数ｋに基づいて前記指令フィルタの変数であるωｓを演算で求めるようになっていることを特徴とするモータ制御装置。
ここでα（ｔ）は、
加速期間    0≦t≦ta              α(t)=aｄ・tk・(ta-t)
一定速期間  ta≦t≦ta+tc          α(t)=0
減速機間    ta+tc≦t≦2ta+tc     α(t)=-aｄ・(t-ta-tc)k・(2ta+tc-t)k
であり、ＧＦ（ｓ）は、
GF(s)=(ωs2/ωc2)・(s2+2・ζ・ωc・s+ωc2)/(s2+ωs2)
である。
【請求項３】
前記指令フィルタ演算部で用いるフィルタの変数であるωｃとζを，前記制御部と前記制御対象を合わせた全システムを２次遅れ系で近似した際の，固有振動角周波数と減衰係数に設定することを特徴とする請求項１乃至請求項２記載のモータ制御装置。
【請求項４】
前記制御部と前記制御対象を合わせた全システムを近似する方法は，前記全システムの最も遅い振動根の周波数と減衰率を2次遅れ系の固有振動角周波数と減衰係数として近似することを特徴とする請求項３記載のモータ制御装置。
【請求項５】
前記制御部と前記制御対象を合わせた全システムを近似する方法は，前記制御部の入力から制御対象の出力までの周波数特性を測定し，測定した周波数応答波形と２次遅れ系の周波数応答波形が一致するように近似することを特徴とする請求項３記載のモータ制御装置。
【請求項６】
前記指令フィルタ演算部で用いるフィルタの変数であるωｃとζを設定する方法として，シミュレーションあるいは実機応答を確認しながらωｃとζ調整し，最も振動が小さくなる値に設定することを特徴とする請求項１乃至請求項２記載のモータ制御装置。
【請求項７】
前記フィルタ定数演算部では，前記速度時間関数v(t)を積分した位置指令を減衰係数０で固有振動角周波数がωｓの２次遅れ系の伝達関数に入力した際に，時刻０および時刻ｔｂで速度と加速度が０となる境界条件を元に解析的に解くことにより導出したｔｂとｋとωｓの関係からωｓを算出することを特徴とする請求項１記載のモータ制御装置。
【請求項８】
前記フィルタ定数演算部では，前記加速度時間関数α(t)を２階積分した位置指令を減衰係数０で固有振動角周波数がωｓの２次遅れ系の伝達関数に入力した際に，時刻０および時刻ｔａで速度と加速度が０となる境界条件を元に解析的に解くことにより導出したｔａとｋとωｓの関係からωｓを算出することを特徴とする請求項２記載のモータ制御装置。
【請求項９】
前記フィルタ定数演算部では，予め，各ｋの値に対して制御対象の振動が最も小さくなるような，前記ｔｂとωｓの関係をシミュレーションまたは実験により測定しておき，測定結果に基づきωｓを設定することを特徴とする請求項１記載のモータ制御装置。
【請求項１０】
前記フィルタ定数演算部では，予め，各ｋの値に対して制御対象の振動が最も小さくなるような，前記ｔａとωｓの関係をシミュレーションまたは実験により測定しておき，測定結果に基づきωｓを設定することを特徴とする請求項２記載のモータ制御装置。
【請求項１１】
指令条件設定部と、指令演算部と、前記指令演算部で使用する定数を指令条件設定部で設定された条件から算出する指令定数演算部とを備え，前記指令演算部の出力と制御対象に付加された検出器で検出される信号をもとに制御演算を行うモータ制御装置において、
前記指令条件設定部は，移動距離ｄｉｓｔと移動時間ｔｂと指令次数に関する変数ｋを設定するようになっており，
前記指令演算部は，ａを移動距離に依存する変数とした速度時間関数v(t) と、ｓをラプラス演算子とした時に，ωｓ，ωｃ，ζを変数とする以下の伝達関数ＧＦ（ｓ）を乗じた特性を持つ時間の関数ｒｅｆ（ｔ）に基づいて指令払い出し周期ごとの指令を演算するようになっており、
前記指令定数演算部は，移動時間ｔｂと指令次数に関する変数ｋに基づいて前記伝達関数ＧＦ（ｓ）の変数であるωｓを演算で求めるようになっていることを特徴とするモータ制御装置。
ここでｖ（ｔ）は、
v(t)=a・tk・(tb-t)k
であり、GF(s)は、
GF(s)=(ωs2/ωc2)・(s2+2・ζ・ωc・s+ωc2)/(s2+ωs2)
である。
【請求項１２】
指令条件設定部と、指令演算部と、前記指令演算部で使用する定数を指令条件設定部で設定された条件から算出する指令定数演算部とを備え，前記指令演算部の出力と制御対象に付加された検出器で検出される信号をもとに制御演算を行うモータ制御装置において、
前記指令条件設定部は，移動距離ｄｉｓｔあるいは速度Ｖと加速時間ｔａ１、一定速度時間ｔｃ、減速時間ｔａ２と指令次数に関する変数ｋを設定するようになっており，
前記指令演算部は，速度に依存する変数ａ１およびａ２とし、場合分けされた加速度時間関数α(t) と、ｓをラプラス演算子とした時に，ωｓ，ωｃ，ζを変数とする以下の伝達関数ＧＦ（ｓ）を乗じた特性を持つ時間の関数ｒｅｆ（ｔ）に基づいて指令払い出し周期ごとの指令を演算するようになっており、
前記指令定数演算部は，加減速時間ｔａ１および減速時間ｔａ２と指令次数に関する変数ｋに基づいて前記伝達関数ＧＦ（ｓ）の変数であるωｓを演算で求めるようになっていることを特徴とするモータ制御装置。
ここで、α（ｔ）は、
加速期間    0≦t≦ta1              α(t)=a1・tk・(ta1-t)
一定速期間  ta1≦t≦ta1+tc          α(t)=0
減速機間    ta1+tc≦t≦ta1+tc+ta2   α(t)=-a2・(t-ta1-tc)k・(ta1+tc+ta2-t)k
であり、ＧＦ（ｓ）は、
GF(s)=(ωs2/ωc2)・(s2+2・ζ・ωc・s+ωc2)/(s2+ωs2)
である。
【請求項１３】
前記速度時間関数v(t)を時間積分した位置指令を減衰係数０で固有振動角周波数がωｓの２次遅れ系の伝達関数に入力した際に，時刻０および時刻ｔｂで速度と加速度が０となる境界条件を元に解析的に解くことにより導出したｔｂとｋとωｓの関係からωｓを算出することを特徴とする請求項１１記載のモータ制御装置。
【請求項１４】
前記加速度時間関数α(t)を２階時間積分した位置指令を減衰係数０で固有振動角周波数がωｓの２次遅れ系の伝達関数に入力した際に，時刻０および時刻ｔａ１あるいはｔａ２で加速度と躍度が０となる境界条件を元に解析的に解くことにより導出したｔａ１あるいはｔａ２とｋとωｓの関係からωｓを算出することを特徴とする請求項１２記載のモータ制御装置。
【請求項１５】
指令条件設定部と、指令演算部と、前記指令演算部で使用する定数を指令条件設定部で設定された条件から算出する指令定数演算部とを備え，前記指令演算部の出力と制御対象に付加された検出器で検出される信号をもとに制御演算を行うモータ制御装置において、
移動距離ｄｉｓｔと移動時間ｔｂと指令次数に関する変数ｋを設定し，ａを移動距離に依存する変数とした速度時間関数v(t) と、ｓをラプラス演算子とした時に，ωｓ，ωｃ，ζを変数とする以下の伝達関数ＧＦ（ｓ）を乗じた特性を持つ時間の関数ｒｅｆ（ｔ）に基づいて指令払い出し周期ごとの指令を演算するようになっており、移動時間ｔｂと指令次数に関する変数ｋに基づいて前記伝達関数ＧＦ（ｓ）の変数であるωｓを演算することを特徴とするモータ制御方法。
ここで、ｖ（ｔ）は、
v(t)=a・tk・(tb-t)k
であり、ＧＦ（ｓ）は、
GF(s)=(ωs2/ωc2)・(s2+2・ζ・ωc・s+ωc2)/(s2+ωs2)
である。
【請求項１６】
指令条件設定部と、指令演算部と、前記指令演算部で使用する定数を指令条件設定部で設定された条件から算出する指令定数演算部とを備え，前記指令演算部の出力と制御対象に付加された検出器で検出される信号をもとに制御演算を行うモータ制御装置において、
移動距離ｄｉｓｔあるいは速度Ｖと加速時間ｔａ１、一定速度時間ｔｃ、減速時間ｔａ２と指令次数に関する変数ｋを設定し，速度に依存する変数ａ１およびａ２とし、場合分けされた加速度時間関数α(t) と、ｓをラプラス演算子とした時に，ωｓ，ωｃ，ζを変数とする以下の伝達関数ＧＦ（ｓ）を乗じた特性を持つ時間の関数ｒｅｆ（ｔ）に基づいて指令払い出し周期ごとの指令を演算するようになっており、加減速時間ｔａ１および減速時間ｔａ２と指令次数に関する変数ｋに基づいて前記伝達関数ＧＦ（ｓ）の変数であるωｓを演算することを特徴とするモータ制御方法。
ここで、α（ｔ）は、
0≦t≦ta1                    α(t)=a1・tk・(ta1-t)
ta1≦t≦ta1+tc                α(t)=0
ta1+tc≦t≦ta1+tc+ta2        α(t)=-a2・(t-ta1-tc)k・(ta1+tc+ta2-t)k
であり、ＧＦ（ｓ）は、
GF(s)=(ωs2/ωc2)・(s2+2・ζ・ωc・s+ωc2)/(s2+ωs2)
である。
【請求項１７】
前記速度時間関数v(t)を時間積分した位置指令を減衰係数０で固有振動角周波数がωｓの２次遅れ系の伝達関数に入力した際に，時刻０および時刻ｔｂで速度と加速度が０となる境界条件を元に解析的に解くことにより導出したｔｂとｋとωｓの関係からωｓを算出することを特徴とする請求項１５記載のモータ制御方法。
【請求項１８】
前記加速度時間関数α(t)を２階時間積分した位置指令を減衰係数０で固有振動角周波数がωｓの２次遅れ系の伝達関数に入力した際に，時刻０および時刻ｔａ１あるいはｔａ２で加速度と躍度が０となる境界条件を元に解析的に解くことにより導出したｔａ１あるいはｔａ２とｋとωｓの関係からωｓを算出することを特徴とする請求項１６記載のモータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２慣性系などのように振動要素を有する制御対象を振動させることなく動作させるモータ制御装置とモータ制御方法に関する。  
【背景技術】
【０００２】
近年、工作機械やロボットなどの産業機械は高精度化、高速化とともに軽量化、低コストが図られており、機械の剛性は弱まる一方である。特に制御対象が２慣性系や機台振動系などの振動要素を有する場合、モータ制御装置で駆動すると、加減速時に振動が発生するという一般的な技術課題がある。この一般的な技術課題を解決するために、従来のモータ制御装置では、次数をパラメータにもつ特殊な時間関数を使用して，指令の次数を調整して振動抑制している（例えば、特許文献１参照）。
また，Ｓ字指令の加減速時間に応じてプレフィルタのノミナル振動周波数を設定することにより振動を抑制しているものもある（例えば、非特許文献１参照）。
【０００３】
図７は従来の特許文献に記載されている方法のフローチャートを表す。本従来例では，まず指令関数として式（１）に示すａを移動距離に依存する変数，ｔｂを移動時間，次数ｋをパラメータとする特殊な時間関数ｖ（ｔ）を用意しておき、ｖ（ｔ）に基づいて指令払い出し周期毎の指令を演算する。
v(t)=a・tk・(tb-t)k                   （１）
【０００４】
図７に従って処理を説明する。まずＳ５１で動作条件である移動距離ｄｉｓｔと移動時間ｔｂを設定する。次にＳ５２で，問題となっている振動の周期ｔｆを入力する。Ｓ５３でｔｂとｔｆの比であるｘを算出し，Ｓ５３でｘの値に応じて指令の次数ｋを決定する。ｘとｋの関係は予め振動しないような関係を求めているため，これにより振動しない指令を作成することができるのである。
【０００５】
図８に非特許文献１のブロック図を示す。ここで，６１は位置指令振幅でありＳ字位置指令発生器６２に入力される。６３はプレフィルタを表し，制御対象の固有振動角周波数ωａをωａｎに変換する。６５のＧｐ（ｓ）は電動機速度・位置制御ループによる伝達特性を示す。６６はモータ位置θMから負荷位置θＬまでの伝達関数を表す。
【０００６】
通常，２慣性系制御対象に対して速度・位置制御ループを付加した場合，軸ねじれによる反力トルクが外乱として加わるが，本論文では電動機外乱トルクオブザーバにより軸ねじり反力を除去するため，結果的に電動機と負荷のブロックは分離される。したがって図８に示すように６６で示されるモータ位置から負荷までの伝達関数が分離されるのである。
【０００７】
例えば，速度補償器には比例積分制御（Ｋｓｐ：比例ゲイン，ＫＳＩ：積分ゲイン）を，位置補償器には比例制御（ＫＰＰ：比例ゲイン）を用いた場合，電動機位置指令θM*  に対するθLの伝達関数は式（２）で与えられる。
θL /θM* =ωa2/(s2+ωa2)*KPP(sKsp+KSI)/(s3JMn+s2Ksp+s(KSI+KPPKsp)+KPPKsI)
=ωa2/(s2+ωa2)*Gp(s)        ・・・（２）
ここでＧｐ（ｓ）は上手く設計すれば共振振動とは関係しないため，結果として負荷に発生する振動は，制御対象の固有振動角周波数ωａによる共振振動となり，これを抑制すれば負荷は振動しないことになる。
【０００８】
一方振動を抑制する方法として本従来例では，加減速時間の設定によってωａを抑制する方法として，加速時間をｔＡ＝２ｎπ／ωａ，または減速開始時間をｔＤ＝２ｎπ／ωａと選ぶことで制振制御とすると記述されている。
【０００９】
しかしながら，この方法では，位置指令の加減速時間が系の固有振動数に依存するため，任意の位置応答時間は設定できず，一般に応答時間が増大する。そこで，本従来例では，制御対象の伝達特性に着目し，位置指令にフィルタを乗ずることによって系の固有振動周期を変化させ，この問題を解決していると記載されている。
【００１０】
６２の指令発生器では６１で入力された目標位置振幅に対して所望の加減速時間を有するＳ字カーブを作成し，その加減速時間に応じてプレフィルタのノミナル振動周波数ωａｎを設定することによって制振制御が実現される。制御対象の固有振動角周波数ωａが把握できるという前提で、式（３）の関係式によって電動機位置指令θM*  にプレフィルタリングを行い，θM**  を新たな制御指令とする。その結果，系の振動極ωａは極零キャンセルによって任意のωａｎにノミナル化される。
θM** =(ωan2/ωa2)・(s2+ωa2)/(s2+ωan2)θM*             （３）
【００１１】
そして，ωａｎが任意に設定できるため，位置指令の加減速時間が系の固有振動数に依存せず，加減速時間を任意に設定しつつ振動抑制できるようになっている。
【００１２】
このように、従来のモータ制御装置は、次数ｋをパラメータにもつ特殊な時間関数を使用して，振動周期ｔｆに応じて指令の次数ｋを調整するか，系の振動極をプレフィルタにて任意の極に変換することで，設定した加減速時間で振動が抑制されるようにしているのである。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００６−０３１１１１号公報（第５−８頁、図１）
【非特許文献】
【００１４】
【非特許文献１】岩崎誠，松井信行著「振動抑制効果を考慮したロボットアームの最適位置指令設計法」電気学会論文誌Ｃ，社団法人電気学会，１９９６年１２月２０日，第１１７−Ｃ巻，第１号，ｐ．５０−５６
【発明の概要】
【発明が解決しようとする課題】
【００１５】
特許文献１の従来のモータ制御装置は、振動周期ｔｆと移動時間ｔｂの比である変数ｘによって，予め求めておいた関数を用いて振動しないように指令次数に関する変数ｋを決定するものであるが，ほとんどの場合変数ｋが非整数（小数）になってしまうため，通常の制御装置では演算できないだけでなく，移動距離に依存する変数ａを求める際に，ｋが非整数も取りえる任意の変数のため，変数ｋを残したまま時間積分ができないため，変数ａを求めるためには，予め変数ａを１として全移動時間分の移動距離Ｉｄを求め，最後に実際の移動距離ｄｉｓｔをＩｄで除算して変数ａを求める必要があり，変数ａの演算に時間が多くかかるという問題があった。また，演算時間が多くかかるため，動作中に目標値が変更になった場合などは演算時間が間に合わないという問題があった。
【００１６】
また，非特許文献１の従来の指令設計方法は，電動機外乱オブザーバを付加していない制御装置や，電動機外乱オブザーバで使用する慣性モーメントノミナル値が実機の慣性モーメントに対して誤差を持つ場合，モータ位置から負荷までの伝達関数が分離できないため，制御対象の固有振動角周波数ωaが制御系の特性により周波数が変化するため，実際に動作させたときに発生する振動の周波数は，もとのωaとは異なったものになる。また，制御対象が減衰を持たない場合も制御系の設計によっては無視できない程度の減衰を持つことも多々ある。この場合，モータから負荷位置までの伝達特性が減衰を持たず，かつ制御部に対して分離するという前提の下でωａの共振を極零相殺でキャンセルする従来例のプレフィルタでは，完全に振動を抑制することはできないという問題があった。また，制御対象に減衰がある制御対象の場合も，従来のプレフィルタには減衰を考慮した項がないため，振動を完全に抑制することはできないという問題があった。また，Ｓ字指令を用いて，加減速時間に応じてプレフィルタのノミナル極を設定する方式のため，Ｓ字指令は必須であるが，Ｓ字指令の加減速時間を極に合わせて振動抑制する方法には以下のような問題があった。図９の（ｂ）は２慣性系の制御対象に対して，従来のＳ字指令とプレフィルタの方式をシミュレーションした結果である。図から明らかなように，プレフィルタを用いない（ａ）の結果ではモータおよび負荷の両方とも振動が発生しているのが分かる。それに対して（ｂ）ではモータおよび負荷位置は振動なく応答しているが，モータの速度波形がいびつな波形になっているのが分かる。これは，モータがこのようにいびつな動作をすることで，負荷が振動しないように動作しているからで，Ｓ字指令を用いて加減速時間を短くした場合に，このよう現象は頻繁に発生する。このようにモータがいびつに動作することにより，機械の動作音が大きくなったり，装置の他の部分を加振してしまうという問題があった。
【００１７】
本発明はこのような問題点に鑑みてなされたものであり、指令次数に関する変数ｋを調整することで振動を抑制できる時間関数を指令として用い，計算しやすいようにｋを整数にし，移動時間ｔｂとｋから振動抑制可能な共振周波数ωｓを求め，制御部と制御対象を合わせた全システムを２次遅れ系で近似した際の，固有振動角周波数と減衰係数を分子の係数とした指令フィルタ演算を行った信号を新たな指令として制御部へ入力するようにすることで，制御演算部が外乱オブザーバを持っていない場合や，慣性モーメントノミナル値に誤差が合った場合も，また制御対象の振動が減衰を持つ場合も，制御系により，制御対象の極が大きく変化した場合も，モータを滑らかに動作させつつ負荷の振動を抑制でき，かつ，指令のパラメータを演算する時間も少ないモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
上記問題を解決するため、本発明は、次のように構成したのである。
請求項１に記載の発明は、指令演算部はａを移動距離に依存する変数とした速度時間関数v(t)=ａ・ｔｋ・（ｔｂ−ｔ）ｋに基づいて指令払い出し周期毎の指令を演算するようになっており、指令フィルタ演算部は，ｓをラプラス演算子とした時に，ωｓ，ωｃ，ζを変数とする以下の伝達関数ＧＦ（ｓ）＝（ωｓ２／ωｃ２）・（ｓ２＋２・ζ・ωｃ・ｓ＋ωｃ２）／（ｓ２＋ωｓ２）で表される特性を有するフィルタになっており，移動時間ｔｂと指令次数に関する変数ｋに基づいて指令フィルタの変数であるωｓを演算で求めるものである。
また、請求項２に記載の発明は、指令演算部はａｄを速度に依存する変数とした加速度時間関数
加速期間    0≦t≦ta              α(t)=aｄ・tk・(ta-t)
一定速期間  ta≦t≦ta+tc          α(t)=0
減速機間    ta+tc≦t≦2ta+tc     α(t)=-aｄ・(t-ta-tc)k・(2ta+tc-t)k
に基づいて指令払い出し周期毎の指令を演算するようになっており、指令フィルタ演算部は，ｓをラプラス演算子とした時に，ωｓ，ωｃ，ζを変数とする以下の伝達関数ＧＦ（ｓ）＝（ωｓ２／ωｃ２）・（ｓ２＋２・ζ・ωｃ・ｓ＋ωｃ２）／（ｓ２＋ωｓ２）で表される特性を有するフィルタになっており，フィルタ定数演算部では，加減速時間ｔａと指令次数に関する変数ｋに基づいて前記指令フィルタの変数であるωｓを演算で求めるようにするものである。
【００１９】
また、請求項３に記載の発明は、指令フィルタ演算部で用いるフィルタの変数であるωｃとζを，前記制御部と前記制御対象を合わせた全システムを２次遅れ系で近似した際の，固有振動角周波数と減衰係数に設定することを特徴とするものである。
また、請求項４に記載の発明は、制御部と前記制御対象を合わせた全システムを近似する方法は，前記全システムの最も遅い振動根の周波数と減衰率を2次遅れ系の固有振動角周波数と減衰係数として近似するものである。
また、請求項５に記載の発明は、制御部と前記制御対象を合わせた全システムを近似する方法は，前記制御部の入力から制御対象の出力までの周波数特性を測定し，測定した周波数応答波形と２次遅れ系の周波数応答波形が一致するように近似することを特徴とするものである。
【００２０】
また、請求項６に記載の発明は、指令フィルタ演算部で用いるフィルタの変数であるωｃとζを設定する方法として，シミュレーションあるいは実機応答を確認しながらωｃとζ調整し，最も振動が小さくなる値に設定することを特徴とするものである。
また、請求項７に記載の発明は、フィルタ定数演算部では，前記速度時間関数v(t)を積分した位置指令を減衰係数０で固有振動角周波数がωｓの２次遅れ系の伝達関数に入力した際に，時刻０および時刻ｔｂで速度と加速度が０となる境界条件を元に解析的に解くことにより導出したｔｂとｋとωｓの関係からωｓを算出することを特徴とするものである。
また、請求項８に記載の発明は、フィルタ定数演算部では，前記加速度時間関数α(t)を２階積分した位置指令を減衰係数０で固有振動角周波数がωｓの２次遅れ系の伝達関数に入力した際に，時刻０および時刻ｔｂで速度と加速度が０となる境界条件を元に解析的に解くことにより導出したｔａとｋとωｓの関係からωｓを算出することを特徴とするものである。
また、請求項９に記載の発明は、フィルタ定数演算部では，予め，各ｋの値に対して制御対象の振動が最も小さくなるような，前記ｔｂとωｓの関係をシミュレーションまたは実験により測定しておき，測定結果に基づきωｓを設定することを特徴とするものである。
また、請求項１０に記載の発明は、フィルタ定数演算部では，予め，各ｋの値に対して制御対象の振動が最も小さくなるような，前記ｔａとωｓの関係をシミュレーションまたは実験により測定しておき，測定結果に基づきωｓを設定することを特徴とするものである。
【００２１】
また、請求項１１に記載の発明は、移動距離ｄｉｓｔと移動時間ｔｂと指令次数に関する変数ｋを設定する指令条件設定部と，ａを移動距離に依存する変数とした速度時間関数v(t)
v(t)=a・tk・(tb-t)k
と、ｓをラプラス演算子とした時に，ωｓ，ωｃ，ζを変数とする伝達関数ＧＦ（ｓ）を乗じた特性を持つ時間の関数ｒｅｆ（ｔ）に基づいて指令払い出し周期ごとの指令を演算する指令演算部と，移動時間ｔｂと指令次数に関する変数ｋに基づいて前記伝達関数ＧＦ（ｓ）の変数であるωｓを演算で求める指令定数演算部からなることを特徴とするものである。
ここで、ＧＦ（ｓ）は、
GF(s)=(ωs2/ωc2)・(s2+2・ζ・ωc・s+ωc2)/(s2+ωs2)
である。
【００２２】
また、請求項１２に記載の発明は、移動距離ｄｉｓｔあるいは速度Ｖと加速時間ｔａ１、一定速度時間ｔｃ、減速時間ｔａ２と指令次数に関する変数ｋを設定する指令条件設定部と、速度に依存する変数ａ１およびａ２とし、場合分けされた加速度時間関数α(t) と、ｓをラプラス演算子とした時に，ωｓ，ωｃ，ζを変数とする以下の伝達関数ＧＦ（ｓ）を乗じた特性を持つ時間の関数ｒｅｆ（ｔ）に基づいて指令払い出し周期ごとの指令を演算する前記指令演算部と、加減速時間ｔａ１および減速時間ｔａ２と指令次数に関する変数ｋに基づいて前記伝達関数ＧＦ（ｓ）の変数であるωｓを演算で求める指令定数演算部からなっていることを特徴とするものである。
ここでα（ｔ）は、
0≦t≦ta1                    α(t)=a1・tk・(ta1-t)
ta1≦t≦ta1+tc                α(t)=0
ta1+tc≦t≦ta1+tc+ta2        α(t)=-a2・(t-ta1-tc)k・(ta1+tc+ta2-t)k
であり、ＧＦ（ｓ）は
GF(s)=(ωs2/ωc2)・(s2+2・ζ・ωc・s+ωc2)/(s2+ωs2)
である。
【００２３】
また、請求項１３に記載の発明は、請求項１１にて、前記速度時間関数v(t)を時間積分した位置指令を減衰係数０で固有振動角周波数がωｓの２次遅れ系の伝達関数に入力した際に，時刻０および時刻ｔｂで速度と加速度が０となる境界条件を元に解析的に解くことにより導出したｔｂとｋとωｓの関係からωｓを算出することを特徴とするものである。
また、請求項１４に記載の発明は、請求項１２にて、前記加速度時間関数α(t)を２階時間積分した位置指令を減衰係数０で固有振動角周波数がωｓの２次遅れ系の伝達関数に入力した際に，時刻０および時刻ｔａ１あるいはｔａ２で加速度と躍度が０となる境界条件を元に解析的に解くことにより導出したｔａ１あるいはｔａ２とｋとωｓの関係からωｓを算出することを特徴とするものである。
【００２４】
また、請求項１５に記載の発明は、移動距離ｄｉｓｔと移動時間ｔｂと指令次数に関する変数ｋを設定し，ａを移動距離に依存する変数とした速度時間関数v(t) と、ｓをラプラス演算子とした時に，ωｓ，ωｃ，ζを変数とする以下の伝達関数ＧＦ（ｓ）を乗じた特性を持つ時間の関数ｒｅｆ（ｔ）に基づいて指令払い出し周期ごとの指令を演算するようになっており、移動時間ｔｂと指令次数に関する変数ｋに基づいて前記伝達関数ＧＦ（ｓ）の変数であるωｓを演算することを特徴とするものである。
ここでｖ（ｔ）は、
v(t)=a・tk・(tb-t)k
であり、ＧＦ（ｓ）は、
GF(s)=(ωs2/ωc2)・(s2+2・ζ・ωc・s+ωc2)/(s2+ωs2)
である。
【００２５】
また、請求項１６に記載の発明は、移動距離ｄｉｓｔあるいは速度Ｖと加速時間ｔａ１、一定速度時間ｔｃ、減速時間ｔａ２と指令次数に関する変数ｋを設定し，速度に依存する変数ａ１およびａ２とし、場合分けされた加速度時間関数α(t) と、ｓをラプラス演算子とした時に，ωｓ，ωｃ，ζを変数とする以下の伝達関数ＧＦ（ｓ）を乗じた特性を持つ時間の関数ｒｅｆ（ｔ）に基づいて指令払い出し周期ごとの指令を演算するようになっており、加減速時間ｔａ１および減速時間ｔａ２と指令次数に関する変数ｋに基づいて前記伝達関数ＧＦ（ｓ）の変数であるωｓを演算することを特徴とするものである。
ここでα（ｔ）は、
0≦t≦ta1                    α(t)=a1・tk・(ta1-t)
ta1≦t≦ta1+tc                α(t)=0
ta1+tc≦t≦ta1+tc+ta2        α(t)=-a2・(t-ta1-tc)k・(ta1+tc+ta2-t)k
であり、ＧＦ（ｓ）は、
GF(s)=(ωs2/ωc2)・(s2+2・ζ・ωc・s+ωc2)/(s2+ωs2)
である。
【００２６】
また、請求項１７に記載の発明は、請求項１５にて、前記速度時間関数v(t)を時間積分した位置指令を減衰係数０で固有振動角周波数がωｓの２次遅れ系の伝達関数に入力した際に，時刻０および時刻ｔｂで速度と加速度が０となる境界条件を元に解析的に解くことにより導出したｔｂとｋとωｓの関係からωｓを算出することを特徴とするものである。
また、請求項１８に記載の発明は、請求項１６にて、前記加速度時間関数α(t)を２階時間積分した位置指令を減衰係数０で固有振動角周波数がωｓの２次遅れ系の伝達関数に入力した際に，時刻０および時刻ｔａ１あるいはｔａ２で加速度と躍度が０となる境界条件を元に解析的に解くことにより導出したｔａ１あるいはｔａ２とｋとωｓの関係からωｓを算出することを特徴とするものである。
【発明の効果】
【００２７】
請求項１に記載の発明によると、指令の次数に関わる変数ｋを任意に選べるため，変数ｋを整数にすることができるため，通常の演算器で演算が可能となり，また，関数の積分が可能になることで変数ａを求めるために予め変数ａを１として全移動時間分の移動距離Ｉｄを求め最後に実際の移動距離ｄｉｓｔをＩｄで除算して変数ａを求める必要がなくなり演算時間が大幅に短縮される。結果として目標値変更にも対応できるようになる。
また，指令フィルタの分子に減衰の項があるため，もともと制御対象の共振に減衰がある場合や，制御系の設計により制御対象の極が移動して減衰を持つようになった場合も，完全に振動を抑制することが可能になる。
また，全システムを２次遅れ系で近似したときの固有振動角周波数ωｃと減衰係数ζを設定するため，制御系により極が移動して極の周波数が変化した場合も完全に振動を抑制することができる。
また，制御系の設計はどのようなものでもよく，従来のように必ず電動機外乱オブザーバを用いる必要もなくなる。
また，Ｓ字指令ではなく，指令次数に関する変数ｋを調整することで振動を抑制できる時間関数を指令として用いることで，負荷の振動を抑制するだけでなく，モータも滑らかに動作させることができる。
【００２８】
また、請求項２に記載の発明によると、加速，一定速，減速区間を場合わけした指令を用いることで，速度の最大値に制限がある場合や動作速度を指定されている場合も問題なく本アイデアを使用でき，請求項１の効果と同様の効果が得られる。
また、請求項３に記載の発明によると、全システムを２次遅れ系で近似したときの固有振動角周波数ωｃと減衰係数ζを設定するため，制御系により極が移動して極の周波数が変化した場合や減衰を持つようになった場合も，完全に振動を抑制することができる。また，制御系の設計はどのようなものでもよく，従来のように必ず電動機外乱オブザーバを用いる必要もなくなる。
また、請求項４に記載の発明によると、数式で解析的に最も遅い振動根を算出し，そのまま指令フィルタの変数であるωｃとζを決定できるため，制御対象が既知の場合に，簡単に変数を設定できる。
【００２９】
また、請求項５に記載の発明によると、周波数特性のマッチングにより全システムを二次系で近似し，固有振動角周波数ωｃと減衰係数ζを設定できるため，制御対象が未知の場合や数式を解くのが難しい場合も，指令フィルタの変数を簡単に設定できる。
また、請求項６に記載の発明によると、シミュレーションおよび実機にて波形を見ながら調整しながら指令フィルタの変数を設定できるため，制御の知識がない場合や，周波数特性が取れない場合も制御対象の振動を抑制することができる。
また、請求項７，８に記載の発明によると、境界条件を元に解析的に移動時間ｔｂあるいは加減速時間ｔａとωｓの関係を求めることができるため，変数ｋと移動時間ｔｂあるいは加減速時間ｔａが与えられた時，数式で正確にωｓを算出することができるようになり，指令フィルタの分母の変数は自動的に設定することができる。
また、請求項９，１０に記載の発明によると、移動時間ｔｂあるいは加減速時間ｔａとωｓの関係をシミュレーションおよび実機で波形を見ながら調整できるため，制御の知識がない場合も，移動時間ｔｂあるいは加減速時間ｔａとωｓの関係を予め求めることができ，指令フィルタの分母の変数は自動的に設定することができる。
【００３０】
請求項１１および請求項１５に記載の発明によると、特別な時間関数と特別な伝達特性を併せ持つ時間関数ｒｅｆを指令関数とすることにより，位置指令だけで振動が抑制でき、指令フィルタを用いないことで，フィルタの演算精度が十分に得られない場合に本来の制振効果が劣化するという問題がなくなる。またフィルタの出力をクランプする処理を追加する必要がなくなる。また，指令フィルタ処理後の位置の監視が不要となり演算量が少なくてよくなる。
また、請求項１２および請求項１６に記載の発明によると、加速、一定速、減速といった区間に場合分けされる、いわゆる台形速度指令のように一定の速度で動作する動きも実現でき、請求項１の効果と同等の効果が得られる。
また、請求項１３、１４および請求項１７、１８に記載の発明によると、パラメータｋを決定すれば、振動抑制できるωｓを自動的に演算で求めることができるため、実際に設定あるいは調整するパラメータは、２次遅れ系で近似した際の分母の伝達関数の変数である振動周波数ωｃと減衰係数ζの２つのみで良くなり簡単に位置指令を作成することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の第１実施例を示すモータ制御装置の構成図
【図２】本発明の指令フィルタの伝達関数を示す図
【図３】本発明の制御演算部の処理を説明するブロック図
【図４】本発明の処理の手順を説明するフローチャート
【図５】本発明の第３実施例を示すモータ制御装置の構成図
【図６】本発明の第４実施例を示すモータ制御装置の構成図
【図７】従来のモータ制御装置の処理の手順を説明するフローチャート
【図８】従来のモータ制御装置の構成図
【図９】従来と本発明のシミュレーション結果を示す図
【発明を実施するための形態】
【００３２】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【００３３】
図１は、本発明のモータ制御装置の構成図である。図において、１は指令条件設定部であり，指令条件である移動距離ｄｉｓｔと移動時間ｔｂと指令次数に関する変数ｋを設定する。２は指令演算部でありａを移動距離に依存する変数とした速度時間関数v(t) に基づいて指令払い出し周期毎の指令を演算する。
v(t)=a・tk・(tb-t)k                      （４）
【００３４】
３は指令フィルタ演算部であり，指令演算部から出力された位置指令ｒｅｆを入力し，ｓをラプラス演算子とした時に，ωｓ，ωｃ，ζを変数とする以下の伝達関数ＧＦ（ｓ）で表される特性を有するフィルタの演算を行いフィルタ演算後の指令ｒｅｆｃを出力する。
GF(s)=(ωs2/ωc2)・(s2+2・ζ・ωc・s+ωc2)/(s2+ωs2)              （５）
図２に３の指令フィルタ演算部の入出力の関係を示す。モータ制御装置はデジタル処理されるため，指令フィルタ演算部３では通常，このフィルタを離散化した演算を行う。離散化の方法はどのようにしてもよいが，通常，後退差分や前進差分あるいは双一次変換を用いると簡単である。また，演算量が許す場合には，厳密に０次ホールドを考慮したＺ変換により離散化しても良い。
【００３５】
４はフィルタ定数演算部であり，移動速時間ｔｂと指令次数に関する変数ｋに基づいて指令フィルタの変数であるωｓを演算で求める。また，３の指令フィルタの変数であるωｃとζは制御系と制御対象を合わせた全システムを２次遅れ系で近似した際の固有振動角周波数と減衰係数に設定する。
【００３６】
５は制御演算部であり，フィルタ処理後の指令ｒｅｆｃおよび制御対象１００に付加された検出器２００で検出されたモータ位置ｘｆｂを入力し，位置・速度制御を行いトルク指令ｔｒｅｆを出力する。図３に制御演算部の位置・速度制御の一例を示す。３５の微分演算部はデジタル処理される場合，差分近似を用いた微分を用いれば良い。３１のＫｐは位置制御比例ゲインを表し，３２のＫｖは速度制御比例ゲインを，３３の積分演算部で用いられるＫｉは積分ゲインを表し，３４のＪｎは慣性モーメントノミナル値を表す。また，通常トルク指令後，電流ループの処理を行って電圧をモータに出力するが本発明に関係がないため図１では省略している。
【００３７】
次に，図４の本発明の処理手順を示すフローチャートを用いて指令フィルタの各変数の設定方法を詳細に説明する。
【００３８】
まず，S1では指令条件である移動距離ｄｉｓｔと移動時間ｔｂと指令次数に関する変数ｋを入力する。ｋの値は任意に設定可能であるが，通常の演算器で計算しやすいように，正の整数を選ぶと良い。本実施例では，一番簡単に計算できるようにｋ＝１と設定する。
【００３９】
次にＳ２では，式（５）で表される指令フィルタの変数であるωｃおよびζを設定する。変数ωｃとζの設定方法としては，制御対象と制御演算部を合わせた全システムの最も遅い振動根の固有振動角周波数と減衰係数をωｃおよびζとして設定すればよい。なぜなら，実際に制御対象を動作させた際に問題となる振動のほとんどが，全システムの最も遅い振動根の振動と同じであるからである。このように，指令フィルタの分子，すなわち零点側に全システムの最も遅い振動根の固有振動角周波数と減衰係数を設定することで，実際のシステムと極零相殺が起こり，振動を完全に抑制できるのである。ここで注意しなければならない点は，全システムの最も遅い振動根は，元々制御対象が持っていた振動根が制御系により移動した振動根であり，制御対象の振動根の固有振動角周波数と減衰係数をそのまま指令フィルタの分子の変数として設定しても振動は抑制できない点である。
【００４０】
また，指令フィルタの変数であるωｃおよびζを設定する方法として，制御部の入力から制御対象の出力までの周波数特性を測定し，測定した周波数応答波形と２次遅れ系の周波数応答波形が一致するようにωｃおよびζを調整して設定しても良い。
【００４１】
また，シミュレーションあるいは実機応答を確認しながらωｃとζを調整し，最も振動が小さくなる値に設定しても良い。
【００４２】
次にＳ３にて指令条件設定部で設定された，移動時間ｔｂと指令次数に関する変数ｋから式（５）で表される指令フィルタの分母，すなわち極側の変数ωｓを設定する。
【００４３】
ここで，本指令フィルタを用いると，Ｓ２で説明したように制御対象と制御演算部を合わせた全システムの振動は極零相殺により完全にキャンセルされ，新たに固有振動角周波数ωｓ，減衰＝０の振動根を持つシステムに変換される。ωｓの値は任意に設定可能であるので，入力する指令によって，システムが振動しないように固有振動角周波数ωｓを決定すれば，このシステムは全く振動せずに動作するのである。
【００４４】
ここで，式（４）に示すａを移動距離に依存する変数とした速度時間関数v(t)を用いて，ｋ＝１としたときに移動時間ｔｂを用いてωｓは式（６）のように計算される。
ωs=1.4303*2・π/tb                              （６）
【００４５】
次に，式（６）の導出方法を示す。
今指令を入力するシステムの伝達関数をＧ（ｓ）として式（７）のように，固有振動角周波数ωｓ，減衰＝０の２次遅れ系を考える。
G(s)=ωs2/(s2+ωs2)                              （７）
【００４６】
このようなシステムへ速度指令として式（４）に示す速度時間関数v(t)を入力した際の出力である速度ｖｙ（ｔ）は、式（８）に示す微分方程式を解くことで求めることができる。
vy(2)(t)+ωs2・vy(t)=ωs2・v(t)                    （８）
【００４７】
ｋ＝１とした時、式（８）の微分方程式を解きｖｙ（ｔ）を求めると式（９）のようになる。また、加速度αｙ(t)を速度ｖｙ(t)を時間微分して求めると式（１０）のようになる。
vy(t)={12ωs-6t2・ωs3+6t・tb・ωs3-12ωs・cos(t・ωs)
-6tb・ωs2・sin(t・ωs)}/(6・ωs5)    （９）
αy(t)={-12t・ωs3+6tb・ωs3-6tb・ωs3・cos(t・ωs)
+12ωs2・sin(t・ωs)}/(6・ωs5)       （１０）
【００４８】
ここで式（９）および式（１０）に対して時刻ｔ＝０および時刻ｔ＝ｔｂの時に，速度ｖｙおよび加速度αｙが０になるという境界条件を適用すると，式（１１）の関係が得られる。
cos(tb・ωs)={4-(tb・ωs)2}/{4+(tb・ωs)2}
sin(tb・ωs)=4(tb・ωs)/{4+(tb・ωs)2}
（１１）
【００４９】
すなわち，この条件を満たすｔｂとωｓの関係を求めれば、変数ｋ＝１の時に振動が発生しないようにできる。そして，式（１１）を解析的に求めることにより，式（６）が導出されるのである。
【００５０】
同様に，ｋ＝２，３の時は式（１２），式（１３）のような結果になる。
ωs=1.8354・2π/tb                              （１２）
ωs=2.2255・2π/tb                              （１３）
【００５１】
なお，ここでは解析的にｋとｔｂとωｓの関係を導出する方法を説明したが，各ｋの値に対して制御対象の振動が最も小さくなるような，前記ｔｂとωｓの関係をシミュレーションまたは実験により測定しておき，測定結果に基づきωｓを設定する方法を用いても良い。
【００５２】
本発明が従来技術と異なる部分は、指令を移動時間ｔｂと指令次数に関する変数ｋとａを移動距離に依存する変数とした特別な速度時間関数に基づいて演算し，指令フィルタとして，ｓをラプラス演算子とした時に，ωｓ，ωｃ，ζを変数とする２次の伝達関数の特性を有するフィルタとし，移動時間ｔｂと指令次数に関する変数ｋに基づいて指令フィルタの変数であるωｓを演算で求め，指令フィルタの変数であるωｃとζを制御系と制御対象を合わせた全システムを２次遅れ系で近似した際の固有角振動周波数と減衰係数に設定する部分である。
【００５３】
本発明を用いた時のシミュレーション結果を図９（ｃ）に示す。図から分かるように、本発明を用いれば，振動が抑制できると同時に，モータも滑らかに動作することができる。
【実施例２】
【００５４】
第２実施例では，指令関数として式（１４）で表されるａ１，ａ２ａｄを速度に依存する変数とした加減速度時間関数α(t) に基づいて指令演算を行う。ここで指令の払い出しを位置指令とする場合は，式（１４）の関数を２階時間積分して用いる。
加速期間    0≦t≦ta              α(t)=aｄ・tk・(ta-t)
一定速期間  ta≦t≦ta+tc          α(t)=0
減速機間    ta+tc≦t≦2ta+tc       α(t)=-aｄ・(t-ta-tc)k・(2ta+tc-t)k
（１４）
【００５５】
本指令を用いた場合は，実施例１と同様に，指令を入力するシステムの伝達関数をＧ（ｓ）として式（７）のように固有振動角周波数ωｓ，減衰＝０の２次遅れ系を考え，このシステムへ加速度指令として式（１４）に示す加速度時間関数α(t)を入力し，微分方程式を解き境界条件を適用して各ｋにおける加減速時間ｔａとωｓの関係を解析的に求める。ただし，この場合の境界条件としては，ｔ＝０およびｔ＝ｔａの時点で加速度と躍度がともに０となる条件を用いる。
【００５６】
この場合，結果としてｋ＝１，ｋ＝２，ｋ＝３のときに対応したｔａとωｓの関係式は，式（６），式（１２），式（１３）の移動時間ｔｂのところを加減速時間ｔａに変更したものになる。
【００５７】
このように、指令として加速，一定速，減速区間を場合わけした式（１４）の指令を用いることで，速度の最大値に制限がある場合や動作速度を指定されている場合も問題なく本発明を使用でき，実施例１の効果と同様の効果が得られる。
【実施例３】
【００５８】
図５は本発明の構成を示すブロック図である。図において１は指令条件設定部であり，指令条件である移動距離ｄｉｓｔと移動時間ｔｂと指令次数に関する変数ｋを設定する。
指令条件設定部ではさらに，後述する伝達特性ＧＦのパラメータであるωｃとζを設定する。ωｃとζは制御系と制御対象を合わせた全システムを２次遅れ系で近似した際の固有振動角周波数と減衰係数に設定する。２は指令演算部であり指令払い出しサンプリングごとの指令ｒｅｆを算出し出力する。６は指令定数演算部であり，移動速時間ｔｂと指令次数に関する変数ｋに基づいて指令フィルタの変数であるωｓを演算で求める。５は制御演算部であり，指令ｒｅｆおよび制御対象１００に付加された検出器２００で検出されたモータ位置ｘｆｂを入力し，位置・速度制御を行いトルク指令ｔｒｅｆを出力する。  
【００５９】
ωｃおよびζを設定する方法として，設計値を使用するか，制御部の入力から制御対象の出力までの周波数特性を測定し，測定した周波数応答波形と２次遅れ系の周波数応答波形が一致するようにωｃおよびζを調整して設定しても良い。また，シミュレーションあるいは実機応答を確認しながらωｃとζを調整し，最も振動が小さくなる値に設定しても良い。
【００６０】
本発明が実施例１、２と異なる部分は、指令を作成し，指令フィルタに通すのではなく，指令フィルタの特性も有した時間関数を指令として使用する部分である。
以下，実際に指令演算部で作成する指令に関して詳細を説明する。
ここでは，次数を決定するハ゜ラメーラｋは１として説明するが，ｋが変わった場合も同様の方法で指令を作成することが可能である。
【００６１】
ｋ＝１のとき速度関数v(t)は式（１５）で表される。
v(t)=ａ・ｔ・（ｔｂ−ｔ）               （１５）
ここで、ａは移動距離ｄｉｓｔから自動的に計算される。
a  =  ｄｉｓｔ＊6/tb^3。
ここで式（１５）をラプラス変換し、式（１６）を導出する。
V(s)=a・（（tb/ｓ2）-（2/s2））            （１６）
一方、伝達特性ＧＦ（ｓ）は式（１７）にように表される。
GF(s)=（ωs2/ωc2）（s2+2ζωc+ωc2）/（s2＋ωs2）      （１７）
【００６２】
ここで、振動周波数ωcと減衰係数ζは調整パラメータであり，ωsは移動時間tbと次数ｋから自動的に算出する。ωsの算出方法は後述する。
式（１６）と式（１７）を乗算し、さらに、速度を位置にするため積分を乗じ式（１８）を得る。
【００６３】
【数１】
2010207011.tif 000003
式（１８）を逆ラプラス変換することにより、式（１９）の位置の時間関数が求まる。
【００６４】
【数２】
2010207011.tif 000004
実装の際は、指令演算周期ごとに式（７）の時間ｔのところに、ｎ＊Tsを代入して位置指令を算出する。ｎは自然数である。
ここで，式（１６）に示す速度時間関数v(t)を用いて，ｋ＝１としたときに移動時間ｔｂを用いてωｓは式（２０）のように計算される。
ωs=1.4303*2・π/tb          （２０）
【００６５】
次に，式（２０）の導出方法を示す。
今指令を入力するシステムの伝達関数をＧ（ｓ）として式（２１）のように，固有振動角周波数ωｓ，減衰＝０の２次遅れ系を考える。
G(s)=ωs2/(s2+ωs2)            （２１）
このようなシステムへ速度指令として式（１６）に示す速度時間関数v(t)を入力した際の出力である速度ｖｙ（ｔ）は、式（２２）に示す微分方程式を解くことで求めることができる。
vy(2)(t)+ωs2・vy(t)=ωs2・v(t)    （２２）
【００６６】
ｋ＝１とした時、式（２２）の微分方程式を解きｖｙ（ｔ）を求めると式（２３）のようになる。また、加速度αｙ(t)を速度ｖｙ(t)を時間微分して求めると式（２４）のようになる。
vy(t)={12ωs-6t2・ωs3+6t・tb・ωs3-12ωs・cos(t・ωs)-6tb・ωs2・sin(t・ωs)}/(6・ωs5)   （２３）
αy(t)={-12t・ωs3+6tb・ωs3-6tb・ωs3・cos(t・ωs)+12ωs2・sin(t・ωs)}/(6・ωs5)   
(２４)
ここで式（２３）および式（２４）に対して時刻ｔ＝０および時刻ｔ＝ｔｂの時に，速度ｖｙおよび加速度αｙが０になるという境界条件を適用すると，式（２５）の関係が得られる。
cos(tb・ωs)={4-(tb・ωs)2}/{4+(tb・ωs)2}
sin(tb・ωs)=4(tb・ωs)/{4+(tb・ωs)2}
（２５）
【００６７】
すなわち，この条件を満たすｔｂとωｓの関係を求めれば、変数ｋ＝１の時に振動が発生しないようにできる。そして，式（２５）を解析的に求めることにより，式（２０）が導出されるのである。
同様に，ｋ＝２，３の時は式（２６），式（２７）のような結果になる。
ωs=1.8354・2π/tb      （２６）
ωs=2.2255・2π/tb      （２７）
【００６８】
なお、ここでは解析的にｋとｔｂとωｓの関係を導出する方法を説明したが，各ｋの値に対して制御対象の振動が最も小さくなるような，前記ｔｂとωｓの関係をシミュレーションまたは実験により測定しておき，測定結果に基づきωｓを設定する方法を用いても良い。
【実施例４】
【００６９】
図２は第４実施例の構成を示す図である。本実施例が実施例３と異なるのは，指令が加速，一定速度，減速区間に場合わけされた指令を用いるところである。
ｋ＝１のとき加速度関数α（ｔ）は式（２８）で表される。
α(t)＝a・t・（ta-t）                （２８）
ここで、ａは移動速度Ｖから自動的に計算される。
a  =  Ｖ＊6/tb^3
式（１６）をラプラス変換し、式（２９）を導出する。
α(s)=a・(ta/s2-2/s3)      （２９）
一方、伝達特性ＧＦ（ｓ）は式（３０）にように表される。
GF(s)=(ωs2/ωc2)・(s2+2・ζ・ωc・s+ωc2)/(s2+ωs2)      （３０）
【００７０】
ここで、振動周波数ωcと減衰係数ζは調整パラメータであり，ωsは移動時間tbと次数ｋから自動的に算出する。        
式（２９）と式（３０）を乗算し、さらに、加速度を位置にするため２階積分を乗じ式（３１）を得る。
【００７１】
【数３】
2010207011.tif 000005
式（３１）を逆ラプラス変換することにより、式（３２）の位置の時間関数が求まる。
【００７２】
【数４】
2010207011.tif 000006
実装の際は、指令演算周期ごとに式（３２）の時間ｔのところに、ｎ＊Tsを代入して位置指令を算出する。ｎは自然数である。
【００７３】
本指令を用いた場合は，実施例１と同様に，指令を入力するシステムの伝達関数をＧ（ｓ）として式（２１）のように固有振動角周波数ωｓ，減衰＝０の２次遅れ系を考え，このシステムへ加速度指令として式（１６）に示す加速度時間関数α(t)を入力し，微分方程式を解き境界条件を適用して各ｋにおける加減速時間ｔａとωｓの関係を解析的に求める。
ただし，この場合の境界条件としては，ｔ＝０およびｔ＝ｔａの時点で加速度と躍度がともに０となる条件を用いる。
【００７４】
この場合，結果としてｋ＝１，ｋ＝２，ｋ＝３のときに対応したｔａとωｓの関係式は，式（２０），式（２６），式（２７）の移動時間ｔｂのところを加減速時間ｔａに変更したものになる。
ｋ＝１のときの結果を式（３３）に示す。
ωs=1.4303*2・π/ta        （３３）
このように、指令として加速，一定速，減速区間を場合わけした式（３２）の指令を用いることで，速度の最大値に制限がある場合や動作速度を指定されている場合も問題なく本発明を使用でき，実施例１の効果と同様の効果が得られる。
【００７５】
具体的に式（３２）を用い，速度Ｖと加速時間ｔａ１、一定速度時間ｔｃ、減速時間ｔａ２として場合わけしたときの式を以下に示しておく。
加速時は式（３２）と式（３３）のｔａをｔａ１としてｒｅｆ１（ｔ）とし，減速時は式（３２）と式（３３）のｔａをｔａ２としてｒｅｆ２（ｔ）とする。
これらを用い場合わけした式を式（３４）に示す。
加速  0≦t≦ta1                ref1(t)
定速  ta1≦t≦ta1+tc           V(ta1・ωc+4・ζ)/2ωc+V(t-ta1)
減速  ta1+tc≦t≦ta1+tc+ta2    V(ta1・ωc+4・ζ)/2ωc+V・tc+V(t-ta1-tc)
-ref2(t-ta1-tc)
（３４）
【符号の説明】
【００７６】
１  指令条件設定部
２  指令演算部
３  指令フィルタ演算部
４  フィルタ定数演算部
５  制御演算部
６  指令定数演算部
１００  制御対象
２００  検出器
３１  位置制御比例制御部
３２  速度制御比例制御部
３３  速度制御積分制御部
３４  慣性モーメントノミナル値乗算部
３５  微分演算部
６１  位置指令振幅設定部
６２  Ｓ字位置指令発生部
６３  プレフィルタ
６５  速度・位置制御部
６６  モータから負荷の伝達関数
【図１】
2010207011.tif 000007
【図２】
2010207011.tif 000008
【図３】
2010207011.tif 000009
【図４】
2010207011.tif 000010
【図５】
2010207011.tif 000011
【図６】
2010207011.tif 000012
【図７】
2010207011.tif 000013
【図８】
2010207011.tif 000014
【図９】
2010207011.tif 000015