(57)【特許請求の範囲】
【請求項１】
位置制御部及び速度制御部を備え、電動機の位置、速度を制御して工作機械の機械先端点の制御を行う制御装置であって、
電動機で駆動される被駆動体または電動機の位置を検出する位置検出部と、
電動機への位置指令と前記位置検出部からの位置フィードバックから、第１の位置偏差を求める第１位置偏差計算部と、
機械先端点のねじれ量を求めるねじれ推定部と、
前記第１の位置偏差と推定された前記ねじれ量を加算して第２の位置偏差を求める第２位置偏差計算部と、
前記第２の位置偏差を最小にするように、フィードフォワード制御の係数を決定する係数適応部と、
決定された前記係数と電動機への位置指令を使って、フィードフォワード制御を行う高次フィードフォワード制御部と、
を有することを特徴とするサーボ制御装置。
【請求項２】
機械先端点の加速度を検出する加速度検出部をさらに有し、
前記ねじれ推定部は、前記加速度検出部からフィードバックされる加速度に基づいて機械先端点のねじれ量を推定する、請求項１に記載のサーボ制御装置。
【請求項３】
電動機の速度を検出する速度検出部と、
電動機の電流を検出する電流検出部と、をさらに備え、
前記ねじれ推定部は、前記電動機の速度及び前記電動機の電流から機械先端点のねじれ量を推定する、請求項１に記載のサーボ制御装置。
【請求項４】
電動機の速度を検出する速度検出部をさらに備え、
前記ねじれ推定部は、前記電動機の速度と、電動機へのトルク指令から機械先端点のねじれ量を推定する、請求項１に記載のサーボ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電動機を使用した工作機械等の機械を制御する制御装置に関するものであって、特に工具でワークを加工する場合の加工点、すなわち電動機が駆動する被駆動体にある工具先端部分（機械先端点）の「たわみ」を低減する制御方法に関する。
【背景技術】
【０００２】
一般的な工作機械等において、電動機で駆動する軸の制御システムとしては、電動機に備えられた検出器で制御を行うセミクローズドシステムと、工具先端部分（以下、「機械先端点」と言う）近くに別の検出器を持つフルクローズドシステムがある。
【０００３】
一般にコスト的な要求から、前者のセミクローズドシステムが多く使用されている。このシステムでは電動機と機械先端点との間の剛性が低い場合に、機械の弾性変形によって「たわみ」や「ねじれ」が発生し、指令に対して機械先端点の動きが偏差を持つと言う問題がある。
【０００４】
一方、より高精度な制御が必要とされる機械では、フルクローズドシステムが使用される。機械先端点の近くに検出器を配置することで、指令と機械先端点の動きの偏差を小さくすることが可能である。しかしながら、一般には工具先端部など、より機械先端点に近い位置に検出器を配置することは難しく、フルクローズドシステムであっても、指令に対して機械先端点の動きが偏差を持つ場合もある。
【０００５】
以上のように、機械の剛性が低く、セミクローズドシステムだけではなく、フルクローズドシステムであっても、機械の弾性変形による「たわみ」や「ねじれ」によって、指令に対して機械先端点の動きが偏差を持つ場合がある。このような偏差が発生すると加工精度が悪化するため、偏差を最小にするような制御が求められている。
【０００６】
従来、このような弾性変形による機械先端点の「たわみ」や「ねじれ」に対しては、大きく２つの方法が提案されている。一つは、フィードバック的な制御手法であって、電動機が持つ検出器のフィードバックや、より機械先端点に近い位置に配置可能な加速度センサのフィードバックを使って、機械先端点の動きを推定し、この推定結果を使って電動機を制御する方法である。もう一つは、フィードフォワード的な制御手法であって、機械剛性から「たわみ」や「ねじれ」を予測して指令を補正する方法や、指令の加速度などを制限し、機械先端点がたわまないように指令を修正する方法である。
【０００７】
例えば、機械先端点の近くに加速度センサを配置し、そのフィードバックから機械先端点の「たわみ」や「ねじれ」を推定し、学習制御を使って、指令と機械先端点の動きの偏差が最小となるように制御する方法が知られている（例えば、特許文献１）。さらに、加速度センサを使用せずに電動機が持つ検出器のフィードバックから機械先端点の「たわみ」や「ねじれ」を推定し、学習制御を使って、指令と機械先端点の動きの偏差が最小となるように制御する方法も開示されている。この従来技術では偏差を小さくする方法として学習制御を使っているために、上記のいずれの方法も指令の繰り返し性が必要であり、通常の指令では使用できないと言う課題があった。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−１７２１４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、フィードバック的な制御手法とフィードフォワード的な制御手法を組み合わせることで、通常の指令においても、機械先端点の「たわみ」や「ねじれ」を低減して、指令に対する機械先端点の動きとの偏差を小さくするサーボ制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の実施例に係るサーボ制御装置は、位置制御部及び速度制御部を備え、電動機の位置、速度を制御して工作機械の機械先端点の制御を行う制御装置であって、電動機で駆動される被駆動体または電動機の位置を検出する位置検出部と、電動機への位置指令と位置検出部からの位置フィードバックから、第１の位置偏差を求める第１位置偏差計算部と、機械先端点のねじれ量を求めるねじれ推定部と、第１の位置偏差と推定されたねじれ量を加算して第２の位置偏差を求める第２位置偏差計算部と、第２の位置偏差を最小にするように、フィードフォワード制御の係数を決定する係数適応部と、決定された係数と電動機への位置指令を使って、フィードフォワード制御を行う高次フィードフォワード制御部と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明の実施例に係るサーボ制御装置によれば、機械先端点の近くに加速度センサを配置し、そのフィードバックから機械先端点の「たわみ」や「ねじれ」を推定し、この推定結果と電動機に与えられる指令を使って、「たわみ」や「ねじれ」を小さくするように高次のフィードフォワード制御の係数を、最小二乗法や最急降下法などの手法を使って適応的に決定する。この高次のフィードフォワード制御は、指令の加速度を制限するように働くもので、結果的に「たわみ」や「ねじれ」を低減することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施例１に係るサーボ制御装置の構成図である。
【図２】本発明の実施例１に係るサーボ制御装置に備えられた高次のフィードフォワード制御器の構造を示す図である。
【図３】本発明の実施例１に係るサーボ制御装置の動作手順を説明するためのフローチャートである。
【図４】本発明の実施例２に係るサーボ制御装置の構成図である。
【図５】本発明の実施例２に係るサーボ制御装置に備えられたねじれ推定部の構造を示す図である。
【図６】本発明の実施例２に係るサーボ制御装置に正弦波状の指令を入力したときの指令と機械先端点の動きの偏差を数値シミュレーション結果である。
【図７】本発明の実施例２に係るサーボ制御装置の動作手順を説明するためのフローチャートである。
【図８】本発明の実施例３に係るサーボ制御装置の構成図である。
【図９】本発明の実施例３に係るサーボ制御装置の動作手順を説明するためのフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明に係るサーボ制御装置について説明する。ただし、本発明の技術的範囲はそれらの実施の形態には限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
［実施例１］
【００１４】
まず、本発明の実施例１に係るサーボ制御装置について、図面を用いて説明する。図１は、本発明の実施例１に係るサーボ制御装置の構成図である。本発明の実施例１に係るサーボ制御装置１０１は、位置制御部１及び速度制御部２を備え、電動機（モータ）２０の位置、速度を制御して工作機械の機械先端点３０の制御を行う制御装置であって、位置検出部３と、第１位置偏差計算部４と、ねじれ推定部５と、第２位置偏差計算部６と、係数適応部７と、高次フィードフォワード制御部８と、を備えている。
【００１５】
制御対象である機械先端点３０は電動機２０によって制御され、ねじれ２１や摩擦２２を考慮する必要がある。位置検出部３は、電動機（モータ）２０の近傍に設けられ、電動機２０で駆動される被駆動体または電動機の位置を検出し、位置フィードバックとして第１位置偏差計算部４に出力する。
【００１６】
第１位置偏差計算部４は、電動機２０への位置指令と位置検出部３からの位置フィードバックから、第１の位置偏差を求める。
【００１７】
ねじれ推定部５は、機械先端点３０のねじれ量を求める。ねじれ量の算出方法については後述する。
【００１８】
第２位置偏差計算部６は、第１の位置偏差と推定されたねじれ量を加算して第２の位置偏差を求める。
【００１９】
係数適応部７は、第２の位置偏差を取得し、取得した第２の位置偏差と位置指令を用いて、第２の位置偏差を最小にするように最小二乗法や最急降下法などの手法を使って、高次のフィードフォワード制御の係数を決定する。
【００２０】
高次フィードフォワード制御部８は、係数適応部７によって決定された係数と電動機への位置指令を使って、フィードフォワード制御を行う。高次フィードフォワード制御部８によって計算された補正値は、加算器１０によって、位置制御部１で位置ゲインが乗算された位置偏差に加算され、位置検出部３からの位置フィードバックを使って速度計算部９で計算された速度フィードバックを減算して速度指令を計算する。
【００２１】
速度制御部２は、計算された速度指令を取得して、アンプ１１に対してトルク指令を出力する。アンプ１１はトルク指令に従って電動機（モータ）２０を駆動する。
【００２２】
ねじれ量の推定方法として種々の方法が考えられる。実施例１に係るサーボ制御装置においては、機械先端点３０の加速度を検出する加速度検出部１２を備えており、ねじれ推定部５は、加速度検出部１２からフィードバックされる加速度に基づいて機械先端点３０のねじれ量を推定している。
【００２３】
ねじれ推定部５は、加速度検出部１２から取得した加速度フィードバックを２階積分して、低周波成分を除去するハイパスフィルタ処理をすることで、機械先端点３０のねじれ分を推定する。
【００２４】
次に、係数適応部７による係数の計算方法について説明する。高次のフィードフォワード制御部は、図２に示すような複数の係数ｆ0，ｆ1，…，ｆNを持つＦＩＲ（Ｆｉｎｉｔｅ Ｉｍｐｕｌｓｅ Ｒｅｓｐｏｎｓｅ：有限インパルス応答）形のフィルタ構造となっており、以下の式で表される。
F(z)=f0 + f1*z-1 + f2*z-2 +…+ fN*z-N
【００２５】
係数適応部は、例えば最急降下法を使った場合、以下のアルゴリズムで計算を行う。
【００２６】
【数１】
0005897645.tif 000002
ただし、ｆはフィルタ係数、ｅは偏差、ωは指令、ｍは０〜Ｎまでのフィードフォワード制御の次数を示す。
【００２７】
また、μ（ｎ）は適応係数で、例えば以下の様な計算式で算出する。
【００２８】
【数２】
0005897645.tif 000003
ただし、ηは定数である。
なお、本計算はサンプリング周期毎に行われるもので、上式はｎ回目の計算を示す。
【００２９】
高次フィードフォワード制御部８は、以上のようにして係数適応部７によって決定された係数と電動機への位置指令を使って、フィードフォワード制御を行う。
【００３０】
次に、本発明の実施例１に係るサーボ制御装置の動作手順について図３に示すフローチャートを用いて説明する。まず、ステップＳ１０１において、位置検出部３が位置フィードバックを取得する。検出した位置フィードバックは第１位置偏差計算部４に出力される。
【００３１】
次に、ステップＳ１０２において、第１位置偏差計算部４が、電動機２０への位置指令と位置検出部３からの位置フィードバックから、第１の位置偏差を計算する。
【００３２】
次に、ステップＳ１０３において、加速度検出部１２がねじれ推定部５にフィードバックするための機械先端点３０の加速度を検出する。検出した加速度のデータはねじれ推定部５に出力される。
【００３３】
次に、ステップＳ１０４において、ねじれ推定部５が、加速度検出部１２からフィードバックされる加速度に基づいて機械先端点３０のねじれ量を推定する。
【００３４】
次に、ステップＳ１０５において、第２位置偏差計算部６が、推定されたねじれ量と第１の位置偏差を加算して第２の位置偏差を計算する。
【００３５】
次に、ステップＳ１０６において、係数適応部７が、第２の位置偏差を取得し、第２の位置偏差と位置指令を用いて、第２の位置偏差を最小にするように最小二乗法や最急降下法などの手法を使って、高次のフィードフォワード制御の係数を決定し、適応する。
【００３６】
次に、ステップＳ１０７において、適応中の係数を使って、フィードフォワード制御を行う。
【００３７】
以上のように実施例１に係るサーボ制御装置によれば、機械先端点のねじれ量を推定して、このねじれ量を偏差に加算し、加算された偏差と位置指令から、偏差を最小とするように、高次のフィードフォワード制御の係数を適応的に決定している。その結果、適切な係数に適応することで、「たわみ」や「ねじれ」を引き起こさないようにフィードフォワード制御が速度指令を修正することができる。この方法では、ねじれ量の低減だけではなく、制御の応答の遅れも同時に補償することが可能で、結果的に位置指令に対して機械先端点の動きが偏差を持たないようになる効果がある。
［実施例２］
【００３８】
次に、本発明の実施例２に係るサーボ制御装置について図面を用いて説明する。図４は、本発明の実施例２に係るサーボ制御装置の構成図である。実施例２に係るサーボ制御装置１０２が、実施例１に係るサーボ制御装置１０１と異なっている点は、加速度センサの代わりに、電動機の速度を検出する速度検出部１３と、電動機の電流を検出する電流検出部１４と、をさらに備え、ねじれ推定部５は、電動機の速度及び電動機の電流から機械先端点３０のねじれ量を推定する点である。実施例２に係るサーボ制御装置１０２の他の構成は、実施例１に係るサーボ制御装置１０１の構成と同様であるので詳細な説明は省略する。
【００３９】
実施例２に係るモータ制御装置において、ねじれ推定部５は、図５に示すように制御対象が２慣性系であることを想定したアルゴリズムでねじれ量を推定する。２慣性機械モデルの運動方程式（摩擦は無視）は以下のように与えられる。
【００４０】
【数３】
0005897645.tif 000004
ただし、
Ｊ：イナーシャ
ω：速度
Ｋｃ：ばね定数
Ｔｍ：指令トルク
Ｔｄ：外乱トルク＝０
図５及び以下の式にある添え字のｍ及びＬは、ｍはモータ側、Ｌは機械先端点（負荷）側、をそれぞれ示している。
従って、
ωm：モータ速度
ωL：機械先端点（負荷）の速度
Ｊｍ：モータイナーシャ
ＪＬ：機械先端点（負荷）のイナーシャ
θｍ：モータ位置
θＬ：機械先端点（負荷）の位置
である。
【００４１】
ねじれ量は以下のように推定する。
【００４２】
【数４】
0005897645.tif 000005
ただし、θは位置を表す。
【００４３】
ここで、微分を避けるために時定数τのローパスフィルタを導入する。
【００４４】
【数５】
0005897645.tif 000006
【００４５】
離散化Δθはねじれ量を表し、以下の式で与えられる。
【００４６】
【数６】
0005897645.tif 000007
但し、Ｆ（ｚ）はローパスフィルタである。
【００４７】
Ｔｍは観測できないので、電流フィードバック（トルク指令）Iｑを使う。但しＫｔは電動機のトルク定数である。
【００４８】
【数７】
0005897645.tif 000008
【００４９】
本実施例では、実施例１と同様に、機械先端点のねじれ量を推定して、このねじれ量を偏差に加算し、加算された偏差と位置指令から、偏差を最小とするように、高次のフィードフォワード制御の係数を適応的に決定する。その結果、適切な係数に適応することで、「たわみ」や「ねじれ」を引き起こさないようにフィードフォワード制御が速度指令を修正する。この方法では、ねじれ量の低減だけではなく、制御の応答の遅れも同時に補償することが可能で、結果的に位置指令に対して機械先端点の動きが偏差を持たないようになる効果がある。
【００５０】
図６（ａ），（ｂ）は、通常の制御を行った場合、及び本実施例によるサーボ制御装置を用いた場合のそれぞれの場合において、５Ｈｚの正弦波状の指令を入力したときの指令と機械先端点の動きの偏差を数値シミュレーションで観測したグラフである。機械の固有振動数は１５Ｈｚとしている。図６（ａ）、（ｂ）において、横軸は時間を表し、縦軸は偏差（＝指令−機械先端点の動き）の大きさを表す。図６（ａ）に示すように、通常の制御方法の場合は、偏差を収束させることはできない。これに対して、本実施例に係るモータ制御装置を用いた場合には、加速度センサを使用しないで、ねじれ推定部を使った場合、時間と共にフィードフォワード制御の係数が最適化されるため、偏差が収束して行くことが確認できる。
【００５１】
次に、本発明の実施例２に係るサーボ制御装置の動作手順について図７に示すフローチャートを用いて説明する。まず、ステップＳ２０１において、位置検出部３が位置フィードバックを取得する。検出した位置フィードバックは第１位置偏差計算部４に出力される。
【００５２】
次に、ステップＳ２０２において、第１位置偏差計算部４が、電動機２０への位置指令と位置検出部３からの位置フィードバックから、第１の位置偏差を計算する。
【００５３】
次に、ステップＳ２０３において、速度検出部１３が電動機の速度を検出するとともに、電流検出部１４が電動機の電流を検出する。検出した速度値及び電流値はねじれ推定部５に速度フィードバック及び電流フィードバックとして出力される。
【００５４】
次に、ステップＳ２０４において、ねじれ推定部５が、速度フィードバックと、電流フィードバックから機械先端点３０のねじれ量を推定する。
【００５５】
次に、ステップＳ２０５において、第２位置偏差計算部６が、推定されたねじれ量と第１の位置偏差を加算して第２の位置偏差を計算する。
【００５６】
次に、ステップＳ２０６において、係数適応部７が、第２の位置偏差を取得し、第２の位置偏差と位置指令を用いて、第２の位置偏差を最小にするように最小二乗法や最急降下法などの手法を使って、高次のフィードフォワード制御の係数を決定し、適応する。
【００５７】
次に、ステップＳ２０７において、適応中の係数を使って、フィードフォワード制御を行う。
【００５８】
以上のように実施例２に係るサーボ制御装置によれば、加速度検出部を機械先端点に設ける必要がないので、簡単な構成でねじれ量を推定することができる。
［実施例３］
【００５９】
次に、本発明の実施例３に係るサーボ制御装置について図面を用いて説明する。図８は、本発明の実施例３に係るサーボ制御装置の構成図である。実施例３に係るサーボ制御装置１０３が、実施例１に係るサーボ制御装置１０１と異なっている点は、加速度センサの代わりに、電動機の速度を検出する速度検出部１３´を備え、ねじれ推定部５は、電動機２０の速度と、電動機２０へのトルク指令から機械先端点３０のねじれ量を推定する点である。実施例３に係るサーボ制御装置１０３の他の構成は、実施例１に係るサーボ制御装置１０１の構成と同様であるので詳細な説明は省略する。
【００６０】
次に、本発明の実施例３に係るサーボ制御装置の動作手順について図９に示すフローチャートを用いて説明する。まず、ステップＳ３０１において、位置検出部３が位置フィードバックを取得する。検出した位置フィードバックは第１位置偏差計算部４に出力される。
【００６１】
次に、ステップＳ３０２において、第１位置偏差計算部４が、電動機２０への位置指令と位置検出部３からの位置フィードバックから、第１の位置偏差を計算する。
【００６２】
次に、ステップＳ３０３において、速度検出部１３がねじれ推定部５にフィードバックするための電動機の速度を検出するとともに、速度制御部２がトルク指令を出力する。検出した速度値及びトルク指令は、ねじれ推定部５に出力される。
【００６３】
次に、ステップＳ３０４において、ねじれ推定部５が、速度フィードバックとトルク指令から機械先端点３０のねじれ量を推定する。
【００６４】
次に、ステップＳ３０５において、第２位置偏差計算部６が、推定されたねじれ量と第１の位置偏差を加算して第２の位置偏差を計算する。
【００６５】
次に、ステップＳ３０６において、係数適応部７が、第２の位置偏差を取得し、第２の位置偏差と位置指令を用いて、第２の位置偏差を最小にするように最小二乗法や最急降下法などの手法を使って、高次のフィードフォワード制御の係数を決定し、適応する。
【００６６】
次に、ステップＳ３０７において、適応中の係数を使って、フィードフォワード制御を行う。
【００６７】
以上のように実施例３に係るサーボ制御装置によれば、加速度検出部を機械先端点に設ける必要がなく、さらに電流検出部を設ける必要がないので、簡単な構成でねじれ量を推定することができる。
【符号の説明】
【００６８】
１    位置制御部
２    速度制御部
３    位置検出部
４    第１位置偏差計算部
５    ねじれ推定部
６    第２位置偏差計算部
７    係数適応部
８    高次フィードフォワード制御部
９    速度計算部
１０    加算器
１１    アンプ
１２    加速度検出部
２０    電動機
３０    機械先端点
【図１】
0005897645.tif 000009
【図２】
0005897645.tif 000010
【図３】
0005897645.tif 000011
【図４】
0005897645.tif 000012
【図５】
0005897645.tif 000013
【図６】
0005897645.tif 000014
【図７】
0005897645.tif 000015
【図８】
0005897645.tif 000016
【図９】
0005897645.tif 000017