(57)【要約】【課題】制御パラメータの調整に際して発生した異常に対応した制御を行うことで、装置の部品の摩耗や破損の発生を抑制できる制御パラメータ調整方法及び制御パラメータ調整システムを提供すること。【解決手段】制御パラメータ調整方法は、制御パラメータを用いて位置制御装置により複数の駆動系の駆動を開始する駆動開始工程と、複数の駆動系の駆動を開始した後、異常が発生したか否かを判断する異常判断工程と、複数の駆動系の各々の位置決めデータを採取し、遺伝的アルゴリズムを用いて複数の駆動系の各々の位置決めデータの特徴量を評価して、その評価値が要求性能を満足するように制御パラメータを調整する調整工程と、を含む。異常判断工程の判断の結果、異常が発生したと判断したことに応じて、複数の駆動系を停止する。【選択図】図３
2019153040.tif 000002
【特許請求の範囲】
【請求項１】
複数の位置制御対象を互いに独立して駆動可能な複数の駆動系で、且つ駆動時に互いに摩擦力を及ぼし合う関係にある前記複数の駆動系を制御する位置制御装置の制御パラメータを調整する制御パラメータ調整方法であって、
前記制御パラメータを用いて前記位置制御装置により前記複数の駆動系の駆動を開始する駆動開始工程と、
前記複数の駆動系の駆動を開始した後、異常が発生したか否かを判断する異常判断工程と、
前記複数の駆動系の各々の位置決めデータを採取し、遺伝的アルゴリズムを用いて前記複数の駆動系の各々の前記位置決めデータの特徴量を評価して、その評価値が要求性能を満足するように前記制御パラメータを調整する調整工程と、
を含み、
前記異常判断工程の判断の結果、前記異常が発生したと判断したことに応じて、前記複数の駆動系を停止する、制御パラメータ調整方法。
【請求項２】
前記異常判断工程の判断の結果、前記異常が発生したと判断したことに応じて、発生した前記異常が軽微な異常であるか否かを判断する軽微異常判断工程を、含み、
前記軽微異常判断工程の判断の結果、発生した前記異常が前記軽微な異常であると判断したことに応じて、停止した前記複数の駆動系を再度駆動し、前記調整工程を再開する、請求項１に記載の制御パラメータ調整方法。
【請求項３】
前記軽微異常判断工程の判断の結果、発生した前記異常が前記軽微な異常でないと判断したことに応じて、前記調整工程で取得した調整中のデータを再開用データとして保存する、請求項２に記載の制御パラメータ調整方法。
【請求項４】
前記軽微異常判断工程の判断の結果、発生した前記異常が前記軽微な異常であると判断したことに応じて、発生した前記軽微な異常が前記複数の駆動系で発生した発振であるか否かを判断する発振判断工程と、
前記発振判断工程の判断の結果、発生した前記軽微な異常が前記発振であると判断したことに応じて、前記発振が連続して発生した回数である連続検知回数が、許容連続検知回数よりも多いか否かを判断する連続検知回数判断工程と、
を含み、
前記連続検知回数判断工程の判断の結果、前記連続検知回数が、前記許容連続検知回数よりも多いと判断したことに応じて、前記調整工程で取得した調整中のデータを再開用データとして保存する、請求項２又は請求項３に記載の制御パラメータ調整方法。
【請求項５】
前記位置制御装置により前記複数の駆動系を制御するトルク指令に含まれる高周波のトルク振動波形の絶対値が、予め定められた上限値を超えた回数の増加に基づいて前記発振を検知する、請求項４に記載の制御パラメータ調整方法。
【請求項６】
前記位置制御装置により前記複数の駆動系を制御するトルク指令の絶対値が最大トルク制限値を越えたことに基づいて前記発振を検知する、請求項４又は請求項５に記載の制御パラメータ調整方法。
【請求項７】
複数の位置制御対象を互いに独立して駆動可能な複数の駆動系で、且つ駆動時に互いに摩擦力を及ぼし合う関係にある前記複数の駆動系を制御する位置制御装置の制御パラメータを調整する制御パラメータ調整システムであって、
前記制御パラメータを用いて前記位置制御装置により前記複数の駆動系の駆動を開始する駆動開始手段と、
前記複数の駆動系の駆動を開始した後、異常が発生したか否かを判断する異常判断手段と、
前記複数の駆動系の各々の位置決めデータを採取し、遺伝的アルゴリズムを用いて前記複数の駆動系の各々の前記位置決めデータの特徴量を評価して、その評価値が要求性能を満足するように前記制御パラメータを調整する調整手段と、
を備え、
前記異常判断手段の判断の結果、前記異常が発生したと判断したことに応じて、前記複数の駆動系を停止する、制御パラメータ調整システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、複数の位置制御対象を互いに独立して駆動可能な複数の駆動系を制御する位置制御装置の制御パラメータを調整する制御パラメータ調整方法及び制御パラメータ調整システムに関する。
【背景技術】
【０００２】
複数の位置制御対象を互いに独立して駆動可能な複数の駆動系においては、複数の駆動系のギア等が接触して駆動時に互いに摩擦力を及ぼし合う関係にある場合がある。例えば、ロータリーヘッド型（リボルバヘッド型）の部品実装機では、下記特許文献１に記載されているように、部品実装機の装着ヘッドを回転させるＲ軸駆動系と、装着ヘッドに支持された複数本の吸着ノズルを回転させるＱ軸駆動系とが設けられ、両駆動系のギア等が接触して駆動時に互いに摩擦力を及ぼし合う関係にある。このような構成では、各駆動系に作用する摩擦力によって各駆動系の駆動状態が影響を受けて位置制御性能が悪化してしまう可能性がある。
【０００３】
これに対し、特許文献１では、位置制御性能が要求性能を満足する制御パラメータを探索している。特許文献１の制御パラメータ調整システムは、２つの駆動系のモータを同時に駆動して各駆動系の位置決めデータを採取し、遺伝的アルゴリズムを用いて各駆動系の位置決めデータの特徴量を評価して、その評価値が要求性能を満足するように制御パラメータを調整する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２３４４５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記した制御パラメータ調整システムでは、様々な要因で異常が発生する。例えば、制御パラメータ調整システムは、制御パラメータを変更しながら調整作業を行うため、制御パラメータの値が不安定となり、発振などの異常が発生する。その結果、装置の部品を摩耗や損傷させる虞がある。
【０００６】
本開示は、そのような実情に鑑みてなされたものであり、制御パラメータの調整に際して発生した異常に対応した制御を行うことで、装置の部品の摩耗や破損の発生を抑制できる制御パラメータ調整方法及び制御パラメータ調整システムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本開示は、複数の位置制御対象を互いに独立して駆動可能な複数の駆動系で、且つ駆動時に互いに摩擦力を及ぼし合う関係にある前記複数の駆動系を制御する位置制御装置の制御パラメータを調整する制御パラメータ調整方法であって、前記制御パラメータを用いて前記位置制御装置により前記複数の駆動系の駆動を開始する駆動開始工程と、前記複数の駆動系の駆動を開始した後、異常が発生したか否かを判断する異常判断工程と、前記複数の駆動系の各々の位置決めデータを採取し、遺伝的アルゴリズムを用いて前記複数の駆動系の各々の前記位置決めデータの特徴量を評価して、その評価値が要求性能を満足するように前記制御パラメータを調整する調整工程と、を含み、前記異常判断工程の判断の結果、前記異常が発生したと判断したことに応じて、前記複数の駆動系を停止する、制御パラメータ調整方法を開示する。
また、本開示の内容は、制御パラメータを調整する制御パラメータ調整方法だけでなく、その制御パラメータ調整方法を実行する制御パラメータ調整システムとしても実施し得るものである。
【発明の効果】
【０００８】
本開示の制御パラメータ調整方法及び制御パラメータ調整システムによれば、制御パラメータの調整に際し、異常が発生すると、制御対象の複数の駆動系を停止する。これにより、異常の発生時に迅速に駆動系を停止することで、駆動系の装置が備える部品の摩耗や破損の発生を抑制することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の調整システムの構成を示す図である。
【図２】制御パラメータ調整プログラムの処理の流れを示すフローチャートである。
【図３】制御パラメータ調整プログラムの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本開示を実施するための形態をロータリーヘッド型の部品実装機の制御パラメータ調整方法に適用して具体化した一実施形態を説明する。図１は、本願の制御パラメータ調整システムを具体化した一実施形態である調整システム１０の構成を示している。
【００１１】
図１に示すように、調整システム１０は、装着ヘッド駆動装置１１と、Ｒ軸モータ１６と、Ｑ軸モータ２４と、位置制御装置２８とを備えている。まず、装着ヘッド駆動装置１１の構成について説明する。装着ヘッド駆動装置１１は、部品実装機（図示略）の装着ヘッド１３を回転させるＲ軸駆動系と、装着ヘッド１３に支持された複数本の吸着ノズル１２を回転させるＱ軸駆動系とが設けられている。
【００１２】
装着ヘッド駆動装置１１は、複数本の吸着ノズル１２を下向きに支持する装着ヘッド１３を備える。装着ヘッド１３は、Ｒ軸１４の下端に設けられている。Ｒ軸１４の上端１４Ａには、Ｒ軸ギア１５が設けられている。Ｒ軸ギア１５には、Ｒ軸モータ１６の回転軸１６Ａに固定されたギア１７が噛み合っている。Ｒ軸モータ１６によってギア１７を回転させると、ギア１７の回転によりＲ軸ギア１５が回転し、装着ヘッド１３がＲ軸１４を中心として複数本の吸着ノズル１２と一体的に回転するようになっている。
【００１３】
Ｒ軸１４には、上下２段のＱ軸ギア２０，２１が回転可能に支持されている。下段のＱ軸ギア２１には、各吸着ノズル１２と一体に回転する回転軸２２の上端に設けられたギア２３が噛み合っている。上段のＱ軸ギア２０には、Ｑ軸モータ２４の回転軸２４Ａに固定されたギア２５が噛み合っている。Ｑ軸モータ２４によってギア２５を回転させると、ギア２５の回転によりＱ軸ギア２０，２１が一体に回転して各ギア２３が回転し、各吸着ノズル１２が各回転軸２２を中心として回転するようになっている。
【００１４】
Ｒ軸モータ１６とＱ軸モータ２４の各々は、位置制御装置２８によって制御される。Ｒ軸モータ１６には、モータの回転角度を検知するロータリエンコーダ等の回転角度センサ２９が搭載されている。同様に、Ｑ軸モータ２４には、モータの回転角度を検知するロータリエンコーダ等の回転角度センサ３０が搭載されている。回転角度センサ２９，３０の各々の出力信号は、位置制御装置２８に入力される。
【００１５】
位置制御装置２８は、例えば、第１ＩＦ（インタフェースの略）３１、第２ＩＦ３２、ユーザＩＦ３３、ＣＰＵ３４、記憶部３５等を備える。これら第１ＩＦ３１、第２ＩＦ３２等は、バス３７を介して互いに通信可能となっている。第１ＩＦ３１は、第１アンプ４１を介してＲ軸モータ１６に接続されている。第２ＩＦ３２は、第２アンプ４３を介してＱ軸モータ２４に接続されている。第１アンプ４１及び第２アンプ４３は、例えば、Ｒ軸モータ１６やＱ軸モータ２４に駆動電力を供給するアンプ回路である。第１アンプ４１等は、第１ＩＦ３１等から入力されるトルク指令の値にトルク定数等を乗算して、駆動電力（電流値や電圧値）を決定する。これにより、Ｒ軸モータ１６及びＱ軸モータ２４は、トルク指令の波形の絶対値等に応じて駆動状態を制御される。ユーザＩＦ３３は、例えば、液晶モニタなどの出力装置や、マウス、キーボードなどの入力装置を備える。記憶部３５は、例えば、ＲＡＭ、ＲＯＭ、ＨＤＤ等、あるいはそれらを組み合わせて構成されている。記憶部３５には、制御パラメータ調整プログラムＰＧが保存されている。ＣＰＵ３４は、記憶部３５に保存された制御パラメータ調整プログラムＰＧを実行することで、調整システム１０を統括的に制御する。
【００１６】
なお、以下の説明では、ＣＰＵ３４で制御パラメータ調整プログラムＰＧを実行する位置制御装置２８のことを、単に装置名で記載する場合がある。例えば、「位置制御装置２８がＲ軸モータ１６を駆動する」という記載は、「位置制御装置２８がＣＰＵ３４で制御パラメータ調整プログラムＰＧを実行し第１アンプ４１へトルク指令を出すことで、Ｒ軸モータ１６を駆動する」ということを意味する場合がある。
【００１７】
位置制御装置２８は、フィードバック制御系（Ｆ／Ｂ制御系）とフィードフォワード制御系（Ｆ／Ｆ制御系）とを組み合わせて実行する。位置制御装置２８は、回転角度センサ２９，３０の出力信号を第１ＩＦ３１及び第２ＩＦ３２を介して取り込んで位置制御対象（吸着ノズル１２や装着ヘッド１３など）の位置を検知しながらＲ軸モータ１６とＱ軸モータ２４を駆動して、位置制御対象を指令位置まで駆動するように制御する。
【００１８】
以上のように構成した装着ヘッド駆動装置１１では、装着ヘッド１３を回転させるＲ軸駆動系と、装着ヘッド１３に支持された複数本の吸着ノズル１２を回転させるＱ軸駆動系とが接触して駆動時に互いに摩擦力を及ぼし合う関係にある。例えば、ギア２３は、Ｑ軸ギア２１（Ｑ軸ギア２０）の回転に伴って回転する。これにより、個々の吸着ノズル１２は、各回転軸２２を中心として回転する。一方、複数の吸着ノズル１２を保持する装着ヘッド１３は、Ｒ軸ギア１５及びＲ軸１４の回転に伴って回転する。仮に、Ｑ軸ギア２１を回転させずに、装着ヘッド１３だけを回転させると、回転軸２２には、装着ヘッド１３の回転力の他に、ギア２３とＱ軸ギア２１の噛み合いで生じる摩擦に応じた力が付与される。この摩擦力に応じた力は、ギア２３を回転させる、即ち、回転軸２２を回転させる方向に作用する。このため、回転軸２２を回転させたくない場合、装着ヘッド１３の回転に応じて、Ｑ軸ギア２１も回転させる必要がある。このように、位置制御装置２８の制御パラメータを調整する工程では、各駆動系のギアの噛み合いなどで発生する摩擦力の影響を考慮する必要がある。
【００１９】
そこで、本実施形態では、位置制御装置２８の制御パラメータを調整する工程で、位置制御装置２８により２つの駆動系のモータ（Ｒ軸モータ１６、Ｑ軸モータ２４）を同時に駆動して各駆動系の位置決めデータを採取し、遺伝的アルゴリズムを用いて各駆動系の位置決めデータの特徴量を評価して、その評価値が要求性能（設計仕様）を満足するように制御パラメータを調整するようにしている。この際、位置制御装置２８は、２つの駆動系を駆動した後、異常の発生に応じた制御を実行する。なお、各駆動系の位置決めデータとして、位置指令波形（トルク指令など）、実位置波形及びトルク波形を採取し、各駆動系の位置決めデータの特徴量として、位置決め波形を評価するようにすると良い。また、調整対象となる制御パラメータは、位置指令パラメータ、フィードバックゲインパラメータ及びフィードフォワードゲインパラメータとすると良い。また、位置制御装置２８は、２つの駆動系の駆動の開始を、完全に同時に実行する必要はなく、例えば、Ｒ軸モータ１６を駆動した後にＱ軸モータ２４を駆動しても良い。即ち、２つの駆動系が両方とも駆動していれば駆動する順番は特に限定されない。
【００２０】
図２は、制御パラメータ調整プログラムＰＧの処理の流れを示している。本実施形態の位置制御装置２８は、例えば、ユーザのユーザＩＦ３３に対する操作入力に応じて、ＣＰＵ３４により制御パラメータ調整プログラムＰＧを実行し、図２に示す処理を開始する。まず、ＣＰＵ３４は、図２に示す処理を開始すると、ステップ（以下、単に「Ｓ」と記載する）１１において、評価用の制御パラメータを作成する。ＣＰＵ３４は、図２の処理を開始して初めてＳ１１を実行する場合、例えば、制御パラメータ調整プログラムＰＧに予め設定された初期値（例えば設計値、中央値等）を制御パラメータとして設定する。なお、ＣＰＵ３４は、ユーザＩＦ３３を介して受け付けた値を制御パラメータの初期値として用いても良い。また、ＣＰＵ３４は、後述するＳ２７を実行した後、再度Ｓ１１を実行する。ＣＰＵ３４は、２回目以降のＳ１１を実行する際には、評価結果（最適解など）に応じた制御パラメータを次の評価用の制御パラメータとして設定する。
【００２１】
次に、ＣＰＵ３４は、Ｓ１１で設定した制御パラメータを駆動系に反映する（Ｓ１３）。ＣＰＵ３４は、例えば、Ｒ軸モータ１６やＱ軸モータ２４を駆動するアンプ（第１アンプ４１、第２アンプ４３）を制御する設定値（位置指令パラメータ、フィードバックゲインパラメータなど）にＳ１１で作成した制御パラメータの値を反映する。ＣＰＵ３４は、制御パラメータを各駆動系に反映した後、評価動作を開始する（Ｓ１５）。ＣＰＵ３４は、例えば、２つの駆動系のモータ（Ｒ軸モータ１６、Ｑ軸モータ２４）を同時に駆動する。
【００２２】
ＣＰＵ３４は、２つの駆動系の駆動を開始した後、異常が発生したか否かを判断する（Ｓ１７）。ＣＰＵ３４は、異常が発生したと判断すると（Ｓ１７：ＹＥＳ）、図３のＳ３１を実行する。一方、ＣＰＵ３４は、異常が発生していないと判断すると（Ｓ１７：ＮＯ）、連続検知回数としてゼロを設定する（Ｓ１９）。この連続検知回数は、後述するように、異常の種類として発振を検知した連続回数である。ＣＰＵ３４は、Ｓ３１以降の処理を実行し、連続検知回数が許容値検知回数以下であれば（図３のＳ４１：ＮＯ）、再度、評価動作を行う。ＣＰＵ３４は、再度評価動作を実行して、異常が再発しなければ（Ｓ１７：ＮＯ）、その時点まで計測した連続検知回数をリセットする（Ｓ１９）。なお、ＣＰＵ３４は、Ｓ１９を実行せず、連続検知回数をリセットしなくとも良い。
【００２３】
次に、ＣＰＵ３４は、Ｓ１９を実行した後、各駆動系の位置決めデータである位置指令波形、実位置波形及びトルク波形を採取する（Ｓ２１）。ＣＰＵ３４は、位置決めデータを採取すると（Ｓ２１）、各駆動系の位置決め性能に対する今回の評価値を算出する（Ｓ２３）。ここで、評価項目としては、例えば、以下の６つが挙げられる。なお、これらの評価項目は一例であり、設計仕様に合わせて評価項目を変更しても良いことは言うまでもない。
【００２４】
１つ目の評価項目は、トルク飽和であり、作業者が定義する任意の評価時間内に、実トルク波形が設計仕様トルク上限値から外れているか否かについて評価を行う関数を用いる。具体的には、評価時間内において、トルク値が飽和した期間の回転角度センサ２９，３０の出力パルス（エンコーダパルス）のカウント数に対して任意の重み関数を掛け算して得られた値を評価値とする。
【００２５】
２つ目の評価項目は、停止位置精度であり、設計仕様移動時間内に実位置波形が設計仕様停止位置精度内に到達しているか否かについて評価を行う関数を用いる。具体的には、評価時間内において、
「｜目標停止位置精度−実最大停止位置精度｜÷目標停止位置精度」
に対して任意の重みを掛け算して得られた値を評価値とする。
【００２６】
３つ目の評価項目は、移動時間であり、設計仕様移動時間内に実位置波形が到達しているか否かについて評価を行う関数を用いる。具体的には、評価時間内において、
「｜目標移動時間−実移動時間｜÷目標移動時間」
に対して任意の重みを掛け算して得られた値を評価値とする。
【００２７】
４つ目の評価項目は、偏差積分であり、設計仕様移動時間内に到達後、実位置波形が目標停止位置に対して収束性が高いか否かについて評価を行う関数を用いる。具体的には、評価時間内において、位置偏差の絶対値積分に対して任意の重みを掛け算して得られた値を評価値とする。
【００２８】
５つ目の評価項目は、振動条件であり、作業者が定義する任意の評価時間内に、実位置波形に振動的な要素が含まれているか否かについて評価を行う関数を用いる。具体的には、評価時間内において、位置偏差の振動波形の有無に対して任意の重みを掛け算して得られた値を評価値とする。
【００２９】
６つ目の評価項目は、オーバーシュート条件であり、実位置波形が一旦、目標停止位置に到達後、設計仕様精度の閾値からの乖離性について評価を行う関数を用いる。具体的には、評価時間内において、最大オーバーシュート量に対して任意の重みを掛け算して得られた値を評価値とする。
【００３０】
なお、６つの各評価項目の「重み」は、作業者が任意に設定可能な係数で、各評価項目の優先度を示す値であり、優先度が高いほど大きな値となる（優先度が低いほど小さい値となる）。これにより、優先度が高い評価項目では、評価値が相対的に大きくなる仕組みとなっている。
【００３１】
ＣＰＵ３４は、Ｓ２３で６つの各評価項目の評価値を算出した後、終了条件を満たしているか否かを判断する（Ｓ２５）。終了条件は、特に限定されないが、例えば、最終的な評価値が設計仕様（要求性能）を満足する条件である。この場合、ＣＰＵ３４は、Ｓ２５において最終的な評価値を算出し、算出した評価値が設計仕様（要求性能）を満たしている場合に（Ｓ２５：ＹＥＳ）、Ｓ２９を実行する。
【００３２】
ＣＰＵ３４は、例えば、最終的な評価値として、上記した６つの評価項目の評価値の総和を算出する。なお、最終的な評価値は、６つの評価項目の評価値の総和に限らず、例えば、６つの評価項目の評価値のうち、上位３つ（評価値が大きい３つなど）の評価値の総和や、６つの評価項目のうち最も評価の高い評価値などを最終的な評価値としても良い。また、終了条件は、上記した最終的な評価値が設定仕様を満たす条件に限らない。例えば、終了条件は、Ｓ１１〜Ｓ２７の処理を繰り返した回数が設定回数（例えば、１０回）に到達した条件でも良い。この場合、ＣＰＵ３４は、例えば、Ｓ１１からの評価動作を１０回実行すると、Ｓ２５において終了条件を満たしたと判断する（Ｓ２５：ＹＥＳ）。あるいは、終了条件は、例えば、最終的な評価値が設計仕様を満たし、且つ、設計仕様を満たした評価動作を予め定められた設定回数だけ実行した条件でも良い。即ち、設計仕様と繰り返した回数の両方を終了条件に含めても良い。
【００３３】
ＣＰＵ３４は、Ｓ２５において終了条件を満たしていないと判断すると（Ｓ２５：ＮＯ）、今回の最終的な評価値（総和など）と、現時点の最適解の評価値を比較する（Ｓ２７）。現時点の最適解の評価値とは、例えば、今回の評価動作を実行するまでに過去に実行した評価動作の最終的な評価値のうち、Ｓ２７の判断でより高い評価を得た最終的な評価値である。即ち、ＣＰＵ３４は、Ｓ２７を実行するごとに、今回の最終的な評価値と、過去の最も評価の高かった最終的な評価値を比較する。そして、ＣＰＵ３４は、より評価の高い最終的な評価値を取得すると、その最終的な評価値を最適解の評価値とする。ＣＰＵ３４は、今回の最終的な評価値が現時点の最適解の評価値よりも最適である（例えばより大きい値である）ことに応じ、今回の最終的な評価値を最適解の評価値として保存する。ＣＰＵ３４は、記憶部３５に保存された最適解の評価値を、今回の最終的な評価値で更新する（Ｓ２７）。また、ＣＰＵ３４は、例えば、今回の制御パラメータを最適解の評価値と関連付けて記憶部３５に保存する。これにより、最適な制御パラメータを得ることができる。一方、ＣＰＵ３４は、今回の最終的な評価値が現時点の最適解の評価値よりも劣る場合（例えばより小さい値の場合）、最適解の評価値を更新せず、最適解に関連付けられた制御パラメータも更新しない（Ｓ２７）。
【００３４】
ＣＰＵ３４は、Ｓ２７を実行した後、Ｓ１１を再度実行する。ＣＰＵ３４は、例えば、現時点の最適解の評価値を規範値とし、次の評価用の制御パラメータ（位置指令パラメータ、フィードバックゲインパラメータ及びフィードフォワードゲインパラメータ）を作成する（Ｓ１１）。そして、ＣＰＵ３４は、更新した制御パラメータを用いて、再び、２つの駆動系のモータ（Ｒ軸モータ１６、Ｑ軸モータ２４）を同時に駆動する（Ｓ１３，Ｓ１５）。ＣＰＵ３４は、異常がなければ（Ｓ１７：ＮＯ）、各駆動系の位置決めデータを採取し（Ｓ２１）、以後、上述した各ステップの処理を繰り返して、より最適な評価値や制御パラメータを探索する。
【００３５】
一方、Ｓ２５において、ＣＰＵ３４は、終了条件を満たしたと判断すると（Ｓ２５：ＹＥＳ）、Ｓ２９を実行する。ＣＰＵ３４は、Ｓ２９において、Ｓ２７と同様に、今回の最終的な評価値と、現時点の最適解の評価値を比較し、より高い最終的な評価値を得ると記憶部３５の最適解や制御パラメータを更新する（Ｓ２９）。ＣＰＵ３４は、制御パラメータの自動調整を終了する。これにより、複数回に亘って採取した最終的な評価値のうち、最も評価の高い最適解の評価値や、その際に使用した制御パラメータを得ることができる。
【００３６】
次に、異常発生時の動作について説明する。上記したように、ＣＰＵ３４は、Ｓ１７で異常が発生したと判断すると（Ｓ１７：ＹＥＳ）、図３のＳ３１以降の処理を実行する。制御パラメータの調整時に発生する異常としては、例えば、以下の３つの異常が挙げられる。ＣＰＵ３４は、評価動作時において、以下の３つの異常を監視し、異常を検知すると（Ｓ１７：ＹＥＳ）、Ｓ３１を実行する。また、本実施形態のＣＰＵ３４は、以下の３つの異常のうち、１つ目の一致タイムアウト異常、２つ目の発振検知異常を、軽微な異常として処理する。また、ＣＰＵ３４は、残りの他の異常を深刻な異常として処理する。なお、これらの異常の種類、軽微又は深刻の基準は一例であり、適宜変更しても良いことは言うまでもない。例えば、発振検知異常のみを軽微な異常として処理し、他の異常を全て深刻な異常として処理しても良い。
【００３７】
まず、１つ目の異常である一致タイムアウト異常（軽微な異常）を説明する。ＣＰＵ３４は、例えば、Ｒ軸モータ１６及びＱ軸モータ２４に対するフィードバック制御等において、制御の目的位置に対する相対的な位置が一定時間内に一定の幅に収束しない状態を検知すると、一致タイムアウト異常を検知する。
【００３８】
次に、２つ目の異常は、発振検知異常（軽微な異常）である。本実施形態の調整システム１０では、制御パラメータの値を変更しながら各駆動系を駆動する。このため、制御パラメータの値によっては、Ｒ軸モータ１６等の動作が不安定となり、各駆動系で振動が発生する。そこで、ＣＰＵ３４は、装着ヘッド駆動装置１１の発振を異常として検知する。発振の検知方法は、特に限定されない。ここで、ＣＰＵ３４は、第１アンプ４１や第２アンプ４３にトルク指令を出力する。第１アンプ４１や第２アンプ４３は、ＣＰＵ３４からのトルク指令に基づいて、Ｒ軸モータ１６やＱ軸モータ２４に供給する電流値や電圧値を変更する。ＣＰＵ３４は、例えば、このトルク指令に基づいて発振イベント監視及び瞬時最大トルク監視を行い、そのどちらか一方の監視で発振を検知すると、発振の異常が発生したと判断する。
【００３９】
発振イベント監視では、ＣＰＵ３４は、トルク振動波形を監視する。トルク振動波形とは、例えば、第１ＩＦ３１や第２ＩＦ３２から第１アンプ４１や第２アンプ４３へ出力するトルク指令の値にハイパスフィルタを掛けた波形、即ち、高周波の波形である。装着ヘッド駆動装置１１に発振が発生すると、回転角度センサ２９，３０の出力パルス（エンコーダパルス）が脈動する。その結果、フィードバック制御等によって第１アンプ４１や第２アンプ４３へ出力するトルク指令の値も脈動する。トルク指令には、駆動系の発振に起因して高周波のトルク振動波形が発生する。発振が生じていない場合、トルク指令の値は、比較的低周波の波形となる。一方、発振に起因した振動成分は、高周波成分を多く含む。そこで、ＣＰＵ３４は、トルク指令のうち、高周波のトルク振動波形を監視して発振を検知する。例えば、ＣＰＵ３４は、高周波のトルク振動波形の絶対値が予め定められた上限値を超えた回数をカウントする。そして、ＣＰＵ３４は、上限値を超えた回数が所定の閾値以上になると、発振の異常が発生したと判断する。これにより、トルク指令の変化に応じて駆動系の発振を検知できる。また、絶対値が上限値を超えた回数がある程度（閾値）まで増加した段階で発振が発生したと判断することで、ノイズ等によって一時的に生じる高周波を誤って発振と検知することを抑制できる。即ち、発振の検知精度を高めることができる。なお、ＣＰＵ３４は、評価動作の開始時や、Ｒ軸モータ１６等の停止時に、このカウントした回数をリセットすることが好ましい。
【００４０】
また、瞬時最大トルク監視では、ＣＰＵ３４は、トルク指令の絶対値を監視する。上記したトルク振動波形を監視する発振イベント監視では、ハイパスフィルタの処理などに時間が掛かり、突発的な発振を検知できない虞がある。そこで、ＣＰＵ３４は、第１アンプ４１等に出力するトルク指令の絶対値を監視し、トルク指令の絶対値が最大トルク制限値を超えた場合、発振の異常が発生したと判断する。この最大トルク制限値は、例えば、通常の指令時には発生しない大きさまで増大したトルク指令の値であり、発振に応じて突発的に増大したトルク指令の値を検知可能な基準値である。これによれば、トルク指令の絶対値を監視することで、突発的に発生する発振をより迅速に検知できる。なお、発振を検知する方法は、トルク指令の値に基づいた方法に限らず、例えば、振動センサを、装着ヘッド駆動装置１１に取り付けて検知しても良い。
【００４１】
次に、３つ目の異常である深刻な異常について説明する。ＣＰＵ３４は、上記した２つの異常以外の異常を深刻な異常として検知する。深刻な異常としては、例えば、通信異常、過負荷などがある。ＣＰＵ３４は、例えば、回転角度センサ２９，３０との間の通信が切断され、エンコーダパルスが取得できない場合、通信異常が発生したと判断する（Ｓ１７：ＹＥＳ）。また、ＣＰＵ３４は、例えば、回転軸１６Ａ，２４Ａに作用するトルクが規定値以上になった場合、過負荷の異常が発生したと判断する（Ｓ１７：ＹＥＳ）。なお、深刻な異常は、上記したものに限らず、例えば、装着ヘッド駆動装置１１の温度異常、アンプ（第１アンプ４１や第２アンプ４３）の処理異常などでも良い。また、深刻な異常は、ＣＰＵ３４におけるソフトウェア処理上の異常、あるいは、過電流などのハードウェア処理上の異常でも良い。また、深刻な異常は、偏差リミットエラーでも良い。偏差リミットエラーとは、フィードバック制御等における目的位置と、実際の位置との差が所定の範囲を超えたエラーである。
【００４２】
図３に戻り、ＣＰＵ３４は、Ｓ３１において、Ｒ軸モータ１６及びＱ軸モータ２４を停止する。また、ＣＰＵ３４は、例えば、異常が発生したことを示すフラグ値を、記憶部３５に保存する（Ｓ３１）。この状態では、後述するＳ３７においてフラグ値をリセットして異常状態を解除しない限り異常状態を保持し、Ｒ軸モータ１６及びＱ軸モータ２４を駆動しない状態となる。
【００４３】
ＣＰＵ３４は、Ｓ３１を実行した後、Ｓ３３を実行する。ＣＰＵ３４は、Ｓ３３において、Ｓ１７で検知した異常が軽微な異常（本実施形態では上記した１つ目又は２つ目の異常）に該当するか否かを判断する。ＣＰＵ３４は、Ｓ１７で検知した異常が軽微な異常であると判断すると（Ｓ３３：ＹＥＳ）、その軽微な異常が発振検知異常であるか否かを判断する（Ｓ３５）。
【００４４】
ＣＰＵ３４は、軽微な異常が発振検知異常でないと判断すると（Ｓ３５：ＮＯ）、Ｓ３７を実行する。この場合、本実施形態では、上記した一致タイムアウト異常の軽微な異常が発生したこととなる。ＣＰＵ３４は、Ｓ３７において、上記したＳ３１で設定した異常状態を示すフラグ値をリセットし、異常状態を解除する。ＣＰＵ３４は、Ｓ３７を実行した後、今回の最終的な評価値として最悪値を設定する（Ｓ３９）。
【００４５】
ここで、上記したように、ＣＰＵ３４は、各駆動系から採取した位置決めデータから評価値を算出し、評価値の総和を最終的な評価値とする。そして、ＣＰＵ３４は、図２のＳ２７やＳ２９で最終的な評価値を比較し、最適解の評価値を決定する。しかしながら、異常が発生した場合には、位置決めデータを採取できない、あるいは仮に採取できたとしてもその位置決めデータは正常なデータでない可能性が高い。そこで、ＣＰＵ３４は、今回（異常発生時）の評価値を算出せずに、今回の最終的な評価値として最悪値を設定する。最悪値は、最終的な評価値の比較において最も低く評価される値であり、例えば、ゼロである。ＣＰＵ３４は、Ｓ３９を実行した後、図２のＳ２５を実行する。これにより、ＣＰＵ３４は、Ｓ２７やＳ２９において、今回の最終的な評価値、即ち、最悪値を採用せず、前回までの最適解の評価値を優先する。
【００４６】
また、本実施形態のＣＰＵ３４は、異常が発生したと判断したことに応じて（Ｓ１７：ＹＥＳ）、発生した異常が軽微な異常であるか否かを判断する（Ｓ３３）。ＣＰＵ３４は、発生した異常が軽微な異常であると判断したことに応じて（Ｓ３３：ＹＥＳ）、停止した複数の駆動系を再度駆動し、調整工程を再開する（Ｓ３９→Ｓ２５）。これによれば、発生した異常が軽微な異常である場合、制御パラメータの調整作業を自動で再開する。装着ヘッド駆動装置１１が備える部品の摩耗等を引き起こす深刻な異常が発生していない場合、調整作業を可能な限り継続して制御パラメータの調整を行うことができる。
【００４７】
また、Ｓ３５において、ＣＰＵ３４は、例えば、上記した発振イベント監視や瞬時最大トルク監視によって発振を検知した場合、軽微な異常が発振検知異常であると判断する（Ｓ３５：ＹＥＳ）。ＣＰＵ３４は、軽微な異常が発振検知異常であると判断すると（Ｓ３５：ＹＥＳ）、連続検知回数が許容連続検知回数よりも多いか否かを判断する（Ｓ４１）。ＣＰＵ３４は、連続検知回数が許容連続検知回数以下であると判断すると（Ｓ４１：ＮＯ）、連続検知回数を１つ増加させる（Ｓ４３）。ＣＰＵ３４は、Ｓ４３を実行した後、Ｓ３７を実行する。従って、ＣＰＵ３４は、連続検知回数が許容連続検知回数よりも多くなるまでの間、発振検知異常が発生しても評価値の採取を再度試みる。
【００４８】
ここで、装着ヘッド駆動装置１１の部品に摩耗や破損等が発生すると、装着ヘッド駆動装置１１は、正常に動作することができず、繰り返し発振する虞がある。そこで、ＣＰＵ３４は、予め設定された許容連続検知回数まで評価動作を実行し、それでもなお発振する場合、評価動作を終了する。このため、Ｓ４１で用いる許容連続検知回数は、例えば、破損等により発振が連続して発生しているか判断できる基準回数であり、装着ヘッド駆動装置１１の構造、発振の発生する確率、発振後に駆動を継続できる耐久性などに応じて、予め設定することができる。
【００４９】
一方で、ＣＰＵ３４は、連続検知回数が許容連続検知回数より多いと判断すると（Ｓ４１：ＹＥＳ）、Ｓ４５以降の終了動作を実行する。また、ＣＰＵ３４は、Ｓ３３において、Ｓ１７で検知した異常が軽微な異常でない、即ち、深刻な異常であると判断すると（Ｓ３３：ＮＯ）、Ｓ４５以降の終了動作を実行する。
【００５０】
ＣＰＵ３４は、Ｓ４５において、再開用データを作成して保存する。ＣＰＵ３４は、例えば、今回の異常停止までに評価動作で用いた制御パラメータの値、各制御パラメータを用いた際の異常発生の有無情報、各評価動作の評価値などを、再開用データとして記憶部３５に保存する。ＣＰＵ３４は、Ｓ４５を実行した後、Ｓ４７を実行する。ＣＰＵ３４は、Ｓ４７において、現時点の最適解の評価値を再開用データに関連付けて記憶部３５に保存する。上記したように、ＣＰＵ３４は、Ｓ２７において、その時点までの最適解の評価値を記憶部３５に保存している。このため、ＣＰＵ３４は、この最適解の評価値と、Ｓ４５で作成した再開用データとを関連付けて記憶部３５に保存する。ＣＰＵ３４は、自動調整を終了する（Ｓ４７）。
【００５１】
従って、本実施形態のＣＰＵ３４は、発生した異常が軽微な異常でない場合（Ｓ３３：ＮＯ）、あるいは連続検知回数が許容連続検知回数より多くなった場合（Ｓ４１：ＹＥＳ）、評価動作で取得した調整中のデータを再開用データとして保存する（Ｓ４５）。また、ＣＰＵ３４は、その時点の最適解の評価値を再開用データと関連付けて記憶部３５に保存する（Ｓ４７）。これによれば、軽微な異常以外の深刻な異常が発生して評価動作を終了する場合など、それまでに調整した途中経過のデータを、再開用データ等として保存する。異常が復旧した後に、記憶部３５に保存された再開用データや最適解の評価値を用いることで、異常で中断した調整途中の段階から評価動作を再開できる。これにより、異常が復旧した後に、評価動作を最初からやり直す場合に比べて、評価動作に必要な時間を短縮できる。例えば、全体の何割かまで制御パラメータの調整が進んでいた場合、その調整が済んだ途中経過を再開用データ等として保存しておくことで、ユーザは、最初から調整を実施する必要がなくなる。
【００５２】
また、本実施形態のＣＰＵ３４は、発生した軽微な異常が発振であると判断したことに応じて（Ｓ３５：ＹＥＳ）、発振が連続して発生した回数である連続検知回数が、許容連続検知回数よりも多いか否かを判断する（Ｓ４１）。ＣＰＵ３４は、連続検知回数が、許容連続検知回数よりも多いと判断したことに応じて（Ｓ４１：ＹＥＳ）、再開用データを保存する。駆動系において発振が連続して発生する場合、装着ヘッド駆動装置１１の部品等が、破損しかけている、あるいは既に破損している可能性がある。そこで、発振の連続検知回数が許容連続検知回数を越える場合、評価動作を終了し、それまでに調整した途中経過のデータを再開用データとして保存する。これにより、部品の破損等を未然に防止しつつ、異常の復旧後の評価動作に必要な時間を短縮できる。このようにして、本実施形態のＣＰＵ３４は、異常発生時の制御を実行する。
【００５３】
以上説明した実施形態によれば、制御パラメータの調整に際し、異常が発生すると（Ｓ１７：ＹＥＳ）、制御対象の複数の駆動系を停止する（Ｓ３１）。これにより、異常の発生時に迅速に駆動系を停止することで、装着ヘッド駆動装置１１が備える部品の摩耗や破損の発生を抑制することが可能となる。
【００５４】
また、本実施形態では、位置制御装置２８の制御パラメータを調整する工程で、２つの駆動系を同時に駆動して各駆動系の位置決めデータを採取するため、遺伝的アルゴリズムを用いて各駆動系に作用する摩擦力の影響を考慮しながら制御パラメータを調整することが可能となる。その結果、制御パラメータを調整する作業を簡単化できる。
【００５５】
なお、位置制御装置２８は、ＣＰＵ３４で制御パラメータ調整プログラムＰＧを実行することで、図２及び図３に示す処理を実行する。制御パラメータ調整プログラムＰＧにおいてＳ１５を実行する処理モジュールは、駆動開始手段の一例である。また、Ｓ１７を実行する処理モジュールは、異常判断手段の一例である。Ｓ１１〜Ｓ２７を繰り返し実行する処理モジュールは、調整手段の一例である。また、駆動開始手段等を、ソフトウェアで構成せずに、ハードウェアで構成しても良い。
【００５６】
因みに、上記実施形態において、装着ヘッド駆動装置１１が備える可動部（吸着ノズル１２、装着ヘッド１３、各種回転軸、ギア等）、Ｒ軸モータ１６、Ｑ軸モータ２４は、位置制御対象の一例である。Ｒ軸駆動系及びＱ軸駆動系は、複数の駆動系の一例である。Ｓ１５は、駆動開始工程の一例である。Ｓ１７は、異常判断工程の一例である。Ｓ１１〜Ｓ２７は、調整工程の一例である。Ｓ３３は、軽微異常判断工程の一例である。Ｓ３５は、発振判断工程の一例である。Ｓ４１は、連続検知回数判断工程の一例である。
【００５７】
なお、本開示は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。
例えば、ＣＰＵ３４は、評価動作中に異常が発生すると、各駆動系の駆動を停止するだけでも良い。
また、ＣＰＵ３４は、異常の内容が軽微か深刻かを判断せず、一律に再開用データを保存して調整を終了しても良い。
また、ＣＰＵ３４は、再開用データを保存せずに評価動作を終了しても良い。
また、ＣＰＵ３４は、軽微な異常が発生した場合、一律に評価動作を再開しても良い。
【００５８】
また、上記実施形態では、本願の駆動系として装着ヘッド駆動装置１１を採用したが、これに限らない。本願の駆動系は、複数の位置制御対象を互いに独立して駆動可能な複数の駆動系が駆動時に互いに摩擦力を及ぼし合う関係にある様々な駆動系を採用できる。例えば、駆動系は、３つ以上の位置制御対象を互いに独立して駆動可能な構成で、駆動時に互いに摩擦力を及ぼし合う関係にある構成でも良い。
また、本願の制御パラメータ調整システムは、位置制御装置２８のみを備える構成でも良い。
【符号の説明】
【００５９】
１０  調整システム、１１  装着ヘッド駆動装置、１２  吸着ノズル、１３  装着ヘッド、１４  Ｒ軸、１５  Ｒ軸ギア、１６  Ｒ軸モータ、１６Ａ  回転軸、１７  ギア、２０，２１  Ｑ軸ギア、２２  回転軸、２３  ギア、２４  Ｑ軸モータ、２４Ａ  回転軸、２５  ギア、２８  位置制御装置、２９，３０  回転角度センサ。
【図１】
2019153040.tif 000003
【図２】
2019153040.tif 000004
【図３】
2019153040.tif 000005