(57)【特許請求の範囲】
【請求項１】
サーボモータを制御するための、周期信号である第１指令値と、該サーボモータからの第１検出値との差を求める第１の減算器と、
該第１の減算器の出力を積分し、第１の係数を乗算した積分項を作成する積分項作成部と、
前記第１指令値を所定の周期で内分する内分処理部と、
前記内分処理部の出力と、前記第１検出値との差を求める第２の減算器と、
前記第２の減算器の出力に第２の係数を乗算した比例項を作成する比例項作成部と、
前記積分項作成部の出力と前記比例項作成部の出力とを加算して、前記サーボモータを制御するための第２指令値として出力する第１の加算器と、
を備え、
前記比例項作成部で計算する計算周期は、前記積分項作成部で計算する計算周期よりも短い、サーボ制御装置。
【請求項２】
前記内分処理部は、前記第１指令値の更新周期で変化した量を、前記比例項作成部で計算する計算周期で分割する、請求項１に記載のサーボ制御装置。
【請求項３】
サーボモータを制御するための第３指令値を微分し、その微分値に第３の係数を乗算してフィードフォワード項を作成するフィードフォワード項作成部と、
前記第３指令値と前記サーボモータからの第２検出値との差を求める第３の減算器と、
前記第３の減算器の出力からフィードバック項を作成するフィードバック項作成部と、
前記フィードフォワード項作成部の出力に対してタイミングを調整するタイミング調整部と、
前記フィードフォワード項作成部の出力と前記フィードバック項作成部の出力とを加算して、前記第１指令値として前記第１の減算器に出力する第２の加算器と、
前記タイミング調整部の出力と前記フィードバック項作成部の出力とを加算して、タイミング調整された前記第１指令値として前記内分処理部に出力する第３の加算器と、
を更に備えた、請求項１又は２に記載のサーボ制御装置。
【請求項４】
前記タイミング調整部は、前記内分処理部の遅れ量だけタイミングを進める、請求項３に記載のサーボ制御装置。
【請求項５】
前記第１指令値及びタイミング調整された前記第１指令値は速度指令値、前記第１検出値は速度検出値、第２指令値は電流指令値、前記第３指令値は位置指令値、前記第２検出値は位置検出値である、請求項３又は４に記載のサーボ制御装置。
【請求項６】
サーボモータを制御するための、周期信号である第１指令値と、該サーボモータからの第１検出値との第１の差を求め、
前記第１の差を積分し、第１の係数を乗算した積分項を作成し、
前記第１指令値を所定の周期で内分し、
前記内分した値と、前記第１検出値との第２の差を求め、
前記第２の差に第２の係数を乗算した比例項を作成し、
前記積分項と前記比例項とを加算して、前記サーボモータを制御するための第２指令値として出力し、
前記比例項を計算する計算周期は、前記積分項を計算する計算周期よりも短い、サーボ制御装置のサーボ制御方法。
【請求項７】
サーボモータを制御するための第３指令値を微分し、その微分値に第３の係数を乗算してフィードフォワード項を作成し、
前記第３指令値と前記サーボモータからの第２検出値との第３の差を求め、
前記第３の差からフィードバック項を作成し、
前記フィードフォワード項のタイミングを調整し、
前記フィードフォワード項と前記フィードバック項とを加算して、前記第１指令値として出力し、
タイミング調整されたフィードフォワード項と前記フィードバック項とを加算して、タイミング調整された前記第１指令値として出力する請求項６に記載のサーボ制御方法。
【請求項８】
サーボ制御装置としてのコンピュータに、
請求項６又は７に記載のサーボ制御方法を実行させる、サーボ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速計算される比例項にフィルタを付加したサーボ制御装置、サーボ制御方法及びサーボ制御プログラムに関し、特にサーボモータの電流制御に好適に用いられるサーボ制御装置、サーボ制御方法及びサーボ制御プログラムに関する。
【背景技術】
【０００２】
サーボ制御装置としては、例えば特許文献１に記載された構成がある。特許文献１では、電動機等の負荷の電流制御を行う制御装置において、所定の周期毎に１回の演算を行い、電流指令値と電流出力値との電流誤差に基づく積分制御演算処理により電圧指令積分項を算出する低速演算部と、この低速演算部の周期より短い周期毎に１回の演算を行い、電流誤差に基づく比例制御演算処理により電圧指令比例項を算出し、電圧指令積分項と電圧指令比例項との加算処理により電圧指令値を作成する高速演算部とを備えることの記載がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２９６０５５号公報（要約、図１等）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のサーボ制御装置において、比例項が処理される周期と、サーボ制御装置に入力される第１の指令値（例えば、上記電流指令値が対応する）が更新される周期が異なるため、サーボ制御装置から出力される第２の指令値（例えば上記電圧指令値が対応する）は、偏差の一番大きな第１の指令値の変更直後の値が大きく、次の第１の指令値が変更されるまで小さくなっていく。そのために、第１の指令値の更新周期に応じて、第２の指令値が振動する。
【０００５】
本発明は、サーボ制御装置からサーボモータを制御するために出力される指令値の振動を抑制することができるサーボ制御装置、サーボ制御方法及びサーボ制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係わるサーボ制御装置は、サーボモータを制御するための、周期信号である第１指令値と、該サーボモータからの第１検出値との差を求める第１の減算器（例えば、後述の減算器１−１）と、該第１の減算器の出力を積分し、第１の係数を乗算した積分項を作成する積分項作成部（例えば、後述の積分項作成部２）と、前記第１指令値を所定の周期で内分する内分処理部（例えば、後述の内分処理部５）と、前記内分処理部の出力と、前記第１検出値との差を求める第２の減算器（例えば、後述の減算器１−２）と、前記第２の減算器の出力に第２の係数を乗算した比例項を作成する比例項作成部（例えば、後述の比例項作成部３）と、前記積分項作成部の出力と前記比例項作成部の出力とを加算して、前記サーボモータを制御するための第２指令値として出力する第１の加算器（例えば、後述の加算器４）と、を備え、前記比例項作成部で計算する計算周期は、前記積分項作成部で計算する計算周期よりも短い、サーボ制御装置である。
【０００７】
前記内分処理部は、前記第１指令値の更新周期で変化した量を、前記比例項作成部で計算する計算周期で分割するものであってよい。
【０００８】
本発明に係わるサーボ制御装置は、サーボモータを制御するための第３指令値を微分し、その微分値に第３の係数を乗算してフィードフォワード項を作成するフィードフォワード項作成部（例えば、後述のフィードフォワード項作成部６）と、前記第３指令値と前記サーボモータからの第２検出値との差を求める第３の減算器（例えば、後述の減算器７）と、前記第３の減算器の出力からフィードバック項を作成するフィードバック項作成部（例えば、後述のフィードバック項作成部８）と、前記フィードフォワード項作成部の出力に対してタイミングを調整するタイミング調整部（例えば、後述のタイミング調整部１０）と、前記フィードフォワード項作成部の出力と前記フィードバック項作成部の出力とを加算して、前記第１指令値として前記第１の減算器に出力する第２の加算器（例えば、後述の加算器９−１）と、前記タイミング調整部の出力と前記フィードバック項作成部の出力とを加算して、タイミング調整された前記第１指令値として前記内分処理部に出力する第３の加算器（例えば、後述の加算器９−２）と、を更に備えていてよい。
【０００９】
前記タイミング調整部は、前記内分処理部の遅れ量だけタイミングを進めるものであってよい。
【００１０】
前記第１指令値及びタイミング調整された前記第１指令値は速度指令値、前記第１検出値は速度検出値、第２指令値は電流指令値、前記第３指令値は位置指令値、前記第２検出値は位置検出値であってよい。
【００１１】
本発明に係わるサーボ制御装置のサーボ制御方法は、サーボモータを制御するための、周期信号である第１指令値と、該サーボモータからの第１検出値との第１の差を求め、前記第１の差を積分し、第１の係数を乗算した積分項を作成し、前記第１指令値を所定の周期で内分し、前記内分した値と、前記第１検出値との第２の差を求め、前記第２の差に第２の係数を乗算した比例項を作成し、前記積分項と前記比例項とを加算して、前記サーボモータを制御するための第２指令値として出力し、前記比例項を計算する計算周期は、前記積分項を計算する計算周期よりも短い、サーボ制御装置のサーボ制御方法である。
【００１２】
本発明に係わるサーボ制御装置のサーボ制御方法は、サーボモータを制御するための第３指令値を微分し、その微分値に第３の係数を乗算してフィードフォワード項を作成し、前記第３指令値と前記サーボモータからの第２検出値との第３の差を求め、前記第３の差からフィードバック項を作成し、前記フィードフォワード項のタイミングを調整し、前記フィードフォワード項と前記フィードバック項とを加算して、前記第１指令値として出力し、タイミング調整されたフィードフォワード項と前記フィードバック項とを加算して、タイミング調整された前記第１指令値として出力するものであってよい。
【００１３】
本発明に係わるサーボ制御プログラムは、サーボ制御装置としてのコンピュータに、上記本発明に係わるサーボ制御方法を実行させる、サーボ制御プログラムである。
【発明の効果】
【００１４】
本発明によれば、サーボ制御装置を制御するための第１指令値を所定の周期で内分することで、サーボ制御装置からサーボモータ制御のために出力される第２指令値の振動を抑制することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明に係わる第１の実施形態のサーボ制御装置を示すブロック図である。
【図２Ａ】第１の実施形態のサーボ制御装置の動作を示すフローチャートである。
【図２Ｂ】第１の実施形態のサーボ制御装置の動作を示すフローチャートである。
【図３Ａ】第１の実施形態のサーボ制御装置による効果を説明する図である。
【図３Ｂ】第１の実施形態のサーボ制御装置による効果を説明する図である。
【図４】本発明に係わる第２の実施形態のサーボ制御装置を示すブロック図である。
【図５】第２の実施形態のサーボ制御装置の動作を示すフローチャートである。
【図６】第２の実施形態のサーボ制御装置の動作を示すフローチャートである。
【図７Ａ】第２の実施形態のサーボ制御装置による効果を説明する図である。
【図７Ｂ】第２の実施形態のサーボ制御装置による効果を説明する図である。
【図８】本発明に係わる第１の実施例のサーボ制御装置を示すブロック図である。
【図９】本発明に係わる第２の実施例のサーボ制御装置を示すブロック図である。
【図１０】第１の前提技術のサーボ制御装置の構成を示すブロック図である。
【図１１】第２の前提技術のサーボ制御装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について図面を用いて詳細に説明する。
本発明の実施形態の説明に先立って、本発明に係わるサーボ制御装置に到る前提となる技術について説明する。以下の第１及び第２の前提技術の説明においては代表的な例としてサーボモータのサーボ制御装置を取り上げて説明する。
【００１７】
（第１の前提技術）
図１０は第１の前提技術のサーボ制御装置の構成を示すブロック図である。図１０において、制御対象となるサーボモータに対する位置指令値は減算器１３と微分器１１とに入力される。微分器１１で位置指令値が微分され、係数乗算器１２で微分値に係数を乗算する。減算器１３で位置指令値とサーボモータから位置出力値との差が求められる。位置指令値と位置検出値との差が位置制御ゲイン１４に入力される。微分器１１及び係数乗算器１２は速度指令値のフィードフォワード項を作成するフィードフォワード項作成部となる。位置制御ゲイン１４はサーボモータに対する速度指令値のフィードバック項を作成するフィードバック項作成部となる。
【００１８】
サーボモータに対する速度指令値は、位置制御ゲイン１４から出力される値（フィードバック項となる）と、係数乗算器１２から出力される値（フィードフォワード項となる）とを加算器１５で加算して得られる。つまり、速度指令値はフィードバック項とフィードフォワード項との和となる。微分器１１、係数乗算器１２、減算器１３、位置制御ゲイン１４、及び加算器１５は位置制御ループを構成する。
【００１９】
速度指令値と、サーボモータからの速度検出値との差が減算器２１によって求められ、その差が積分器２２及び比例ゲイン２４にそれぞれ入力される。積分器２２の積分値は積分ゲイン２３で係数が乗算される。比例ゲイン２４で速度指令値と速度検出値との差に係数が乗算される。加算器２５で積分ゲイン２３の出力値と比例ゲイン４３の出力値とが加算され、その加算値がサーボモータに対する電流指令値となる。サーボモータへ電流指令値で指令した電流を流すことでサーボモータを制御する。減算器２１、積分器２２、積分ゲイン２３、比例ゲイン２４、及び加算器２５は速度制御ループを構成する。
【００２０】
（第２の前提技術）
図１１は第２の前提技術のサーボ制御装置の構成を示すブロック図である。図１１に示すサーボ制御装置と図１０に示した第１の前提技術のサーボ制御装置との違いは、速度指令値と速度検出値との差を求める２つの減算器２１−１，２１−２を設け、第１減算器２１−１、積分器２２及び積分ゲイン２３で構成され、第１周期で処理を実行する領域（積分項作成部となる）と、第２減算器２１−２及び比例ゲイン２４で構成され、第１周期よりも短い第２周期で処理を実行する領域（比例項作成部となる）とがある点である。つまり、比例項作成部を計算する計算周期は、積分項作成部が計算する計算周期よりも短くされている。
【００２１】
サーボモータを制御するサーボ制御装置において、通常、電流指令値を使用した電流制御は、速度指令値を作成する位置制御ループよりも高速で処理されている。速度指令値と速度検出値とから電流指令値を作成する速度制御ループは、積分項作成部と比例項作成部とを持っている。速度制御ループの発振限界は遅れ時間により決まり、遅れ時間は、速度検出値を取り込んでから電流指令値を出力するまでの時間となる。
【００２２】
この遅れ時間を短くするためには、速度制御ループを実行する周期を短くすることが求められる。しかし、短くするためには制御を実行するプロセッサに、高い計算処理能力が要求されることになる。
【００２３】
通常、積分項作成部は、比例項作成部よりも応答性が遅くなる。そこで、第２の前提技術におけるサーボ制御装置では、より応答性が高い比例項の計算のみを短い周期で実行することにより、処理時間の増加を抑えつつ、高い応答性を得ている。
【００２４】
以上、第１及び第２の前提技術について説明したが、第２の前提技術においても改善されるべき点が残されている。第２減算器２１−２、比例ゲイン２４によって比例項が処理される周期と、速度指令値が更新される周期が異なるため、電流指令値は速度偏差の一番大きな速度指令値の変更直後の値が大きく、次の速度指令値が変更されるまで小さくなっていく。
【００２５】
そのため、速度指令値の更新周期に応じて電流指令値が振動する。この振動は、例えば、速度指令値が２ｍｓで更新されたときには５００Ｈｚの、１ｍｓで更新されたときには１ｋＨｚの、０．５ｍｓで更新されたときには２ｋＨｚの外乱として働く。
【００２６】
このような、速度指令値の更新周期に応じた電流指令値の振動は、速度指令値を比例項の周期で内分する本発明の構成により改善される。
【００２７】
以下、本発明の一実施形態について図面を用いて説明する。実施形態の説明において、第１及び第２検出値は制御対象から得られる。第１指令値と第１検出値は同じ種類の値であり、制御対象がサーボモータの場合、例えば、第１指令値は速度指令値、第１検出値は速度検出値である。また、第３指令値と第２検出値は同じ種類の値であり、制御対象がサーボモータの場合、例えば、第３指令値は位置指令値、第２検出値は位置検出値である。制御対象がサーボモータの場合、例えば、第２指令値は電流指令値となり、サーボモータへ電流指令値で指令した電流を流すことでサーボモータを制御することができる。
【００２８】
（第１の実施形態）
本実施形態では、第１指令値を比例項の周期で内分するために内分処理部を設けている。なお、内分処理部は第１指令値の更新周期で変化した量を、比例項作成部で計算する計算周期で分割することが望ましい。
【００２９】
図１は本発明に係わる第１の実施形態のサーボ制御装置を示すブロック図である。図１に示すように、本実施形態のサーボ制御装置は減算器１−１（第１の減算器となる）、減算器１−２（第２の減算器となる）、積分項作成部２、比例項作成部３、加算器４（第１の加算器となる）、及び内分処理部５を備えている。積分項作成部２は入力を積分し係数を乗算した積分項を作成し、比例項作成部３は入力に係数を乗算した比例項を作成する。
【００３０】
図２Ａは内分処理部５、減算器１−２、比例項作成部３、及び加算器４の動作を示すフローチャートであり、図２Ｂは減算器１−１及び積分項作成部２の動作を示すフローチャートである。第１指令値は減算器１−１と内分処理部５に入力されて図２Ａ、図２Ｂの処理が開始される。
【００３１】
制御対象に対する第１指令値が内分処理部５に入力されると、内分処理部５は第１指令値を比例項作成部３の周期で内分する（ステップＳ１０１）。内分処理部５の出力と制御対象からの第１検出値との差が減算器１−２によって求められ（ステップＳ１０２）、その差が比例項作成部３に入力される。比例項作成部３は比例項を作成して、加算器４に出力する（ステップ１０３）。加算器４は積分項作成部２の出力値と比例項作成部３の出力値とを加算し、その加算値を、制御対象を制御するための第２指令値として出力する（ステップＳ１０４）。その後、第１指令値が更新されたかどうかを判断し（ステップＳ１０５）、更新された場合はステップ１０２に戻り、更新されず、処理が終了しない場合（ステップＳ１０６のｎｏ）にはステップＳ１０５に戻る。
【００３２】
また制御対象に対する第１指令値が内分処理部５に入力されると同時に、減算器１−１に入力されると、第１指令値と、第１検出値との差が減算器１−１によって求められ（ステップＳ２０１）、その差が積分項作成部２に入力される。積分項作成部２は積分項を作成して加算器４に出力する（ステップ２０２）。加算器４は上述したステップＳ１０４の処理を行う。その後、第１指令値が更新されたかどうかを判断し（ステップＳ２０３）、更新された場合はステップ２０１に戻り、更新されず、処理が終了しない場合（ステップＳ２０４のｎｏ）にはステップＳ２０３に戻る。
なお、以上説明した図２Ａ、図２Ｂのフローチャートにおいて、第１指令値の更新は同時である。
【００３３】
内分処理部５は、比例項の作成に使用される第１指令値のみにかかっている。このように、第１指令値を比例項の周期で内分することで、第１指令値の振動が小さくなる。また、周波数が高くなるため、制御対象が振動に応答しにくくなる。
【００３４】
図３Ａは内分処理部が設けられておらず、第１指令値の更新周期で第２指令値の振動が大きく発生する様子を示している。図３Ｂは内分処理部を設けることで、第１指令値が比例項の周期で内分され、第２指令値の振動振幅が小さくなり、周期も短くなる様子を示している。
【００３５】
（第２の実施形態）
図４は本発明に係わる第２の実施形態のサーボ制御装置を示すブロック図である。図４に示すように、本実施形態のサーボ制御装置は図１に示した第１実施形態のサーボ制御装置の構成に加えて、減算器７、フィードフォワード項作成部６、フィードバック項作成部８、加算器９−１，９−２、及びタイミング調整部１０を備えている。図１のサーボ制御装置の構成と同一構成部については同一符号を付する。
【００３６】
第１の実施形態のサーボ制御装置においては、内分処理部で第１指令値の増分を時間で分配しているが、その内分処理のために第２指令値に遅れが発生する。
【００３７】
第１の検出値のフィードバックから求められる積分項及び比例項は時間を進めることはできないが、制御対象を制御するための第３指令値から作成されるフィードフォワード項は、加工プログラムの先読みにより未来の第３指令値が分かっているため、時間を進めることができる。
本実施形態は、高速で処理する比例項の遅れがなくなるように、フィードフォワード項のタイミングを内分処理部での遅れを考慮して調整するタイミング調整部１０を設けている。
【００３８】
制御対象を制御するための第３指令値はフィードフォワード項作成部６及び減算器７に入力される。減算器７は第３指令値と制御対象からの第２検出値との差を求め、フィードバック項作成部８に入力する。減算器１−１に入力する第１の指令値は、フィードフォワード項作成部６の出力（フィードフォワード項）とフィードバック項作成部８の出力（フィードバック項）とを加算器９−１で加算することで作成される。一方、内分処理部５に入力する第４の指令値は、フィードフォワード項作成部６の出力をタイミング調整部１０で調整し、タイミング調整部１０の出力とフィードバック項作成部８の出力とを加算器９−２で加算することで作成される。第４の指令値はタイミング調整された第１指令値となる。
【００３９】
図５はフィードフォワード項作成部６、フィードバック項作成部８、タイミング調整部１０、加算器９−２、内分処理部５、減算器１−２、比例項作成部３及び加算器４の動作を示すフローチャートであり、図６はフィードフォワード項作成部６、フィードバック項作成部８、加算器９−１、減算器１−１及び積分項作成部２の動作を示すフローチャートである。第３指令値は減算器７とフィードフォワード項作成部６に入力されて図５、図６の処理が開始される。なお、図５のステップＳ１０１からＳ１０４までは第１指令値が第４指令値に置き換わっている点を除いて図２ＡのステップＳ１０１からＳ１０４と同じなので、同符号を用いている。
【００４０】
図５に示すように、制御対象に対する第３指令値がフィードフォワード項作成部６と減算器７に入力され（ステップＳ１０８）、フィードフォワード項作成部６でフィードフォワード項が作成され、タイミング調整部１０がフィードフォワード項作成部６の出力のタイミングを調整する（ステップＳ１０９）。減算器７は第３指令値と制御対象からの第２検出値との差を求め、フィードバック項作成部８に入力する。加算器９−２はタイミング調整部１０の出力とフィードバック項作成部８の出力を加算し、第４指令値として出力する。第４指令値が内分処理部５に入力されると、内分処理部５は第４指令値を比例項作成部３の周期で内分する（ステップＳ１０１）。内分処理部５の出力と制御対象からの第１検出値との差が減算器１−２によって求められ（ステップＳ１０２）、その差が比例項作成部３に入力される。比例項作成部３は比例項を作成して、加算器４に出力する（ステップ１０３）。加算器４は積分項作成部２の出力値と比例項作成部３の出力値とを加算し、その加算値を、制御対象を制御するための第２指令値として出力する（ステップＳ１０４）。その後、第３指令値が更新されたかどうかを判断し（ステップＳ１０７）、更新された場合はステップ１０８に戻り、更新されず、処理が終了しない場合（ステップＳ１０６のｎｏ）にはステップＳ１０７に戻る。
【００４１】
また図６に示すように、制御対象に対する第３指令値がフィードフォワード項作成部６と減算器７に入力され（ステップＳ２０６）、減算器７は第３指令値と制御対象からの第２検出値との差を求め、フィードバック項作成部８に入力する。加算器９−１はフィードフォワード項作成部６の出力とフィードバック項作成部８の出力を加算し、第１指令値として出力する。制御対象に対する第１指令値が減算器１−１に入力されると、第１指令値と、第１検出値との差が減算器１−１によって求められ（ステップＳ２０１）、その差が積分項作成部２に入力される。積分項作成部２は積分項を作成して加算器４に出力する（ステップ２０２）。加算器４は上述したステップＳ１０４の処理を行う。その後、第３指令値が更新されたかどうかを判断し（ステップＳ２０５）、更新された場合はステップ２０６に戻り、更新されず、処理が終了しない場合（ステップＳ２０４のｎｏ）にはステップＳ２０５に戻る。なお、以上説明した図５、図６のフローチャートにおいて、第３指令値の更新は同時である。
【００４２】
図７Ａは図１のサーボ制御装置と同様にタイミング調整されていない第１指令値と、内分後の第１指令値とのタイミングを示している。図７Ｂはタイミング調整されていない第１指令値と、タイミング調整された第４指令値を内分した後の第４指令値とのタイミングを示している。タイミング調整部で時間を進めることで、内分処理部での遅れを解消することができる。
【実施例】
【００４３】
以下、本発明の実施例について説明する。
【００４４】
（第１の実施例）
本実施例のサーボ制御装置は図１に示したサーボ制御装置を用いたものであり、第１指令値を比例項の周期で内分するための内分処理部としてフィルタを設けている。
【００４５】
図８は本発明に係わる第１の実施例のサーボ制御装置を示すブロック図である。本実施例の構成は、図１１に示す第２の前提技術のサーボ制御装置にフィルタ１６を追加した構成となっており、フィルタ１６で速度指令値を比例項の周期で内分している。フィルタ１６は、比例項の作成に使用される速度指令値のみにかかっている。このように、速度指令値を比例項の周期で内分することで、速度指令値の振動が小さくなるため機械を揺らしにくくなる。また、周波数が高くなるため、機械が振動に応答しにくくなる。速度指令値の振動が小さくなること、周波数が高くなることは、ともに機械を揺らしにくい方向に影響する。
【００４６】
本実施形態の減算器２１−１、２１−２は図１のサーボ制御装置の減算器１−１、１−２に対応し、積分器２２、積分ゲイン２３は図１のサーボ制御装置の積分項作成部２に対応し、比例ゲイン２４は図１のサーボ制御装置の比例項作成部３に対応している。速度指令値、速度検出値、電流検出値は図１のサーボ制御装置の第１指令値、第１検出値、第２指令値に対応している。
【００４７】
本実施例のサーボ制御装置は図１に示したサーボ制御装置と同じ効果を得ることができる。すなわち、少ない計算処理で応答性を高めるために、速度制御ループの比例項を積分項よりも短い周期で更新し、かつ、比例項の更新周期で速度指令値を内挿することで、電流指令値の更新周期での振動を低減することができる。
【００４８】
（第２の実施例）
図９は本発明に係わる第２の実施例のサーボ制御装置を示すブロック図である。本実施例のサーボ制御装置は図４に示した第２の実施形態のサーボ制御装置に対応するものであり、本実施例のサーボ制御装置は図８に示した第１の実施例のサーボ制御装置の構成に加えて、加算器１５の代わりに設けられた加算器１５−１，１５−２、及びタイミング調整部１７を備えている。図８のサーボ制御装置の構成と同一構成部については同一符号を付する。
【００４９】
位置指令値は微分器１１及び減算器１３に入力される。減算器１３は位置指令値とサーブモータからの位置検出値との差を求め、位置制御ゲイン１４に入力する。微分器１１は位置指令値を微分し、係数乗算器１２は微分値に係数を乗算する。
【００５０】
減算器２１−１に入力する速度指令値は係数乗算器１２の出力と位置制御ゲイン１４の出力とを加算器１５−１で加算することで作成される。一方、フィルタ１６に入力する速度指令値は係数乗算器１２の出力をタイミング調整部１７で調整し、タイミング調整部１０の出力と位置制御ゲイン１４の出力とを加算器１５−２で加算することで作成される。
【００５１】
本実施形態の微分器１１と係数乗算器１２とは図４のサーボ制御装置のフィードフォワード項作成部６に対応し、位置制御ゲイン１４は図４のサーボ制御装置のフィードバック項作成部８に対応し、タイミング調整部１７は図４のサーボ制御装置のタイミング調整部１０に対応し、フィルタ１６は図４のサーボ制御装置の内分処理部５に対応している。位置指令値、位置検出値、速度指令値、速度検出値、電流検出値は図４のサーボ制御装置の第３指令値、第２検出値、第１及び第４指令値（タイミング調整された第１指令値となる）、第１検出値、第２指令値に対応している。
【００５２】
本実施例のサーボ制御装置は図４に示したサーボ制御装置と同じ効果を得ることができる。すなわち、第１の実施例のサーボ制御装置においては、フィルタを用いて速度指令の増分を時間で分配しているが、フィルタの内分処理により電流指令値に遅れが発生する場合がある。本実施例では、タイミング調整部で、フィードフォワード項のタイミングをフィルタでの遅れを考慮して時間を進めることで、フィルタでの遅れを解消することができる。
【００５３】
以上説明した実施形態のサーボ制御装置の全部又は一部は、ハードウェア、ソフトウェア又はこれらの組合せにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。ハードウェアで構成する場合、図１、図４の実施形態及び図８及び図９の実施例に示す、サーボ制御装置の一部又は全部を、例えば、ＬＳＩ(Large  Scale  Integrated  circuit)、ＡＳＩＣ(Application  Specific  Integrated  Circuit)、ゲートアレイ、ＦＰＧＡ(Field  Programmable  Gate  Array)等の集積回路（ＩＣ）で構成することができる。
【００５４】
サーボ制御装置の全部又は一部をソフトウェアで構成する場合、図２、図５及び図６のフローチャートで示されるサーボ制御装置の動作の全部又は一部を記述したプログラムを記憶した、ハードディスク、ＲＯＭ等の記憶部、演算に必要なデータを記憶するＤＲＡＭ、ＣＰＵ、及び各部を接続するバスで構成されたコンピュータにおいて、演算に必要な情報をＤＲＡＭに記憶し、ＣＰＵで当該プログラムを動作させることで実現することができる。この場合、図２Ａと図２Ｂとの処理、図５と図６との処理は並列処理されるがマルチプロセッサやマルチコアを備えたコンピュータで処理を行うことができる。
【００５５】
プログラムは、様々なタイプのコンピュータ可読媒体（computer  readable  medium）を用いて格納され、コンピュータに供給することができる。コンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible  storage  medium）を含む。コンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ（Read  Only  Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable  ROM）、ＥＰＲＯＭ（Erasable  PROM）、フラッシュＲＯＭ、ＲＡＭ（random  access  memory））を含む。
【符号の説明】
【００５６】
１−１、１−２、７、１３、２１、２１−１、２１−２  減算器
２  積分項作成部
３  比例項作成部
４、９−１、９−２、１５、１５−１，１５−２、２５  加算器
５  内分処理部
６  フィードフォワード項作成部
８  フィードバック項作成部
１１  微分器
１２  係数乗算器
１４  位置制御ゲイン
２２  積分器
２３  積分ゲイン
２４  比例ゲイン
【図１】
0006386492.tif 000002
【図２Ａ】
0006386492.tif 000003
【図２Ｂ】
0006386492.tif 000004
【図３Ａ】
0006386492.tif 000005
【図３Ｂ】
0006386492.tif 000006
【図４】
0006386492.tif 000007
【図５】
0006386492.tif 000008
【図６】
0006386492.tif 000009
【図７Ａ】
0006386492.tif 000010
【図７Ｂ】
0006386492.tif 000011
【図８】
0006386492.tif 000012
【図９】
0006386492.tif 000013
【図１０】
0006386492.tif 000014
【図１１】
0006386492.tif 000015