(57)【特許請求の範囲】
【請求項１】
１つ以上のモータを駆動させて制御対象を目標位置に移動させる位置決め制御装置であって、
位置指令パラメータに基づいて加速区間および減速区間の加速度の形状が独立に決定される位置指令を生成する位置指令生成部と、
前記モータの位置を示すモータ位置が前記位置指令に追従するように前記モータを駆動する駆動制御部と、
前記制御対象の加速度を示す加速度検出値を加速度検出部から取得し、前記モータ位置と、前記モータ位置に基づいて位置決め制御の完了が判定された後の前記加速度検出値と、に基づいて前記制御対象の位置決め性能に関する評価値を算出する評価部と、
前記位置指令パラメータに基づいて決定される加速区間と減速区間とにおける位置指令の加速度の形状のそれぞれを独立に変更しつつ、複数回の位置決め制御が実行された場合の前記位置指令パラメータと前記評価値との関係を学習し、前記位置指令パラメータと前記評価値の関係式を得る学習部と、
を備えることを特徴とする位置決め制御装置。
【請求項２】
前記評価値は、位置決め開始から位置決め完了が判定されるまでの位置決め時間に基づいて計算されることを特徴とする請求項１に記載の位置決め制御装置。
【請求項３】
前記評価値は、１つ以上の前記モータのうち前記位置決め時間の最も長い前記モータの前記位置決め時間に基づいて計算されることを特徴とする請求項２に記載の位置決め制御装置。
【請求項４】
前記学習部は、前記位置指令パラメータに対応する前記評価値の推定値を出力する関数または前記評価値の平均値および分散値の推定値を出力する関数を前記関係式として得ることを特徴とする請求項１から３のいずれか１つに記載の位置決め制御装置。
【請求項５】
前記学習部は、前記位置指令パラメータと前記評価値との前記関係式に基づいて１つ以上の前記モータの位置指令パラメータを変更することを特徴とする請求項１から４のいずれか１つに記載の位置決め制御装置。
【請求項６】
位置指令生成部、駆動制御部、評価部および学習部を備える位置決め制御装置で１つ以上のモータを駆動させて制御対象を目標位置に移動させる位置決め方法であって、
前記位置指令生成部が、位置指令パラメータに基づいて加速区間および減速区間の加速度の形状が独立に決定される位置指令を生成するステップと、
前記駆動制御部が、前記モータの位置を示すモータ位置が前記位置指令に追従するように前記モータを駆動するステップと、
前記評価部が、前記制御対象の加速度を示す加速度検出値を取得し、前記モータ位置と、前記モータ位置に基づいて位置決め制御の完了が判定された後の前記加速度検出値と、に基づいて前記制御対象の位置決め性能に関する評価値を算出するステップと、
前記学習部が、前記位置指令パラメータに基づいて決定される加速区間と減速区間とにおける位置指令の加速度の形状のそれぞれを独立に変更しつつ、複数回の位置決め制御が実行された場合の前記位置指令パラメータと前記評価値との関係を学習し、前記位置指令パラメータと前記評価値の関係式を得るステップと、
を含むことを特徴とする位置決め方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、制御対象について位置決め制御を行う位置決め制御装置および位置決め方法に関する。
【背景技術】
【０００２】
電子部品実装機または半導体製造装置のように、サーボモータの駆動により制御対象であるヘッドを繰り返し移動させる装置では、生産性能の向上のためにサーボモータについて高速な制御が求められる。サーボモータが高速に動作すると、装置の剛性の低さに起因する機械振動が生じる場合がある。この場合、サーボモータの位置指令の指令形状が適切に調整されていれば、機械振動の影響を受ける状況下であっても高速な位置決め制御を実現することができる。そのため、位置指令の指令形状を適切に調整することが求められる。【０００３】
特許文献１には、ロボットの移動経路上での振動を低減するために、ロボットの移動動作中の制御対象の加速度の振動が最小となるように指令形状を調整する技術が開示されている。特許文献１では、指令形状のパラメータを与えて位置決め動作をさせたときの振動値を変数として評価関数を演算し、パラメータを少しずつ変更しながら評価値を求め、ロボットの移動経路上での振動の大きさが最小となる指令形状が見つけられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−１４３２４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術では、パラメータと評価値との関係が不明な状況下で評価値を収束させるためにはパラメータの変更幅を小さくする必要があるが、パラメータの変更幅が小さすぎると、位置決め動作の回数が膨大になり調整に時間を要してしまうという問題があった。また、局所最適解に陥りやすく真の最適解に到達することができない可能性がある。【０００６】
本開示は、上記に鑑みてなされたものであって、制御対象の振動を抑える位置指令のパラメータを従来に比して少ない試行回数で調整することができる位置決め制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本開示の位置決め制御装置は、１つ以上のモータを駆動させて制御対象を目標位置に移動させる位置決め制御装置である。位置決め制御装置は、位置指令生成部と、駆動制御部と、評価部と、学習部と、を備える。位置指令生成部は、位置指令パラメータに基づいて加速区間および減速区間の加速度の形状が独立に決定される位置指令を生成する。駆動制御部は、モータの位置を示すモータ位置が位置指令に追従するようにモータを駆動する。評価部は、制御対象の加速度を示す加速度検出値を加速度検出部から取得し、モータ位置と、モータ位置に基づいて位置決め制御の完了が判定された後の加速度検出値と、に基づいて制御対象の位置決め性能に関する評価値を算出する。学習部は、位置指令パラメータに基づいて決定される加速区間と減速区間とにおける位置指令の加速度の形状のそれぞれを独立に変更しつつ、複数回の位置決め制御が実行された場合の位置指令パラメータと評価値との関係を学習し、位置指令パラメータと評価値の関係式を得る。
【発明の効果】
【０００８】
本開示にかかる位置決め制御装置は、制御対象の振動を抑える位置指令のパラメータを従来に比して少ない試行回数で調整することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１による位置決め制御装置の構成の一例を模式的に示す図
【図２】実施の形態１で用いられる位置指令並びに位置指令から求められる速度指令、加速度指令およびジャークの一例を示す図
【図３】実施の形態１において位置指令パラメータに基づいて生成された指令形状を用いて位置決め制御が行われた場合の位置指令とモータ位置との偏差の時間応答および制御対象の加速度検出値の時間応答の一例を示す図
【図４】実施の形態１で用いられるニューラルネットワークの一例を模式的に示す図
【図５】実施の形態２による位置決め制御装置の構成の一例を模式的に示す図
【図６】実施の形態２による位置決め制御装置における位置決め方法の手順の一例を示すフローチャート
【図７】実施の形態２による位置決め制御装置によって得られる効果を説明するための図
【図８】実施の形態２による位置決め制御装置によって得られる効果を説明するための図
【図９】実施の形態３による位置決め制御装置の構成の一例を模式的に示す図
【図１０】実施の形態３においてＸ軸位置指令パラメータおよびＹ軸位置指令パラメータを用いて位置決め制御が行われた場合の、Ｘ軸位置指令とＸ軸モータ位置との偏差の時間応答、Ｙ軸位置指令とＹ軸モータ位置との偏差の時間応答および制御対象の加速度検出値の時間応答を示す図
【図１１】実施の形態１，２，３による位置決め制御装置を実現するハードウェア構成の一例を模式的に示す図
【発明を実施するための形態】
【００１０】
以下に、本開示の実施の形態にかかる位置決め制御装置および位置決め方法を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの開示が限定されるものではない。
【００１１】
実施の形態１．
図１は、実施の形態１による位置決め制御装置の構成の一例を模式的に示す図である。位置決め制御装置１０は、モータ１を駆動させて制御対象３を目標位置に移動させる装置であって、モータ１と加速度検出器４とに接続される。モータ１は、ボールねじ２を介して制御対象３にトルクおよび推力を与えて、制御対象３を移動させる。モータ１は、制御対象３を駆動することができるものであればよい。モータ１の例は、回転型サーボモータ、リニアモータまたはステッピングモータである。
【００１２】
制御対象３は、モータ１により所望の目標位置に移動させられる。制御対象３は、位置決め制御が必要とされる機械または部品である。制御対象３の例は、電子部品実装機または半導体製造装置のヘッド部分である。
【００１３】
加速度検出器４は、制御対象３の加速度を検出し、加速度検出値を示す情報を位置決め制御装置１０に出力する。加速度検出値は、加速度検出器４による検出の結果である加速度を示す。加速度検出器４は、加速度検出部に対応する。
【００１４】
位置決め制御装置１０は、位置指令生成部１１と、駆動制御部１２と、評価部１３と、学習部１４と、を備える。
【００１５】
位置指令生成部１１は、モータ１を駆動させて制御対象３を目標位置に移動させるための位置指令を、当該位置指令の形状を定める位置指令パラメータに基づいて生成する。位置指令生成部１１は、位置指令パラメータに基づいて加速区間および減速区間の加速度形状が決定される位置指令を生成する。
【００１６】
駆動制御部１２は、モータ１の位置を示すモータ位置が位置指令生成部１１によって生成された位置指令に追従するようにモータ１を駆動する。
【００１７】
評価部１３は、加速度検出値を取得し、モータ位置と、モータ位置に基づいて位置決め制御の完了が判定された後の加速度検出値と、に基づいて制御対象３の位置決め性能に関する評価値を算出する。つまり、評価部１３は、制御対象３についての位置決め制御の実行時のモータ位置および制御対象３の加速度検出値に基づいて駆動制御部１２による位置決め制御の良し悪しを評価するための評価値を算出する。
【００１８】
学習部１４は、位置指令パラメータの上限値および下限値を規定するパラメータ範囲内において位置指令パラメータが変更されて複数回の制御対象３についての位置決め制御が実行された場合の位置指令パラメータと評価部１３によって算出された評価値との関係を学習する。学習部１４は、位置指令パラメータに基づいて決定される加速区間と減速区間とにおける位置指令の加速度の形状のそれぞれを独立に変更しつつ、複数回の位置決め制御が実行された場合の位置指令パラメータと評価値との関係を学習し、位置指令パラメータと評価値との関係式を得る。さらに言うと、学習部１４は、学習によって得た関係式に基づいて位置指令パラメータを決定する。
【００１９】
以下に、位置指令生成部１１、駆動制御部１２、評価部１３および学習部１４についてさらに詳細に説明する。
【００２０】
位置指令生成部１１は、位置指令パラメータに基づいて、モータ１の位置指令を生成して出力する。位置指令パラメータは、位置指令の指令形状を規定するパラメータである。図２は、実施の形態１で用いられる位置指令並びに位置指令から求められる速度指令、加速度指令およびジャークの一例を示す図である。図２においてグラフ２１０は、位置指令の一例を示す図であり、横軸は時間を示し、縦軸は位置を示している。グラフ２２０は、位置指令の一階微分であり、横軸は時間を示し、縦軸は速度を示している。グラフ２３０は、位置指令の二階微分であり、横軸は時間を示し、縦軸は加速度を示している。グラフ２４０は、加速度指令の一階微分である加加速度、すなわちジャークであり、横軸は時間を示し、縦軸はジャークを示している。
【００２１】
図２のグラフ２３０に示されるように、実施の形態１における加速度指令は、第１区間から第３区間までにおいて加速方向の台形形状を示す指令であり、第４区間では０であり、第５区間から第７区間までにおいて減速方向の台形形状を示す指令である。第１区間が加速開始の区間を示し、第３区間が加速終了の区間を示し、第５区間が減速開始の区間を示し、第７区間が減速終了の区間を示す。第ｍ区間の時間長を、第ｍ時間長Ｔｍとする。ｍは、１から７までの整数である。例えば、第１区間の時間長は第１時間長Ｔ１である。
【００２２】
図２の加速度指令において、第１区間から第３区間までの加速区間の台形形状と、第５区間から第７区間までの減速区間の台形形状とは合同でなくても、つまり非対称でもよい。加速区間の第１時間長Ｔ１と第３時間長Ｔ３とを０として、加速度指令の形状を矩形形状としてもよい。実施の形態１では、第１時間長Ｔ１から第７時間長Ｔ７までの７個のパラメータが位置指令パラメータである。指令形状は、位置指令パタメータに基づいて規定される。指令形状の計算方法は後述する。
【００２３】
図１に戻り、駆動制御部１２は、モータ１の回転位置が位置指令に追従するようにモータ１に電流を供給する。例えば、駆動制御部１２は、モータ１の回転位置と位置指令との偏差が小さくなるようにＰＩＤ（Proportional-Integral-Differential）制御に基づいてモータ１に供給される電流の値を計算し、計算によって得られた値の電流をモータ１に供給する。なお、駆動制御部１２は、モータ１の回転位置を位置指令に追従させるものであれば、どのようなものであってもよい。例えば、駆動制御部１２は、フィードバック制御にフィードフォワード制御を加えた２自由度制御を行なってもよい。
【００２４】
駆動制御部１２は、モータ１の回転位置が位置指令に追従するようにモータ１を駆動するものではなく、制御対象３の位置をフィードバック制御のための信号として検出して、制御対象３の位置が位置指令に追従するようにモータ１を駆動するものであってもよい。
【００２５】
評価部１３は、モータ１のモータ位置と、制御対象３の加速度検出値とを受け取り、駆動制御部１２による位置決め制御の良し悪しを評価するための評価値Ｑを後述する方法で計算して出力する。駆動制御部１２は位置指令に基づいて動作し、位置指令は位置指令パラメータに基づいて計算される。したがって、評価部１３によって算出される評価値Ｑは、位置指令パラメータの値に依存する。つまり、評価値Ｑは位置指令パラメータを評価するための指標であるといえる。
【００２６】
ここで、評価値Ｑの具体的な計算方法を説明する。図３は、実施の形態１において位置指令パラメータに基づいて生成された指令形状を用いて位置決め制御が行われた場合の位置指令とモータ位置との偏差の時間応答および制御対象の加速度検出値の時間応答の一例を示す図である。グラフ３１０は、モータ１の位置の偏差の時間応答を示す図であり、横軸は時間を示し、縦軸はモータ１の位置の偏差を示す。グラフ３２０は、制御対象３の加速度の時間応答を示す図であり、横軸は時間を示し、縦軸は制御対象３の加速度を示す。
【００２７】
図３に示されるように、位置決め制御の開始から位置指令とモータ位置との偏差の大きさが予め定められた許容値Ｐｔｏｌよりも小さくなる位置決め完了までの時間を、位置決め時間Ｔｓｔとする。位置決め時間Ｔｓｔが小さい場合、評価値Ｑが大きな値を示すように評価値Ｑが設定される。また位置決め完了の後の加速度検出値の振動振幅の最大値を加速度最大値Ａａｍｐとする。目標位置近傍での加速度検出値の振動振幅が小さい値を示すように評価値Ｑが設定される。これらを満たすために評価値Ｑは次式（１）により設定される。
Ｑ＝−Ｔｓｔ−ｗ×Ａａｍｐ  ・・・（１）
【００２８】
（１）式において、ｗは重み係数であり正の値であるとする。（１）式によれば、位置決め時間Ｔｓｔが小さいほど評価値Ｑは大きな値になる。また位置決め完了の後の加速度最大値Ａａｍｐが小さいほど評価値Ｑは大きな値となる。つまり、実施の形態１では、評価値Ｑが大きな値であるほど、位置指令パラメータは優良であるといえる。ただし、評価値Ｑは、位置決め制御の性能を評価することができるものであれば、（１）式によって特定されるものに限定されない。例えば、位置決め時間Ｔｓｔと加速度最大値Ａａｍｐの和を評価値Ｑとして、評価値Ｑが小さな値であるほど位置指令パラメータは優良であると定められてもよい。また、加速度最大値Ａａｍｐが加速度振幅の許容値を超える場合のみペナルティとして評価値Ｑに加算するようにしてもよい。さらに、位置決め完了の時点から一定の時間が経過した後の時間における加速度の最大値を加速度最大値Ａａｍｐとして、（１）式の計算に用いてもよい。
【００２９】
図１に戻り、学習部１４は、評価値Ｑを入力として、位置指令パラメータと評価値Ｑとの関係を学習する。具体的には、学習部１４において、位置指令パラメータを入力として評価値Ｑを出力とするニューラルネットワークが構成され、学習部１４は、ニューラルネットワークの重み係数を更新して学習を行う。重み係数を更新して学習が行われた場合、ニューラルネットワークは位置指令パラメータに対応する評価値Ｑの良好な推定値を出力する。
【００３０】
学習部１４は、ニューラルネットワークを用い、位置指令パラメータを入力として評価値Ｑを出力とする関数を得ることで、学習結果として位置指令パラメータと評価値Ｑとの関係式を得る。学習部１４は、位置指令パラメータと評価値Ｑとの関係を学習することができれば、位置指令パラメータと評価値Ｑとの関係を、ニューラルネットワークを用いる方法以外の方法で学習してもよい。
【００３１】
学習部１４は、次の位置決め制御を実行するための位置指令パラメータを、規定されるパラメータ範囲のなかから選定して出力する。学習部１４は、次の位置指令パラメータの選定にあたって、学習により得た関数に基づいて優良な評価値Ｑを示す位置指令パラメータを選定してもよいし、各位置指令パラメータを等間隔に刻んだグリッドの点のなかから順に位置指令パラメータを選定してもよい。学習部１４は、位置指令パラメータに基づいて評価値Ｑを計算する関数を更新する機能を有する。
【００３２】
実施の形態１による位置決め制御装置１０の機能をさらに説明する。学習部１４は、パラメータ範囲で定められる範囲内で１組の位置指令パラメータを決定し、決定された位置指令パラメータを位置指令生成部１１に出力する。位置指令生成部１１は、入力された位置指令パラメータに基づいて位置指令を計算する。
【００３３】
位置指令の計算方法を説明する。第２区間の加速度の大きさをＡａと定め、第６区間の加速度の大きさをＡｄと定める。第２区間の加速度の大きさＡａと第６区間の加速度の大きさＡｄとは、位置指令パラメータの従属変数となるため、これらには設定自由度は無い。位置指令生成部１１は、「０≦ｔ＜Ｔ１」の範囲の時間ｔにおける第１区間の加速度指令Ａ１（ｔ）、速度指令Ｖ１（ｔ）および位置指令Ｐ１（ｔ）のそれぞれを、次式（２）、次式（３）および次式（４）を用いて計算する。
【００３４】
【数１】
0006800384.tif 000002
【００３５】
【数２】
0006800384.tif 000003
【００３６】
【数３】
0006800384.tif 000004
【００３７】
位置指令生成部１１は、「Ｔ１≦ｔ＜Ｔ１＋Ｔ２」の範囲の時間ｔにおける第２区間の加速度指令Ａ２（ｔ）、速度指令Ｖ２（ｔ）および位置指令Ｐ２（ｔ）のそれぞれを、次式（５）、次式（６）および次式（７）を用いて計算する。
Ａ２（ｔ）＝Ａａ  ・・・（５）
【００３８】
【数４】
0006800384.tif 000005
【００３９】
【数５】
0006800384.tif 000006
【００４０】
位置指令生成部１１は、「Ｔ１＋Ｔ２≦ｔ＜Ｔ１＋Ｔ２＋Ｔ３」の範囲の時間ｔにおける第３区間の加速度指令Ａ３（ｔ）、速度指令Ｖ３（ｔ）および位置指令Ｐ３（ｔ）のそれぞれを、次式（８）、次式（９）および次式（１０）を用いて計算する。
【００４１】
【数６】
0006800384.tif 000007
【００４２】
【数７】
0006800384.tif 000008
【００４３】
【数８】
0006800384.tif 000009
【００４４】
位置指令生成部１１は、「Ｔ１＋Ｔ２＋Ｔ３≦ｔ＜Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４」の範囲の時間ｔにおける第４区間の加速度指令Ａ４（ｔ）、速度指令Ｖ４（ｔ）および位置指令Ｐ４（ｔ）のそれぞれを、次式（１１）、次式（１２）および次式（１３）を用いて計算する。
Ａ４（ｔ）＝０  ・・・（１１）
【００４５】
【数９】
0006800384.tif 000010
【００４６】
【数１０】
0006800384.tif 000011
【００４７】
位置指令生成部１１は、「Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４≦ｔ＜Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５」の範囲の時間ｔにおける第５区間の加速度指令Ａ５（ｔ）、速度指令Ｖ５（ｔ）および位置指令Ｐ５（ｔ）のそれぞれを、次式（１４）、次式（１５）および次式（１６）を用いて計算する。
【００４８】
【数１１】
0006800384.tif 000012
【００４９】
【数１２】
0006800384.tif 000013
【００５０】
【数１３】
0006800384.tif 000014
【００５１】
位置指令生成部１１は、「Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５≦ｔ＜Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５＋Ｔ６」の範囲の時間ｔにおける第６区間の加速度指令Ａ６（ｔ）、速度指令Ｖ６（ｔ）および位置指令Ｐ６（ｔ）のそれぞれを、次式（１７）、次式（１８）および次式（１９）を用いて計算する。
Ａ６（ｔ）＝−Ａｄ  ・・・（１７）
【００５２】
【数１４】
0006800384.tif 000015
【００５３】
【数１５】
0006800384.tif 000016
【００５４】
位置指令生成部１１は、「Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５＋Ｔ６≦ｔ≦Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５＋Ｔ６＋Ｔ７」の範囲の時間ｔにおける第７区間の加速度指令Ａ７（ｔ）、速度指令Ｖ７（ｔ）および位置指令Ｐ７（ｔ）のそれぞれを、次式（２０）、次式（２１）および次式（２２）を用いて計算する。
【００５５】
【数１６】
0006800384.tif 000017
【００５６】
【数１７】
0006800384.tif 000018
【００５７】
【数１８】
0006800384.tif 000019
【００５８】
終端時間ｔ＝Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５＋Ｔ６＋Ｔ７においては、速度指令は０に一致する必要があり、位置指令は移動距離Ｄに一致する必要がある。そのため、終端時間において次式（２３）および次式（２４）が成立する。
Ｖ７＝０  ・・・（２３）
Ｐ７＝Ｄ  ・・・（２４）
【００５９】
上記の（５）式および（１７）式より、第２区間の加速度の大きさＡａおよび第６区間の加速度の大きさＡｄが決定される。上述のように、指令形状は位置指令パラメータと移動距離Ｄとに基づいて計算される。
【００６０】
上述の通り、また図２のグラフ２３０に示されるように、第１区間、第３区間、第５区間および第７区間では、加速度は時間の一次関数である。そのため、これらの区間では、図２のグラフ２４０に示されるように、加速度の一階微分であるジャークは非零の一定値である。つまり、第１時間長Ｔ１、第３時間長Ｔ３、第５時間長Ｔ５および第７時間長Ｔ７は、ジャークが非零の一定値となる時間を定めたものであると言える。非零の一定値は、０より大きい一定値または０より小さい一定値である。
【００６１】
これらの区間では、時間長の代わりにジャークの大きさを指定するパラメータが選択されてもよい。例えば、第１区間におけるジャークの大きさをＪ１として定めると、ジャークＪ１は、次式（２５）に示されるように、第１時間長Ｔ１を用いて算出することができる。
Ｊ１＝Ａａ／Ｔ１  ・・・（２５）
【００６２】
つまり、ジャークが非零の一定値となる区間の時間をパラメータとして定めることと、ジャークが非零の一定値となる区間のジャークの大きさをパラメータとして定めることとは、等価である。このように、指令形状を規定するパラメータの選択の仕方には任意性があり、指令形状を規定するパラメータの選択は上述の方法に限定されない。
【００６３】
上述のように、実施の形態１の位置指令生成部１１が実行する指令生成方法では、指令形状を規定するために７個の位置指令パラメータを使用する。従来の技術で多く用いられる加速度および速度の２個のパラメータにより指令形状を規定する方法と比較すると、実施の形態１における調整の自由度は従来のそれより高い。そのため、適切に位置指令パラメータを調整することができれば、位置決め制御装置１０は、制御対象３が載置されている装置の機械振動の影響を受ける状況であっても、良好な応答を示す位置決め制御を実現することができる。
【００６４】
他方、制御対象３が載置されている装置の操作者が当該装置を動作させつつ、試行錯誤によって上記の７個のパラメータを人手で調整する場合、比較的大きな労力および比較的長い時間が必要となる。以下では、位置決め制御装置１０が評価部１３、学習部１４を有することにより、位置決め制御装置１０が操作者の試行錯誤を必要とせず、位置指令パラメータを適切に調整することができることを説明する。
【００６５】
評価部１３および学習部１４の動作によれば、学習部１４による位置指令パラメータの変更と、変更された位置指令パラメータが用いられた位置決め制御と、評価部１３による評価値Ｑの計算とが繰り返し実行される。この繰り返し実行される評価部１３および学習部１４の動作を説明する。
【００６６】
学習部１４は、位置指令パラメータの上限値および下限値を規定するパラメータ範囲内において位置指令パラメータを選定する。評価部１３および学習部１４の動作が３回実行されて、第３組目までの位置指令パラメータが評価される過程を説明する。第１組目の位置指令パラメータを位置指令パラメータＰｒ１と表記し、第２組目の位置指令パラメータを位置指令パラメータＰｒ２と表記し、第３組目の位置指令パラメータを位置指令パラメータＰｒ３と表記する。３組の位置指令パラメータのそれぞれは、第１時間長Ｔ１から第７時間長Ｔ７までの７個のパラメータを有している。
【００６７】
学習部１４から第１組目の位置指令パラメータＰｒ１が出力され、位置指令生成部１１が第１組目の位置指令パラメータＰｒ１に基づいて位置指令を生成する。第１組目の位置指令パラメータＰｒ１に基づいて生成された位置指令が用いられて、位置決め制御が実行される。評価部１３は、この場合のモータ位置および加速度検出値に基づいて、第１組目の位置指令パラメータＰｒ１に対応する位置決め時間Ｔｓｔ１および加速度最大値Ａａｍｐ１を取得する。位置決め制御の開始から、位置指令とモータ位置との偏差の大きさが予め定められた許容値Ｐｔｏｌより小さくなる位置決め完了までの時間を位置決め時間Ｔｓｔ１とする。また、位置決め完了の後の加速度検出値の振動振幅の最大値を加速度最大値Ａａｍｐ１とする。第１組目の位置指令パラメータＰｒ１に対応する評価値Ｑ１は、（１）式より次式（２６）のように表される。
Ｑ１＝−Ｔｓｔ１−ｗ×Ａａｍｐ１  ・・・（２６）
【００６８】
学習部１４は、評価値Ｑ１を受け取り、位置指令パラメータを第２組目の位置指令パラメータＰｒ２に変更する。学習部１４は、位置指令パラメータを変更する際、第１組目の位置指令パラメータＰｒ１が用いられた位置決め制御の結果に基づいて第２組目の位置指令パラメータＰｒ２を選定してもよいし、第１組目の位置指令パラメータＰｒ１が用いられた位置決め制御の結果に関わらず、予め定められていた通りに第２組目の位置指令パラメータＰｒ２を選定してもよい。
【００６９】
学習部１４が位置指令パラメータを変更すると、第２組目の位置指令パラメータＰｒ２に基づいて生成される位置指令が用いられて位置決め制御が実行される。評価部１３は、この場合のモータ位置および加速度検出値に基づいて、第２組目の位置指令パラメータＰｒ２に対応する位置決め時間Ｔｓｔ２および加速度最大値Ａａｍｐ２を取得する。位置決め制御の開始から、位置指令とモータ位置との偏差の大きさが許容値Ｐｔｏｌより小さくなる位置決め完了までの時間を位置決め時間Ｔｓｔ２とする。また位置決め完了の後の加速度検出値の振動振幅の最大値を加速度最大値Ａａｍｐ２とする。第２組目の位置指令パラメータＰｒ２に対応する評価値Ｑ２は、（１）式より次式（２７）のように表される。
Ｑ２＝−Ｔｓｔ２−ｗ×Ａａｍｐ２  ・・・（２７）
【００７０】
学習部１４は、評価値Ｑ２を受け取り、位置指令パラメータを第３組目の位置指令パラメータＰｒ３に変更する。評価部１３は、評価値Ｑ１と評価値Ｑ２とを得た手順と同様にして、評価値Ｑ３を、位置決め時間Ｔｓｔ３および加速度最大値Ａａｍｐ３に基づいて、（１）式を用いて評価する。その評価値Ｑ３は、次式（２８）のように表される。
Ｑ３＝−Ｔｓｔ３−ｗ×Ａａｍｐ３  ・・・（２８）
【００７１】
学習部１４は、評価値Ｑ３を受け取る。ここまでの評価部１３および学習部１４の動作によって、学習部１４は３組の位置指令パラメータＰｒ１、位置指令パラメータＰｒ２および位置指令パラメータＰｒ３に対応する評価値Ｑ１、評価値Ｑ２および評価値Ｑ３を得る。
【００７２】
評価部１３および学習部１４は、上述のように、位置指令パラメータに対応する評価値Ｑを取得する動作を繰り返し実施する。
【００７３】
学習部１４は、位置指令パラメータと位置指令パラメータに対応する評価値Ｑとを学習用データとして、ニューラルネットワークを用いた学習動作を行う。図４は、実施の形態１で用いられるニューラルネットワークの一例を模式的に示す図である。当該ニューラルネットワーク４００は、入力層４１０、中間層４２０および出力層４３０を有する。左端の入力層４１０に位置指令パラメータが入力され、右端の出力層４３０から評価値Ｑが出力される。位置指令パラメータは、上記したように、第１時間長Ｔ１から第７時間長Ｔ７までの７個のパラメータを含む。入力層４１０の各ノード４１１から中間層４２０の各ノード４２１に対する重み係数は全て独立に設定することができるが、図４ではこれらは全て同一の重み係数Ｗ１として表記されている。同様に、中間層４２０の各ノード４２１から出力層４３０のノード４３１に対する重み係数は、全て同一の重み係数Ｗ２として表記されている。
【００７４】
入力層４１０の各ノード４１１の出力値に対して重み係数Ｗ１が乗算され、乗算によって得られた結果の線形結合が中間層４２０の各ノード４２１に入力される。中間層４２０の各ノード４２１の出力値に対して重み係数Ｗ２が乗算され、乗算によって得られた結果の線形結合が出力層４３０のノード４３１に入力される。各層４１０，４２０，４３０の各ノード４１１，４２１，４３１では、例えばシグモイド関数といった非線形関数により入力値から出力値が計算されてもよい。入力層４１０および出力層４３０では、出力値は入力値の線形結合であってもよい。
【００７５】
学習部１４は、位置指令パラメータと評価値Ｑとを用いて、ニューラルネットワーク４００の重み係数Ｗ１と重み係数Ｗ２とを計算する。ニューラルネットワーク４００の重み係数Ｗ１および重み係数Ｗ２は、一例では、誤差逆伝播法または勾配降下法を用いることで計算することができる。ただし、ニューラルネットワーク４００の重み係数が得られる計算方法であれば、重み係数Ｗ１および重み係数Ｗ２の計算方法は上述の方法に限られない。
【００７６】
ニューラルネットワーク４００の重み係数Ｗ１および重み係数Ｗ２が決定されれば、位置指令パラメータと評価値Ｑとの関係式が得られたことになる。
【００７７】
以上の説明において、３層のニューラルネットワーク４００を用いた学習を行う例が示された。しかし、ニューラルネットワーク４００を用いた学習は、上述の例に限定されない。
【００７８】
ここまでの評価部１３および学習部１４の動作によって、ニューラルネットワーク４００による関係式が得られた。
【００７９】
上述のように評価部１３および学習部１４の動作によってニューラルネットワーク４００による関係式が得られれば、位置指令パラメータを入力として評価値Ｑを出力とする関数が得られたことになる。この関数を用いれば、新たな位置指令パラメータに対して位置決め制御を実行しなくとも、その新たな位置指令パラメータに対応する評価値Ｑを得ることが可能になる。
【００８０】
一般に、加速度検出器４はその設置環境および電源環境の影響を受けるため検出値にノイズを多く含む。そのため制御対象３の加速度検出値を評価する場合にもノイズの影響は免れず、同じ位置指令パラメータを使って位置決め制御を行ったとしても、取得された加速度検出値の値が異なることに起因して異なる評価値Ｑが得られることが多々ある。学習部１４の動作によれば、ノイズの影響を受けて取得された複数の評価値Ｑのそれぞれとの誤差を最小にするような評価値Ｑが得られるため、位置指令パラメータに対する評価値Ｑの適切な推定値を得ることが可能になる。
【００８１】
続いて、学習部１４は、位置指令パラメータと評価値Ｑとの関係式に基づいて、数値計算により、評価値Ｑが最大となる位置指令パラメータを求める。このとき、例えばグリッド探索、ランダム探索またはニュートン法といった最適化アルゴリズムを用いることができる。
【００８２】
上述のように、評価部１３および学習部１４の動作によって指令パラメータと評価値Ｑとの関係式を学習することができる。加えて、関係式を用いることで評価値Ｑを最大とするような優良な位置指令パラメータを見つけることが可能である。この関係式を用いれば位置決め制御を実施しなくても位置指令パラメータに対応する評価値Ｑの適切な推定値を取得することができるため、位置決め制御装置１０は、必ずしも優良なパラメータを用いた位置決め制御を行なっていなくとも、優良なパラメータを見つけることが可能である。
【００８３】
以上により、位置決め制御装置１０は制御対象３の振動を抑制しつつ、短時間の位置決め制御を実現することが可能である。
【００８４】
また、位置決め制御装置１０はモータ位置と制御対象３の加速度検出値とによって位置指令パラメータを適切に調整することができる。このとき、加速度検出器４は制御対象３に接着しておくことが可能である。そのため制御対象３の停止位置が変更されても評価のために操作者が加速度検出器４の配置を変更する必要がない。
【００８５】
よって、位置決め制御装置１０は、操作者の試行錯誤を必要とせず、位置指令パラメータを適切に調整することができる。
【００８６】
上述のことから、実施の形態１による位置決め制御装置１０では、位置決め制御を高速化するための指令形状の調整を効率よく行うことができるという効果を得ることができる。
【００８７】
位置指令生成部１１は、位置指令の信号を二回微分した信号である加速度指令信号が零より大きい一定値または零より小さい一定値となる時間が存在するように、位置指令の信号の形状を定めてもよい。位置指令生成部１１は、位置指令の信号を三回微分した信号であるジャークの信号が零より大きい一定値または零より小さい一定値となる時間が存在するように、位置指令の信号の形状を定めてもよい。位置指令生成部１１は、ジャークの信号が零より大きい一定値または零より小さい一定値となる時間を示す情報を位置指令パラメータに含めてもよい。位置指令生成部１１は、ジャークの信号が零より大きい一定値または零より小さい一定値となる時間におけるジャークの信号の大きさを示す情報を位置指令パラメータに含めてもよい。
【００８８】
実施の形態１では、学習部１４は位置指令パラメータを入力として評価値Ｑの推定値を計算する関数を得る。これにより、位置指令パラメータと位置決め制御を実行することによって得られた評価値Ｑとの組の中からも優良な位置指令パラメータを選定することができる。つまり、学習により見つけた最適な位置指令パラメータで位置決め制御を行うことができる。
【００８９】
実施の形態１による位置決め制御装置１０は、制御対象３の加速度検出値に基づく評価値Ｑと、位置指令パラメータとの関係を学習する学習部１４を備える。これによって、制御対象３の振動を抑えるような位置指令パラメータを少ない試行回数で調整することが可能になる。その結果、非対称で多自由度の指令形状の最適化ができる。また、学習部１４の学習によって得られた位置指令パラメータが位置指令生成部１１に設定され、位置指令生成部１１が位置指令を生成することで高速な位置決め制御を実現することができる。さらに、評価値Ｑは、位置決め開始から位置決め完了が判定されるまでの位置決め時間Ｔｓｔに基づいて計算されるので、位置決め時間Ｔｓｔを短時間化するような位置決め制御の調整が可能となる。
【００９０】
実施の形態２．
図５は、実施の形態２による位置決め制御装置の構成の一例を模式的に示す図である。以下では、実施の形態１と同一の部分には同一の符号を付し、その説明を省略し、異なる部分について説明する。位置決め制御装置２０は、位置指令生成部１１と、駆動制御部１２と、評価部１３と、学習部２４と、を備える。
【００９１】
学習部２４は、評価値Ｑを入力として位置指令パラメータと評価値Ｑとの関係を学習する。具体的には、学習部２４は、位置指令パラメータに対応する評価値Ｑの平均値と分散値とを推定する関数を更新して学習を行う。学習部２４は、学習を行うことで、位置指令パラメータに対応した評価値Ｑの平均値と、位置指令パラメータに対応する評価値Ｑの分散値と、を計算して推定することが可能となる。平均値と分散値とを計算するための関数には、一例では、ガウス過程モデルを用いることができる。このように、学習部２４は位置指令パラメータと評価値Ｑとの関係式を得る。
【００９２】
学習部２４は、次の位置決め制御を実行するための位置指令パラメータを選定して位置指令生成部１１に出力する。学習部２４は、次の位置指令パラメータの選定にあたって、学習結果に基づいて評価値Ｑの平均値と分散値との和が最大値を示す位置指令パラメータを選定する。
【００９３】
学習部２４は、位置指令パラメータを変更しつつ、予め定められた回数を終えるまで繰り返し実行された位置決め制御によって評価部１３から得られた評価値Ｑの中から、評価値Ｑを最大とした位置指令パラメータを位置指令生成部１１に出力する。
【００９４】
実施の形態２による位置決め制御装置２０の機能をさらに説明する。学習部２４は、１組の位置指令パラメータを決定し、決定された位置指令パラメータを位置指令生成部１１に出力する。位置指令生成部１１は、入力された位置指令パラメータに基づいて位置指令を計算する。位置指令生成部１１は、実施の形態１で説明したように、指令形状を規定するために７個の位置指令パラメータを使用する。従来の技術で多く用いられる加速度および速度の２個のパラメータにより指令形状を規定する方法と比較すると、実施の形態２における調整の自由度は従来のそれより高い。そのため、位置指令パラメータを適切に調整することができれば、位置決め制御装置２０は、制御対象３が載置されている装置の機械振動の影響を受ける状況であっても、良好な応答を示す位置決め制御を実現することができる。
【００９５】
図６は、実施の形態２による位置決め制御装置における位置決め方法の手順の一例を示すフローチャートである。まず、位置指令生成部１１に位置指令パラメータの初期値が設定される（ステップＳ１）。位置指令パラメータの初期値は、どのような値でも構わない。次いで、位置指令生成部１１は、ステップＳ１で設定された位置指令パラメータに基づいて位置指令を計算する（ステップＳ２）。駆動制御部１２は、計算された位置指令によって位置決め制御を実行する（ステップＳ３）。
【００９６】
次いで、評価部１３は、モータ位置および制御対象３の加速度検出値を用いて評価値Ｑを計算する（ステップＳ４）。その後、学習部２４は、予め定められた回数の位置決め制御が終了したかを判定する（ステップＳ５）。予め定められた回数の位置決め制御が終了していない場合（ステップＳ５でＮｏの場合）には、学習部２４は、位置指令パラメータと計算された評価値Ｑとに基づいて、評価値Ｑの平均値と評価値Ｑの分散値とを計算する関数を更新する（ステップＳ６）。
【００９７】
その後、学習部２４は、ステップＳ６で更新された関数に基づいて、評価値Ｑの平均値と分散値との和が最大となる位置指令パラメータを求める（ステップＳ７）。また、学習部２４は、ステップＳ７で求められた位置指令パラメータを位置指令生成部１１に設定する（ステップＳ８）。その後、設定された位置指令パラメータによって位置決め制御を再度実行して評価値Ｑを得るべく、位置決め制御装置２０の動作はステップＳ２に移行する。
【００９８】
ステップＳ５において、予め定められた回数の位置決め制御が終了した場合（ステップＳ５でＹｅｓの場合）には、予め定められた回数の評価値Ｑが得られた状態であり、学習部２４は、予め定められた数の評価値Ｑの中から、評価値Ｑを最大とする位置指令パラメータを選定し、位置指令生成部１１に設定する（ステップＳ９）。以上で、処理が終了する。
【００９９】
上述のように、学習部２４は、ステップＳ７において位置指令パラメータと評価値Ｑとの関係を学習し、位置指令パラメータに対応する評価値Ｑの平均値と分散値とを得ることができる。そして、学習部２４は、ステップＳ８において、評価値Ｑの平均値と分散値との和を最大とする位置指令パラメータを求める。求められた位置指令パラメータは、次回の位置決め制御に用いられる。
【０１００】
次に、平均値と分散値との和を最大とする位置指令パラメータを次回の位置決め制御に用いることによって得られる効果を説明する。図７および図８は、実施の形態２による位置決め制御装置によって得られる効果を説明するための図である。
【０１０１】
ここでは、評価部１３および学習部２４の動作が２回実行された後に第３組目の位置指令パラメータが選定される過程を説明する。第１組目の位置指令パラメータは位置指令パラメータＰｒ１１と表記され、第２組目の位置指令パラメータは位置指令パラメータＰｒ１２と表記され、第３組目の位置指令パラメータは位置指令パラメータＰｒ１３と表記される。
【０１０２】
図７および図８は、説明のために位置指令パラメータを１次元に簡略化して示している。これらの図で、横軸は位置指令パラメータを示し、縦軸は評価値Ｑを示している。評価部１３および学習部２４の動作が２回実行された場合、図７の丸印で示されるように、位置指令パラメータＰｒ１１に対応する評価値Ｑ１１と、位置指令パラメータＰｒ１２に対応する評価値Ｑ１２とが得られる。学習部２４は、得られた評価値Ｑ１１と評価値Ｑ１２とに基づく学習を行い、位置指令パラメータに対応する評価値Ｑの平均値と分散値とを計算する関数を更新する。
【０１０３】
図７に示す平均値を示す曲線ＡＶと、平均値と分散値との和を示す曲線ＡＤと、が、学習部２４により得られた関数に基づいて計算される。図７に示されるように、位置指令パラメータＰｒ１１と位置指令パラメータＰｒ１２との中間点のように、取得されたデータからの距離が遠いほど評価値Ｑの不確実性が高いため、分散値は大きくなる。学習部２４の動作により、評価値Ｑの平均値と分散値との和が最大となる図７の星印の点Ｐに対応する位置指令パラメータＰｒ１３が次の位置指令パラメータとして選定される。
【０１０４】
位置指令パラメータＰｒ１３を用いて位置指令が計算されて位置決め制御が行われた結果として、図８に示すように、評価値Ｑ１３が得られる。ここでは、評価値Ｑ１３は、評価値Ｑ１１および評価値Ｑ１２より大きい値であると仮定する。この段階で調整が終了した場合、評価値Ｑ１３が最大となるため、調整終了時点で位置指令パラメータＰｒ１３が最も優良なパラメータとなる。
【０１０５】
仮に、第３組目の位置指令パラメータＰｒ１３を選定する段階で、評価値Ｑの平均値と分散値との和の最大値でなく、評価値Ｑの平均値の最大値を選ぶ場合を想定する。図７において平均値の曲線ＡＶの最大値は位置指令パラメータＰｒ１３の点ではないため、第３組目の位置指令パラメータとして位置指令パラメータＰｒ１３が選定されることはない。そのため、評価値Ｑの平均値の最大値を選ぶ場合には優良なパラメータを選定することができない可能性がある。
【０１０６】
上述のように、分散値は過去に取得されたデータからの距離が遠い点において大きくなる傾向がある。平均値は、過去に取得されたデータに基づいて良好と推定される点において大きくなる傾向がある。つまり、位置決め制御装置２０は、平均値と分散値との和が最大となる点を次の位置指令パラメータとして選定することで、比較的大きな評価値Ｑを得るための探索と搾取とのバランスを良好に保つことができ、調整の終了時に比較的大きな評価値Ｑを得る位置指令パラメータを見つけることができる。
【０１０７】
よって、実施の形態２による位置決め制御装置２０は、操作者の試行錯誤を必要とせず、位置指令パラメータを適切に調整することができる。上述のことから、位置決め制御装置２０は、位置決め制御を高速化する良好な指令形状の調整を効率よく行うことができる。また、実施の形態２による位置決め制御装置２０では、学習部２４は、位置指令パラメータに対応する評価値Ｑの推定値を出力する関数または評価値Ｑの平均値および分散値の推定値を出力する関数を関係式として得る。これによって、評価値Ｑの分布を推定することで探索と搾取のバランスのよい調整が可能となる。
【０１０８】
上述した説明では、位置決め制御装置２０は、評価値Ｑの平均値と分散値との和が最大となる点を次の位置指令パラメータとして選定する場合を例に挙げたが、実施の形態２がこれに限定されるものではない。一例では、位置決め制御装置２０は、評価値Ｑの平均値に分散値の２倍を加算した値が最大となる点に対応する位置指令パラメータを次の位置指令パラメータとして選定してもよい。また、他の例では、位置決め制御装置２０は、学習して得られた評価関数の平均値と分散値とを使って、ＥＩ（Expected  Improvement）関数、ＰＩ（Probability  of  Improvement）関数またはその他の獲得関数を用いて、次の位置指令パラメータとなる点を計算してもよい。つまり、実施の形態２では、評価値Ｑの平均値と分散値とを含む関数を用いて次の位置指令パラメータとなる点が算出されるものであればよい。
【０１０９】
実施の形態２では、位置決め制御装置２０は、評価値Ｑの平均値と分散値との和が最大となる点を次の位置指令パラメータとして選定する。このとき、位置決め制御装置２０は、評価値Ｑの平均値と分散値との和が最大となる点を見つけるにあたり、各位置指令パラメータを等間隔に刻んだグリッドの点の中から順に評価値Ｑの平均値と分散値とを計算して、グリッドのなかで評価値Ｑの平均値と分散値とが最大となる位置指令パラメータを選定してもよい。また、位置決め制御装置２０は、評価値Ｑの平均値と分散値との和が最大となる点を見つけるにあたり、疑似ランダム関数に基づくランダム探索により評価値Ｑの平均値と分散値とが最大となる位置指令パラメータを選定してもよい。
【０１１０】
実施の形態３．
図９は、実施の形態３による位置決め制御装置の構成の一例を模式的に示す図である。以下では、実施の形態１と同一の部分には同一の符号を付し、その説明を省略し、異なる部分について説明する。
【０１１１】
位置決め制御装置３０は、モータ１およびモータ５を駆動させて制御対象３を目標位置に移動させる装置であって、モータ１とモータ５と加速度検出器４とに接続される。ここでは、モータ１は、制御対象３をＸ軸方向に駆動するものであり、モータ５は、モータ１をＸ軸に垂直なＹ軸方向に駆動するものであるとする。モータ１は、ボールねじ２を介して制御対象３にトルクおよび推力を与えて、制御対象３をＸ軸方向に移動させる。モータ１は、制御対象３を駆動することができるものであればよい。モータ５は、ボールねじ６を介してモータ１をＹ軸方向に移動させる。モータ５は、モータ１を駆動することができるものであればよい。モータ１およびモータ５の例は、回転型サーボモータ、リニアモータまたはステッピングモータである。
【０１１２】
制御対象３は、モータ１とモータ５により所望の目標位置に移動させられる。制御対象３は、位置決め制御が必要とされる機械または部品である。制御対象３の例は、電子部品実装機または半導体製造装置のヘッド部分である。
【０１１３】
位置決め制御装置３０は、Ｘ軸位置指令生成部３１Ｘと、Ｙ軸位置指令生成部３１Ｙと、Ｘ軸駆動制御部３２Ｘと、Ｙ軸駆動制御部３２Ｙと、評価部３３と、学習部３４と、を備える。
【０１１４】
Ｘ軸位置指令生成部３１ＸおよびＹ軸位置指令生成部３１Ｙは、それぞれモータ１およびモータ５を駆動させて制御対象３を目標位置に移動させるための位置指令を、当該位置指令の形状を定める位置指令パラメータに基づいて生成する。具体的には、Ｘ軸位置指令生成部３１Ｘは、Ｘ軸位置指令パラメータに基づいて加速区間および減速区間の加速度形状が決定されるＸ軸位置指令を生成する。Ｙ軸位置指令生成部３１Ｙは、Ｙ軸位置指令パラメータに基づいて加速区間および減速区間の加速度形状が決定されるＹ軸位置指令を生成する。Ｘ軸方向およびＹ軸方向の位置指令の生成について実施の形態１の位置指令生成部１１を適用したものが、それぞれＸ軸位置指令生成部３１ＸおよびＹ軸位置指令生成部３１Ｙである。
【０１１５】
Ｘ軸駆動制御部３２Ｘは、モータ１がＸ軸位置指令生成部３１Ｘによって生成されたＸ軸位置指令に追従するようにモータ１を駆動するＸ軸電流を出力する。Ｙ軸駆動制御部３２Ｙは、モータ１がＹ軸位置指令生成部３１Ｙによって生成されたＹ軸位置指令に追従するようにモータ５を駆動するＹ軸電流を出力する。Ｘ軸方向のモータ１の制御およびＹ軸方向のモータ５の制御について実施の形態１の駆動制御部１２を適用したものが、それぞれＸ軸駆動制御部３２ＸおよびＹ軸駆動制御部３２Ｙである。すなわち、Ｘ軸駆動制御部３２ＸおよびＹ軸駆動制御部３２Ｙの動作は、実施の形態１の駆動制御部１２の動作と同じである。
【０１１６】
評価部３３は、制御対象３についての位置決め制御の実行時のモータ１の位置を示すＸ軸モータ位置とモータ５の位置を示すＹ軸モータ位置と制御対象３の加速度検出値とに基づいて位置決め制御の良し悪しを評価するための評価値Ｑを算出する。評価部３３は、制御対象３についての位置決め制御の実行時のＸ軸モータ位置とＹ軸モータ位置と加速度検出値とに基づいて位置決め性能に関する評価値Ｑを算出する。評価部３３の機能は、基本的には実施の形態１の評価部１３と同じである。
【０１１７】
学習部３４は、Ｘ軸およびＹ軸の位置指令パラメータの上限値および下限値を規定するパラメータ範囲内において位置指令パラメータが変更されて複数回の制御対象３についての位置決め制御が実行された場合のＸ軸位置指令パラメータとＹ軸位置指令パラメータと評価部３３によって算出された評価値Ｑとの関係を学習する。
【０１１８】
学習部３４は、位置指令パラメータに基づいて決定される加速区間と減速区間とにおける加速度の形状のそれぞれを独立に変更しつつ、複数回の位置決め制御が実行された場合のＸ軸位置指令パラメータとＹ軸位置指令パラメータと評価値Ｑとの関係を学習する。そして、学習部３４は、学習の結果、Ｘ軸位置指令パラメータとＹ軸位置指令パラメータと評価値Ｑとの関係式を得る。さらに、学習部３４は、学習によって得た関係式に基づいてＸ軸およびＹ軸の位置指令パラメータを決定する。
【０１１９】
ここで、Ｘ軸位置指令生成部３１ＸおよびＹ軸位置指令生成部３１Ｙにより生成される指令形状はそれぞれ実施の形態１に示す指令形状と同じである。つまりＸ軸に関して７個のパラメータがＸ軸位置指令パラメータであり、Ｙ軸に関して７個のパラメータがＹ軸位置指令パラメータである。このときのＸ軸位置指令パラメータとＹ軸位置指令パラメータは同じパラメータである必要はない。
【０１２０】
以下に、評価部３３および学習部３４についてさらに詳細に説明する。
【０１２１】
評価部３３は、Ｘ軸モータ位置とＹ軸モータ位置と制御対象３の加速度検出値とを受け取り、位置決め制御の良し悪しを評価するための評価値Ｑを後述する方法で計算して出力する。Ｘ軸駆動制御部３２ＸおよびＹ軸駆動制御部３２ＹはそれぞれＸ軸位置指令およびＹ軸位置指令に基づいて動作し、Ｘ軸位置指令およびＹ軸位置指令はそれぞれＸ軸位置指令パラメータおよびＹ軸位置指令パラメータに基づいて計算される。したがって、評価部３３によって算出される評価値Ｑは、Ｘ軸位置指令パラメータおよびＹ軸位置指令パラメータの値に依存する。つまり、評価値ＱはＸ軸位置指令パラメータおよびＹ軸位置指令パラメータを評価するための指標であるといえる。
【０１２２】
次に、評価値Ｑの具体的な計算方法を説明する。図１０は、実施の形態３においてＸ軸位置指令パラメータおよびＹ軸位置指令パラメータを用いて位置決め制御が行われた場合の、Ｘ軸位置指令とＸ軸モータ位置との偏差の時間応答、Ｙ軸位置指令とＹ軸モータ位置との偏差の時間応答および制御対象の加速度検出値の時間応答を示す図である。グラフ１０１０は、Ｘ軸のモータ１の位置の偏差の時間応答を示す図であり、横軸は時間を示し、縦軸はモータ１の位置の偏差を示す。グラフ１０２０は、Ｙ軸のモータ５の位置の偏差の時間応答を示す図であり、横軸は時間を示し、縦軸はモータ５の位置の偏差を示す。グラフ１０３０は、制御対象３の加速度の時間応答を示す図であり、横軸は時間を示し、縦軸は制御対象３の加速度を示す。
【０１２３】
グラフ１０１０に示されるように、Ｘ軸の位置決め開始からＸ軸位置指令とＸ軸モータ位置との偏差の大きさが予め定められた許容値Ｐｔｏｌより小さくなるＸ軸の位置決め完了までの時間を、Ｘ軸位置決め時間ＴｓｔＸとする。同様に、グラフ１０２０に示されるように、Ｙ軸の位置決め開始からＹ軸位置指令とＹ軸モータ位置との偏差の大きさが予め定められた許容値Ｐｔｏｌより小さくなるＹ軸の位置決め完了までの時間を、Ｙ軸位置決め時間ＴｓｔＹとする。許容値ＰｔｏｌはＸ軸とＹ軸とで別の値にしてもよい。
【０１２４】
制御対象３が目標位置近傍に到達する時間は、Ｘ軸位置決め時間ＴｓｔＸとＹ軸位置決め時間ＴｓｔＹとの長い方の時間である。つまり位置決め実行時のＸ軸位置決め時間ＴｓｔＸとＹ軸位置決め時間ＴｓｔＹとを比較してその長い方の時間を評価値Ｑとすることで、制御対象３が目標位置近傍に到達する時間を短時間化するような調整が可能となる。
【０１２５】
また、グラフ１０３０に示されるように、位置決め時間Ｔｓｔが長い方の軸の位置決め完了の後の加速度検出値の振動振幅の最大値を加速度最大値Ａａｍｐとする。さらに、加速度検出値の振動振幅の許容値を加速度許容値Ａｔｏｌとする。目標位置近傍での加速度検出値の振動振幅が小さい値を示すように評価値Ｑが設定される。これらを満たすために評価値Ｑは次式（２９）により設定される。
Ｑ＝−ｍａｘ（ＴｓｔＸ，ＴｓｔＹ）−γ×ｍａｘ（０，Ａａｍｐ−Ａｔｏｌ）  ・・・（２９）
【０１２６】
ここで、γは、正の値である。また、ｍａｘ（ｘ１，ｘ２）は、２つの引数ｘ１と引数ｘ２とのうちの大きい方を出力する関数である。（２９）式によれば、Ｘ軸位置決め時間ＴｓｔＸとＹ軸位置決め時間ＴｓｔＹのいずれか大きい方のモータの位置決め時間Ｔｓｔの値が小さいほど評価値Ｑは大きな値になる。このとき、Ｘ軸位置決め時間ＴｓｔＸとＹ軸位置決め時間ＴｓｔＹの小さい方のモータの位置決め時間Ｔｓｔは評価値Ｑには寄与しない。また、位置決め完了の後の加速度最大値Ａａｍｐが加速度許容値Ａｔｏｌよりも大きい場合に加速度最大値Ａａｍｐが小さいほど評価値Ｑは大きな値になる。加速度最大値Ａａｍｐが加速度許容値Ａｔｏｌよりも小さい場合には、加速度最大値Ａａｍｐは評価値Ｑに寄与しない。
【０１２７】
図１０では、一例としてＸ軸位置決め時間ＴｓｔＸよりもＹ軸位置決め時間ＴｓｔＹの方が長い例を示している。この場合には、位置決め時間Ｔｓｔの長いＹ軸の位置決め時間ＴｓｔＹが評価値Ｑに寄与することとなる。また、図１０では、一例として位置決め時間Ｔｓｔの長いＹ軸の位置決め完了後の加速度最大値Ａａｍｐは加速度許容値Ａｔｏｌよりも小さいものとする。このように評価値Ｑを計算することで多軸の位置決め制御の位置決め時間Ｔｓｔと位置決め完了後の加速度の大きさを評価することができる。
【０１２８】
以上により、実施の形態３では、評価値Ｑが大きな値であるほど、位置指令パラメータは優良であるといえる。ただし、評価値Ｑは、位置決め制御を評価することができるものであれば、（２９）式によって特定されるものに限定されない。
【０１２９】
学習部３４は、評価値Ｑを入力として、Ｘ軸位置指令パラメータとＹ軸位置指令パラメータと評価値Ｑとの関係を学習する。具体的には、Ｘ軸位置指令パラメータとＹ軸位置指令パラメータとを一括して入力パラメータとして、評価値Ｑの平均値および分散値の推定値を出力するような関数を学習する。学習方法は実施の形態２と同様であるとする。
【０１３０】
学習部３４の動作によって、Ｘ軸位置指令パラメータおよびＹ軸位置指令パラメータに対応する評価値Ｑの平均値と分散値とを得ることができる。さらに学習部３４は、実施の形態２と同様に、評価値Ｑの平均値と分散値との和を最大とするＸ軸位置指令パラメータとＹ軸位置指令パラメータとを求める。求められたＸ軸位置指令パラメータとＹ軸位置指令パラメータとは、次回の位置決め制御に用いられる。
【０１３１】
学習部３４の動作によって、比較的大きな評価値Ｑを得るための探索と搾取とのバランスを良好に保つことができ、調整の終了時に比較的大きな評価値Ｑを得る位置指令パラメータを見つけることができる。
【０１３２】
実施の形態３ではＸ軸およびＹ軸の双方を同時に動作させる例を示したが、Ｘ軸を停止させておきＹ軸のみを動作させて位置指令形状を調整してもよい。例えばＹ軸の調整を終える毎にＸ軸方向に位置を少しずつ移動させることで、各Ｘ軸の位置に対応するＹ軸の最適な位置指令形状を調整することが可能となる。実施の形態３によれば、制御対象３の停止位置に関わらず加速度検出値によって位置指令形状の最適化が可能であるので、加速度検出器４の設置位置を変更するといった操作者の手間を必要としない。
【０１３３】
また、実施の形態３では、Ｘ軸およびＹ軸の２方向における位置決め制御を例に挙げたが、３軸以上における位置決め制御でも、同様にして位置指令を生成することが可能である。
【０１３４】
実施の形態３による位置決め制御装置３０によれば、実施の形態１，２の場合と同様に、操作者の試行錯誤を必要とせず、複数の軸の位置指令パラメータを適切に調整することができる。その結果、実施の形態３による位置決め制御装置３０によれば、位置決め制御を高速化する良好な指令形状の調整を効率よく行うことができるという効果を得ることができる。
【０１３５】
さらに、実施の形態３では、評価値Ｑは、１つ以上のモータのうち最も長いモータの位置決め時間Ｔｓｔに基づいて計算されるようにした。これによって、多軸システムの位置決め時間Ｔｓｔを短時間化するような位置決め制御の調整が可能になるという効果も有する。
【０１３６】
ここで、実施の形態１，２，３で説明した位置決め制御装置１０，２０，３０のハードウェア構成について説明する。図１１は、実施の形態１，２，３による位置決め制御装置を実現するハードウェア構成の一例を模式的に示す図である。なお、位置決め制御装置１０，２０，３０は、同様のハードウェア構成を有しているので、ここでは位置決め制御装置１０のハードウェア構成について説明する。
【０１３７】
位置決め制御装置１０は、プロセッサ７１と、メモリ７２と、がバスライン７３を介して接続される。プロセッサ７１の例は、ＣＰＵ（Central  Processing  Unit）またはシステムＬＳＩ（Large  Scale  Integration）である。メモリ７２の例は、主記憶装置であるＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、補助記憶装置であるＨＤＤ（Hard  Disk  Drive）またはＳＳＤ（Solid  State  Drive）である。
【０１３８】
位置指令生成部１１、駆動制御部１２、評価部１３および学習部１４一部又は全部の機能がプロセッサ７１によって実現される場合、当該一部又は全部の機能は、プロセッサ７１と、ソフトウェア、ファームウェア、またはソフトウェアおよびファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアはプログラムとして記述され、メモリ７２に格納される。プロセッサ７１は、メモリ７２に記憶されたプログラムを読み出して実行することにより、位置指令生成部１１、駆動制御部１２、評価部１３および学習部１４の一部または全部の機能を実現する。
【０１３９】
位置指令生成部１１、駆動制御部１２、評価部１３および学習部１４の一部または全部の機能がプロセッサ７１によって実現される場合、位置決め制御装置１０は、位置指令生成部１１、駆動制御部１２、評価部１３および学習部１４の一部または全部によって実行されるステップが結果的に実行されることになるプログラムがメモリ７２に格納される。メモリ７２に格納されるプログラムは、位置指令生成部１１、駆動制御部１２、評価部１３および学習部１４の一部または全部が実行する手順または方法をコンピュータに実行させるものであるともいえる。
【０１４０】
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０１４１】
１，５  モータ、１０，２０，３０  位置決め制御装置、１１  位置指令生成部、１２  駆動制御部、１３，３３  評価部、１４，２４，３４  学習部、３１Ｘ  Ｘ軸位置指令生成部、３１Ｙ  Ｙ軸位置指令生成部、３２Ｘ  Ｘ軸駆動制御部、３２Ｙ  Ｙ軸駆動制御部。
【要約】
位置決め制御装置は、位置指令生成部と、駆動制御部と、評価部と、学習部と、を備える。位置指令生成部は、位置指令パラメータに基づいて加速区間および減速区間の加速度の形状が独立に決定される位置指令を生成する。駆動制御部は、モータの位置を示すモータ位置が位置指令に追従するようにモータを駆動する。評価部は、制御対象の加速度を示す加速度検出値を加速度検出部から取得し、モータ位置と、モータ位置に基づいて位置決め制御の完了が判定された後の加速度検出値と、に基づいて制御対象の位置決め性能に関する評価値を算出する。学習部は、位置指令パラメータに基づいて決定される加速区間と減速区間とにおける位置指令の加速度の形状のそれぞれを独立に変更しつつ、複数回の位置決め制御が実行された場合の位置指令パラメータと評価値との関係を学習し、位置指令パラメータと評価値の関係式を得る。【図１】
0006800384.tif 000020
【図２】
0006800384.tif 000021
【図３】
0006800384.tif 000022
【図４】
0006800384.tif 000023
【図５】
0006800384.tif 000024
【図６】
0006800384.tif 000025
【図７】
0006800384.tif 000026
【図８】
0006800384.tif 000027
【図９】
0006800384.tif 000028
【図１０】
0006800384.tif 000029
【図１１】
0006800384.tif 000030