(57)【特許請求の範囲】
【請求項１】
移動体の予め定められた移動軸方向への移動を案内する案内機構部と、前記移動体を移動させる駆動機構部とを備え、且つ前記案内機構部及び駆動機構部の少なくとも一方に転動体が含まれた送り装置の前記駆動機構部の作動を制御する制御方法であって、
与えられた目標移動位置及び移動速度を基に、移動速度に応じた時間間隔毎の指令移動位置を生成すると共に、生成した指令移動位置を基に制御信号を生成して前記駆動機構部に送信し、送信した制御信号により前記駆動機構部の作動を制御して、前記移動体を前記目標移動位置に所定速度で移動させる制御方法において、
前記移動体を前記移動軸方向に予め設定した距離だけ往復動させたときに生じる前記転動体に起因した摩擦力又はこれと等価な力で定義される外力と、前記移動体の移動位置との相対データを、基礎データとして取得する取得工程と、
取得した基礎データ及び前記目標移動位置を基に、前記移動体を前記目標移動位置に移動させた際に生じると推定される外力と、前記移動体の移動位置との相対データを推定するデータ推定工程と、
前記データ推定工程で推定した相対データを基に、前記各指令移動位置における推定外力を算出すると共に、算出した推定外力を基に、該推定外力によって生じる前記各指令移動位置における移動誤差量を推定する誤差量推定工程と、
前記誤差量推定工程で推定した移動誤差量を基に、対応する前記各指令移動位置に対する補正量を算出し、算出した補正量を対応する指令移動位置に加算する補正実行工程とを含むことを特徴とする制御方法。
【請求項２】
移動体の予め定められた移動軸方向への移動を案内する案内機構部と、前記移動体を移動させる駆動機構部とを備え、且つ前記案内機構部及び駆動機構部の少なくとも一方に転動体が含まれた送り装置の前記駆動機構部の作動を制御する制御方法であって、
与えられた目標移動位置及び移動速度を基に、移動速度に応じた時間間隔毎の指令移動位置を生成すると共に、生成した指令移動位置を基に制御信号を生成して前記駆動機構部に送信し、送信した制御信号により前記駆動機構部の作動を制御して、前記移動体を前記目標移動位置に所定速度で移動させる一方、前記各指令移動位置に対する応答結果たる前記移動体の現在位置データから、その差分の誤差量を算出して、算出した誤差量を基にその補正量を算出し、算出した補正量を次周期に係る前記各指令移動位置に加算して、前記誤差量が減少していくように学習制御を行う制御方法において、
前記移動体を前記移動軸方向に予め設定した距離だけ往復動させたときに生じる前記転動体に起因した摩擦力又はこれと等価な力で定義される外力と、前記移動体の移動位置との相対データを、基礎データとして取得する取得工程と、
取得した基礎データ及び前記目標移動位置を基に、前記移動体を前記目標移動位置に移動させた際に生じると推定される外力と、前記移動体の移動位置との相対データを推定するデータ推定工程と、
前記データ推定工程で推定した相対データを基に、前記各指令移動位置における推定外力を算出すると共に、算出した推定外力を基に、該推定外力によって生じる前記各指令移動位置における移動誤差量を推定する誤差量推定工程と、
前記誤差量推定工程で推定した移動誤差量を基に、対応する前記各指令移動位置に対する補正量を算出し、算出した補正量を学習制御の初期値として設定する補正量設定工程とを含むことを特徴とする制御方法。
【請求項３】
移動体の予め定められた移動軸方向への移動を案内する案内機構部と、前記移動体を移動させる駆動機構部とを備え、且つ前記案内機構部及び駆動機構部の少なくとも一方に転動体が含まれた送り装置の前記駆動機構部の作動を制御する制御装置であって、
与えられた目標移動位置及び移動速度を基に、移動速度に応じた時間間隔毎の指令移動位置を生成すると共に、生成した指令移動位置を基に制御信号を生成して前記駆動機構部に送信する制御信号生成部を備え、該制御信号生成部によって生成された制御信号により前記駆動機構部の作動を制御して、前記移動体を前記目標移動位置に所定速度で移動させる制御装置において、
前記移動体を前記移動軸方向に予め設定した距離だけ往復動させたときに生じる前記転動体に起因した摩擦力又はこれと等価な力で定義される外力と、前記移動体の移動位置との相対データを、基礎データとして記憶する基礎データ記憶部と、
前記目標移動位置及び前記基礎データ記憶部に記憶された基礎データを基に、前記移動体を前記目標移動位置に移動させた際に生じると推定される外力と、前記移動体の移動位置との相対データを推定するデータ推定部、該データ推定部により推定された相対データを基に、前記各指令移動位置における推定外力を算出すると共に、算出した推定外力を基に、該推定外力によって生じる前記各指令移動位置における移動誤差量を推定する誤差推定部、並びに該誤差推定部により推定された移動誤差量を基に、対応する前記各指令移動位置に対する補正量を算出し、算出した補正量を前記制御信号生成部に送信して、対応する指令移動位置に該補正量を加算する補正実行部から構成されるフィードフォワード制御部とを設けたことを特徴とする制御装置。
【請求項４】
移動体の予め定められた移動軸方向への移動を案内する案内機構部と、前記移動体を移動させる駆動機構部とを備え、且つ前記案内機構部及び駆動機構部の少なくとも一方に転動体が含まれた送り装置の前記駆動機構部の作動を制御する制御装置であって、
与えられた目標移動位置及び移動速度を基に、移動速度に応じた時間間隔毎の指令移動位置を生成すると共に、生成した指令移動位置を基に制御信号を生成して前記駆動機構部に送信する制御信号生成部と、前記各指令移動位置に対する応答結果たる前記移動体の現在位置データから、その差分の誤差量を算出して、算出した誤差量を基にその補正量を算出し、算出した補正量を次周期に係る前記各指令移動位置に加算して、前記誤差量が減少していくように学習制御を行う学習制御部とを備え、前記制御信号生成部によって生成された制御信号により前記駆動機構部の作動を制御して、前記移動体を前記目標移動位置に所定速度で移動させる制御装置において、
前記移動体を前記移動軸方向に予め設定した距離だけ往復動させたときに生じる前記転動体に起因した摩擦力又はこれと等価な力で定義される外力と、前記移動体の移動位置との相対データを、基礎データとして記憶する基礎データ記憶部と、
前記目標移動位置及び前記基礎データ記憶部に記憶された基礎データを基に、前記移動体を前記目標移動位置に移動させた際に生じると推定される外力と、前記移動体の移動位置との相対データを推定するデータ推定部、該データ推定部により推定された相対データを基に、前記各指令移動位置における推定外力を算出すると共に、算出した推定外力を基に、該推定外力によって生じる前記各指令移動位置における移動誤差量を推定する誤差推定部、並びに誤差推定部により推定された移動誤差量を基に、対応する前記各指令移動位置に対する補正量を算出し、算出した補正量を前記学習制御部に送信して該学習制御部における学習制御の初期値として設定する補正量設定部から構成される初期値設定部とを設けたことを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体を移動させる送り装置を制御する制御方法及び制御装置に関する。
【背景技術】
【０００２】
前記送り装置は、通常、移動体の移動を案内する案内機構部と、移動体を移動させる駆動機構部とを備えており、前記案内機構部は、例えば、転がり案内機構から構成され、前記駆動機構部は、例えば、ボールねじと、移動体に固設され、ボールねじに螺合するナットと、ボールねじをその軸中心に回転させ、ナット（移動体）を移動させる駆動モータとから構成される。
【０００３】
一方、このような送り装置を制御する制御装置は、移動体の目標移動位置を基に制御信号を生成して駆動モータに送信し、当該駆動モータによりボールねじを軸中心に回転させて移動体を目標移動位置に移動させる。
【０００４】
ところで、例えば、工作機械や半導体露光装置では、近年ますます高精度な位置決め制御が要求されている。しかしながら、案内機構部が転がり案内機構から構成された送り装置や、駆動機構部がボールねじにより移動体を駆動する送り装置では、移動体を移動させる際に、これら案内機構部や駆動機構部に含まれる転動体に起因した摩擦力が生じるため、この摩擦力によって移動体の目標移動位置と実際の移動位置との間に移動誤差を生じ、移動体を高精度に位置決めすることができなかった。
【０００５】
そこで、このような移動誤差を補正する装置として、従来、例えば、特開２００２−２３８５２号公報に開示されたものが提案されている。この補正装置は、工作機械におけるテーブルの移動方向が反転する際に生じる移動誤差を補正するように構成されたもので、移動体の目標移動位置と、駆動機構部からフィードバックされるテーブルの現在位置とを基に誤差量を算出し、算出した誤差量を基に制御信号を生成して駆動モータに送信すると共に、この制御信号（トルク指令信号）を解析して、その解析結果と、駆動機構部からフィードバックされるテーブルの現在位置とを基にテーブルの移動誤差量を算出し、算出した移動誤差量を基に補正量を算出して、算出した補正量で、駆動機構部からフィードバックされるテーブルの現在位置を減算するというものである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２３８５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところが、上記従来の補正装置では、駆動モータに送信される制御信号を解析して、その解析結果と、駆動機構部からフィードバックされるテーブルの現在位置とを基にテーブルの移動誤差量を算出し、算出した移動誤差量を基にテーブルの移動位置を補正しているので、応答結果が分かってからしか補正を行うことができず、テーブルの位置決め精度を高めるには一定の限界があった。
【０００８】
本発明は、以上の実情に鑑みなされたものであって、移動体を高精度に位置決め制御することができる制御方法及び制御装置の提供をその目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するための本発明は、
移動体の予め定められた移動軸方向への移動を案内する案内機構部と、前記移動体を移動させる駆動機構部とを備え、且つ前記案内機構部及び駆動機構部の少なくとも一方に転動体が含まれた送り装置の前記駆動機構部の作動を制御する制御方法であって、
与えられた目標移動位置及び移動速度を基に、移動速度に応じた時間間隔毎の指令移動位置を生成すると共に、生成した指令移動位置を基に制御信号を生成して前記駆動機構部に送信し、送信した制御信号により前記駆動機構部の作動を制御して、前記移動体を前記目標移動位置に所定速度で移動させる制御方法において、
前記移動体を前記移動軸方向に予め設定した距離だけ往復動させたときに生じる前記転動体に起因した摩擦力又はこれと等価な力で定義される外力と、前記移動体の移動位置との相対データを、基礎データとして取得する取得工程と、
取得した基礎データ及び前記目標移動位置を基に、前記移動体を前記目標移動位置に移動させた際に生じると推定される外力と、前記移動体の移動位置との相対データを推定するデータ推定工程と、
前記データ推定工程で推定した相対データを基に、前記各指令移動位置における推定外力を算出すると共に、算出した推定外力を基に、該推定外力によって生じる前記各指令移動位置における移動誤差量を推定する誤差量推定工程と、
前記誤差量推定工程で推定した移動誤差量を基に、対応する前記各指令移動位置に対する補正量を算出し、算出した補正量を対応する指令移動位置に加算する補正実行工程とを含むことを特徴とする制御方法に係る。
【００１０】
そして、この制御方法は、以下の制御装置によってこれを好適に実施することができる。即ち、この制御装置は、
与えられた目標移動位置及び移動速度を基に、移動速度に応じた時間間隔毎の指令移動位置を生成すると共に、生成した指令移動位置を基に制御信号を生成して前記駆動機構部に送信する制御信号生成部を備え、該制御信号生成部によって生成された制御信号により前記駆動機構部の作動を制御して、前記移動体を前記目標移動位置に所定速度で移動させる制御装置において、
前記移動体を前記移動軸方向に予め設定した距離だけ往復動させたときに生じる前記転動体に起因した摩擦力又はこれと等価な力で定義される外力と、前記移動体の移動位置との相対データを、基礎データとして記憶する基礎データ記憶部と、
前記目標移動位置及び前記基礎データ記憶部に記憶された基礎データを基に、前記移動体を前記目標移動位置に移動させた際に生じると推定される外力と、前記移動体の移動位置との相対データを推定するデータ推定部、該データ推定部により推定された相対データを基に、前記各指令移動位置における推定外力を算出すると共に、算出した推定外力を基に、該推定外力によって生じる前記各指令移動位置における移動誤差量を推定する誤差推定部、並びに該誤差推定部により推定された移動誤差量を基に、対応する前記各指令移動位置に対する補正量を算出し、算出した補正量を前記制御信号生成部に送信して、対応する指令移動位置に該補正量を加算する補正実行部から構成されるフィードフォワード制御部とを備える。
【００１１】
この制御装置によれば、制御信号生成部では、与えられた目標移動位置及び移動速度を基に、移動速度に応じた時間間隔毎の指令移動位置が生成されると共に、生成された指令移動位置を基に制御信号が生成されて駆動機構部に送信される。そして、制御信号生成部から送信された制御信号により駆動機構部が制御され、移動体が目標移動位置に所定速度で移動せしめられる。
【００１２】
上述のように、構成要素として転動体が含まれる送り装置では、移動体を移動させる際にこの転動体に起因した摩擦力が生じるため、この摩擦力によって移動体の目標移動位置と実際の移動位置との間に移動誤差を生じる。
【００１３】
そこで、本発明では、基礎データ記憶部に、移動体を移動軸方向に予め設定した距離だけ往復動させたときに生じる転動体に起因した摩擦力又はこれと等価な力で定義される外力と、移動体の移動位置との相対データを、基礎データとして予め格納しておき、この基礎データ記憶部内の基礎データを基に、フィードフォワード制御部によって、前記生成された指令移動位置を補正するようにした。
【００１４】
即ち、目標移動位置及び基礎データ記憶部内の基礎データを基に、移動体を目標移動位置に移動させた際に生じると推定される外力と、移動体の移動位置との相対データを、データ推定部によって推定した後、推定された相対データを基に、誤差推定部によって、前記各指令移動位置における推定外力を算出すると共に、算出した推定外力を基に、該推定外力によって生じる前記各指令移動位置における移動誤差量を推定し、この後、推定された移動誤差量を基に、補正実行部により、対応する各指令移動位置に対する補正量を算出し、算出した補正量を制御信号生成部に送信して、対応する指令移動位置にこの補正量を加算する。
【００１５】
このようにして、制御信号生成部で生成された指令移動位置が補正され、当該制御信号生成部では、補正後の指令移動位置を基に制御信号が生成されて駆動機構部に送信される。
【００１６】
斯くして、本発明に係る制御方法及び制御装置によれば、移動体を目標移動位置に移動させる際に生じる各指令移動位置における外力を推定し、推定した外力を基に各指令移動位置における移動誤差量を推定し、推定された移動誤差量を基に、移動体の各指令移動位置を補正するようにしたので、応答結果を前もって予測して補正することができ、移動体を高精度に位置決めすることができる。
【００１７】
また、本発明は、
移動体の予め定められた移動軸方向への移動を案内する案内機構部と、前記移動体を移動させる駆動機構部とを備え、且つ前記案内機構部及び駆動機構部の少なくとも一方に転動体が含まれた送り装置の前記駆動機構部の作動を制御する制御方法であって、
与えられた目標移動位置及び移動速度を基に、移動速度に応じた時間間隔毎の指令移動位置を生成すると共に、生成した指令移動位置を基に制御信号を生成して前記駆動機構部に送信し、送信した制御信号により前記駆動機構部の作動を制御して、前記移動体を前記目標移動位置に所定速度で移動させる一方、前記各指令移動位置に対する応答結果たる前記移動体の現在位置データから、その差分の誤差量を算出して、算出した誤差量を基にその補正量を算出し、算出した補正量を次周期に係る前記各指令移動位置に加算して、前記誤差量が減少していくように学習制御を行う制御方法において、
前記移動体を前記移動軸方向に予め設定した距離だけ往復動させたときに生じる前記転動体に起因した摩擦力又はこれと等価な力で定義される外力と、前記移動体の移動位置との相対データを、基礎データとして取得する取得工程と、
取得した基礎データ及び前記目標移動位置を基に、前記移動体を前記目標移動位置に移動させた際に生じると推定される外力と、前記移動体の移動位置との相対データを推定するデータ推定工程と、
前記データ推定工程で推定した相対データを基に、前記各指令移動位置における推定外力を算出すると共に、算出した推定外力を基に、該推定外力によって生じる前記各指令移動位置における移動誤差量を推定する誤差量推定工程と、
前記誤差量推定工程で推定した移動誤差量を基に、対応する前記各指令移動位置に対する補正量を算出し、算出した補正量を学習制御の初期値として設定する補正量設定工程とを含むことを特徴とする制御方法に係る。
【００１８】
そして、この制御方法は、以下の制御装置によってこれを好適に実施することができる。即ち、この制御装置は、
与えられた目標移動位置及び移動速度を基に、移動速度に応じた時間間隔毎の指令移動位置を生成すると共に、生成した指令移動位置を基に制御信号を生成して前記駆動機構部に送信する制御信号生成部と、前記各指令移動位置に対する応答結果たる前記移動体の現在位置データから、その差分の誤差量を算出して、算出した誤差量を基にその補正量を算出し、算出した補正量を次周期に係る前記各指令移動位置に加算して、前記誤差量が減少していくように学習制御を行う学習制御部とを備え、前記制御信号生成部によって生成された制御信号により前記駆動機構部の作動を制御して、前記移動体を前記目標移動位置に所定速度で移動させる制御装置において、
前記移動体を前記移動軸方向に予め設定した距離だけ往復動させたときに生じる前記転動体に起因した摩擦力又はこれと等価な力で定義される外力と、前記移動体の移動位置との相対データを、基礎データとして記憶する基礎データ記憶部と、
前記目標移動位置及び前記基礎データ記憶部に記憶された基礎データを基に、前記移動体を前記目標移動位置に移動させた際に生じると推定される外力と、前記移動体の移動位置との相対データを推定するデータ推定部、該データ推定部により推定された相対データを基に、前記各指令移動位置における推定外力を算出すると共に、算出した推定外力を基に、該推定外力によって生じる前記各指令移動位置における移動誤差量を推定する誤差推定部、並びに該誤差推定部により推定された移動誤差量を基に、対応する前記各指令移動位置に対する補正量を算出し、算出した補正量を前記学習制御部に送信して該学習制御部における学習制御の初期値として設定する補正量設定部から構成される初期値設定部とを備える。
【００１９】
この制御装置によれば、制御信号生成部では、与えられた目標移動位置及び移動速度を基に、移動速度に応じた時間間隔毎の指令移動位置が生成されると共に、生成された指令移動位置を基に制御信号が生成されて駆動機構部に送信される。そして、制御信号生成部から送信された制御信号により駆動機構部が制御され、移動体が目標移動位置に所定速度で移動せしめられる。
【００２０】
一方、学習制御部では、各指令移動位置に対する応答結果たる移動体の現在位置データから、その差分の誤差量が算出されて、算出された誤差量を基にその補正量が算出され、算出された補正量が次周期に係る各指令移動位置に加算されて、この誤差量が減少していくように学習制御が行われる。
【００２１】
上述のように、構成要素として転動体が含まれる送り装置では、移動体を移動させる際にこの転動体に起因した摩擦力が生じるため、この摩擦力によって移動体の目標移動位置と実際の移動位置との間に移動誤差を生じる。また、１回目（１周期目）の移動時には、学習結果が得られていないので、これを反映させることができない。
【００２２】
そこで、本発明では、基礎データ記憶部に、移動体を移動軸方向に予め設定した距離だけ往復動させたときに生じる転動体に起因した摩擦力又はこれと等価な力で定義される外力と、移動体の移動位置との相対データを、基礎データとして予め格納しておき、この基礎データ記憶部内の基礎データを基に、初期値設定部によって、学習制御部における学習制御の初期値を設定するようにした。
【００２３】
即ち、目標移動位置及び基礎データ記憶部内の基礎データを基に、移動体を目標移動位置に移動させた際に生じると推定される外力と、移動体の移動位置との相対データを、データ推定部によって推定した後、推定された相対データを基に、誤差推定部により、前記各指令移動位置における推定外力を算出すると共に、算出した推定外力を基に、該推定外力によって生じる前記各指令移動位置における移動誤差量を推定し、この後、補正量設定部により、対応する各指令移動位置に対する補正量を算出し、算出した補正量を学習制御部に送信してこの学習制御部における学習制御の初期値として設定する。
【００２４】
このようにして、学習制御部における学習制御の初期値が設定され、この学習制御部により、設定された初期値が各指令移動位置に加算され、制御信号生成部では、初期値加算後の指令移動位置を基に制御信号が生成されて駆動機構部に送信される。
【００２５】
斯くして、本発明に係る制御方法及び制御装置によれば、移動体を目標移動位置に移動させる際に生じる各指令移動位置における外力を推定し、推定した外力を基に各指令移動位置における移動誤差量を推定し、推定された移動誤差量を基に、各指令移動位置に対する補正量を算出し、算出した補正量を学習制御の初期値に設定するようにしたので、学習結果の得られていない１回目（１周期目）の移動から移動体の指令移動位置を補正しつつ移動体を移動させることができると共に、応答結果を予測して得られる補正量を初期値として設定することができ、移動体を高精度に位置決めすることができる。
【００２６】
尚、前記制御装置は、前記指令移動位置に対する応答結果たる前記移動体の現在位置データから、その差分の誤差量を算出すると共に、算出した誤差量を基にその補正量を算出し、算出した補正量を次の前記指令移動位置に加算するフィードバック制御部を更に備えていても良い。このようにすれば、より高精度に移動体を位置決めすることができる。
【００２７】
また、前記基礎データは、前記移動体の移動位置に応じて前記外力が変化する部分と、前記移動体の移動位置に関係なく前記外力が一定である部分とが含まれるヒステリシス曲線として得られたものであっても良い。
【００２８】
また、前記データ推定部は、前記ヒステリシス曲線の、前記外力が一定である部分の長さを、前記移動位置に関する軸方向に前記目標移動位置に応じて調整することにより得られる相対データを、前記移動体を前記目標移動位置に移動させた際に生じると推定される外力と、前記移動体の移動位置との相対データとするように構成されていても良い。
【発明の効果】
【００２９】
以上のように、本発明に係る制御方法及び制御装置によれば、移動体の位置決め制御を高精度に行うことができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態に係る制御装置などの概略構成を示したブロック図である。
【図２】本実施形態に係る制御装置の詳細な構成を示したブロック図である。
【図３】本実施形態に係る学習制御部の詳細な構成を示したブロック図である。
【図４】移動体を往復動させたときに生じる転動体に起因した摩擦力と、移動体の移動位置との相対データを示したグラフである。
【図５】移動体を移動させたときの移動位置と時間、及び転動体に起因した摩擦力と時間との関係を示したもので、周波数を変化させたときのグラフである。
【図６】移動体を移動させたときの移動位置と時間、及び転動体に起因した摩擦力と時間との関係を示したもので、振幅を変化させたときのグラフである。
【図７】振幅が変化したときの相対データを示すグラフである。
【図８】フィードバック制御系を示したブロック図である。
【図９】初期値補償がある場合とない場合における移動誤差量を求めた実験結果を示すグラフである。
【図１０】本発明の他の実施形態に係る制御装置などの概略構成を示したブロック図である。
【図１１】図１０の実施形態を用いた場合における移動誤差量を求めた実験結果を示すグラフである。
【図１２】従来技術を用いた場合における移動誤差量を求めた実験結果を示すグラフである。
【発明を実施するための形態】
【００３１】
以下、本発明の具体的な実施形態について、添付図面に基づき説明する。
【００３２】
図１に示すように、本例の制御装置１は、移動指令生成部１１，制御信号生成部１２，フィードバック制御部１５，学習制御部１６，基礎データ記憶部２０及び初期値設定部２１を備えて構成されており、例えば、工作機械や半導体露光装置に設けられた送り装置５０の作動を制御する。
【００３３】
ここで、まず、前記送り装置５０について簡単に説明する。この送り装置５０は、支持体５１によって移動自在に支持された移動体５２を駆動するようになっており、移動体５２の矢示方向への移動を案内する案内機構部６０と、移動体５２を移動させる駆動機構部７０とを備える。
【００３４】
前記案内機構部６０は、支持体５１に矢示方向に沿って配設されるガイドレール６１と、移動体５２に固設され、ガイドレール６１に係合にするスライダ６２とから構成される。一方、前記駆動機構部７０は、矢示方向に沿って設けられるボールねじ７１と、支持体５１に配設され、ボールねじ７１の両端部を回転自在に支持する支持部材７２と、支持体５１に配設され、ボールねじ７１をその軸中心に回転させる駆動モータ７３と、移動体５２に固設され、ボールねじ７１に螺合するナット７４と、例えば、ロータリエンコーダから構成され、移動体５２の矢示方向における移動位置を検出する位置検出器７５とから構成される。また、前記スライダ６２及びナット７４は、転動体（図示せず）を備えて構成される。
【００３５】
次に、前記制御装置１について説明する。尚、本例の制御装置１の詳細なブロック図は図２に示すようなものとなるが、本例では、説明を簡単にするため、図１に示すブロック図を参照して説明する。また、前記学習制御部１６の詳細なブロック図についても、図３に示すようなものとなるが、同様に、図１に示すブロック図を参照して説明する。
【００３６】
前記移動指令生成部１１は、加工プログラムや外部からの入力データと、前記位置検出器７５によって検出された移動体５２の移動位置とに基づき移動体５２の目標移動位置及び移動速度を生成し、生成した目標移動位置及び移動速度を前記制御信号生成部１２及び初期値設定部２１に送信する。
【００３７】
前記制御信号生成部１２は、指令移動位置生成部１３及び電流信号生成部１４から構成される。前記指令移動位置生成部１３は、前記移動指令生成部１１から送信された目標移動位置及び移動速度を基に、移動速度に応じた時間間隔毎の指令移動位置を生成して、生成した指令移動位置を前記電流信号生成部１４，フィードバック制御部１５及び学習制御部１６に送信する。また、前記電流信号生成部１４は、受信した指令移動位置を基に制御信号たる電流信号を生成して、生成した電流信号を前記駆動モータ７３に送信し、移動体５２を目標移動位置に所定速度で移動させる。
【００３８】
前記フィードバック制御部１５は、前記指令移動位置生成部１３から送信された指令移動位置と、前記位置検出器７５によって検出された移動体５２の移動位置、即ち、指令移動位置に対する応答結果たる移動体５２の現在位置データとを基に、その差分の誤差量を算出すると共に、算出した誤差量を基にその補正量を算出し、算出した補正量を次の指令移動位置に加算する。
【００３９】
前記学習制御部１６は、前記指令移動位置生成部１３から送信された指令移動位置と、前記位置検出器７５によって検出された移動体５２の移動位置、即ち、指令移動位置に対する応答結果たる移動体５２の現在位置データとの差たる誤差量が減少していくように学習制御を行う。具体的には、学習制御部１６は、補正データを記憶するメモリ部１６ａを備えており、移動体５２の検出移動位置と指令移動位置とから、その差分の誤差量を算出して、算出した誤差量を基にその補正量を算出し、算出した補正量を前記メモリ部１６ａに格納すると共に、このメモリ部１６ａに格納した補正量を次周期に係る各指令移動位置に加算する。
【００４０】
前記基礎データ記憶部２０には、移動体５２を矢示方向に所定距離だけ往復動させたときに生じる前記転動体（図示せず）に起因した摩擦力又はこれと等価な力で定義される外力と、移動体５２の移動位置との相対データが、基礎データとして格納される。
【００４１】
前記基礎データは、図４に示すように、移動体５２の移動位置に応じて前記外力（摩擦力）が変化する部分（Ａ領域）と、移動体５２の移動位置に関係なく前記外力（摩擦力）が一定である部分（Ｂ領域）とが含まれるヒステリシス曲線として得られる。また、この基礎データは、例えば、移動体５２を非常に遅い速度で移動させ、位置検出器７５によって移動体５２の移動位置を検出すると共に、前記駆動モータ７３で発生するトルク、即ち、駆動モータ７３に供給される電流値を適宜検出器によって検出することで取得することができる。
【００４２】
尚、移動体５２を移動させる際には、例えば、ｒ（ｔ）＝Ｒｓｉｎ（２πｆｔ）で表される目標移動位置及び移動速度で移動させると良い。但し、Ｒは振幅（ｍ）、ｆは周波数（Ｈｚ）、ｔは時間（秒）である。また、移動体５２を非常に遅い速度で移動させているのは、駆動モータ７３で発生するトルクと前記転動体（図示せず）に起因した摩擦力とを等価なものとするためであり、このような意味で、移動体５２は、駆動モータ７３で発生するトルクと前記転動体（図示せず）に起因した摩擦力とが等価とみなすことができる速度で移動させる必要がある。また、前記Ａ領域とＢ領域とを含むヒステリシス曲線となるのは、移動体５２の移動開始直後や移動体５２の移動方向が反転した直後は、転動体が完全に転がりきらず、弾性変形するため、摩擦力が変化し（Ａ領域に示すような特性となり）、移動体５２の移動距離が大きくなって転動体が完全に転がり出すと、摩擦力が一定となる（Ｂ領域に示すような特性となる）からである。
【００４３】
そして、このようにして取得された基礎データが前記基礎データ記憶部２０に予め格納される。
【００４４】
前記初期値設定部２１は、データ推定部２２，誤差推定部２３及び補正量設定部２４から構成される。前記データ推定部２２は、前記移動指令生成部１１から送信された目標移動位置と、前記基礎データ記憶部２０に格納された基礎データとを基に、移動体５２を目標移動位置に移動させた際に生じると推定される外力と、移動体５２の移動位置との相対データを推定する。
【００４５】
ここで、ｒ（ｔ）＝Ｒｓｉｎ（２πｆｔ）（但し、Ｒは振幅（ｍ）、ｆは周波数（Ｈｚ）、ｔは時間（秒）である。）で表される目標移動位置及び移動速度で移動体５２を移動させたとすると、移動体５２の移動位置と時間との関係を表すグラフは図５（ａ）の実線で示すようになり、また、前記転動体（図示せず）に起因した摩擦力と時間との関係を表すグラフは図５（ｂ）に示すようになる。周波数を半分（ｆ＝ｆ／２）にして、同様に移動体５２を移動させると、移動体５２の移動位置と時間との関係を表すグラフは図５（ａ）の破線で示すようになり、前記転動体（図示せず）に起因した摩擦力と時間との関係を表すグラフは図５（ｃ）に示すようになる。また、周波数を２倍（ｆ＝２ｆ）にして、同様に移動体５２を移動させると、移動体５２の移動位置と時間との関係を表すグラフは図５（ａ）の一点鎖線で示すようになり、前記転動体（図示せず）に起因した摩擦力と時間との関係を表すグラフは図５（ｄ）に示すようになる。
【００４６】
更に、ｒ（ｔ）＝Ｒｓｉｎ（２πｆｔ）（但し、Ｒは振幅（ｍ）、ｆは周波数（Ｈｚ）、ｔは時間（秒）である。）で表される目標移動位置及び移動速度で移動体５２を移動させたときに得られる、移動体５２の移動位置と時間との関係を表すグラフを図６（ａ）の実線と、前記転動体（図示せず）に起因した摩擦力と時間との関係を表すグラフを図６（ｂ）の実線とし、振幅を２倍（Ｒ＝２Ｒ）にして、同様に移動体５２を移動させると、移動体５２の移動位置と時間との関係を表すグラフは図６（ａ）の破線で示すようになり、前記転動体（図示せず）に起因した摩擦力と時間との関係を表すグラフは図６（ｂ）の破線で示すようになる。また、振幅を半分（Ｒ＝Ｒ／２）にして、同様に移動体５２を移動させると、移動体５２の移動位置と時間との関係を表すグラフは図６（ａ）の一点鎖線で示すようになり、前記転動体（図示せず）に起因した摩擦力と時間との関係を表すグラフは図６（ｂ）の一点鎖線で示すようになる。
【００４７】
そして、これら図５及び図６から分かるように、周波数ｆが高くなると、摩擦力の増減を繰り返す周期が短くなり、即ち、図４で示した相対データのａ，ｂ，ｃ，ｄに遷移する速さが速くなり、周波数ｆが低くなると、摩擦力の増減を繰り返す周期が長くなり、即ち、図４で示した相対データのａ，ｂ，ｃ，ｄに遷移する速さが遅くなる。したがって、周波数ｆが変化すると、図４で示した相対データのａ，ｂ，ｃ，ｄに遷移する速さのみが変化する。尚、ａ点とｂ点との間の摩擦力はＦｒ（ｘ）＝Ｆｒ１（ｘ）、ｂ点とｃ点との間の摩擦力はＦｒ（ｘ）＝ＦＣ、ｃ点とｄ点との間の摩擦力はＦｒ（ｘ）＝Ｆｒ２（ｘ）、ｄ点とａ点との間の摩擦力はＦｒ（ｘ）＝−ＦＣで表され、Ｆｒ１（ｘ）及びＦｒ２（ｘ）は移動位置（ｘ）に依存する関数である。
【００４８】
一方、振幅Ｒが大きくなると、摩擦力が変化している時間が短くなって摩擦力が一定の時間が長くなり、振幅Ｒが小さくなると、摩擦力が変化している時間が長くなって摩擦力が一定の時間が短くなるが、一定となったときの摩擦力自体は変化しない。したがって、振幅Ｒが変化すると、摩擦力が一定の時間、即ち、図４で示したＢ領域の、移動位置に関する軸方向の長さが変化する。図７に示すように、振幅が２倍（Ｒ＝２Ｒ）になると、例えば、前記相対データはａ，ｂ，ｅ，ｆとなり、振幅が半分（Ｒ＝Ｒ／２）になると、例えば、前記相対データはａ，ｂとなる。尚、図７の場合においても、上記と同様、ａ点とｂ点との間の摩擦力はＦｒ（ｘ）＝Ｆｒ１（ｘ）、ｂ点とｃ点との間又はｂ点とｅ点との間の摩擦力はＦｒ（ｘ）＝ＦＣ、ｃ点とｄ点との間又はｅ点とｆ点との間の摩擦力はＦｒ（ｘ）＝Ｆｒ２（ｘ）、ｄ点とａ点との間又はｆ点とａ点との間の摩擦力はＦｒ（ｘ）＝−ＦＣで表され、Ｆｒ１（ｘ）及びＦｒ２（ｘ）は移動位置（ｘ）に依存する関数である。
【００４９】
以上から、周波数ｆ（移動体５２の移動速度）が変化しても前記相対データ自体は変化せず、その一方、振幅Ｒ（移動体５２の移動距離）が変化すると、前記相対データは、Ｂ領域に相当する部分の、移動位置に関する軸方向の長さが変化すると言える。
【００５０】
このため、データ推定部２２は、移動指令生成部１１から送信された目標移動位置と、基礎データ記憶部２０に格納された基礎データとを基に、前記ヒステリシス曲線の、前記外力が一定である部分（Ｂ領域に対応した部分）の長さを、移動位置に関する軸方向に目標移動位置（振幅）に応じて調整し、調整により得られた相対データを、移動体５２を目標移動位置に移動させた際に生じると推定される外力と、移動体５２の移動位置との相対データとする。
【００５１】
前記誤差推定部２３は、前記データ推定部２２により推定された相対データを基に、各指令移動位置における推定外力を算出すると共に、算出した推定外力を基に、この推定外力によって生じる各指令移動位置における移動誤差量を推定する。
【００５２】
図８は、フィードバック制御系のブロック図を示したものであるが、この制御系において前記外力は外乱ｄに相当する。そして、外乱ｄから追従誤差（移動誤差量）ｅまでの伝達関数はｅ／ｄ＝Ｐ（ｓ）／（１＋Ｐ（ｓ）Ｃｆｂ（ｓ））＝Ｐ（ｓ）Ｓ（ｓ）となる。但し、Ｓ（ｓ）＝１／（１＋Ｐ（ｓ）Ｃｆｂ（ｓ））はフィードバック制御系の感度関数である。外乱ｄはｄ＝Ｆｒ（ｘ）で表されるが、移動位置ｘは時間ｔに依存しているので、ｘ（ｔ）と表せる。したがって、前記推定外力はｄ＝Ｆｒ（ｘ）＝Ｆｒ（ｘ（ｔ））で算出することができる。
【００５３】
一方、追従誤差（移動誤差量）は、前記伝達関数からｅ（ｔ）＝Ｐ（ｓ）Ｓ（ｓ）Ｆｒ（ｘ）となる。したがって、前記移動誤差量はｅ（ｔ）＝Ｐ（ｓ）Ｓ（ｓ）Ｆｒ（ｘ（ｔ））で算出（推定）することができる。
【００５４】
前記補正量設定部２４は、前記誤差推定部２３により推定された移動誤差量を基に、対応する各指令移動位置に対する補正量を算出し、算出した補正量を前記学習制御部１６に送信して前記メモリ部１６ａに格納し、この学習制御部１６における学習制御の初期値として設定する。
【００５５】
以上のように構成された本例の制御装置１によれば、まず、移動体５２を矢示方向に所定距離だけ往復動させたときに生じる前記転動体（図示せず）に起因した摩擦力又はこれと等価な力で定義される外力と、移動体５２の移動位置との相対データが取得され、これが基礎データとして、基礎データ記憶部２０に格納される。
【００５６】
そして、移動指令生成部１１により移動体５２の目標移動位置及び移動速度が生成されると、生成された目標移動位置及び移動速度を基に、指令移動位置生成部１３により、移動速度に応じた時間間隔毎の指令移動位置が生成され、生成された指令移動位置が電流信号生成部１４に送信される。
【００５７】
また、生成された指令移動位置と、位置検出器７５によって検出された移動体５２の移動位置とを基に、フィードバック制御部１５により、誤差量が算出されてこれに応じた補正量が算出され、算出された補正量が、電流信号生成部１４に送信される次の指令移動位置に加算される。
【００５８】
一方、学習制御部１６では、生成された指令移動位置と、位置検出器７５によって検出された移動体５２の移動位置とを基に、誤差量が算出されてこれに応じた補正量が算出され、算出された補正量がメモリ部１６ａに格納され、このメモリ部１６ａに格納された補正量が、電流信号生成部１４に送信される次周期に係る各指令移動位置に加算される。
【００５９】
また、生成された目標移動位置と、基礎データ記憶部２０に格納された基礎データとを基に、データ推定部２２により、移動体５２を目標移動位置に移動させた際に生じると推定される外力と、移動体５２の移動位置との相対データが推定され、ついで、推定された相対データを基に、誤差推定部２３により、各指令移動位置における推定外力が算出され、この算出された推定外力によって生じる各指令移動位置における移動誤差量が推定され、この後、推定された移動誤差量を基に、補正量設定部２４により、対応する各指令移動位置に対する補正量が算出され、算出された補正量が学習制御部１６のメモリ部１６ａに格納され、学習制御の初期値として設定される。
【００６０】
そして、電流信号生成部１４では、フィードバック制御部１５や学習制御部１６によって補正量が加算された指令移動位置が受信され、受信された指令移動位置を基に電流信号が生成され、生成された電流信号を基に駆動モータ７３が制御される。
【００６１】
ところで、前記スライダ６２及びナット７４に転動体を備える送り装置５０では、移動体５２を移動させる際にこの転動体に起因した摩擦力が生じるため、この摩擦力によって移動体５２の目標移動位置と実際の移動位置との間に移動誤差を生じる。また、１回目（１周期目）の移動時には、まだ学習結果が得られていないため、これを反映させることができない。
【００６２】
そこで、本例の制御装置１では、前記基礎データを予め取得して基礎データ記憶部２０に格納しておき、この基礎データ記憶部２０内の基礎データを基に、移動体５２を目標移動位置に移動させる際に生じる各指令移動位置における移動誤差量を推定して、推定した移動誤差量を基に学習制御の初期値を設定するようにした。したがって、学習結果の得られていない１回目（１周期目）の移動から移動体５２の指令移動位置を補正しつつ移動体５２を移動させることができると共に、応答結果を予測して得られる補正量を初期値として設定することができ、移動体５２を高精度に位置決めすることができる。
【００６３】
因みに、振幅Ｒを４ｍｍと、周波数ｆを５Ｈｚと（１周期を０．２秒と）して、ｒ（ｔ）＝Ｒｓｉｎ（２πｆｔ）で表される目標移動位置及び移動速度で移動体５２を移動させたところ、初期値補償がある場合（前記基礎データ記憶部２０及び初期値設定部２１を設けている場合）と、初期値補償がない場合（前記基礎データ記憶部２０及び初期値設定部２１を設けていない場合）の移動誤差量は図９に示すようになった。同図９から分かるように、初期値補償をすれば、１周期目の移動から移動体５２の移動誤差量が抑制されており、より高精度に移動体５２の位置決め制御を行うことができる。尚、図９では、初期値補償がある場合を実線で、初期値補償がない場合を破線で示している。
【００６４】
以上、本発明の一実施形態について説明したが、本発明の採り得る具体的な態様は、何らこれに限定されるものではない。
【００６５】
また、上例において、図１０に示すように、前記学習制御部１６及び初期値設定部２１に代えてフィードフォワード制御部２５を設けるようにしても良い。このフィードフォワード制御部２５は、前記データ推定部２２及び補正実行部２６から構成され、前記補正実行部２６は、前記データ推定部２２により推定された相対データを基に、各指令移動位置における推定外力を算出すると共に、算出した推定外力を基に、対応する各指令移動位置に対する補正量を算出し、算出した補正量を前記制御信号生成部１２に送信して、前記推定外力（非線形摩擦力）を打ち消すように補正量を加算する。これにより、指令移動位置生成部１３で生成された指令移動位置が補正され、電流信号生成部１４では、補正後の指令移動位置を基に電流信号が生成される。
【００６６】
このようにしても、応答結果を前もって予測して補正することができ、移動体５２を高精度に位置決めすることができる。因みに、振幅Ｒを５ｍｍと、周波数ｆを１Ｈｚと（１周期を１秒と）して、ｒ（ｔ）＝Ｒｓｉｎ（２πｆｔ）で表される目標移動位置及び移動速度で移動体５２を移動させたところ、指令移動位置を補正した場合（前記基礎データ記憶部２０及びフィードフォワード制御部２５を設けている場合）の移動誤差量は図１１に示すように、指令移動位置を補正していない場合（前記基礎データ記憶部２０及びフィードフォワード制御部２５を設けていない場合）の移動誤差量は図１２に示すようになった。これら図１１及び図１２から分かるように、指令移動位置を補正すれば、１周期目（０〜１秒）の移動から移動体５２の移動誤差量が抑制されており、より高精度に移動体５２の位置決め制御を行うことができる。尚、図１１及び図１２の場合において、基礎データは、多項式近似ではなく、スプライン補完によるデータ列を用いた。
【００６７】
また、図１の初期値設定部２１において、前記誤差推定部２３は省略されていても良く、この場合、前記補正量設定部２４は、前記データ推定部２２により推定された相対データを基に、各指令移動位置における推定外力を算出すると共に、算出した推定外力を基に、対応する各指令移動位置に対する補正量を算出し、算出した補正量を前記学習制御部１６に送信して前記メモリ部１６ａに格納し、この学習制御部１６における学習制御の初期値として設定する。
【００６８】
更に、図１０のフィードフォワード制御部２５において、前記誤差推定部２３が更に設けられていても良く、この場合、前記補正実行部２６は、前記誤差推定部２３により推定された移動誤差量を基に、対応する各指令移動位置に対する補正量を算出し、算出した補正量を前記制御信号生成部１２に送信して、対応する指令移動位置にこの補正量を加算する。
【００６９】
また、図１や図１０に示した制御装置１，２において、フィードバック制御部１５を省略しても良い。
【符号の説明】
【００７０】
１    制御装置
１２  制御信号生成部
１３  指令移動位置生成部
１４  電流信号生成部
１５  フィードバック制御部
１６  学習制御部
２０  基礎データ記憶部
２１  初期値設定部
２２  データ推定部
２３  誤差推定部
２４  補正量設定部
５０  送り装置
５２  移動体
６０  案内機構部
７０  駆動機構部
７１  ボールねじ
７３  駆動モータ
７５  位置検出器
【図１】
0005560068.tif 000002
【図２】
0005560068.tif 000003
【図３】
0005560068.tif 000004
【図４】
0005560068.tif 000005
【図５】
0005560068.tif 000006
【図６】
0005560068.tif 000007
【図７】
0005560068.tif 000008
【図８】
0005560068.tif 000009
【図９】
0005560068.tif 000010
【図１０】
0005560068.tif 000011
【図１１】
0005560068.tif 000012
【図１２】
0005560068.tif 000013