(57)【特許請求の範囲】
【請求項１】
モータを駆動させて制御対象を目標移動距離だけ移動させる位置決め制御装置であって、
位置指令パラメータに基づいて加速区間及び減速区間の加速度の形状が決定される位置指令を生成する位置指令生成部と、
前記モータ又は前記制御対象の位置検出値が前記位置指令に追従するように前記モータを駆動する駆動制御部と、
前記制御対象についての位置決め制御の実行時の前記モータ又は前記制御対象の位置検出値に基づいて位置決め性能に関する評価値を算出する評価部と、
前記位置指令パラメータに基づいて決定される加速区間と減速区間とにおける加速度の形状の各々を独立に変更しつつ、複数回の位置決め制御が実行された場合の前記位置指令パラメータと前記評価値との関係を学習し、前記位置指令パラメータの上限値及び下限値を規定するパラメータ範囲における前記位置指令パラメータと前記評価値との関係を示す関係式を学習結果として得る学習部と
を備えることを特徴とする位置決め制御装置。
【請求項２】
前記学習部は、前記位置指令パラメータに対応する前記評価値の推定値を出力する関数または前記評価値の平均値と分散値の推定値を出力する関数を前記学習結果として得る
ことを特徴とする請求項１に記載の位置決め制御装置。
【請求項３】
モータを駆動させて制御対象を目標移動距離だけ移動させる位置決め制御装置であって、
位置指令パラメータに基づいて加速区間及び減速区間の加速度の形状が決定される位置指令を生成する位置指令生成部と、
前記モータ又は前記制御対象の位置検出値が前記位置指令に追従するように前記モータを駆動する駆動制御部と、
前記制御対象についての位置決め制御の実行時の前記モータ又は前記制御対象の位置検出値に基づいて位置決め性能に関する評価値を算出する評価部と、
前記位置指令パラメータに基づいて決定される加速区間と減速区間とにおける加速度の形状の各々を、実行された位置決め制御に用いた位置指令パラメータの中で評価値を最大とする位置指令パラメータと疑似ランダム関数とに基づいて独立に変更しつつ、複数回の位置決め制御が実行された場合の前記位置指令パラメータと前記評価値との関係を学習して学習結果を得る学習部と
を備えることを特徴とする位置決め制御装置。
【請求項４】
モータを駆動させて制御対象を目標移動距離だけ移動させる位置決め制御装置であって、
位置指令パラメータに基づいて加速区間及び減速区間の加速度の形状が決定される位置指令であって、加速区間及び減速区間の夫々においてジャークの大きさが非零の一定値となる区間を有する位置指令を生成する位置指令生成部と、
前記モータ又は前記制御対象の位置検出値が前記位置指令に追従するように前記モータを駆動する駆動制御部と、
前記制御対象についての位置決め制御の実行時の前記モータ又は前記制御対象の位置検出値に基づいて位置決め性能に関する評価値を算出する評価部と、
前記位置指令パラメータに基づいて決定される加速区間と減速区間とにおける加速度の形状の各々を独立に変更しつつ、複数回の位置決め制御が実行された場合の前記位置指令パラメータと前記評価値との関係を学習し、前記位置指令パラメータと前記評価値との関係を学習結果として得る学習部と
を備えることを特徴とする位置決め制御装置。
【請求項５】
前記位置指令パラメータに基づいて前記制御対象の動作を模擬し、模擬した結果が事前に設定された制約条件を満たす場合、動作を模擬する際に用いた位置指令パラメータを前記位置指令生成部に出力する動作模擬部を更に備える
ことを特徴とする請求項１から４のいずれか１項に記載の位置決め制御装置。
【請求項６】
前記学習部によって得られた前記学習結果に基づいて、前記位置指令パラメータの上限値及び下限値を規定するパラメータ範囲を設定するパラメータ範囲設定部を更に備える
ことを特徴とする請求項１から４のいずれか１項に記載の位置決め制御装置。
【請求項７】
前記目標移動距離を示す情報を含む運転条件と前記学習部によって得られた前記学習結果とを対応付けて保持する学習結果保持部を更に備え、
前記学習結果保持部は、ひとつ以上の前記位置指令パラメータを優良パラメータとして保持し、
前記パラメータ範囲設定部は、前記学習結果保持部によって保持された前記優良パラメータより小さい値を前記パラメータ範囲の下限とすると共に、前記優良パラメータより大きい値を前記パラメータ範囲の上限として、前記パラメータ範囲を設定する
ことを特徴とする請求項６に記載の位置決め制御装置。
【請求項８】
前記目標移動距離を示す情報を含む運転条件と前記学習部によって得られた前記学習結果とを対応付けて保持する学習結果保持部を更に備え、
前記学習結果保持部は、前記評価値が最大となる前記位置指令パラメータを第一の優良パラメータとして保持し、
前記パラメータ範囲設定部は、前記運転条件に含まれる前記情報が示す前記目標移動距離が変更された場合、過去に学習が実行されたときの目標移動距離をもとに補間計算を行って、変更後の目標移動距離に対応する補間点の第一の優良パラメータを推定し、推定された前記補間点の第一の優良パラメータより小さい値を前記パラメータ範囲の下限とすると共に、推定された前記補間点の第一の優良パラメータより大きい値を前記パラメータ範囲の上限として、前記パラメータ範囲を設定する
ことを特徴とする請求項６に記載の位置決め制御装置。
【請求項９】
前記制御対象の目標停止位置の情報を含む運転条件と前記学習部によって得られた前記学習結果とを対応付けて保持する学習結果保持部を更に備え、
前記学習結果保持部は、前記評価値が最大となる前記位置指令パラメータを第二の優良パラメータとして保持し、
前記パラメータ範囲設定部は、前記運転条件に含まれる前記情報が示す前記目標停止位置が変更された場合、過去に学習が実行されたときの目標停止位置をもとに補間計算を行って、変更後の目標停止位置に対応する補間点の第二の優良パラメータを推定し、推定された前記補間点の第二の優良パラメータより小さい値を前記パラメータ範囲の下限とすると共に、推定された前記補間点の第二の優良パラメータより大きい値を前記パラメータ範囲の上限として、前記パラメータ範囲を設定する
ことを特徴とする請求項６に記載の位置決め制御装置。
【請求項１０】
前記位置指令生成部は、前記学習部の学習によって得られた位置指令パラメータが設定されて前記位置指令を生成する学習器である
ことを特徴とする請求項１から４のいずれか１項に記載の位置決め制御装置。
【請求項１１】
モータを駆動させて制御対象を目標移動距離だけ移動させる位置決め方法であって、
位置指令パラメータに基づいて加速区間及び減速区間の加速度の形状が決定される位置指令を生成するステップと、
前記モータ又は前記制御対象の位置検出値が前記位置指令に追従するように前記モータを駆動するステップと、
前記制御対象についての位置決め制御の実行時の前記モータ又は前記制御対象の位置検出値に基づいて位置決め性能に関する評価値を算出するステップと、
前記位置指令パラメータに基づいて決定される加速区間と減速区間とにおける加速度の形状の各々を独立に変更しつつ、複数回の位置決め制御が実行された場合の前記位置指令パラメータと前記評価値との関係を学習し、前記位置指令パラメータの上限値及び下限値を規定するパラメータ範囲における前記位置指令パラメータと前記評価値との関係を示す関係式を学習し、学習結果に基づいて新たな位置指令パラメータを決定するステップと
を含むことを特徴とする位置決め方法。
【請求項１２】
モータを駆動させて制御対象を目標移動距離だけ移動させる位置決め方法であって、
位置指令パラメータに基づいて加速区間及び減速区間の加速度の形状が決定される位置指令を生成するステップと、
前記モータ又は前記制御対象の位置検出値が前記位置指令に追従するように前記モータを駆動するステップと、
前記制御対象についての位置決め制御の実行時の前記モータ又は前記制御対象の位置検出値に基づいて位置決め性能に関する評価値を算出するステップと、
前記位置指令パラメータに基づいて決定される加速区間と減速区間とにおける加速度の形状の各々を、実行された位置決め制御に用いた位置指令パラメータの中で評価値を最大とする位置指令パラメータと疑似ランダム関数とに基づいて独立に変更しつつ、複数回の位置決め制御が実行された場合の前記位置指令パラメータと前記評価値との関係を学習し、学習結果に基づいて新たな位置指令パラメータを決定するステップと
を含むことを特徴とする位置決め方法。
【請求項１３】
モータを駆動させて制御対象を目標移動距離だけ移動させる位置決め方法であって、
位置指令パラメータに基づいて加速区間及び減速区間の加速度の形状が決定される位置指令であって、加速区間及び減速区間の夫々においてジャークの大きさが非零の一定値となる区間を有する位置指令を生成するステップと、
前記モータ又は前記制御対象の位置検出値が前記位置指令に追従するように前記モータを駆動するステップと、
前記制御対象についての位置決め制御の実行時の前記モータ又は前記制御対象の位置検出値に基づいて位置決め性能に関する評価値を算出するステップと、
前記位置指令パラメータに基づいて決定される加速区間と減速区間とにおける加速度の形状の各々を独立に変更しつつ、複数回の位置決め制御が実行された場合の前記位置指令パラメータと前記評価値との関係を学習し、学習結果に基づいて新たな位置指令パラメータを決定するステップと
を含むことを特徴とする位置決め方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象について位置決め制御を行う位置決め制御装置及び位置決め方法に関する。
【背景技術】
【０００２】
電子部品実装機又は半導体製造装置のように、サーボモータの駆動により制御対象であるヘッドを繰り返し移動させる装置では、生産性能の向上のためにサーボモータについて高速な制御が求められる。サーボモータが高速に動作すると、装置の剛性の低さに起因する機械振動が生じる場合がある。この場合、サーボモータの位置指令の指令形状が適切に調整されていれば、機械振動の影響を受ける状況下であっても高速な位置決め制御を実現することができる。そのため、位置指令の指令形状を適切に調整することが求められる。【０００３】
サーボモータの指令形状を調整するための従来の技術として、下記の特許文献１、特許文献２及び特許文献３の各々に記載されている技術が提案されている。特許文献１は、制御対象のモデルを用いたシミュレーションにおいて、遺伝的アルゴリズムを用いた指令形状の探索と制御対象のモデルの応答の評価とを繰り返すことで、シミュレーションにおける最適な指令形状を見つける技術を開示している。特許文献１が開示している技術は、シミュレーションを用いた指令形状の調整手段である。【０００４】
特許文献２は、シミュレーションにおいて最適な指令形状を見つけた後に、実機を用いて指令形状の探索を行う技術を開示している。特許文献２が開示している技術の特徴は、実機を用いた指令形状の探索において、シミュレーションにおいて見つけられた最適な指令形状に基づいて探索範囲を決定することである。特許文献１及び特許文献２はいずれも、シミュレーションを活用して指令形状の調整を行う技術を開示している。【０００５】
特許文献３は、複数の指令形状を予め準備して保持しておき、それら複数の指令形状のひとつずつに対して実機を用いた位置決め動作を実行させて応答を調べ、良好な応答を示す指令形状を探索する技術を開示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２４０６０９号公報
【特許文献２】特開２００９−１２２７７９号公報
【特許文献３】特開２０１６−１９３０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述の通り、特許文献１及び特許文献２はいずれも、シミュレーションを活用して指令形状の調整を行う技術を開示している。特許文献１が開示している技術は、実機の応答をシミュレーションして指令形状の最適化を行う技術であるが、実機の応答をシミュレーションするためには実機の数学モデルが必要となる。一般に、数学モデルにはモデル化誤差が含まれるため、数学モデルが実機の応答を完全に再現することは難しい。シミュレーションで見出された最適値は実機の最適値と相異するので、シミュレーションにおいて見つけられた最適な指令形状を実機に適用しても、実機は期待されるような良好な応答を示さない。つまり、特許文献１が開示している技術には、実機において位置決め制御を高速化するような良好な指令形状を得られないという課題がある。【０００８】
特許文献２が開示している技術は、シミュレーションを行った後に実機を用いた指令形状の調整を行う。当該技術では、シミュレーションの結果に基づいて調整の際の探索範囲が決定されるため、例えばモデル化誤差の影響によって探索範囲が適切に設定されない可能性がある。つまり、特許文献２が開示している技術では、良好な指令形状を含む範囲が探索範囲として設定されない可能性がある。【０００９】
特許文献３が開示している技術は、あらかじめ準備された複数の指令形状のひとつずつに対して実機を用いた位置決め動作を実行させて応答を調べ、最良な指令形状を見つける。サーボモータを動作させる指令形状のパターンは無数に存在するため、あらかじめ準備された複数の指令形状のすべてに対して実機を用いた位置決め動作をさせるのでは、位置決め動作の回数が膨大になる。位置決め動作の回数を低減するために指令形状の探索範囲を絞り込んで設定しようとしても、探索範囲を適切に設定する手段が与えられないため、探索範囲のなかに良好な応答を示す指令形状が存在しない可能性がある。つまり、特許文献３が開示している技術には、良好な指令形状を見つけることができないという課題がある。【００１０】
上述の通り、従来の技術では、位置決め制御を高速化する指令形状の調整を効率良く行うことができない。【００１１】
本発明は、上記に鑑みてなされたものであって、位置決め制御を高速化するための指令形状の調整を効率良く行う位置決め制御装置を得ることを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明は、モータを駆動させて制御対象を目標移動距離だけ移動させる位置決め制御装置であって、位置指令パラメータに基づいて加速区間及び減速区間の加速度の形状が決定される位置指令を生成する位置指令生成部と、前記モータ又は前記制御対象の位置検出値が前記位置指令に追従するように前記モータを駆動する駆動制御部とを有する。本発明は、前記制御対象についての位置決め制御の実行時の前記モータ又は前記制御対象の位置検出値に基づいて位置決め性能に関する評価値を算出する評価部を更に有する。本発明は、前記位置指令パラメータに基づいて決定される加速区間と減速区間とにおける加速度の形状の各々を独立に変更しつつ、複数回の位置決め制御が実行された場合の前記位置指令パラメータと前記評価値との関係を学習し、前記位置指令パラメータの上限値及び下限値を規定するパラメータ範囲における前記位置指令パラメータと前記評価値との関係を示す関係式を学習結果として得る学習部を更に有する。
【発明の効果】
【００１３】
本発明によれば、位置決め制御を高速化するための指令形状の調整を効率良く行うことができるという効果が得られる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１にかかる位置決め制御装置の構成を示す図
【図２】実施の形態１で用いられる位置指令と、位置指令の一階微分である速度指令と、位置指令の二階微分である加速度指令と、加速度指令の一階微分であるジャーク（加加速度）との各々の形状の例を示す図
【図３】実施の形態１において第１組目から第３組目までの位置指令パラメータに基づいて生成された各指令形状を用いて位置決め制御が行われた場合の目標移動距離と位置検出値との偏差の時間応答を示す図
【図４】実施の形態１で用いられるニューラルネットワークを示す図
【図５】実施の形態１における目標移動距離と優良パラメータとの関係を示すグラフ
【図６】実施の形態２にかかる位置決め制御装置の構成を示す図
【図７】実施の形態２における目標停止位置と優良パラメータとの関係を示すグラフ
【図８】実施の形態３にかかる位置決め制御装置の構成を示す図
【図９】実施の形態３における偏差の時間応答を示す図
【図１０】実施の形態３において第４組目の位置指令パラメータと第５組目の位置指令パラメータとが用いられた場合の偏差の時間応答を示す図
【図１１】実施の形態１にかかる位置決め制御装置が有する位置指令生成部、駆動制御部、評価部、学習部、学習結果保持部及びパラメータ範囲設定部の一部又は全部の機能がプロセッサによって実現される場合のプロセッサを示す図
【図１２】実施の形態１にかかる位置決め制御装置が有する位置指令生成部、駆動制御部、評価部、学習部、学習結果保持部及びパラメータ範囲設定部の一部又は全部が処理回路によって実現される場合の処理回路を示す図
【図１３】実施の形態４にかかる位置決め制御装置の構成を示す図
【図１４】実施の形態４にかかる位置決め制御装置が位置指令パラメータを調整する際の動作の手順を示すフローチャート
【図１５】実施の形態４にかかる位置決め制御装置によって得られる効果を説明するための第１図
【図１６】実施の形態４にかかる位置決め制御装置によって得られる効果を説明するための第２図
【図１７】実施の形態５にかかる位置決め制御装置の構成を示す図
【図１８】実施の形態６にかかる位置決め制御装置の構成を示す図
【発明を実施するための形態】
【００１５】
以下に、本発明の実施の形態にかかる位置決め制御装置及び位置決め方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１６】
実施の形態１．
図１は、実施の形態１にかかる位置決め制御装置１０の構成を示す図である。位置決め制御装置１０は、モータ１を駆動させて制御対象３を目標移動距離だけ移動させる装置であって、モータ１と位置検出器４とに接続される。モータ１は、ボールねじ２を介して制御対象３にトルク及び推力を与えて、制御対象３を移動させる。モータ１は、制御対象３を駆動することができるものであればよい。モータ１の例は、回転型サーボモータ、リニアモータ又はステッピングモータである。
【００１７】
制御対象３は、モータ１により所望の目標移動距離だけで移動させられる。制御対象３は、位置決め制御が必要とされる機械又は部品である。制御対象３の例は、電子部品実装機、又は、半導体製造装置のヘッド部分である。
【００１８】
位置検出器４は、モータ１の回転位置又は制御対象３の位置を検出し、位置検出値を示す情報を位置決め制御装置１０に出力する。位置検出値は、位置検出器４による検出の結果である。位置検出器４の例は、エンコーダ又はリニアスケールである。
【００１９】
位置決め制御装置１０には、位置決め制御装置１０の外部から運転条件１７が与えられる。運転条件１７は、モータ１を駆動させるための目標移動距離を含む情報である。目標移動距離は、制御対象３が移動させられる際の所望の距離である。位置決め制御装置１０は、運転条件１７を満たすように制御対象３についての位置決め制御を実行する。
【００２０】
位置決め制御装置１０は、モータ１を駆動させて制御対象３を目標移動距離だけ移動させるための位置指令を、当該位置指令の形状を定める位置指令パラメータに基づいて生成する位置指令生成部１１を有する。位置指令生成部１１は、位置指令パラメータに基づいて加速区間及び減速区間の加速度形状が決定される位置指令を生成する。位置決め制御装置１０は、モータ１又は制御対象３の位置検出値が位置指令生成部１１によって生成された位置指令に追従するようにモータ１を駆動する駆動制御部１２を更に有する。
【００２１】
位置決め制御装置１０は、制御対象３についての位置決め制御の実行時のモータ１又は制御対象３の位置検出値に基づいて駆動制御部１２による位置決め制御の良し悪しを評価するための評価値を算出する評価部１３を更に有する。評価部１３は、制御対象３についての位置決め制御の実行時のモータ１又は制御対象３の位置検出値に基づいて位置決め性能に関する評価値を算出する。
【００２２】
位置決め制御装置１０は、位置指令パラメータの上限値及び下限値を規定するパラメータ範囲の内において位置指令パラメータが変更されて複数回の制御対象３についての位置決め制御が実行された場合の位置指令パラメータと評価部１３によって算出された評価値との関係を学習し学習結果を得る学習部１４を更に有する。学習部１４は、位置指令パラメータに基づいて決定される加速区間と減速区間とにおける加速度の形状の各々を独立に変更しつつ、複数回の位置決め制御が実行された場合の位置指令パラメータと評価値との関係を学習し、位置指令パラメータと評価値との関係を学習して学習結果を得る。更に言うと、学習部１４は、学習結果に基づいて位置指令パラメータを決定する。
【００２３】
位置決め制御装置１０は、目標移動距離を示す情報を含む運転条件１７と学習部１４によって得られた学習結果とを対応付けて保持する学習結果保持部１５を更に有する。学習結果保持部１５の一部は、記憶部である。記憶部の例は、半導体メモリである。位置決め制御装置１０は、学習結果保持部１５によって保持された運転条件１７と学習結果とに基づいてパラメータ範囲を変更するパラメータ範囲設定部１６を更に有する。以下に、位置指令生成部１１、駆動制御部１２、評価部１３、学習部１４、学習結果保持部１５及びパラメータ範囲設定部１６について更に説明する。
【００２４】
位置指令生成部１１は、位置指令パラメータと運転条件１７とに基づいて、モータ１の位置指令を生成して出力する。位置指令パラメータは、位置指令の指令形状を規定するパラメータである。図２は、実施の形態１で用いられる位置指令と、位置指令の一階微分である速度指令と、位置指令の二階微分である加速度指令と、加速度指令の一階微分であるジャーク（加加速度）との各々の形状の例を示す図である。図２は、目標移動距離を示す情報を含む運転条件１７が位置決め制御装置１０に与えられた場合の各指令及びジャークの形状の例を示している。
【００２５】
図２に示す通り、実施の形態１における加速度指令は、第１区間から第３区間までにおいて加速方向の台形形状を示す指令であり、第４区間では０であり、第５区間から第７区間までにおいて減速方向の台形形状を示す指令である。第１区間が加速開始の区間を示し、第３区間が加速終了の区間を示し、第５区間が減速開始の区間を示し、第７区間が減速終了の区間を示す。第ｍ区間の時間長を、第ｍ時間長Ｔｍとする。ｍは、１から７までの整数である。つまり、第１区間の時間長は第１時間長Ｔ１である。
【００２６】
図２の加速度指令において、第１区間から第３区間までの加速区間の台形形状と、第５区間から第７区間までの減速区間の台形形状とは合同でなくてもよい。加速区間の第１時間長Ｔ１と第３時間長Ｔ３とを０として、加速度指令の形状を矩形形状としてもよい。実施の形態１では、第１時間長Ｔ１から第７時間長Ｔ７までの７個のパラメータが位置指令パラメータである。指令形状は、位置指令パタメータと目標移動距離とに基づいて規定される。指令形状の計算方法は後述する。
【００２７】
駆動制御部１２は、モータ１の回転位置が位置指令に追従するようにモータ１に電流を供給する。例えば、駆動制御部１２は、位置検出器４からモータ１の回転位置を示す情報を取得し、モータ１の回転位置と位置指令との偏差が小さくなるようにＰＩＤ(Proportional-Integral-Differential)制御に基づいてモータ１に供給される電流の値を計算し、計算によって得られた値の電流をモータ１に供給する。なお、駆動制御部１２は、モータ１の回転位置を位置指令に追従させるものであれば、どのようなものであってもよい。例えば、駆動制御部１２は、フィードバック制御にフィードフォワード制御を加えた２自由度制御を行なってもよい。
【００２８】
駆動制御部１２は、モータ１の回転位置が位置指令に追従するようにモータ１を駆動するものではなく、制御対象３の位置をフィードバック制御のための信号として検出して、制御対象３の位置が位置指令に追従するようにモータ１を駆動するものであってもよい。
【００２９】
評価部１３は、位置検出器４による検出の結果である位置検出値を示す情報を位置検出器４から受け取り、駆動制御部１２による位置決め制御の良し悪しを評価するための評価値Ｑを後述する方法で計算して出力する。駆動制御部１２は位置指令に基づいて動作し、位置指令は位置指令パラメータに基づいて計算される。したがって、評価部１３によって算出される評価値Ｑは、位置指令パラメータの値に依存する。つまり、評価値Ｑは位置指令パラメータを評価するための指標であるといえる。
【００３０】
次に、評価値Ｑの具体的な計算方法を説明する。位置決め制御の開始から目標移動距離と位置検出値との偏差の大きさがあらかじめ決められた許容値ＩＭＰより小さくなる位置決め完了までの時間を、位置決め時間Ｔｓｔとする。位置決め時間Ｔｓｔが小さい場合、評価値Ｑが大きな値を示すように下記の式（１）が設定される。
【００３１】
【数１】
0006664561.tif 000002
【００３２】
式（１）によれば、位置決め時間Ｔｓｔが小さいほど評価値Ｑは大きな値になる。つまり、実施の形態１では、評価値Ｑが大きな値であるほど、位置指令パラメータは優良であるといえる。ただし、評価値Ｑは、位置決め制御を評価することができるものであれば、式（１）によって特定されるものに限定されない。例えば、位置決め時間Ｔｓｔそのものを評価値Ｑとして、評価値Ｑが小さな値であるほど位置指令パラメータは優良であると定められてもよい。
【００３３】
学習部１４は、評価値Ｑとパラメータ範囲とを入力として、位置指令パラメータと評価値Ｑとの関係を学習し、学習結果を出力する。具体的には、学習部１４において、位置指令パラメータを入力として評価値Ｑを出力とするニューラルネットワークが構成され、学習部１４は、ニューラルネットワークの重み係数を更新して学習を行う。重み係数を更新して学習が行われた場合、ニューラルネットワークは位置指令パラメータに対応する評価値Ｑの良好な推定値を出力する。学習部１４は、ニューラルネットワーク用い、位置指令パラメータを入力として評価値Ｑを出力とする関数を得ることで、学習結果として位置指令パラメータと評価値Ｑとの関係式を得る。学習部１４は、位置指令パラメータと評価値Ｑとの関係を学習することができれば、位置指令パラメータと評価値Ｑとの関係を、ニューラルネットワークを用いる方法によって学習しなくてもよい。
【００３４】
学習部１４は、次の位置決め制御を実行するための位置指令パラメータを、規定されるパラメータ範囲のなかから選定して出力する。学習部１４は、次の位置指令パラメータの選定にあたって、学習結果に基づいて優良な評価値を示す位置指令パラメータを選定してもよいし、各位置指令パラメータを等間隔に刻んだグリッドの点のなかから順に位置指令パラメータを選定してもよい。学習部１４は、位置指令パラメータに基づいて評価値Ｑを計算する関数を更新する機能を有する。
【００３５】
学習結果保持部１５は、学習部１４の学習結果を入力とし、学習結果と目標移動距離とを対応付けて保持する。学習結果保持部１５は、学習結果である位置指令パラメータと評価値Ｑとの関係式に基づいて、数値計算により、評価値Ｑが最大となる位置指令パラメータを求める。例えば、学習結果保持部１５は、グリッド探索、ランダム探索又はニュートン法といった最適化アルゴリズムを用いて評価値Ｑを最大とする位置指令パラメータを求める。
【００３６】
学習結果保持部１５は、評価値Ｑを最大とする位置指令パラメータを優良パラメータ（第一の優良パラメータ）として求めて、優良パラメータと目標移動距離とを対応付けて出力する。ただし、学習結果保持部１５は、位置指令パラメータと評価値Ｑとの関係式を満たす位置指令パラメータのなかで評価値Ｑの真の最大値の位置指令パラメータを求める必要はない。学習結果保持部１５は、あらかじめ決められた基準を満たす良好な位置決め制御を示す位置指令パラメータを優良パラメータとすればよい。学習結果保持部１５は、ひとつ以上の位置指令パラメータを優良パラメータとして保持する機能を有する。
【００３７】
パラメータ範囲設定部１６は、優良パラメータと運転条件１７に含まれる情報が示す目標移動距離とに基づいて、位置指令パラメータの上限値と下限値とを定めるパラメータ範囲を決定する。パラメータ範囲設定部１６は、学習部１４によって得られた学習結果に基づいて、位置指令パラメータの上限値及び下限値を規定するパラメータ範囲を設定する。パラメータ範囲設定部１６は、学習結果保持部１５によって保持された優良パラメータより小さい値をパラメータ範囲の下限とすると共に、優良パラメータより大きい値をパラメータ範囲の上限として、パラメータ範囲を設定する。
【００３８】
パラメータ範囲設定部１６は、運転条件１７に含まれる情報が示す目標移動距離が変更された場合、過去に学習が実行されたときの目標移動距離に基づいて補間計算を行って、変更後の目標移動距離に対応する補間点の優良パラメータを推定する。加えて、パラメータ範囲設定部１６は、推定された補間点の優良パラメータより小さい値をパラメータ範囲の下限とすると共に、推定された補間点の優良パラメータより大きい値をパラメータ範囲の上限として、パラメータ範囲を設定する。
【００３９】
例えば、パラメータ範囲設定部１６は、目標移動距離と優良パラメータとの関係を示す１次関数式を作成しておき、目標移動距離が変更されれば、作成された１次関数式に基づいて変更後の目標移動距離についての優良パラメータの推定値を求める。パラメータ範囲設定部１６は、優良パラメータの推定値より大きい値を上限値として設定し、優良パラメータの推定値より小さい値を下限値として設定する。位置指令パラメータが複数存在する場合、パラメータ範囲設定部１６は、複数の位置指令パラメータの各々について、上限値及び下限値を設定する。
【００４０】
パラメータ範囲設定部１６は、新たな目標移動距離に対応する優良パラメータの推定値を得ることができれば、優良パラメータと目標移動距離との関係を示す１次関数式以外の規則に基づいて優良パラメータの推定値を計算してもよい。
【００４１】
実施の形態１にかかる位置決め制御装置１０の機能を更に説明する。学習部１４は、パラメータ範囲で定められる範囲内で１組の位置指令パラメータを決定し、決定された位置指令パラメータを位置指令生成部１１に出力する。位置指令生成部１１は、入力された位置指令パラメータに基づいて位置指令を計算する。
【００４２】
位置指令の計算方法を説明する。第２区間の加速度の大きさをＡａと定め、第６区間の加速度の大きさをＡｄと定める。第２区間の加速度の大きさＡａと第６区間の加速度の大きさＡｄとは、位置指令パラメータの従属変数となるため、これらには設定自由度は無い。位置指令生成部１１は、「０≦ｔ＜Ｔ１」の範囲の時間ｔにおける第１区間の加速度指令Ａ１、速度指令Ｖ１及び位置指令Ｐ１の各々を、下記の式（２）、式（３）又は式（４）を用いて計算する。
【００４３】
【数２】
0006664561.tif 000003
【００４４】
【数３】
0006664561.tif 000004
【００４５】
【数４】
0006664561.tif 000005
【００４６】
位置指令生成部１１は、「Ｔ１≦ｔ＜Ｔ１＋Ｔ２」の範囲の時間ｔにおける第２区間の加速度指令Ａ２、速度指令Ｖ２及び位置指令Ｐ２の各々を、下記の式（５）、式（６）又は式（７）を用いて計算する。
【００４７】
【数５】
0006664561.tif 000006
【００４８】
【数６】
0006664561.tif 000007
【００４９】
【数７】
0006664561.tif 000008
【００５０】
位置指令生成部１１は、「Ｔ１＋Ｔ２≦ｔ＜Ｔ１＋Ｔ２＋Ｔ３」の範囲の時間ｔにおける第３区間の加速度指令Ａ３、速度指令Ｖ３及び位置指令Ｐ３の各々を、下記の式（８）、式（９）又は式（１０）を用いて計算する。
【００５１】
【数８】
0006664561.tif 000009
【００５２】
【数９】
0006664561.tif 000010
【００５３】
【数１０】
0006664561.tif 000011
【００５４】
位置指令生成部１１は、「Ｔ１＋Ｔ２＋Ｔ３≦ｔ＜Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４」の範囲の時間ｔにおける第４区間の加速度指令Ａ４、速度指令Ｖ４及び位置指令Ｐ４の各々を、下記の式（１１）、式（１２）又は式（１３）を用いて計算する。
【００５５】
【数１１】
0006664561.tif 000012
【００５６】
【数１２】
0006664561.tif 000013
【００５７】
【数１３】
0006664561.tif 000014
【００５８】
位置指令生成部１１は、「Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４≦ｔ＜Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５」の範囲の時間ｔにおける第５区間の加速度指令Ａ５、速度指令Ｖ５及び位置指令Ｐ５の各々を、下記の式（１４）、式（１５）又は式（１６）を用いて計算する。
【００５９】
【数１４】
0006664561.tif 000015
【００６０】
【数１５】
0006664561.tif 000016
【００６１】
【数１６】
0006664561.tif 000017
【００６２】
位置指令生成部１１は、「Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５≦ｔ＜Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５＋Ｔ６」の範囲の時間ｔにおける第６区間の加速度指令Ａ６、速度指令Ｖ６及び位置指令Ｐ６の各々を、下記の式（１７）、式（１８）又は式（１９）を用いて計算する。
【００６３】
【数１７】
0006664561.tif 000018
【００６４】
【数１８】
0006664561.tif 000019
【００６５】
【数１９】
0006664561.tif 000020
【００６６】
位置指令生成部１１は、「Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５＋Ｔ６≦ｔ≦Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５＋Ｔ６＋Ｔ７」の範囲の時間ｔにおける第７区間の加速度指令Ａ７、速度指令Ｖ７及び位置指令Ｐ７の各々を、下記の式（２０）、式（２１）又は式（２２）を用いて計算する。
【００６７】
【数２０】
0006664561.tif 000021
【００６８】
【数２１】
0006664561.tif 000022
【００６９】
【数２２】
0006664561.tif 000023
【００７０】
終端時間ｔ＝Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５＋Ｔ６＋Ｔ７においては、速度指令は０に一致する必要があり、位置指令は目標移動距離Ｄに一致する必要がある。そのため、終端時間において下記の式（２３）及び式（２４）が成立する。
【００７１】
【数２３】
0006664561.tif 000024
【００７２】
【数２４】
0006664561.tif 000025
【００７３】
上記の式（５）及び式（１７）より、第２区間の加速度の大きさＡａ及び第６区間の加速度の大きさＡｄが決定される。上述のように、指令形状は指令パラメータと目標移動距離Ｄとに基づいて計算される。
【００７４】
上述の通り、また図２に示す通り、第１区間、第３区間、第５区間及び第７区間では、加速度は時間の一次関数である。そのため、これらの区間では、図２に示す通り、加速度の一階微分であるジャークは非零の一定値である。つまり、第１時間長Ｔ１、第３時間長Ｔ３、第５時間長Ｔ５及び第７時間長Ｔ７は、ジャークが非零の一定値となる時間を定めたものであると言える。非零の一定値は、０より大きい一定値又は０より小さい一定値である。
【００７５】
これらの区間では、時間長の代わりにジャークの大きさを指定するパラメータが選択されてもよい。例えば、第１区間におけるジャークの大きさをＪ１として定めると、ジャークＪ１は、下記の式（２５）に示す通り、第１時間長Ｔ１を用いて算出することができる。
【００７６】
【数２５】
0006664561.tif 000026
【００７７】
つまり、ジャークが非零の一定値となる区間の時間をパラメータとして定めることと、ジャークが非零の一定値となる区間のジャークの大きさをパラメータとして定めることとは、等価である。このように、指令形状を規定するパラメータの選択の仕方には任意性があり、指令形状を規定するパラメータの選択は上述の方法に限定されない。
【００７８】
上述のように、実施の形態１の位置指令生成部１１が実行する指令生成方法では、指令形状を規定するために７個の位置指令パラメータを使用する。従来の技術で多く用いられる加速度及び速度の２個のパラメータにより指令形状を規定する方法と比較すると、実施の形態１における調整の自由度は従来のそれより高い。そのため、適切に位置指令パラメータを調整することができれば、位置決め制御装置１０は、制御対象３が載置されている装置の機械振動の影響を受ける状況であっても、良好な応答を示す位置決め制御を実現することができる。
【００７９】
他方、制御対象３が載置されている装置の操作者が当該装置を動作させつつ、試行錯誤によって上記の７個のパラメータを人手で調整する場合、比較的大きな労力及び比較的長い時間が必要となる。以下では、位置決め制御装置１０が評価部１３、学習部１４及び学習結果保持部１５を有することにより、位置決め制御装置１０が操作者の試行錯誤を必要とせず、位置指令パラメータを適切に調整することができることを説明する。
【００８０】
評価部１３及び学習部１４の動作によれば、学習部１４による位置指令パラメータの変更と、変更された位置指令パラメータが用いられた位置決め制御と、評価部１３による評価値Ｑの計算とが繰り返し実行される。この繰り返し実行される評価部１３及び学習部１４の動作を説明する。
【００８１】
学習部１４は、位置指令パラメータの上限値及び下限値を規定するパラメータ範囲の内において位置指令パラメータを選定する。評価部１３及び学習部１４の動作が３回実行されて、第３組目までの位置指令パラメータが評価される過程を説明する。第１組目の位置指令パラメータを位置指令パラメータＰｒ１と表記し、第２組目の位置指令パラメータを位置指令パラメータＰｒ２と表記し、第３組目の位置指令パラメータを位置指令パラメータＰｒ３と表記する。３組の位置指令パラメータの各々は、第１時間長Ｔ１から第７時間長Ｔ７までの７個のパラメータを有している。
【００８２】
図３は、実施の形態１において第１組目から第３組目までの位置指令パラメータに基づいて生成された各指令形状を用いて位置決め制御が行われた場合の目標移動距離と位置検出値との偏差の時間応答を示す図である。図３（ａ）は、第１組目の位置指令パラメータが用いられた場合の偏差の時間応答を示している。図３（ｂ）は、第２組目の位置指令パラメータが用いられた場合の偏差の時間応答を示している。図３（ｃ）は、第３組目の位置指令パラメータが用いられた場合の偏差の時間応答を示している。
【００８３】
学習部１４から第１組目の位置指令パラメータＰｒ１が出力され、位置指令生成部１１が第１組目の位置指令パラメータＰｒ１に基づいて位置指令を生成する。第１組目の位置指令パラメータＰｒ１に基づいて生成された位置指令が用いられて、位置決め制御が実行される。評価部１３は、この場合の位置検出値に基づいて、第１組目の位置指令パラメータＰｒ１に対応する位置決め時間Ｔｓｔ１を取得する。位置決め制御の開始から、目標移動距離と位置検出値との偏差の大きさがあらかじめ決められた許容値ＩＭＰより小さくなる位置決め完了までの時間を位置決め時間とする。第１組目の位置指令パラメータＰｒ１に対応する評価値Ｑ１が、下記の式（２６）が用いられて計算される。
【００８４】
【数２６】
0006664561.tif 000027
【００８５】
学習部１４は、評価値Ｑ１を受け取り、位置指令パラメータを第２組目の位置指令パラメータＰｒ２に変更する。学習部１４は、位置指令パラメータを変更する際、第１組目の位置指令パラメータＰｒ１が用いられた位置決め制御の結果に基づいて第２組目の位置指令パラメータＰｒ２を選定してもよいし、第１組目の位置指令パラメータＰｒ１が用いられた位置決め制御の結果に関わらず、あらかじめ定められていた通りに第２組目の位置指令パラメータＰｒ２を選定してもよい。
【００８６】
学習部１４が位置指令パラメータを変更すると、第２組目の位置指令パラメータＰｒ２に基づいて生成される位置指令が用いられて位置決め制御が実行される。評価部１３は、この場合の位置検出値に基づいて、第２組目の位置指令パラメータＰｒ２に対応する位置決め時間Ｔｓｔ２を取得する。位置決め制御の開始から、目標移動距離と位置検出値との偏差の大きさが許容値ＩＭＰより小さくなる位置決め完了までの時間を位置決め時間とする。第２組目の位置指令パラメータＰｒ２に対応する評価値Ｑ２が、下記の式（２７）が用いられて計算される。
【００８７】
【数２７】
0006664561.tif 000028
【００８８】
学習部１４は、評価値Ｑ２を受け取り、位置指令パラメータを第３組目の位置指令パラメータＰｒ３に変更する。評価部１３は、評価値Ｑ１と評価値Ｑ２とを得た手順と同様にして、評価値Ｑ３を、位置決め時間Ｔｓｔ３に基づいて下記の式（２８）を用いて計算する。
【００８９】
【数２８】
0006664561.tif 000029
【００９０】
学習部１４は、評価値Ｑ３を受け取る。図３に示すように、Ｔｓｔ２＜Ｔｓｔ１＜Ｔｓｔ３という結果が得られたとすると、３つ評価値の中では評価値Ｑ２が最も大きい値となる。ここまでの評価部１３及び学習部１４の動作によって、学習部１４は３組の位置指令パラメータＰｒ１、位置指令パラメータＰｒ２及び位置指令パラメータＰｒ３に対応する評価値Ｑ１、評価値Ｑ２及び評価値Ｑ３を得る。
【００９１】
評価部１３及び学習部１４は、上述のように、位置指令パラメータに対応する評価値Ｑを取得する動作を繰り返し実施する。
【００９２】
学習部１４は、位置指令パラメータと位置指令パラメータに対応する評価値Ｑとを学習用データとして、ニューラルネットワークを用いた学習動作を行う。図４は、実施の形態１で用いられるニューラルネットワークを示す図である。当該ニューラルネットワークは、入力層、中間層及び出力層を有する。左端の入力層に位置指令パラメータが入力され、右端の出力層から評価値Ｑが出力される。入力層の各ノードから中間層の各ノードに対する重み係数は全て独立に設定することができるが、図４ではこれらは全て同一の重み係数Ｗ１として表記されている。同様に、中間層の各ノードから出力層の各ノードに対する重み係数は、全て同一の重み係数Ｗ２として表記されている。
【００９３】
入力層の各ノードの出力値に対して重み係数Ｗ１が乗算され、乗算によって得られた結果の線形結合が中間層の各ノードに入力される。中間層の各ノードの出力値に対して重み係数Ｗ２が乗算され、乗算によって得られた結果の線形結合が出力層のノードに入力される。各層の各ノードでは、例えばシグモイド関数といった非線形関数により入力値から出力値が計算されてもよい。入力層及び出力層では、出力値は入力値の線形結合であってもよい。
【００９４】
学習部１４は、位置指令パラメータと評価値Ｑとを用いて、ニューラルネットワークの重み係数Ｗ１と重み係数Ｗ２とを計算する。ニューラルネットワークの重み係数Ｗ１及び重み係数Ｗ２は、誤差逆伝播法又は勾配降下法を用いることで計算することができる。ただし、ニューラルネットワークの重み係数が得られる計算方法であれば、重み係数Ｗ１及び重み係数Ｗ２の計算方法は上述の方法に限られない。
【００９５】
ニューラルネットワークの重み係数が決定されれば、位置指令パラメータと評価値Ｑとの関係式が得られたことになる。ここまでにおいて、３層のニューラルネットワークを用いた学習を行う例が示された。ニューラルネットワークを用いた学習は、上述の例に限定されない。
【００９６】
ここまでの評価部１３及び学習部１４の動作によって、ニューラルネットワークによる関係式が学習結果として得られた。
【００９７】
次に、学習結果保持部１５を更に説明する。上述のように評価部１３及び学習部１４の動作によってニューラルネットワークによる関係式が得られれば、位置指令パラメータを入力として評価値Ｑを出力とする関数が学習結果として得られたことになる。この学習結果を用いれば、新たな位置指令パラメータに対して位置決め制御を実行しなくとも、その新たな位置指令パラメータに対応する評価値Ｑを得ることが可能になる。
【００９８】
学習結果保持部１５は、学習結果である位置指令パラメータと評価値Ｑとの関係式に基づいて、数値計算により、評価値Ｑが最大となる位置指令パラメータを求める。このとき、学習結果保持部１５は、例えばグリッド探索、ランダム探索又はニュートン法といった最適化アルゴリズムを用いる。
【００９９】
上述のように、評価部１３及び学習部１４の動作によって指令パラメータと評価値との関係を学習することができる。加えて、学習結果保持部１５の動作によれば、学習結果を用いることで評価値Ｑを最大とするような優良な位置指令パラメータを見つけることが可能である。この学習結果を用いれば位置決め制御を実施しなくても位置指令パラメータに対応する評価値Ｑを取得することができるため、位置決め制御装置１０は、必ずしも優良パラメータを用いた位置決め制御を行なっていなくとも、優良パラメータを見つけることが可能である。よって、位置決め制御装置１０は、操作者の試行錯誤を必要とせず、位置指令パラメータを適切に調整することができる。
【０１００】
次に、パラメータ範囲設定部１６を更に説明する。上述のように、学習結果保持部１５は、学習結果に基づいて評価値Ｑを最大とする位置指令パラメータを求め、求められた位置指令パラメータを優良パラメータとする。学習結果保持部１５は、運転条件１７に含まれる情報が示す目標移動距離Ｄと優良パラメータとを併せて保持する。複数の異なる運転条件において学習が行われた場合、学習結果保持部１５は、複数の目標移動距離Ｄに対応する複数の優良パラメータを保持する。
【０１０１】
パラメータ範囲設定部１６は、学習結果保持部１５に保持される運転条件１７と学習結果とに基づいてパラメータ範囲を設定する。次に、パラメータ範囲設定部１６によって行われるパラメータ範囲の設定方法を、図５を用いて説明する。図５は、実施の形態１における目標移動距離Ｄと優良パラメータとの関係を示すグラフである。図５では、優良パラメータは目標移動距離Ｄの１次元の関数で表現されている。
【０１０２】
目標移動距離Ｄ１及び目標移動距離Ｄ２についての学習が既に実施されていて、目標移動距離Ｄ１に対応する優良パラメータＰｅｘ１と目標移動距離Ｄ２に対応する優良パラメータＰｅｘ２とが見つけられて学習結果保持部１５に保持されていることを想定する。この状況で、目標移動距離Ｄ１とも目標移動距離Ｄ２とも異なる目標移動距離Ｄ３について学習を行うことを想定する。学習結果保持部１５は、目標移動距離Ｄ３に対応する優良パラメータＰｅｘ３を下記の式（２９）を用いて補間計算を行って推定する。
【０１０３】
【数２９】
0006664561.tif 000030
【０１０４】
式（２９）に示すように、学習結果保持部１５は、優良パラメータＰｅｘ３を推定する補間方法として、過去の２つの学習結果を用いた線形補間を行う。しかしながら、学習結果保持部１５は、線形補間を行うのではなく、スプライン補間又はラグランジュ補間を用いる方法によって優良パラメータＰｅｘ３を推定してもよい。
【０１０５】
パラメータ範囲設定部１６は、推定された優良パラメータＰｅｘ３を用いて、パラメータ範囲の上限値ＵＬと下限値ＬＬとを下記の式（３０）又は式（３１）を用いて計算する。
【０１０６】
【数３０】
0006664561.tif 000031
【０１０７】
【数３１】
0006664561.tif 000032
【０１０８】
上述の上限値ＵＬ及び下限値ＬＬの計算方法は、上限値ＵＬ及び下限値ＬＬの計算方法のひとつの例である。上限値ＵＬ及び下限値ＬＬの計算方法は、推定される優良パラメータＰｅｘ３より大きい値を上限値ＵＬとし、優良パラメータＰｅｘ３より小さい値を下限値ＬＬとして計算される方法であればよく、上述の計算方法に限定されない。
【０１０９】
パラメータ範囲設定部１６は、計算によって得られた上限値ＵＬ及び下限値ＬＬを新たなパラメータ範囲の上限値及び下限値として、パラメータ範囲を変更する。
【０１１０】
上述の通り、パラメータ範囲設定部１６が学習結果に基づいてパラメータ範囲の上限値ＵＬと下限値ＬＬとを計算するため、位置決め制御装置１０は、パラメータ範囲の変更のために装置の操作者の試行錯誤を必要としない。
【０１１１】
目標移動距離Ｄが変更された場合、パラメータ範囲設定部１６は、変更後の目標移動距離Ｄに対応する優良パラメータの推定値の周辺をパラメータ範囲として設定することができ、パラメータ範囲を小さく絞ることが可能である。そのため、パラメータ範囲設定部１６は、より少ない位置決め制御の試行回数で優良パラメータを見つけることが可能である。ゆえに、位置決め制御装置１０は、位置指令の指令形状の調整を短時間で行うことが可能である。
【０１１２】
実施の形態１では、指令形状を規定する位置指令パラメータの個数が７個である例が示された。さらに多くのパラメータによってより高い設計自由度が与えられる場合にも、実施の形態１の方法は適用可能である。設計自由度がより小さい場合に対しても、実施の形態１の方法を適用することができる。
【０１１３】
実施の形態１では、位置指令パラメータと評価値Ｑとの関係式を構築するために、ニューラルネットワークが用いられた。しかしながら、位置指令パラメータと評価値Ｑとの関係を得ることができれば、ニューラルネットワークは用いられなくてもよい。例えば２次多項式のような単純な関数により位置指令パラメータと評価値Ｑとの関係が得られてもよいし、ガウス過程モデルのような確率モデルにより位置指令パラメータと評価値Ｑとの関係が得られてもよい。
【０１１４】
実施の形態１では、目標移動距離が変更される際に指令形状の探索範囲を適切に設定することができることを述べたが、パラメータ範囲設定部１６がもたらす効果は目標移動距離の変更の際にのみ得られると限られない。例えば、装置の連続運転による発熱又は経年劣化の影響により装置の機械振動の特性が変化した場合、位置決め制御装置１０は、過去の学習で見つけた優良パラメータの周辺を探索することができるため、より少ない位置決め制御の試行回数で機械特性の変化に対応する良好な位置指令パラメータを見つけることが可能である。
【０１１５】
実施の形態１にかかる位置決め制御装置１０は、目標移動距離が変更された場合にも、指令形状の探索範囲を適切に設定することができ、ひいては指令形状の調整を効率良く行うことができる。
【０１１６】
上述のことから、実施の形態１にかかる位置決め制御装置１０は、位置決め制御を高速化する良好な指令形状を探索する際、指令形状の探索範囲を適切に設定することができ、ひいては指令形状の調整を効率良く行うことができる。
【０１１７】
位置指令生成部１１は、位置指令の信号を二回微分した信号である加速度指令信号が零より大きい一定値又は零より小さい一定値となる時間が存在するように、位置指令の信号の形状を定めてもよい。位置指令生成部１１は、位置指令の信号を三回微分した信号であるジャークの信号が零より大きい一定値又は零より小さい一定値となる時間が存在するように、位置指令の信号の形状を定めてもよい。位置指令生成部１１は、ジャークの信号が零より大きい一定値又は零より小さい一定値となる時間を示す情報を位置指令パラメータに含めてもよい。位置指令生成部１１は、ジャークの信号が零より大きい一定値又は零より小さい一定値となる時間におけるジャークの信号の大きさを示す情報を位置指令パラメータに含めてもよい。
【０１１８】
実施の形態１では、学習部１４は位置指令パラメータを入力として評価値Ｑの推定値を計算する関数を学習結果として得るが、これに加えて、位置決め制御に使用された位置指令パラメータと位置決め制御を実行することによって得られた評価値Ｑとの組を学習結果に含めてもよい。これにより、学習結果保持部１５は位置指令パラメータと位置決め制御を実行することによって得られた評価値Ｑとの組の中からも優良パラメータを選定することができる。
【０１１９】
実施の形態１にかかる位置決め制御装置１０によれば、学習部１４の学習によって得られた位置指令パラメータが位置指令生成部（学習器）１１に設定され、位置指令生成部（学習器）１１が位置指令を生成することで高速な位置決め制御を実現することができる。
【０１２０】
実施の形態２．
実施の形態１にかかる位置決め制御装置１０は、位置決め制御の目標移動距離が変更される場合にも指令形状の探索範囲を適切に設定し、効率よく指令形状を探索する。実施の形態２では、位置決め制御の目標停止位置が変更される場合にも、指令形状の探索範囲を適切に設定することができる位置決め制御装置について説明する。
【０１２１】
図６は、実施の形態２にかかる位置決め制御装置２０の構成を示す図である。図６に示すように、位置決め制御装置２０は、モータ１と位置検出器４とに接続される。位置決め制御装置２０には、位置決め制御装置２０の外部から運転条件２７が与えられる。運転条件２７は、モータ１を駆動させるための目標移動距離の情報と目標停止位置の情報とを含む。位置決め制御装置２０は、運転条件２７を満たすように位置決め制御を実行する。
【０１２２】
位置決め制御装置２０は、位置指令生成部１１と、駆動制御部１２と、評価部１３と、学習部１４と、学習結果保持部２５と、パラメータ範囲設定部２６とを有する。実施の形態２では、実施の形態１において説明された構成要素については詳細な説明を省略する。
【０１２３】
学習結果保持部２５は、学習部１４の学習結果を入力とし、学習結果と目標停止位置とを対応付けて保持する。学習結果保持部２５は、学習結果である位置指令パラメータと評価値との関係式に基づいて、数値計算により、評価値が最大となる位置指令パラメータを求める。例えば、学習結果保持部２５は、グリッド探索や、ランダム探索又はニュートン法といった最適化アルゴリズムを用いて評価値を最大とする位置指令パラメータを求める。学習結果保持部２５は、評価値が最大となる位置指令パラメータを優良パラメータ（第二の優良パラメータ）として求めて保持し、優良パラメータと目標停止位置とを対応付けて出力する。
【０１２４】
学習結果保持部２５は、評価値を最大とする位置指令パラメータを優良パラメータとすることなく、良好な位置決め制御を示す位置指令パラメータを優良パラメータとしてもよい。
【０１２５】
パラメータ範囲設定部２６は、優良パラメータと運転条件２７に含まれる情報が示す目標停止位置とに基づいて、位置指令パラメータの上限値と下限値とを定めるパラメータ範囲を決定して出力する。パラメータ範囲設定部２６は、運転条件２７に含まれる情報が示す目標停止位置が変更された場合、過去に学習が実行されたときの目標停止位置に基づいて補間計算を行って、変更後の目標停止位置に対応する補間点の優良パラメータを推定する。加えて、パラメータ範囲設定部２６は、推定された補間点の優良パラメータより小さい値をパラメータ範囲の下限とすると共に、推定された補間点の優良パラメータより大きい値をパラメータ範囲の上限として、パラメータ範囲を設定する。
【０１２６】
具体的には、パラメータ範囲設定部２６は、目標停止位置と優良パラメータとの関係を示す１次関数式を作成しておき、目標停止位置が変更されれば、作成された１次関数式に基づいて、変更された目標停止位置についての優良パラメータの推定値を求める。パラメータ範囲設定部２６は、優良パラメータの推定値より大きい値を上限値として設定し、優良パラメータの推定値より小さい値を下限値として設定する。位置指令パラメータが複数存在する場合、パラメータ範囲設定部２６は、複数の位置指令パラメータの各々について上限値及び下限値を定める。
【０１２７】
パラメータ範囲設定部２６は、変更された目標停止位置に対応する優良パラメータの推定値を得ることができれば、優良パラメータと目標停止位置との関係を示す１次関数式を作成することなく、他の規則に基づいて計算を行ってもよい。
【０１２８】
パラメータ範囲設定部２６が目標停止位置に基づいてパラメータ範囲を決定する点を除いて、位置決め制御装置２０の動作は、実施の形態１にかかる位置決め制御装置１０の動作と同じである。そのため、評価部１３、学習部１４及び学習結果保持部２５の動作によって得られる効果は、実施の形態１で説明された効果と同様である。
【０１２９】
学習結果保持部２５は、学習部１４の学習結果に基づいて、評価値Ｑを最大とする位置指令パラメータを求め、求められた位置指令パラメータを優良パラメータとする。学習結果保持部２５は、運転条件２７に含まれる情報が示す目標停止位置と優良パラメータとを併せて保持する。複数の異なる運転条件において学習が行われた場合、学習結果保持部２５は、複数の目標停止位置ＳＰに対応する複数の優良パラメータを保持する。
【０１３０】
パラメータ範囲設定部２６は、学習結果保持部２５によって保持される運転条件２７と学習結果とに基づいてパラメータ範囲を設定する。このときのパラメータ範囲の設定方法を、図７を用いて説明する。図７は、実施の形態２における目標停止位置ＳＰと優良パラメータとの関係を示すグラフである。図７では、優良パラメータは目標停止位置ＳＰの１次元関数で表現されている。
【０１３１】
目標停止位置ＳＰ１と目標停止位置ＳＰ２とについて学習が既に実施されていて、目標停止位置ＳＰ１についての優良パラメータＰｅｘ１と目標停止位置ＳＰ２についての優良パラメータＰｅｘ２とが見つけられて、学習結果保持部２５によって保持されていることを想定する。この状況で、目標停止位置ＳＰ１とも目標停止位置ＳＰ２とも異なる目標停止位置ＳＰ３について学習を行うことを想定する。目標停止位置ＳＰ３に対応する優良パラメータＰｅｘ３は、下記の式（３２）が用いられて推定される。
【０１３２】
【数３２】
0006664561.tif 000033
【０１３３】
式（３２）に示すように、学習結果保持部２５は、優良パラメータＰｅｘ３を推定する補間方法として、過去の２つの学習結果を用いた線形補間を行う。しかしながら、学習結果保持部２５は、線形補間を行うのではなく、スプライン補間又はラグランジュ補間を用いる方法によって優良パラメータＰｅｘ３を推定してもよい。
【０１３４】
パラメータ範囲設定部２６は、推定された優良パラメータＰｅｘ３を用いて、パラメータ範囲の上限値ＵＬと下限値ＬＬとを、下記の式（３３）又は式（３４）を用いて計算する。
【０１３５】
【数３３】
0006664561.tif 000034
【０１３６】
【数３４】
0006664561.tif 000035
【０１３７】
上述の上限値ＵＬ及び下限値ＬＬの計算方法は、上限値ＵＬ及び下限値ＬＬの計算方法のひとつの例である。上限値ＵＬ及び下限値ＬＬの計算方法は、推定される優良パラメータＰｅｘ３より大きい値を上限値ＵＬとし、優良パラメータＰｅｘ３より小さい値を下限値ＬＬとして計算される方法であればよく、上述の計算方法に限定されない。
【０１３８】
パラメータ範囲設定部２６は、計算によって得られた上限値ＵＬ及び下限値ＬＬを新たなパラメータ範囲の上限値及び下限値として、パラメータ範囲を変更する。
【０１３９】
パラメータ範囲設定部２６が学習結果に基づいてパラメータ範囲の上限値ＵＬと下限値ＬＬとを計算するため、位置決め制御装置２０は、パラメータ範囲の変更のために装置の操作者の試行錯誤を必要としない。
【０１４０】
目標停止位置ＳＰが変更される場合、位置決め制御装置２０は、変更後の目標停止位置に対応する優良パラメータの推定値の周辺をパラメータ範囲として設定することができ、パラメータ範囲を小さく絞ることが可能である。そのため、位置決め制御装置２０は、より少ない位置決め制御の試行回数で優良パラメータを見つけることが可能である。ゆえに、位置決め制御装置２０は、位置指令の指令形状の調整を短時間で行うことが可能である。
【０１４１】
ボールねじ機構又はリニア機構のような直動型の機構を持つ装置においての位置決め制御では、制御対象３の停止位置が異なれば、装置の剛性の低さに起因して生じる機械振動の特性が異なる。そのため、目標移動量が同じであっても、目標停止位置が変更されると、従来の技術では、機械振動の影響により高速な位置決め制御を行うことができない場合がある。
【０１４２】
実施の形態２にかかる位置決め制御装置２０は、目標停止位置が変更されても、指令形状の探索範囲を適切に設定することができ、ひいては指令形状の調整を効率良く行うことができる。
【０１４３】
実施の形態２におけるパラメータ範囲設定部２６は、パラメータ範囲の計算のために目標停止位置に対する優良パラメータの関係式を構築するが、目標停止位置と目標移動距離との両方に対する優良パラメータの関係式を構築してもよい。この場合、目標停止位置と目標移動距離との両方が変更されても、パラメータ範囲設定部２６は、両方に対する優良パラメータを推定し、適切なパラメータ範囲を設定することができる。
【０１４４】
上述のことから、実施の形態２にかかる位置決め制御装置２０は、位置決め制御を高速化する良好な指令形状を探索して調整を行う際に、指令形状の探索範囲を適切に設定することができ、ひいては指令形状の調整を効率良く行うことができる。
【０１４５】
実施の形態３．
実施の形態１にかかる位置決め制御装置１０は、位置決め時間を最小とする指令形状を探索する。実施の形態３では、評価値の計算方法が異なる場合についても、指令形状の探索範囲を適切に設定することができる位置決め制御装置について説明する。
【０１４６】
図８は、実施の形態３にかかる位置決め制御装置３０の構成を示す図である。図８に示すように、位置決め制御装置３０は、モータ１と位置検出器４とに接続される。位置決め制御装置３０には、位置決め制御装置３０の外部から運転条件１７が与えられる。運転条件１７は、モータ１を駆動させるための目標移動距離を示す情報を含む。位置決め制御装置３０は、運転条件１７を満たすように位置決め制御を実行する。
【０１４７】
位置決め制御装置３０は、位置指令生成部１１と、駆動制御部１２と、評価部３３と、学習部１４と、学習結果保持部１５と、パラメータ範囲設定部１６とを有する。実施の形態３では、実施の形態１において説明された構成要素については詳細な説明を省略する。
【０１４８】
評価部３３は、位置検出値を入力とし、駆動制御部１２による位置決め制御の良し悪しを評価するための評価値Ｑを後述する方法で計算して出力する。駆動制御部１２は、位置指令に基づいて動作する。位置指令は、位置指令パラメータに基づいて計算される。したがって、評価部３３によって計算される評価値Ｑは、位置指令パラメータの値に依存する。つまり、評価値３３によって計算される評価値Ｑは、位置指令パラメータを評価するための指標であるといえる。
【０１４９】
評価値Ｑの具体的な計算方法を述べる。ここでは、位置決め制御の開始から、目標移動距離と位置検出値との偏差の大きさが許容値ＩＭＰより小さくなる位置決め完了までの時間を位置決め時間とする。位置決め時間Ｔｓｔが小さい場合、評価値Ｑが大きな値を示す設定が行われる。実施の形態３では、偏差の大きさが許容値ＩＭＰより小さくなった後の残留振動の偏差の大きさについても評価をする。
【０１５０】
図９は、実施の形態３における偏差の時間応答を示す図である。図９に示すように、偏差の大きさがあらかじめ決められた第２許容値ＩＭＰ２より小さくなった後の残留振動の偏差の最大値を残留振動振幅ＡＭＰとする。第２許容値ＩＭＰ２の範囲は、許容値ＩＭＰの範囲より狭い。残留振動振幅ＡＭＰの大きさが第２許容値ＩＭＰ２より大きい場合、評価部３３は評価値Ｑにペナルティを付与する。つまり、評価部３３は、モータ１又は制御対象３の位置の残留振動の振幅である残留振動振幅ＡＭＰがあらかじめ決められた値以上である場合、評価値Ｑを減少させる計算を行う。具体的には、評価部３３は下記の式（３５）を用いて評価値Ｑを計算する。
【０１５１】
【数３５】
0006664561.tif 000036
【０１５２】
γは、正の値である。ｍａｘ（ｘ１，ｘ２）は、２つの引数ｘ１と引数ｘ２とのうちの大きい方を出力する関数である。
【０１５３】
式（３５）によれば、右辺の第１項により位置決め時間Ｔｓｔが小さいほど評価値Ｑは大きな値になるが、右辺の第２項により残留振動振幅ＡＭＰが第２許容値ＩＭＰ２より大きい場合には評価値Ｑが小さい値になる。つまり、位置決め時間Ｔｓｔが小さく、かつ残留振動振幅ＡＭＰが第２許容値ＩＭＰ２より小さい場合に評価値Ｑが大きい値となり、そのときの位置指令パラメータが良好な位置指令パラメータであるといえる。ただし、評価値Ｑは、位置決め制御を評価することができれば、式（３５）を用いずに算出されてもよい。
【０１５４】
評価部３３が残留振動振幅ＡＭＰを評価値Ｑの計算に用いる点を除くと、位置決め制御装置３０の動作は、実施の形態１にかかる位置決め制御装置１０の動作と同じである。そのため、学習部１４、学習結果保持部１５及びパラメータ範囲設定部１６の動作に基づいて得られる効果は、実施の形態１で説明された効果と同様である。
【０１５５】
評価部３３の動作によれば、位置決め制御装置３０は、残留振動振幅ＡＭＰを第２許容値ＩＭＰ２の大きさより小さい値に抑えつつ、位置決め時間を短時間化するような位置決め制御を実現することが可能である。
【０１５６】
図１０は、実施の形態３において第４組目の位置指令パラメータと第５組目の位置指令パラメータとが用いられた場合の偏差の時間応答を示す図である。第４組目の「４」及び第５組目の「５」は、第４組目及び第５組目を実施の形態１の第１組目から第３組目までと区別するために付与された数字であり、これらの数字に区別以外の意味はない。図１０（ａ）は、第４組目の位置指令パラメータが用いられた場合の偏差の時間応答を示している。図１０（ｂ）は、第５組目の位置指令パラメータが用いられた場合の偏差の時間応答を示している。
【０１５７】
図１０に示す通り、第４組目の位置指令パラメータが用いられた場合の位置決め時間Ｔｓｔ４と第５組目の位置指令パラメータが用いられた場合の位置決め時間Ｔｓｔ５とを比較すると、Ｔｓｔ４＜Ｔｓｔ５である。つまり、第４組目の位置指令パラメータが用いられた場合の位置決め時間Ｔｓｔ４は、第５組目の位置指令パラメータが用いられた場合の位置決め時間Ｔｓｔ５より短い。ただし、第４組目の位置指令パラメータが用いられた場合の残留振動振幅ＡＭＰ４が第２許容値ＩＭＰ２より大きいため、評価値Ｑにペナルティが付与される。図１０（ｂ）には、第５組目の位置指令パラメータが用いられた場合の残留振動振幅ＡＭＰ５が示されている。
【０１５８】
このとき下記の式（３６）が成立するようにγを設定しておくことで、第４組目の位置指令パラメータの評価値Ｑ４より、第５組目の位置指令パラメータの評価値Ｑ５に大きな値を与えることができる。
【０１５９】
【数３６】
0006664561.tif 000037
【０１６０】
評価値Ｑの計算方法以外は、位置決め制御装置３０の動作は実施の形態１にかかる位置決め制御装置１０の動作と同様である。つまり、位置決め制御装置３０は、評価値Ｑが最大となるように位置指令の指令形状を調整することができる。
【０１６１】
評価部３３の動作によれば、位置決め制御装置３０は、残留振動振幅ＡＭＰが第２許容値ＩＭＰ２を満たす範囲の中で、評価値Ｑを最大にする指令形状を調整することが可能となる。
【０１６２】
目標移動距離が変更された場合、位置決め制御装置３０は、変更後の目標移動距離に対応する優良パラメータ（第一の優良パラメータ）の推定値の周辺をパラメータ範囲として設定することができ、パラメータ範囲を小さく絞ることが可能である。そのため、位置決め制御装置３０は、より少ない位置決め制御の試行回数で優良パラメータを見つけることが可能である。
【０１６３】
電子部品実装機においては、位置決め制御が完了した後に電子部品の実装が行なわれる。その際、位置決め完了後の振動振幅が大きいと電子部品の実装精度が悪化する場合がある。つまり、位置決め時間が小さいことに加えて、位置決め完了後の残留振動振幅が小さいことが求められる。
【０１６４】
実施の形態３にかかる位置決め制御装置３０は、位置決め完了後の残留振動振幅を第２許容値の範囲に抑えつつ、良好な指令形状を探索することが可能である。
【０１６５】
実施の形態３における評価部３３は、位置決め完了後の偏差の振幅の最大値が第２許容値より大きい場合にペナルティを付与する。しかしながら、ペナルティの与え方は上述した方法に限られない。例えば、評価部３３は、残留振動振幅が極大となるときの複数の残留振動振幅の値に対してペナルティを付与してもよいし、位置決め完了後の一定の時間のみの残留振動振幅が評価されるように時間についての条件をパラメータに加えてもよい。
【０１６６】
上述のことから、実施の形態３にかかる位置決め制御装置３０は、位置決め制御を高速化する良好な指令形状を探索する際に、指令形状の探索範囲を適切に設定することができ、ひいては指令形状の調整を効率良く行うことができる。
【０１６７】
図１１は、実施の形態１にかかる位置決め制御装置１０が有する位置指令生成部１１、駆動制御部１２、評価部１３、学習部１４、学習結果保持部１５及びパラメータ範囲設定部１６の一部又は全部の機能がプロセッサ７１によって実現される場合のプロセッサ７１を示す図である。つまり、位置指令生成部１１、駆動制御部１２、評価部１３、学習部１４、学習結果保持部１５及びパラメータ範囲設定部１６の一部又は全部の機能は、メモリ７２に格納されるプログラムを実行するプロセッサ７１によって実現されてもよい。
【０１６８】
プロセッサ７１は、ＣＰＵ（Central  Processing  Unit）、処理装置、演算装置、マイクロプロセッサ、又はＤＳＰ（Digital  Signal  Processor）である。図１１には、メモリ７２も示されている。
【０１６９】
位置指令生成部１１、駆動制御部１２、評価部１３、学習部１４、学習結果保持部１５及びパラメータ範囲設定部１６の一部又は全部の機能がプロセッサ７１によって実現される場合、当該一部又は全部の機能は、プロセッサ７１と、ソフトウェア、ファームウェア、又は、ソフトウェア及びファームウェアとの組み合わせにより実現される。ソフトウェア又はファームウェアはプログラムとして記述され、メモリ７２に格納される。プロセッサ７１は、メモリ７２に記憶されたプログラムを読み出して実行することにより、位置指令生成部１１、駆動制御部１２、評価部１３、学習部１４、学習結果保持部１５及びパラメータ範囲設定部１６の一部又は全部の機能を実現する。
【０１７０】
位置指令生成部１１、駆動制御部１２、評価部１３、学習部１４、学習結果保持部１５及びパラメータ範囲設定部１６の一部又は全部の機能がプロセッサ７１によって実現される場合、位置決め制御装置１０は、位置指令生成部１１、駆動制御部１２、評価部１３、学習部１４、学習結果保持部１５及びパラメータ範囲設定部１６の一部又は全部によって実行されるステップが結果的に実行されることになるプログラムを格納するためのメモリ７２を有する。メモリ７２に格納されるプログラムは、位置指令生成部１１、駆動制御部１２、評価部１３、学習部１４、学習結果保持部１５及びパラメータ範囲設定部１６の一部又は全部が実行する手順又は方法をコンピュータに実行させるものであるともいえる。
【０１７１】
メモリ７２は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  Read  Only  Memory）、ＥＥＰＲＯＭ（登録商標）（Electrically  Erasable  Programmable  Read-Only  Memory）等の不揮発性もしくは揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク又はＤＶＤ（Digital  Versatile  Disk）等である。
【０１７２】
図１２は、実施の形態１にかかる位置決め制御装置１０が有する位置指令生成部１１、駆動制御部１２、評価部１３、学習部１４、学習結果保持部１５及びパラメータ範囲設定部１６の一部又は全部が処理回路８１によって実現される場合の処理回路８１を示す図である。つまり、位置指令生成部１１、駆動制御部１２、評価部１３、学習部１４、学習結果保持部１５及びパラメータ範囲設定部１６の一部又は全部は、処理回路８１によって実現されてもよい。
【０１７３】
処理回路８１は、専用のハードウェアである。処理回路８１は、例えば、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化されたプロセッサ、ＡＳＩＣ(Application  Specific  Integrated  Circuit)、ＦＰＧＡ（Field-Programmable  Gate  Array）、又はこれらを組み合わせたものである。
【０１７４】
位置指令生成部１１、駆動制御部１２、評価部１３、学習部１４、学習結果保持部１５及びパラメータ範囲設定部１６の一部は、残部とは別個の専用のハードウェアであってもよい。
【０１７５】
位置指令生成部１１、駆動制御部１２、評価部１３、学習部１４、学習結果保持部１５及びパラメータ範囲設定部１６の複数の機能について、当該複数の機能の一部がソフトウェア又はファームウェアで実現され、当該複数の機能の残部が専用のハードウェアで実現されてもよい。このように、位置指令生成部１１、駆動制御部１２、評価部１３、学習部１４、学習結果保持部１５及びパラメータ範囲設定部１６の複数の機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせによって実現することができる。
【０１７６】
実施の形態２にかかる位置決め制御装置２０が有する位置指令生成部１１、駆動制御部１２、評価部１３、学習部１４、学習結果保持部２５及びパラメータ範囲設定部２６の一部又は全部の機能は、プロセッサ７１と同等のプロセッサによって実現されてもよい。当該一部又は全部の機能がプロセッサによって実現される場合、位置決め制御装置２０は、位置指令生成部１１、駆動制御部１２、評価部１３、学習部１４、学習結果保持部２５及びパラメータ範囲設定部２６の一部又は全部によって実行されるステップが結果的に実行されることになるプログラムを格納するためのメモリを有する。当該メモリは、メモリ７２と同等のメモリである。
【０１７７】
実施の形態２にかかる位置決め制御装置２０が有する位置指令生成部１１、駆動制御部１２、評価部１３、学習部１４、学習結果保持部２５及びパラメータ範囲設定部２６の一部又は全部の機能は、処理回路８１と同等の処理回路によって実現されてもよい。
【０１７８】
実施の形態３にかかる位置決め制御装置３０が有する位置指令生成部１１、駆動制御部１２、評価部３３、学習部１４、学習結果保持部１５及びパラメータ範囲設定部１６の一部又は全部の機能は、プロセッサ７１と同等のプロセッサによって実現されてもよい。当該一部又は全部の機能がプロセッサによって実現される場合、位置決め制御装置３０は、位置指令生成部１１、駆動制御部１２、評価部３３、学習部１４、学習結果保持部１５及びパラメータ範囲設定部１６の一部又は全部によって実行されるステップが結果的に実行されることになるプログラムを格納するためのメモリを有する。当該メモリは、メモリ７２と同等のメモリである。
【０１７９】
実施の形態３にかかる位置決め制御装置３０が有する位置指令生成部１１、駆動制御部１２、評価部３３、学習部１４、学習結果保持部１５及びパラメータ範囲設定部１６の一部又は全部の機能は、処理回路８１と同等の処理回路によって実現されてもよい。
【０１８０】
実施の形態４．
図１３は、実施の形態４にかかる位置決め制御装置４０の構成を示す図である。実施の形態４では、実施の形態１において説明された構成要素については詳細な説明を省略する。位置決め制御装置４０は、モータ１を駆動させて制御対象３を目標移動距離だけ移動させるための位置指令を、当該位置指令の形状を定める位置指令パラメータに基づいて生成する位置指令生成部４１を有する。位置指令生成部４１は、実施の形態１の位置指令生成部１１が有する機能を有する。位置決め制御装置４０は、モータ１又は制御対象３の位置検出値が位置指令生成部４１によって生成された位置指令に追従するようにモータ１を駆動する駆動制御部１２を更に有する。
【０１８１】
位置指令生成部４１は、モータ１の位置指令を生成して駆動制御部１２に出力する。位置指令パラメータは、位置指令の指令形状を規定するパラメータである。実施の形態４で用いられる位置指令と、位置指令の一階微分である速度指令と、位置指令の二階微分である加速度指令と、加速度指令の一階微分であるジャークとの各々の形状は、実施の形態１で図２を用いて示した形状と同様である。図２の加速度指令において、第１区間から第３区間までの加速区間の台形形状と、第５区間から第７区間までの減速区間の台形形状とは合同でなくてもよい。加速区間の第１時間長Ｔ１と第３時間長Ｔ３とを０として、加速度指令の形状を矩形形状としてもよい。第１時間長Ｔ１から第７時間長Ｔ７までの７個のパラメータが、位置指令パラメータである。
【０１８２】
位置決め制御装置４０は、制御対象３についての位置決め制御の実行時のモータ１又は制御対象３の位置検出値に基づいて、駆動制御部１２による位置決め制御の良し悪しを評価するための評価値を算出する評価部４３を更に有する。評価部４３は、実施の形態１の評価部１３が有する機能を有する。位置決め制御装置４０は、位置指令パラメータが変更されて複数回の制御対象３についての位置決め制御が実行された場合の位置指令パラメータと評価部４３によって算出された評価値との関係を学習して学習結果を得る学習部４４を更に有する。学習部４４は、実施の形態１の学習部１４が有する機能を有する。以下に、評価部４３及び学習部４４について更に説明する。
【０１８３】
評価部４３は、位置検出器４による検出の結果である位置検出値を示す情報を位置検出器４から受け取り、駆動制御部１２による位置決め制御の良し悪しを評価するための評価値Ｑを後述する方法で計算して出力する。駆動制御部１２は位置指令に基づいて動作し、位置指令は位置指令パラメータに基づいて計算される。したがって、評価部４３によって算出される評価値Ｑは位置指令パラメータの値に依存する。つまり、評価値Ｑは位置指令パラメータを評価するための指標であるといえる。実施の形態４では、実施の形態１と同様の方法で評価値Ｑは計算され、評価値Ｑが大きな値であるほど、位置指令パラメータは優良であるといえる。
【０１８４】
学習部４４は、評価値Ｑを入力として位置指令パラメータと評価値Ｑとの関係を学習して学習結果を得る。具体的には、学習部４４は、位置指令パラメータに対応する評価値Ｑの平均値と分散値とを推定する関数を更新して学習を行う。学習部４４は、学習を行うことで、位置指令パラメータに対応した評価値Ｑの平均値と、位置指令パラメータに対応する評価値Ｑの分散値とを計算して推定することが可能となる。平均値と分散値とを計算するための関数には、ガウス過程モデルが用いられてもよい。このように、学習部４４は位置指令パラメータと評価値Ｑとの関係式を得る。
【０１８５】
学習部４４は、次の位置決め制御を実行するための位置指令パラメータを選定して位置指令生成部４１に出力する。学習部４４は、次の位置指令パラメータの選定にあたって、学習結果に基づいて評価値Ｑの平均値と分散値との和が最大値を示す位置指令パラメータを選定する。
【０１８６】
学習部４４は、位置指令パラメータを変更しつつあらかじめ決められた回数を終えるまで繰り返し実行された位置決め制御によって評価部４３から得られた評価値Ｑの中から、評価値Ｑを最大とした位置指令パラメータを位置指令生成部４１に出力する。
【０１８７】
実施の形態４にかかる位置決め制御装置４０の機能を更に説明する。学習部４４は、１組の位置指令パラメータを決定し、決定された位置指令パラメータを位置指令生成部４１に出力する。位置指令生成部４１は、入力された位置指令パラメータに基づいて位置指令を計算する。位置指令生成部４１は、実施の形態１の位置指令生成部１１と同様に、指令形状を規定するために７個の位置指令パラメータを使用する。従来の技術で多く用いられる加速度及び速度の２個のパラメータにより指令形状を規定する方法と比較すると、実施の形態４における調整の自由度は従来のそれより高い。そのため、位置指令パラメータを適切に調整することができれば、位置決め制御装置４０は、制御対象３が載置されている装置の機械振動の影響を受ける状況であっても、良好な応答を示す位置決め制御を実現することができる。
【０１８８】
他方、制御対象３が載置されている装置の操作者が当該装置を動作させつつ、試行錯誤によって上記の７個のパラメータを人手で調整する場合、比較的大きな労力及び比較的長い時間が必要となる。以下では、位置決め制御装置４０が評価部４３及び学習部４４を有することにより、位置決め制御装置４０が操作者の試行錯誤を必要とせず、位置指令パラメータを適切に調整することができることを説明する。
【０１８９】
評価部４３及び学習部４４の動作によれば、学習部４４による位置指令パラメータの変更と、変更された位置指令パラメータが用いられた位置決め制御と、評価部４３による評価値Ｑの計算とが繰り返し実行される。この繰り返し実行される評価部４３及び学習部４４の動作を説明する。
【０１９０】
図１４は、実施の形態４にかかる位置決め制御装置４０が位置指令パラメータを調整する際の動作の手順を示すフローチャートである。ステップＳ１において、位置指令生成部４１に位置指令パラメータの初期値が設定される。位置指令パラメータの初期値は、どのような値でもかまわない。ステップＳ２において、ステップＳ１で設定された位置指令パラメータに基づいて計算された位置指令によって位置決め制御が実行される。
【０１９１】
ステップＳ３において、評価部４３が評価値Ｑを計算する。ステップＳ４において、位置決め制御装置４０は、あらかじめ決められた回数の位置決め制御が終了したか否かを判定する。図１４のステップＳ４では、あらかじめ決められた回数は「所定回数」と記載されている。位置決め制御装置４０があらかじめ決められた回数の位置決め制御が終了したと判定した場合（Ｓ４でＹｅｓ）、位置決め制御装置４０の動作はステップＳ７に移行する。位置決め制御装置４０があらかじめ決められた回数の位置決め制御が終了していないと判定した場合（Ｓ４でＮｏ）、位置決め制御装置４０の動作はステップＳ５に移行する。ステップＳ５において、学習部４４は、位置指令パラメータと取得された評価値Ｑとに基づいて、評価値Ｑの平均値と評価値Ｑの分散値とを計算する関数を更新する。
【０１９２】
ステップＳ６において、学習部４４は、ステップＳ５で更新された関数に基づいて、評価値Ｑの平均値と分散値との和が最大となる位置指令パラメータを求める。ステップＳ６で求められた位置指令パラメータによって位置決め制御を再度実行して評価値を得るべく、位置決め制御装置４０の動作はステップＳ１に移行する。他方、ステップＳ４において、位置決め制御装置４０があらかじめ決められた回数の位置決め制御が終了したと判定した場合（Ｓ４でＹｅｓ）、あらかじめ決められた数の評価値Ｑが得られた状態である。
【０１９３】
ステップＳ７において、位置決め制御装置４０は、あらかじめ決められた数の評価値Ｑの中から、評価値Ｑを最大とする位置指令パラメータを選定し、位置指令生成部４１に設定する。ステップＳ７の動作が終了すると、位置指令パラメータの調整は終了する。
【０１９４】
上述のように、学習部４４は、ステップＳ５において指令パラメータと評価値との関係を学習し、位置指令パラメータに対応する評価値Ｑの平均値と分散値とを得ることができる。学習部４４は、ステップＳ６において、評価値Ｑの平均値と分散値との和を最大とする位置指令パラメータを求める。求められた位置指令パラメータは、次回の位置決め制御に用いられる。
【０１９５】
次に、平均値と分散値との和を最大とする位置指令パラメータを次回の位置決め制御に用いることによって得られる効果を説明する。図１５は、実施の形態４にかかる位置決め制御装置４０によって得られる効果を説明するための第１図である。図１６は、実施の形態４にかかる位置決め制御装置４０によって得られる効果を説明するための第２図である。
【０１９６】
評価部４３及び学習部４４の動作が２回実行された後に第３組目の位置指令パラメータが選定される過程を説明する。第１組目の位置指令パラメータは位置指令パラメータＰｒ１１と表記され、第２組目の位置指令パラメータは位置指令パラメータＰｒ１２と表記され、第３組目の位置指令パラメータは位置指令パラメータＰｒ１３と表記される。
【０１９７】
図１５及び図１６は、説明のために位置指令パラメータを１次元に簡略化して示している。評価部４３及び学習部４４の動作が２回実行された場合、図１５の丸印で示すように、位置指令パラメータＰｒ１１に対応する評価値Ｑ１１と、位置指令パラメータＰｒ１２に対応する評価値Ｑ１２とが得られる。学習部４４は、得られた評価値Ｑ１１と評価値Ｑ１２とに基づく学習を行い、位置指令パラメータに対応する評価値Ｑの平均値と分散値とを計算する関数を更新する。
【０１９８】
図１５に示す平均値を示す曲線と、平均値と分散値との和を示す曲線とが、学習部４４により得られた関数に基づいて計算される。図１５に示すように、位置指令パラメータＰｒ１１と位置指令パラメータＰｒ１２との中間点のように、取得されたデータからの距離が遠いほど評価値の不確実性が高いため、分散値は大きくなる。学習部４４の動作により、評価値の平均値と分散値との和が最大となる図１５の星印の点に対応する位置指令パラメータＰｒ１３が次の位置指令パラメータとして選定される。
【０１９９】
位置指令パラメータＰｒ１３を用いて位置指令が計算されて位置決め制御が行われた結果として、図１６に示すように、評価値Ｑ１３が得られる。評価値Ｑ１３は、評価値Ｑ１１及び評価値Ｑ１２より大きい値であると仮定する。この段階で調整が終了した場合、評価値Ｑ１３が最大となるため、調整終了時点で位置指令パラメータＰｒ１３が最も優良なパラメータとなる。
【０２００】
仮に、第３組の位置指令パラメータを選定する段階で、評価値Ｑの平均値と分散値との和の最大値でなく、評価値Ｑの平均値の最大値を選ぶ場合を想定する。図１５において平均値の曲線の最大値は位置指令パラメータＰｒ１３の点ではないため、第３組目の位置指令パラメータとして位置指令パラメータＰｒ１３が選定されることはない。そのため、評価値Ｑの平均値の最大値を選ぶ場合には優良なパラメータを選定することができない可能性がある。
【０２０１】
上述のように、分散値は過去に取得されたデータからの距離が遠い点において大きくなる傾向がある。平均値は、過去に取得されたデータに基づいて良好と推定される点において大きくなる傾向がある。つまり、位置決め制御装置４０は、平均値と分散値との和が最大となる点を次の位置指令パラメータとして選定することで、比較的大きな評価値Ｑを得るための探索と搾取とのバランスを良好に保つことができ、調整の終了時に比較的大きな評価値Ｑを得る位置指令パラメータを見つけることができる。
【０２０２】
よって、実施の形態４にかかる位置決め制御装置４０は、操作者の試行錯誤を必要とせず、位置指令パラメータを適切に調整することができる。上述のことから、位置決め制御装置４０は、位置決め制御を高速化する良好な指令形状の調整を効率良く行うことができる。
【０２０３】
実施の形態４では、位置決め制御装置４０は、評価値Ｑの平均値と分散値との和が最大となる点を次の位置指令パラメータとして選定する。しかしながら、位置決め制御装置４０は、評価値Ｑの平均値に分散値の２倍を加算した値が最大となる点に対応する位置指令パラメータを次の位置指令パラメータとして選定してもよい。位置決め制御装置４０は、学習して得られた評価関数の平均値と分散値とを使って、ＥＩ（Expected  Improvement）関数、ＰＩ（Probability  of  Improvement）関数又はその他の獲得関数を計算してもよい。
【０２０４】
実施の形態４では、位置決め制御装置４０は、評価値Ｑの平均値と分散値との和が最大となる点を次の位置指令パラメータとして選定する。位置決め制御装置４０は、このとき評価値Ｑの平均値と分散値との和が最大となる点を見つけるにあたり、各位置指令パラメータを等間隔に刻んだグリッドの点のなかから順に評価値Ｑの平均値と分散値とを計算して、グリッドのなかで評価値Ｑの平均値と分散値とが最大となる位置指令パラメータを選定してもよい。また、位置決め制御装置４０は、評価値Ｑの平均値と分散値との和が最大となる点を見つけるにあたり、疑似ランダム関数に基づくランダム探索により評価値Ｑの平均値と分散値とが最大となる位置指令パラメータを選定してもよい。
【０２０５】
実施の形態５．
実施の形態４にかかる位置決め制御装置４０は、位置指令パラメータと評価値Ｑとの関係式を用いて位置指令パラメータを変更することで位置指令パラメータを適切に調整する。実施の形態５では、疑似ランダム関数を用いて位置指令パラメータを適切に調整する位置決め制御装置について説明する。
【０２０６】
図１７は、実施の形態５にかかる位置決め制御装置５０の構成を示す図である。実施の形態５では、実施の形態１において説明された構成要素については詳細な説明を省略する。位置決め制御装置５０は、モータ１を駆動させて制御対象３を目標移動距離だけ移動させるための位置指令を、当該位置指令の形状を定める位置指令パラメータに基づいて生成する位置指令生成部５１を有する。位置指令生成部５１は、実施の形態１の位置指令生成部１１が有する機能を有する。位置決め制御装置５０は、モータ１又は制御対象３の位置検出値が位置指令生成部５１によって生成された位置指令に追従するようにモータ１を駆動する駆動制御部１２を更に有する。
【０２０７】
位置指令生成部５１は、モータ１の位置指令を生成して駆動制御部１２に出力する。位置指令パラメータは、位置指令の指令形状を規定するパラメータである。実施の形態５で用いられる位置指令と、位置指令の一階微分である速度指令と、位置指令の二階微分である加速度指令と、加速度指令の一階微分であるジャークとの各々の形状は、実施の形態１で図２を用いて示した形状と同様である。図２の加速度指令において、第１区間から第３区間までの加速区間の台形形状と、第５区間から第７区間までの減速区間の台形形状とは合同でなくてもよい。加速区間の第１時間長Ｔ１と第３時間長Ｔ３とを０として、加速度指令の形状を矩形形状としてもよい。第１時間長Ｔ１から第７時間長Ｔ７までの７個のパラメータが、位置指令パラメータである。
【０２０８】
位置決め制御装置５０は、制御対象３についての位置決め制御の実行時のモータ１又は制御対象３の位置検出値に基づいて、駆動制御部１２による位置決め制御の良し悪しを評価するための評価値を算出する評価部１３を更に有する。位置決め制御装置５０は、位置指令パラメータが変更されて複数回の制御対象３についての位置決め制御が実行された場合の位置指令パラメータと評価部１３によって算出された評価値との関係を学習し学習結果を得る学習部５４を更に有する。学習部５４は、実施の形態１の学習部１４が有する機能を有する。
【０２０９】
学習部５４は、疑似ランダム関数を用いて位置指令生成部５１によって生成された位置指令を変更し、複数回の位置決め制御が実行される度に評価値Ｑを取得して、位置指令パラメータと評価値Ｑとの関係を学習する。学習部５４は、位置指令パラメータに基づいて決定される加速区間と減速区間との各々における加速度の形状を疑似ランダム関数に基づいて独立に変更する。
【０２１０】
具体的に、学習部５４は、ＰＳＯ（Particle  Swarm  Optimization）を用いる。ＰＳＯは、パラメータ空間内に散りばめられた各粒子に対して評価値Ｑを計算し、疑似ランダム関数を用いて各粒子のパラメータ空間内での位置の更新を繰り返すことで、位置指令パラメータと評価値Ｑとの関係を学習しつつ、評価値Ｑが大きな値をとるような位置指令パラメータを見つける方法である。１つの粒子が、１つの位置指令パラメータに対応する。例えば、粒子数が１０個であって、更新回数が１００回である場合、合計で１０００回の位置決め制御が実行され、位置指令パラメータと評価値Ｑとの組が１０００個得られる。
【０２１１】
更新前の粒子の位置をｘ（ｉ）とし、更新後の粒子の位置をｘ（ｉ＋１）とした場合、更新後の粒子の位置ｘ（ｉ＋１）は次の式によって計算される。「ｉ」は、自然数である。
ｘ（ｉ＋１）＝ｘ（ｉ）＋ｖ（ｉ＋１）
ｖ（ｉ＋１）＝ｗ×ｖ（ｉ）＋ｃ１×ｒ１×（ｘｐ−ｘ（ｉ））＋ｃ２×ｒ２×（ｘｇ−ｘ（ｉ））
【０２１２】
上記の式において、ｗ、ｃ１及びｃ２の各々は、定数であって、１より小さい値に設定されればよい。ｒ１及びｒ２の各々は、０以上１以下の範囲から疑似ランダム関数を用いて設定される疑似乱数である。ｘｐは、各粒子がｉ番目までに得た評価値Ｑの中で、評価値Ｑを最大とする位置指令パラメータである。ｘｇは、全ての粒子がｉ番目まで得た評価値Ｑの中で、評価値Ｑを最大とする位置指令パラメータである。
【０２１３】
ｘ（ｉ）及びｖ（ｉ）の各々の初期値は、疑似ランダム関数を用いて無作為に決定される。学習部５４は、ｉ番目までに得た評価値Ｑを最大とする位置指令パラメータの方向に探索を行いながら、疑似ランダム関数によって位置指令パラメータを変更することで、大きな評価値Ｑを得るための探索と搾取とのバランスを良好に保つことができ、調整の終了時に大きな評価値Ｑを得る位置指令パラメータを見つけることができる。
【０２１４】
学習部５４は、各粒子の位置の更新により、位置指令パラメータと評価値Ｑとの関係を学習して、評価値Ｑが大きな値をとるような位置指令パラメータを見つけることができる。学習部５４は、学習結果として位置指令パラメータと評価値Ｑとの関係を得るが、位置指令パラメータと評価値Ｑとの組のリストを学習結果として得てもよいし、位置指令パラメータと評価値Ｑとの関係式を学習結果として得てもよい。
【０２１５】
実施の形態５では、疑似ランダム関数に基づく位置指令パラメータの変更方法として、ＰＳＯが用いられる。しかしながら、ＰＳＯの代わりに、例えばＧＡ（genetic  algorithm）又はＳＡ（simulated  annealing）といった疑似ランダム関数を使用するアルゴリズムが用いられてもよい。学習部５４は、ランダムサーチにより位置指令パラメータを変更してもよい。いずれにしても、学習部５４は、学習結果として、位置指令パラメータと評価値Ｑとの関係を得ることができる。
【０２１６】
上述の通り、学習部５４は、位置指令パラメータと評価値Ｑとの関係を学習して、評価値Ｑが大きな値をとるような位置指令パラメータを見つけることができる。つまり、学習部５４は、学習結果に基づいて、位置決め制御に用いられる位置指令パラメータを変更する。よって、位置決め制御装置５０は、操作者の試行錯誤を必要とせず、位置指令パラメータを適切に調整することができる。
【０２１７】
上述のことから、実施の形態５にかかる位置決め制御装置５０は、位置決め制御を高速化する良好な指令形状の調整を効率良く行うことができる。
【０２１８】
実施の形態６．
実施の形態４にかかる位置決め制御装置４０は、位置指令パラメータと評価値Ｑとの関係式を用いて位置指令パラメータを変更することで位置指令パラメータを適切に調整する。実施の形態６では、制御対象の動作を模擬する動作模擬部を有することで位置指令パラメータを適切に調整する位置決め制御装置について説明する。
【０２１９】
図１８は、実施の形態６にかかる位置決め制御装置６０の構成を示す図である。実施の形態６では、実施の形態１において説明された構成要素については詳細な説明を省略する。位置決め制御装置６０は、モータ１を駆動させて制御対象３を目標移動距離だけ移動させるための位置指令を、当該位置指令の形状を定める位置指令パラメータに基づいて生成する位置指令生成部６１を有する。位置指令生成部６１は、実施の形態１の位置指令生成部１１が有する機能を有する。位置決め制御装置６０は、モータ１又は制御対象３の位置検出値が位置指令生成部６１によって生成された位置指令に追従するようにモータ１を駆動する駆動制御部１２を更に有する。
【０２２０】
位置決め制御装置６０は、制御対象３についての位置決め制御の実行時のモータ１又は制御対象３の位置検出値に基づいて、駆動制御部１２による位置決め制御の良し悪しを評価するための評価値を算出する評価部１３を更に有する。位置決め制御装置６０は、位置指令パラメータが変更されて複数回の制御対象３についての位置決め制御が実行された場合の位置指令パラメータと評価部１３によって算出された評価値との関係を学習して学習結果を得る学習部６４を更に有する。学習部６４は、実施の形態１の学習部１４が有する機能を有する。
【０２２１】
位置決め制御装置６０は、位置指令パラメータを入力として、学習部６４に対して位置指令パラメータの再選定を指示する動作模擬部６８を更に有する。動作模擬部６８は、図１８の動作模擬対象６８ａで示される範囲に含まれる要素の動作を模擬する。つまり、動作模擬部６８は、位置指令パラメータを入力とし、モータ１の回転位置又は制御対象３の位置を示す位置検出値の信号を模擬する。具体的には、動作模擬部６８は、位置指令パラメータに基づいて制御対象３の動作を模擬し、模擬した結果が事前に設定された制約条件を満たす場合、動作を模擬する際に用いた位置指令パラメータを位置指令生成部６１に出力する。
【０２２２】
動作模擬部６８は、位置検出値を模擬する信号と事前に設定された制約条件とに基づいて、位置指令パラメータの再計算の必要の有無を判定し、再計算の必要があると判定した場合、位置指令パラメータを再計算させる指示である再計算指示を学習部６４に与える。以下に、学習部６４及び動作模擬部６８について更に説明する。
【０２２３】
学習部６４は、評価値Ｑを入力として位置指令パラメータと評価値Ｑとの関係を学習して学習結果を得る。具体的には、学習部６４は、位置指令パラメータに対応する評価値Ｑの平均値と分散値とを計算するための関数を更新して学習を行う。学習部６４は、学習を行うことで位置指令パラメータに対応した評価値Ｑの平均値と、位置指令パラメータに対応する評価値Ｑの分散値とを推定することが可能となる。平均値と分散値とを計算するための関数には、ガウス過程モデルが用いられてもよい。上述のように、学習部６４は位置指令パラメータと評価値Ｑとの関係式を得る。
【０２２４】
学習部６４は、次の位置決め制御を実行するための位置指令パラメータを選定して動作模擬部６８に出力する。学習部６４は、次の位置指令パラメータの選定にあたって、学習結果に基づいて評価値Ｑの平均値と分散値との和が最大値を示す位置指令パラメータを選定する。
【０２２５】
動作模擬部６８は、学習部６４で選定された位置指令パラメータを受け取り、位置検出値を模擬する信号と事前に設定された制約条件とに基づいて、位置指令パラメータの再計算の必要の有無を判定し、再計算の必要があると判定した場合、位置指令パラメータを再計算させる指示である再計算指示を学習部６４に与える。
【０２２６】
動作模擬部６８は、位置検出値を模擬する信号の振幅があらかじめ決められた値以上である場合、位置指令パラメータを再計算するように、学習部６４に再計算指示を与えてもよい。動作模擬部６８は、位置検出値を模擬する信号が目標移動距離の値に到達する時間があらかじめ決められた時間以上である場合、位置指令パラメータを再計算するように、学習部６４に再計算指示を与えてもよい。つまり、動作模擬部６８は、モータ１を駆動させて位置決め制御を実行させることなく、位置指令パラメータを簡易的に評価して評価値があらかじめ決められた不良で小さい値となる場合、学習部６４に対して位置指令パラメータを再度選定させる。
【０２２７】
位置指令パラメータの再計算指示が与えられた場合、学習部６４は、学習結果に基づいて評価値Ｑの平均値と分散値との和が２番目に大きな値となる位置指令パラメータを選定する。動作模擬部６８は、位置指令パラメータを再び受け取り、再計算の必要の有無を判定する。
【０２２８】
学習部６４及び動作模擬部６８の動作により、位置指令パラメータが簡易的に評価されて評価値が不良と判断される小さい値となる場合、位置指令パラメータが変更される。位置決め制御装置６０は、学習部６４及び動作模擬部６８の動作に基づく位置指令パラメータの変更によって位置決め制御の実行回数を低減することができ、かつ位置指令パラメータを効率良く調整することができる。
【０２２９】
動作模擬部６８は、入力される位置指令パラメータに対応する評価値Ｑの大小のみを判定することで位置決め制御の実行回数を低減することができる。動作模擬部６８には、精緻な制御対象の模擬は必ずしも必要とされない。例えば、位置指令に対してローパスフィルタを適用した信号が、位置検出値を模擬した信号であってもよい。
【０２３０】
実施の形態６では、動作模擬部６８は、位置検出値を模擬する信号に基づいて位置指令パラメータの再計算の必要の有無を判定する。しかしながら、動作模擬部６８の動作はこれに限られない。図１８で示された動作模擬対象６８ａに含まれる要素は、当該要素に限られない。例えば、動作模擬部６８は、モータ１に与えられる電流の値を模擬し、模擬される電流の値があらかじめ決められた値以上である場合に位置指令パラメータの再計算を指示してもよい。
【０２３１】
動作模擬部６８は、位置指令パラメータから生成される位置指令を模擬し、位置指令を模擬する信号が目標移動距離の値に到達する時間があらかじめ決められた時間以上である場合、位置指令パラメータの再計算を指示してもよい。動作模擬部６８は、位置指令に対してローパスフィルタを適用した信号を微分することで速度指令又は加速度指令を模擬し、速度指令又は加速度指令を模擬する信号の最大値があらかじめ決められた値以上である場合、位置指令パラメータの再計算を指示してもよい。
【０２３２】
よって、実施の形態６にかかる位置決め制御装置６０は、操作者の試行錯誤を必要とせず、位置指令パラメータを適切に調整することができる。上述のことから、位置決め制御装置６０は、位置決め制御を高速化する良好な指令形状の調整を効率良く行うことができる。
【０２３３】
上述した実施の形態１から６までの位置決め制御装置１０、位置決め制御装置２０、位置決め制御装置３０、位置決め制御装置４０、位置決め制御装置５０及び位置決め制御装置６０の一部又は全部は、位置指令パラメータによって、加速の開始、加速の終了、減速の開始及び減速の終了の各時点における加速度の大きさのうちの２つ以上のものを独立に設定してもよい。
【０２３４】
実施の形態４にかかる位置決め制御装置４０が有する位置指令生成部４１、駆動制御部１２、評価部４３及び学習部４４の一部又は全部の機能は、プロセッサ７１と同等のプロセッサによって実現されてもよい。当該一部又は全部の機能がプロセッサによって実現される場合、位置決め制御装置４０は、位置指令生成部４１、駆動制御部１２、評価部４３及び学習部４４の一部又は全部によって実行されるステップが結果的に実行されることになるプログラムを格納するためのメモリを有する。当該メモリは、メモリ７２と同等のメモリである。
【０２３５】
実施の形態４にかかる位置決め制御装置４０が有する位置指令生成部４１、駆動制御部１２、評価部４３及び学習部４４の一部又は全部の機能は、処理回路８１と同等の処理回路によって実現されてもよい。
【０２３６】
実施の形態５にかかる位置決め制御装置５０が有する位置指令生成部５１、駆動制御部１２、評価部１３及び学習部５４の一部又は全部の機能は、プロセッサ７１と同等のプロセッサによって実現されてもよい。当該一部又は全部の機能がプロセッサによって実現される場合、位置決め制御装置５０は、位置指令生成部５１、駆動制御部１２、評価部１３及び学習部５４の一部又は全部によって実行されるステップが結果的に実行されることになるプログラムを格納するためのメモリを有する。当該メモリは、メモリ７２と同等のメモリである。
【０２３７】
実施の形態５にかかる位置決め制御装置５０が有する位置指令生成部５１、駆動制御部１２、評価部１３及び学習部５４の一部又は全部の機能は、処理回路８１と同等の処理回路によって実現されてもよい。
【０２３８】
実施の形態６にかかる位置決め制御装置６０が有する位置指令生成部６１、駆動制御部１２、評価部１３、学習部６４及び動作模擬部６８の一部又は全部の機能は、プロセッサ７１と同等のプロセッサによって実現されてもよい。当該一部又は全部の機能がプロセッサによって実現される場合、位置決め制御装置６０は、位置指令生成部６１、駆動制御部１２、評価部１３、学習部６４及び動作模擬部６８の一部又は全部によって実行されるステップが結果的に実行されることになるプログラムを格納するためのメモリを有する。当該メモリは、メモリ７２と同等のメモリである。
【０２３９】
実施の形態６にかかる位置決め制御装置６０が有する位置指令生成部６１、駆動制御部１２、評価部１３、学習部６４及び動作模擬部６８の一部又は全部の機能は、処理回路８１と同等の処理回路によって実現されてもよい。
【０２４０】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略又は変更することも可能である。
【符号の説明】
【０２４１】
１  モータ、２  ボールねじ、３  制御対象、４  位置検出器、１０，２０，３０，４０，５０，６０  位置決め制御装置、１１，４１，５１，６１  位置指令生成部、１２  駆動制御部、１３，３３，４３  評価部、１４，４４，５４，６４  学習部、１５，２５  学習結果保持部、１６，２６  パラメータ範囲設定部、１７，２７  運転条件、６８  動作模擬部、６８ａ  動作模擬対象、７１  プロセッサ、７２  メモリ、８１  処理回路。
【要約】
位置決め制御装置（４０）は、位置指令パラメータに基づいて加速区間及び減速区間の加速度の形状が決定される位置指令を生成する位置指令生成部（４１）と、モータ（１）又は制御対象（３）の位置検出値が位置指令に追従するようにモータ（１）を駆動する駆動制御部（１２）と、制御対象（３）についての位置決め制御の実行時のモータ（１）又は制御対象（３）の位置検出値に基づいて位置決め性能に関する評価値を算出する評価部（４３）と、位置指令パラメータに基づいて決定される加速区間と減速区間とにおける加速度の形状の各々を独立に変更しつつ、複数回の位置決め制御が実行された場合の位置指令パラメータと評価値との関係を学習し、位置指令パラメータと評価値との関係を学習して学習結果を得る学習部（４４）とを有する。【図１】
0006664561.tif 000038
【図２】
0006664561.tif 000039
【図３】
0006664561.tif 000040
【図４】
0006664561.tif 000041
【図５】
0006664561.tif 000042
【図６】
0006664561.tif 000043
【図７】
0006664561.tif 000044
【図８】
0006664561.tif 000045
【図９】
0006664561.tif 000046
【図１０】
0006664561.tif 000047
【図１１】
0006664561.tif 000048
【図１２】
0006664561.tif 000049
【図１３】
0006664561.tif 000050
【図１４】
0006664561.tif 000051
【図１５】
0006664561.tif 000052
【図１６】
0006664561.tif 000053
【図１７】
0006664561.tif 000054
【図１８】
0006664561.tif 000055