(57)【要約】【課題】制御対象を対象物の表面の形状に精度良く追従させる。【解決手段】制御装置は、目標軌道に基づいて、各制御周期における制御対象の平面上の第１指令位置を生成する第１生成部と、第１動特性モデルと第１指令位置とを用いたモデル予測制御により第１操作量を生成する第１制御部と、各制御周期における制御対象の直交軸上の第２指令位置を生成する第２生成部と、第２動特性モデルと第２指令位置とを用いたモデル予測制御により第２操作量を生成する第２制御部とを備える。第２生成部は、対象物の表面形状を示す形状データと第１指令位置とに基づいて、制御対象と対象物の表面との距離が一定になるように第２指令位置を生成する。【選択図】図４
2020154743.tif 000002
【特許請求の範囲】
【請求項１】
対象物と当該対象物の表面に対して所定処理を実行する制御対象との相対位置関係を変更するための複数のドライブ装置に接続され、制御周期毎に前記複数のドライブ装置に操作量を出力する制御装置であって、
前記複数のドライブ装置は、前記対象物の表面に対向する平面に沿って前記制御対象を前記対象物に対して相対移動させるための第１ドライブ装置と、前記平面に直交する直交軸に沿って前記制御対象を前記対象物に対して相対移動させるための第２ドライブ装置とを含み、
前記制御装置は、
目標軌道に基づいて、各制御周期における前記制御対象の前記平面上の第１指令位置を生成する第１生成部と、
前記第１ドライブ装置に出力する第１操作量と前記制御対象の前記平面上の位置との関係を示す第１動特性モデルと前記第１指令位置とを用いたモデル予測制御により、前記第１操作量を生成する第１制御部と、
各制御周期における前記制御対象の前記直交軸上の第２指令位置を生成する第２生成部と、
前記第２ドライブ装置に出力する第２操作量と前記制御対象の前記直交軸上の位置との関係を示す第２動特性モデルと前記第２指令位置とを用いたモデル予測制御により、前記第２操作量を生成する第２制御部とを備え、
前記第２生成部は、前記対象物の表面形状を示す形状データと前記第１指令位置とに基づいて、前記制御対象と前記対象物の表面との距離が一定になるように前記第２指令位置を生成する、制御装置。
【請求項２】
前記第１ドライブ装置は、前記平面上の第１軸に沿って前記制御対象を前記対象物に対して相対移動させ、
前記第１指令位置は、前記第１軸上の位置を示し、
前記第１動特性モデルは、前記第１操作量と前記制御対象の前記第１軸上の位置との関係を示し、
前記形状データは、前記第１軸を前記対象物の表面に投影した線上の複数の点の各々について、当該点から前記直交軸に下した垂線の足の前記直交軸上の位置を示し、
前記第２生成部は、
前記複数の点の中から、前記制御対象が前記第１指令位置に位置するときに前記所定処理の対象となる前記対象物の表面上の処理対象点を挟む２つの点を選択し、
選択された前記２つの点の前記直交軸上の位置を用いた補間計算により、前記処理対象点から前記直交軸に下した垂線の足の前記直交軸上の位置を求め、
前記処理対象点の前記直交軸上の位置に基づいて、前記第２指令位置を生成する、請求項１に記載の制御装置。
【請求項３】
前記第１ドライブ装置は、前記平面上の第１軸に沿って前記制御対象を前記対象物に対して相対移動させ、
前記第１指令位置は、前記第１軸上の位置を示し、
前記第１動特性モデルは、前記第１操作量と前記制御対象の前記第１軸上の位置との関係を示し、
前記形状データは、前記第１軸を前記対象物の表面に投影した線上の複数の点の各々について、当該点から前記直交軸に下した垂線の足の前記直交軸上の位置を示し、
前記第２生成部は、
前記複数の点の中から、前記制御対象が前記第１指令位置に位置するときに前記所定処理の対象となる前記対象物の表面上の処理対象点に最も近い点を選択し、
選択された点の前記直交軸上の位置に基づいて、前記第２指令位置を生成する、請求項１に記載の制御装置。
【請求項４】
前記第１ドライブ装置は、前記平面上の第１軸に沿って前記制御対象を前記対象物に対して相対移動させ、
前記第１指令位置は、前記第１軸上の位置を示し、
前記第１動特性モデルは、前記第１操作量と前記制御対象の前記第１軸上の位置との関係を示し、
前記複数のドライブ装置は、前記第１軸と異なる前記平面上の第２軸に沿って前記制御対象を前記対象物に対して相対移動させるための第３ドライブ装置をさらに含み、
前記制御装置は、
前記目標軌道に基づいて、各制御周期における前記制御対象の前記第２軸上の第３指令位置を生成する第３生成部と、
前記第３ドライブ装置に出力する第３操作量と前記制御対象の前記第２軸上の位置との関係を示す第３動特性モデルと前記第３指令位置とを用いたモデル予測制御により、前記第３操作量を生成する第３制御部とをさらに備え、
前記第２生成部は、前記形状データおよび前記第１指令位置に加えて前記第３指令位置に基づいて前記第２指令位置を生成する、請求項１に記載の制御装置。
【請求項５】
前記形状データは、前記対象物の表面上の複数の点の各々について、当該点から前記直交軸に下した垂線の足の前記直交軸上の位置を示し、
前記第２生成部は、
前記複数の点の中から、前記制御対象が前記第１指令位置および前記第３指令位置に位置するときに前記所定処理の対象となる前記対象物の表面上の処理対象点の周囲に位置する少なくとも３つの点を選択し、
選択された前記少なくとも３つの点の前記直交軸上の位置を用いた補間計算により、前記処理対象点から前記直交軸に下した垂線の足の前記直交軸上の位置を求め、
前記処理対象点の前記直交軸上の位置に基づいて、前記第２指令位置を生成する、請求項４に記載の制御装置。
【請求項６】
対象物と当該対象物の表面に対して所定処理を実行する制御対象との相対位置関係を変更するための複数のドライブ装置に接続され、制御周期毎に前記複数のドライブ装置に操作量を出力する制御装置を実現するための制御プログラムであって、
前記複数のドライブ装置は、前記対象物の表面に対向する平面に沿って前記制御対象を前記対象物に対して相対移動させるための第１ドライブ装置と、前記平面に直交する直交軸に沿って前記制御対象を前記対象物に対して相対移動させるための第２ドライブ装置とを含み、
前記制御プログラムは、コンピュータに、
目標軌道に基づいて、各制御周期における前記制御対象の前記平面上の第１指令位置を生成するステップと、
前記第１ドライブ装置に出力する第１操作量と前記制御対象の前記平面上の位置との関係を示す第１動特性モデルと前記第１指令位置とを用いたモデル予測制御により、前記第１操作量を生成するステップと、
各制御周期における前記制御対象の前記直交軸上の第２指令位置を生成するステップと、
前記第２ドライブ装置に出力する第２操作量と前記制御対象の前記直交軸上の位置との関係を示す第２動特性モデルと前記第２指令位置とを用いたモデル予測制御により、前記第２操作量を生成するステップとを備え、
前記第２指令位置を生成するステップは、前記対象物の表面形状を示す形状データと前記第１指令位置とに基づいて、前記制御対象と前記対象物の表面との距離が一定になるように前記第２指令位置を生成するステップを含む、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、制御装置および制御プログラムに関する。
【背景技術】
【０００２】
特開２００４−２９８６９７号公報（特許文献１）は、基板の表面にうねりがある場合であっても、塗布液吐出用ダイヘッドを基板に十分に近接させて、基板上に均一な塗布膜を形成する塗布方法を開示している。当該塗布方法は、塗布前における基板の表面の形状を測定する工程と、形状の測定結果に基づいて、塗布液吐出用ダイヘッドと基板との間隔を調節して塗布液吐出用ダイヘッドを基板の表面の形状に追従させて移動させる工程とを有する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２９８６９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、塗布液吐出用ダイヘッドを基板に平行な方向に移動させながら、基板の表面の形状に追従させて塗布液吐出用ダイヘッドを上下移動させている。そのため、塗布液吐出用ダイヘッドを基板に平行な方向に移動させる機構と塗布液吐出用ダイヘッドを上下移動させる機構とが互いに連係するように制御される。
【０００５】
このような２つの機構を互いに連係させて動作させる場合、当該２つの機構間の制御応答遅れの差異が問題となる。しかしながら、特許文献１では、２つの機構間の制御応答遅れの差異について考慮されていない。２つの機構間で制御応答遅れに差異がある場合、制御対象となるダイヘッドを対象物となる基板の表面の形状に精度良く追従させることができなくなる。特に、対象物の表面のうねりの勾配が大きい場合、あるいは、制御対象の移動速度が速い場合に、制御対象を対象物の表面の形状に精度良く追従させることができなくなる。
【０００６】
本発明は、上記の問題に鑑みてなされたものであり、その目的は、制御対象を対象物の表面の形状に精度良く追従させることができる制御装置および制御プログラムを提供することである。
【課題を解決するための手段】
【０００７】
本開示の一例によれば、制御装置は、対象物と当該対象物の表面に対して所定処理を実行する制御対象との相対位置関係を変更するための複数のドライブ装置に接続され、制御周期毎に複数のドライブ装置に操作量を出力する。複数のドライブ装置は、対象物の表面に対向する平面に沿って制御対象を対象物に対して相対移動させるための第１ドライブ装置と、平面に直交する直交軸に沿って制御対象を対象物に対して相対移動させるための第２ドライブ装置とを含む。制御装置は、第１生成部と、第１制御部と、第２生成部と、第２制御部とを備える。第１生成部は、目標軌道に基づいて、各制御周期における制御対象の平面上の第１指令位置を生成する。第１制御部は、第１ドライブ装置に出力する第１操作量と制御対象の平面上の位置との関係を示す第１動特性モデルと第１指令位置とを用いたモデル予測制御により、第１操作量を生成する。第２生成部は、各制御周期における制御対象の直交軸上の第２指令位置を生成する。第２制御部は、第２ドライブ装置に出力する第２操作量と制御対象の直交軸上の位置との関係を示す第２動特性モデルと第２指令位置とを用いたモデル予測制御により、第２操作量を生成する。第２生成部は、対象物の表面形状を示す形状データと第１指令位置とに基づいて、制御対象と対象物の表面との距離が一定になるように第２指令位置を生成する。
【０００８】
この開示によれば、モデル予測制御によって生成された操作量に従って制御対象が移動される。このとき、形状データと第１指令位置とに基づいて、各制御周期における上記の直交軸上の第２指令位置が生成される。その結果、制御対象をワークＷの表面の形状に精度良く追従させることができる。
【０００９】
上述の開示において、第１ドライブ装置は、平面上の第１軸に沿って制御対象を対象物に対して相対移動させる。第１指令位置は、第１軸上の位置を示す。第１動特性モデルは、第１操作量と制御対象の第１軸上の位置との関係を示す。形状データは、第１軸を対象物の表面に投影した線上の複数の点の各々について、当該点から直交軸に下した垂線の足の直交軸上の位置を示す。第２生成部は、複数の点の中から、制御対象が第１指令位置に位置するときに所定処理の対象となる対象物の表面上の処理対象点を挟む２つの点を選択する。第２生成部は、選択された２つの点の直交軸上の位置を用いた補間計算により、処理対象点から直交軸に下した垂線の足の直交軸上の位置を求め、処理対象点の直交軸上の位置に基づいて、第２指令位置を生成する。
【００１０】
この開示によれば、処理対象点のデータが形状データに含まれない場合であっても、補間計算により、当該処理対象点から上記の直交軸に下した垂線の足の直交軸上の位置を求めることができる。そして、当該直交軸上の位置に基づいて、第２指令位置が生成される。このように、対象物の表面形状に応じて第１指令位置に対応する第２指令位置を容易に生成することができる。
【００１１】
上述の開示において、第１ドライブ装置は、平面上の第１軸に沿って制御対象を対象物に対して相対移動させる。第１指令位置は、第１軸上の位置を示す。第１動特性モデルは、第１操作量と制御対象の第１軸上の位置との関係を示す。形状データは、第１軸を対象物の表面に投影した線上の複数の点の各々について、当該点から直交軸に下した垂線の足の直交軸上の位置を示す。第２生成部は、複数の点の中から、制御対象が第１指令位置に位置するときに所定処理の対象となる対象物の表面上の処理対象点に最も近い点を選択し、選択された点の直交軸上の位置に基づいて、第２指令位置を生成する。
【００１２】
この開示によれば、形状データから、処理対象点に最も近い点のデータを読み出すことにより、容易に第２指令位置が生成される。その結果、第２指令位置を生成する演算負荷を抑制できる。
【００１３】
上述の開示において、第１ドライブ装置は、平面上の第１軸に沿って制御対象を対象物に対して相対移動させる。第１指令位置は、第１軸上の位置を示す。第１動特性モデルは、第１操作量と制御対象の第１軸上の位置との関係を示す。複数のドライブ装置は、第１軸と異なる平面上の第２軸に沿って制御対象を対象物に対して相対移動させるための第３ドライブ装置をさらに含む。制御装置は、目標軌道に基づいて、各制御周期における制御対象の第２軸上の第３指令位置を生成する第３生成部と、第３ドライブ装置に出力する第３操作量と制御対象の第２軸上の位置との関係を示す第３動特性モデルと第３指令位置とを用いたモデル予測制御により、第３操作量を生成する第３制御部とをさらに備える。第２生成部は、形状データおよび第１指令位置に加えて第３指令位置に基づいて第２指令位置を生成する。
【００１４】
この開示によれば、制御対象は、第１指令位置および第３指令位置に従って、対象物の表面に対向する平面上の任意の位置に移動することができる。このとき、形状データと第１指令位置と第３指令位置とに基づいて、各制御周期における上記の直交軸上の第２指令位置が生成される。その結果、制御対象をワークＷの表面の形状に精度良く追従させることができる。
【００１５】
上述の開示において、形状データは、対象物の表面上の複数の点の各々について、当該点から直交軸に下した垂線の足の直交軸上の位置を示す。第２生成部は、複数の点の中から、制御対象が第１指令位置および第３指令位置に位置するときに所定処理の対象となる対象物の表面上の処理対象点の周囲に位置する少なくとも３つの点を選択する。第２生成部は、選択された少なくとも３つの点の直交軸上の位置を用いた補間計算により、処理対象点から直交軸に下した垂線の足の直交軸上の位置を求め、処理対象点の直交軸上の位置に基づいて、第２指令位置を生成する。
【００１６】
この開示によれば、補間計算により、処理対象点から上記の直交軸に下した垂線の足の直交軸上の位置を求めることができる。そして、当該直交軸上の位置に基づいて、第２指令位置が生成される。このように、対象物の表面形状に応じて第１指令位置および第３指令位置に対応する第２指令位置を容易に生成することができる。
【００１７】
本開示の一例によれば、制御プログラムは、対象物と当該対象物の表面に対して所定処理を実行する制御対象との相対位置関係を変更するための複数のドライブ装置に接続され、制御周期毎に複数のドライブ装置に操作量を出力する制御装置を実現するためのプログラムである。複数のドライブ装置は、対象物の表面に対向する平面に沿って制御対象を対象物に対して相対移動させるための第１ドライブ装置と、平面に直交する直交軸に沿って制御対象を対象物に対して相対移動させるための第２ドライブ装置とを含む。制御プログラムは、コンピュータに、第１〜第４のステップを実行させる。第１のステップは、目標軌道に基づいて、各制御周期における制御対象の平面上の第１指令位置を生成するステップである。第２のステップは、第１ドライブ装置に出力する第１操作量と制御対象の平面上の位置との関係を示す第１動特性モデルと第１指令位置とを用いたモデル予測制御により、第１操作量を生成するステップである。第３のステップは、各制御周期における制御対象の直交軸上の第２指令位置を生成するステップである。第４のステップは、第２ドライブ装置に出力する第２操作量と制御対象の直交軸上の位置との関係を示す第２動特性モデルと第２指令位置とを用いたモデル予測制御により、第２操作量を生成するステップである。第３のステップは、対象物の表面形状を示す形状データと第１指令位置とに基づいて、制御対象と対象物の表面との距離が一定になるように第２指令位置を生成するステップを含む。
【００１８】
この開示によっても、制御対象を対象物の表面の形状に精度良く追従させることができる。
【発明の効果】
【００１９】
本発明によれば、制御対象を対象物の表面の形状に精度良く追従させることができる。
【図面の簡単な説明】
【００２０】
【図１】本実施の形態に従う制御装置が適用される制御システムの構成例を示す模式図である。
【図２】図１に示す制御システムに備えられる塗布装置の移動例を示す図である。
【図３】本実施の形態に従う制御装置のハードウェア構成の一例を示す模式図である。
【図４】本実施の形態に係るサーボドライバおよび制御装置の機能構成の一例を示す模式図である。
【図５】ワークＷの表面形状の一例を示す図である。
【図６】ワークＷの表面の形状データの一例を示す図である。
【図７】指令位置ＳＰＸの時間変化の一例を示す図である。
【図８】補間計算により指令位置ＳＰＺを生成する方法を説明する図である。
【図９】指令位置ＳＰＸおよび指令位置ＳＰＺの時系列データの一例を示す図である。
【図１０】指令位置ＳＰＺの時間変化の一例を示す図である。
【図１１】本実施の形態に従う制御装置の処理手順を示すフローチャートである。
【図１２】ステップＳ２において実行されるソースコードを示す図である。
【図１３】図７に示す指令位置ＳＰＸを指令値としてサーボドライバ２００Ｘに与えたときのシミュレーション結果の例を示す図である。
【図１４】図１０に示す指令位置ＳＰＺを指令値としてサーボドライバ２００Ｚに与えたときのシミュレーション結果の例を示す図である。
【図１５】図６に示す指令位置ＳＰＸと第１動特性モデルとを用いたモデル予測制御により生成された操作量ＭＶＸをサーボドライバ２００Ｘに与えたときのシミュレーション結果の例を示す図である。
【図１６】図１０に示す指令位置ＳＰＺと第２動特性モデルとを用いたモデル予測制御により生成された操作量ＭＶＺをサーボドライバ２００Ｚに与えたときのシミュレーション結果の例を示す図である。
【図１７】図７，１１に示す指令位置を指令値としてサーボドライバ２００Ｘ，２００Ｚにそれぞれ与えたときの塗布ヘッドの移動軌跡のうちＸ軸位置５０〜７５ｍｍにおけるシミュレーション結果を示す図である。
【図１８】図７，１１に示す指令位置を指令値としてサーボドライバ２００Ｘ，２００Ｚにそれぞれ与えたときの塗布ヘッドの移動軌跡のうちＸ軸位置５５０〜５７５ｍｍにおけるシミュレーション結果を示す図である。
【図１９】モデル予測制御により生成された操作量ＭＶＸ，ＭＶＺをサーボドライバ２００Ｘ，２００Ｚにそれぞれ与えたときの塗布ヘッドの移動軌跡のうちＸ軸位置５０〜７５ｍｍにおけるシミュレーション結果を示す図である。
【図２０】モデル予測制御により生成された操作量ＭＶＸ，ＭＶＺをサーボドライバ２００Ｘ，２００Ｚにそれぞれ与えたときの塗布ヘッドの移動軌跡のうちＸ軸位置５５０〜５７５ｍｍにおけるシミュレーション結果を示す図である。
【図２１】変形例３に係る制御システムの機能構成の一例を示す模式図である。
【図２２】変形例３における形状データの一例を示す図である。
【図２３】変形例３における指令位置ＳＰＺの生成方法を説明する図である。
【発明を実施するための形態】
【００２１】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２２】
§１  適用例
まず、図１および図２を参照して、本発明が適用される場面の一例について説明する。図１は、本実施の形態に従う制御装置が適用される制御システムの構成例を示す模式図である。図２は、図１に示す制御システム１に備えられる塗布装置３００の移動例を示す図である。
【００２３】
図１に示す例の制御システム１は、対象物（以下、「ワークＷ」と称する。）の表面に対して塗布液を塗布するシステムであり、ワークＷを搬送する搬送装置２と、形状計測センサ３と、塗布装置３００と、複数のサーボドライバ２００と、制御装置１００とを備える。ただし、制御システムは、図１に示す例に限定されず、ワークＷの表面に対して何らかの処理（例えば、レーザ加工、検査用画像の撮像など）を実行するシステムであればよい。ワークＷの表面に対してレーザ加工を行なう場合には、塗布装置３００の代わりにレーザ加工機が備えられ、ワークＷの表面に対して検査用画像の撮像を行なう場合には、塗布装置３００の代わりに撮像装置が備えられる。図１に示す例のワークＷは、基板である。
【００２４】
以下、ワークＷの厚み方向をＺ軸方向とし、Ｚ軸に直交する２つの軸をＸ軸およびＹ軸とする。
【００２５】
搬送装置２は、例えばワークＷが載置される搬送ベルトを有し、搬送ベルトを駆動することにより形状計測センサ３から塗布装置３００の順にワークＷを搬送する。搬送装置２は、ワークＷが形状計測センサ３および塗布装置３００の下方に位置したときに、ワークＷの搬送を一旦停止する。搬送装置２は、形状計測センサ３によるワークＷに対する形状計測および塗布装置３００によるワークＷに対する塗布処理が完了した後に、ワークＷの搬送を再開する。
【００２６】
形状計測センサ３は、ワークＷの表面形状を計測するセンサであり、例えば２次元レーザ変位センサによって構成される。形状計測センサ３は、ワークＷごとに表面形状を計測し、計測によって得られた形状データを制御装置１００に送信する。形状計測センサ３は、例えばワークＷの表面上の複数の点からＺ軸に下した垂線の足のＺ軸上の位置を計測する。ワークＷの表面上の複数の点は、例えばＸ軸をワークＷの表面にＺ軸に沿って投影した線上において等間隔に位置する。
【００２７】
塗布装置３００は、塗布ヘッド３０２を有し、塗布ヘッド３０２からワークＷの表面に塗布液を塗布する。塗布装置３００は、ワークＷの表面に対向するＸＹ平面上のＸ軸に沿って塗布ヘッド３０２を移動させるためのサーボモータ３０４Ｘと、ＸＹ平面に直交するＺ軸に沿って塗布ヘッド３０２を移動させるためのサーボモータ３０４Ｚとを有する。
【００２８】
複数のサーボドライバ２００は、ワークＷと塗布ヘッド３０２との相対位置関係を変更するためのドライブ装置であり、サーボドライバ２００Ｘ，２００Ｚを含む。サーボドライバ２００Ｘ，２００Ｚは、サーボモータ３０４Ｘ，３０４Ｚにそれぞれ対応して設けられ、対応するサーボモータを駆動する。すなわち、サーボドライバ２００Ｘは、サーボモータ３０４Ｘを駆動して、ワークＷの表面に対向するＸＹ平面上のＸ軸に沿って塗布ヘッド３０２を移動させる。これにより、塗布ヘッド３０２は、Ｘ軸方向に沿ってワークＷに対して相対移動する。サーボドライバ２００Ｚは、サーボモータ３０４Ｚを駆動して、ＸＹ平面に直交するＺ軸に沿って塗布ヘッド３０２を移動させる。これにより、塗布ヘッド３０２は、Ｚ軸方向に沿ってワークＷに対して相対移動する。
【００２９】
サーボドライバ２００Ｘ，２００Ｚは、制御装置１００からの指令値（指令位置または指令速度）と、対応するサーボモータからのフィードバック値とに基づいて、対応するサーボモータに対する駆動信号を生成する。サーボドライバ２００Ｘ，２００Ｚは、対応するサーボモータに生成した駆動信号を出力することにより、対応するサーボモータを駆動する。
【００３０】
例えば、サーボドライバ２００Ｘ，２００Ｚは、対応するサーボモータの回転軸に結合されたエンコーダからの出力信号をフィードバック値として受ける。フィードバック値により、サーボモータの位置、回転位相、回転速度、累積回転数などを検出できる。
【００３１】
制御装置１００は、複数のサーボドライバ２００に接続され、複数のサーボドライバ２００を制御する。具体的には、制御装置１００は、サーボドライバ２００Ｘ，２００Ｚに操作量ＭＶＸ，ＭＶＺをそれぞれ出力して、塗布ヘッド３０２を移動させる移動制御を行なう。制御装置１００とサーボドライバ２００Ｘ，２００Ｚとの間では、操作量を含むデータの遣り取りが可能になっている。
【００３２】
図１には、制御装置１００とサーボドライバ２００Ｘ，２００Ｚとがフィールドバスを介して通信接続されている構成例を示す。但し、このような構成例に限らず、以下に説明するようなアルゴリズムが実現されるものであれば、任意の通信形態を採用することができる。例えば、制御装置１００とサーボドライバ２００Ｘ，２００Ｘとの間を直接信号線で接続するようにしてもよい。
【００３３】
制御装置１００は、制御周期毎に、モデル予測制御によってサーボドライバ２００Ｘ，２００Ｚにそれぞれ出力する操作量ＭＶＸ，ＭＶＺを生成する。制御装置１００は、生成した操作量ＭＶＸ，ＭＶＺを指令値（指定位置または指令速度）としてサーボドライバ２００Ｘ，２００Ｚにそれぞれ出力する。
【００３４】
制御装置１００は、目標軌道に基づいて、各制御周期における塗布ヘッド３０２のＸ軸上の第１指令位置を生成する。制御装置１００は、操作量ＭＶＸと塗布ヘッド３０２のＸ軸上の位置との関係を示す第１動特性モデルと第１指令位置とを用いたモデル予測制御により、サーボドライバ２００Ｘに出力する操作量ＭＶＸを生成する。
【００３５】
制御装置１００は、各制御周期における塗布ヘッド３０２のＺ軸上の第２指令位置を生成する。制御装置１００は、操作量ＭＶＺと塗布ヘッド３０２のＺ軸上の位置との関係を示す第２動特性モデルと第２指令位置とを用いたモデル予測制御により、サーボドライバ２００Ｚに出力する操作量ＭＶＺを生成する。
【００３６】
制御装置１００は、形状計測センサ３によって計測された形状データと第１指令位置とに基づいて、塗布ヘッド３０２とワークＷの表面との距離が一定になるように第２指令位置を生成する。
【００３７】
このように、制御装置１００は、モデル予測制御により塗布ヘッド３０２の移動制御を行なう。このとき、形状データに基づいて各制御周期におけるＺ軸上の第２指令位置が生成される。その結果、図２に示されるように、塗布ヘッド３０２をワークＷの表面の形状に精度良く追従させることができる。
【００３８】
§２  具体例
次に、本実施の形態に係る制御装置１００の具体例について説明する。
【００３９】
＜Ａ．制御装置のハードウェア構成例＞
本実施の形態に従う制御装置１００は、一例として、ＰＬＣ（プログラマブルコントローラ）を用いて実装されてもよい。制御装置１００は、予め格納された制御プログラム（後述するような、システムプログラムおよびユーザプログラムを含む）をプロセッサが実行することで、後述するような処理が実現されてもよい。
【００４０】
図３は、本実施の形態に従う制御装置１００のハードウェア構成の一例を示す模式図である。図３に示されるように、制御装置１００は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などのプロセッサ１０２と、チップセット１０４と、メインメモリ１０６と、フラッシュメモリ１０８と、外部ネットワークコントローラ１１６と、メモリカードインターフェイス１１８と、フィールドバスコントローラ１２２，１２４と、外部ネットワークコントローラ１１６と、メモリカードインターフェイス１１８とを含む。
【００４１】
プロセッサ１０２は、フラッシュメモリ１０８に格納されたシステムプログラム１１０およびユーザプログラム１１２を読み出して、メインメモリ１０６に展開して実行することで、制御対象に対する任意の制御を実現する。プロセッサ１０２がシステムプログラム１１０およびユーザプログラム１１２を実行することで、後述するような、サーボドライバ２００への操作量の出力、フィールドバスを介したデータ通信に係る処理などを実行する。
【００４２】
システムプログラム１１０は、データの入出力処理や実行タイミング制御などの、制御装置１００の基本的な機能を提供するための命令コードを含む。ユーザプログラム１１２は、制御対象に応じて任意に設計され、シーケンス制御を実行するためのシーケンスプログラム１１２Ａおよびモーション制御を実行するためのモーションプログラム１１２Ｂを含む。ユーザプログラム１１２において、ファンクションブロックが定義されることで、本実施の形態に従う処理および機能が実現される。ファンクションブロックは、制御装置１００で実行されるプログラムのコンポーネントであり、複数回使用するプログラムエレメントをモジュール化したものを意味する。
【００４３】
チップセット１０４は、各コンポーネントを制御することで、制御装置１００全体としての処理を実現する。
【００４４】
フィールドバスコントローラ１２２は、制御装置１００とフィールドバスを通じて連結される各種デバイスとデータを遣り取りするインターフェイスである。このようなデバイスの一例として、形状計測センサ３が接続されている。フィールドバスコントローラ１２２によって形状計測センサ３から受けた形状データは、フラッシュメモリ１０８等の記憶装置に格納される。
【００４５】
フィールドバスコントローラ１２４は、制御装置１００とフィールドバスを通じて連結される各種デバイスとデータを遣り取りするインターフェイスである。このようなデバイスの一例として、サーボドライバ２００が接続されている。
【００４６】
フィールドバスコントローラ１２２，１２４は、接続されているデバイスに対して任意の指令を与えることができるとともに、デバイスが管理している任意のデータ（計測値を含む）を取得することができる。また、フィールドバスコントローラ１２２は、形状計測センサ３との間でデータを遣り取りするためのインターフェイスとしても機能する。フィールドバスコントローラ１２４は、サーボドライバ２００との間でデータを遣り取りするためのインターフェイスとしても機能する。
【００４７】
外部ネットワークコントローラ１１６は、各種の有線／無線ネットワークを通じたデータの遣り取りを制御する。メモリカードインターフェイス１１８は、メモリカード１２０を着脱可能に構成されており、メモリカード１２０に対してデータを書込み、メモリカード１２０からデータを読出すことが可能になっている。
【００４８】
＜Ｂ．サーボドライバ＞
図４は、本実施の形態に係るサーボドライバおよび制御装置の機能構成の一例を示す模式図である。図４に示されるように、サーボドライバ２００Ｘ，２００Ｚは、減算器２１０Ｘ，２１０Ｚとフィードバック制御部２１２Ｘ，２１２Ｚとをそれぞれ含む。
【００４９】
減算器２１０Ｘは、制御装置１００からの操作量ＭＶＸを指令値（指令位置または指令速度）として受けるとともに、サーボモータ３０４Ｘに結合されたエンコーダからの出力信号をフィードバック値として受ける。同様に、減算器２１０Ｚは、制御装置１００からの操作量ＭＶＺを指令値（指令位置または指令速度）として受けるとともに、サーボモータ３０４Ｚに結合されたエンコーダからの出力信号をフィードバック値として受ける。減算器２１０Ｘ、２１０Ｚは、受けた指令値とフィードバック値との偏差を演算する。
【００５０】
フィードバック制御部２１２Ｘ，２１２Ｚは、減算器２１０Ｘ，２１０Ｚから出力される偏差に応じた制御演算をそれぞれ実行する。フィードバック制御部２１２Ｘ，２１２Ｚは、制御装置１００から受ける操作量が指令位置である場合、位置制御ループおよび速度制御ループに従う制御演算を実行する。フィードバック制御部２１２Ｘ，２１２Ｚは、制御装置１００から受ける操作量が指令速度である場合、速度制御ループに従う制御演算を実行する。
【００５１】
位置制御ループに従う制御演算では、フィードバック値により得られるサーボモータの計測位置と制御装置１００から与えられる指令位置との位置偏差に応じた指令速度が演算される。
【００５２】
速度制御ループに従う制御演算では、指令速度とフィードバック値から得られるサーボモータの計測速度との速度偏差に応じたトルク値が演算される。フィードバック制御部２１２Ｘ，２１２Ｚは、演算されたトルク値のトルクを発生させるための電流指令をサーボモータに出力する。
【００５３】
＜Ｃ．制御装置の機能構成例＞
図４に示されるように、制御装置１００は、記憶部１３０と、Ｘ軸指令生成モジュール１４０と、Ｚ軸指令生成モジュール１５０と、モデル予測制御モジュール１４２，１５２とを備える。図中においては、モデル予測制御を「ＭＰＣ（Model Predictive Control）」と記す。
【００５４】
記憶部１３０は、図３に示すフラッシュメモリ１０８およびメインメモリ１０６によって構成され、形状計測センサ３から受けたワークＷごとの形状データ１３２を記憶する。
【００５５】
Ｘ軸指令生成モジュール１４０は、予め作成された目標軌道に従って、各制御周期における塗布ヘッド３０２のＸ軸上の第１指令位置（以下、「指令位置ＳＰＸ」と称する。）を生成する。Ｘ軸指令生成モジュール１４０は、生成した指令位置ＳＰＸをモデル予測制御モジュール１４２およびＺ軸指令生成モジュール１５０に出力する。
【００５６】
Ｘ軸指令生成モジュール１４０は、目標軌道から指令位置ＳＰＸの時系列データを生成し、各制御周期の指令位置ＳＰＸを当該時系列データから読出す。もしくは、制御装置１００は、目標軌道を規定する指令位置ＳＰＸの時系列データを予め記憶しておいてもよい。この場合には、Ｘ軸指令生成モジュール１４０は、予め記憶された指令位置ＳＰＸの時系列データにアクセスすればよい。このように、制御周期毎の指令位置ＳＰＸは、目標軌道から予め定められた計算式に従って逐次演算されてもよいし、時系列データの形で予め格納されていてもよい。
【００５７】
Ｚ軸指令生成モジュール１５０は、形状データ１３２と指令位置ＳＰＸとに基づいて、塗布ヘッド３０２とワークＷの表面との距離が一定になるように、各制御周期における塗布ヘッド３０２のＺ軸上の第２指令位置（以下、「指令位置ＳＰＺ」と称する。）を生成する。指令位置ＳＰＺの具体的な生成方法について後述する。
【００５８】
モデル予測制御モジュール１４２は、操作量ＭＶＸと塗布ヘッド３０２のＸ軸上の位置との関係を示す第１動特性モデルと指令位置ＳＰＸとを用いたモデル予測制御により、サーボドライバ２００Ｘに出力する操作量ＭＶＸを生成する。モデル予測制御モジュール１４２は、塗布ヘッド３０２のＸ軸上の位置が指令位置ＳＰＸに一致するように操作量ＭＶＸを生成する。
【００５９】
モデル予測制御モジュール１５２は、操作量ＭＶＺと塗布ヘッド３０２のＺ軸上の位置との関係を示す第２動特性モデルと指令位置ＳＰＺとを用いたモデル予測制御により、塗布ヘッド３０２のＺ軸上の位置が指令位置ＳＰＺに一致するようにサーボドライバ２００Ｚに出力する操作量ＭＶＺを生成する。
【００６０】
第１動特性モデルおよび第２動特性モデルは、事前のチューニングにより作成される。チューニングにおいて得られた入力値（操作量）と出力値（塗布ヘッド３０２の計測位置）とに基づいて動特性モデルが作成される。
【００６１】
第１動特性モデルおよび第２動特性モデルは、例えば以下の関数Ｐ（ｚ−１）で示される。関数Ｐ（ｚ−１）は、むだ時間要素と、ｎ次遅れ要素とを組み合わせた離散時間伝達関数である。関数Ｐ（ｚ−１）で示される動特性モデルにおいては、むだ時間要素のむだ時間ｄならびにｎ次遅れ要素の変数ａ１〜ａｎおよび変数ｂ１〜ｂｍがモデルパラメータとして決定される。むだ時間とは、入力値が与えられてから、それに応じた出力が現れるまでの時間（つまり、入力から出力までの遅れ時間）である。なお、次数ｎおよび次数ｍについても最適な値が決定されてもよい。
【００６２】
【数１】
2020154743.tif 000003
【００６３】
このようなモデルパラメータの作成処理（すなわち、システム同定）は、最小二乗法などにより実行されてもよい。
【００６４】
具体的には、ｙ＝Ｐ（ｚ−１）*ｕの変数ｕに操作量ＭＶＸを与えたときの出力ｙが、塗布ヘッド３０２のＸ軸上の計測位置と一致するように（すなわち、誤差が最小になるように）、第１動特性モデルを規定するモデルパラメータの各々の値が決定される。同様に、ｙ＝Ｐ（ｚ−１）*ｕの変数ｕに操作量ＭＶＺを与えたときの出力ｙが、塗布ヘッド３０２のＺ軸上の計測位置と一致するように（すなわち、誤差が最小になるように）、第２動特性モデルを規定するモデルパラメータの各々の値が決定される。
【００６５】
なお、塗布ヘッド３０２の振動が無視できる程度に小さい場合、塗布ヘッド３０２のＸ軸上の位置とサーボモータ３０４Ｘの位置とは一対一の関係にある。そのため、操作量ＭＶＸとサーボモータ３０４Ｘの位置との関係を示す動特性モデルを第１動特性モデルとして用いてもよい。同様に、塗布ヘッド３０２の振動が無視できる程度に小さい場合、塗布ヘッド３０２のＺ軸上の位置とサーボモータ３０４Ｚの位置とは一対一の関係にある。そのため、操作量ＭＶＺとサーボモータ３０４Ｚの位置との関係を示す動特性モデルを第２動特性モデルとして用いてもよい。
【００６６】
モデル予測制御は、予測ホライズンにおける制御対象（ここでは塗布ヘッド３０２）の位置が目標軌道に一致するように操作量を生成する制御である。例えば、予測ホライズンにおける制御対象の位置を目標軌道に一致させるために必要な制御対象の制御量の変化量が決定され、当該変化量を動特性モデルの出力に発生させるための操作量が演算される。モデル予測制御として公知の手法が採用され得る。
【００６７】
＜Ｄ．指令位置ＳＰＺの生成の具体例＞
図５〜図１０を参照して、指令位置ＳＰＺの生成の具体例について説明する。図５は、ワークＷの表面形状の一例を示す図である。図６は、ワークＷの表面の形状データの一例を示す図である。図７は、指令位置ＳＰＸの時間変化の一例を示す図である。図８は、補間計算により指令位置ＳＰＺを生成する方法を説明する図である。図９は、指令位置ＳＰＸおよび指令位置ＳＰＺの時系列データの一例を示す図である。図１０は、指令位置ＳＰＺの時間変化の一例を示す図である。
【００６８】
図５には、Ｘ軸方向の長さが１０００ｍｍであるワークＷの表面形状が示される。図５に示されるように、ワークＷの表面は、Ｘ軸方向に沿って波状に起伏している。
【００６９】
図６には、図５に示すワークＷの表面形状を形状計測センサ３が計測することにより得られた形状データ１３２の一例が示される。図６に示されるように、形状データ１３２は、Ｘ軸をワークＷの表面上に投影した線上の複数の点の各々のデータ要素１３４を含む。複数の点は、Ｘ軸方向に沿って等間隔（１ｍｍ）である。データ要素１３４は、対応するワークＷの表面上の点からＸ軸へ下した垂線の足のＸ軸上の位置（以下、「Ｘ軸位置」と称する。）と、当該点からＺ軸へ下した垂線の足のＺ軸上の位置（以下、「Ｚ軸位置」と称する。）とを示す。なお、Ｘ軸位置は、Ｘ軸をワークＷの表面上に投影した線の一端からＸ軸に下した垂線の足を基準として示される。Ｚ軸位置は、搬送装置２の搬送ベルトの上面からＺ軸に沿って所定距離だけ離れた位置を基準として示される。
【００７０】
Ｘ軸指令生成モジュール１４０は、図７に示されるように、例えば５次軌道である目標軌道から、制御周期毎の指令位置ＳＰＸの時系列データを生成する。
【００７１】
Ｚ軸指令生成モジュール１５０は、図６に示される形状データ１３２に基づいて、制御周期毎の指令位置ＳＰＸに対応する指令位置ＳＰＺを生成する。以下、ｉ番目の制御周期の指令位置ＳＰＸを指令位置ＳＰＸ（ｉ）とし、ｉ番目の制御周期の指令位置ＳＰＺを指令位置ＳＰＺ（ｉ）とする。
【００７２】
Ｚ軸指令生成モジュール１５０は、形状データ１３２の中から、塗布ヘッド３０２が指令位置ＳＰＸ（ｉ）に位置するときに塗布処理の対象となるワークＷの表面上の処理対象点を挟む２つの点にそれぞれ対応する第１データ要素および第２データ要素を選択する。本実施の形態では、サーボドライバ２００Ｘは、塗布ヘッド３０２の塗布液噴出口が指令位置に位置するようにサーボモータ３０４Ｘを制御するものとする。さらに、塗布液噴出口からＺ軸方向に塗布液が噴出されるものとする。この場合、指令位置ＳＰＸ（ｉ）のワークＷの表面への投影点が、塗布ヘッド３０２が指令位置ＳＰＸ（ｉ）に位置するときの処理対象点となる。そのため、図８に示されるように、Ｚ軸指令生成モジュール１５０は、形状データ１３２の中から、指令位置ＳＰＸ（ｉ）と同じ位置または指令位置ＳＰＸ（ｉ）よりも一方側（例えば負側）にあり、かつ、指令位置ＳＰＸ（ｉ）に最も近いＸ軸位置を示す第１データ要素を選択する。さらに、Ｚ軸指令生成モジュール１５０は、形状データ１３２の中から、指令位置ＳＰＸよりも一方側（例えば正側）にあり、かつ、指令位置ＳＰＸ（ｉ）に最も近いＸ軸位置を示す第２データ要素を選択する。
【００７３】
なお、指令位置ＳＰＸと塗布ヘッド３０２の塗布液噴出口の位置との関係や塗布方向に応じて、指令位置ＳＰＸ（ｉ）のワークＷの表面への投影点と塗布ヘッド３０２が指令位置ＳＰＸ（ｉ）に位置するときの処理対象点とが一致しない場合があり得る。このような場合には、投影点と処理対象点との差分を考慮して、形状データ１３２の中から、処理対象点を挟む２つの点にそれぞれ対応する第１データ要素および第２データ要素が選択される。
【００７４】
Ｚ軸指令生成モジュール１５０は、選択した第１データ要素および第２データ要素を用いた補間計算により、例えば以下の［数２］に従って、指令位置ＳＰＸ（ｉ）のワークＷの表面への投影点からＺ軸に下した垂線の足のＺ軸上の位置Ｚ（ｉ）を求める。
【００７５】
【数２】
2020154743.tif 000004
【００７６】
［数２］において、ＷＸ（ｊ）は、第１データ要素で示されるＸ軸位置を示す。ＷＺ（ｊ）は、第１データ要素で示されるＺ軸位置を示す。ＷＸ（ｊ＋１）は、第２データ要素で示されるＸ軸位置を示す。ＷＺ（ｊ＋１）は、第２データ要素で示されるＺ軸位置を示す（図８参照）。
【００７７】
Ｚ軸指令生成モジュール１５０は、上記のようにして求めた、処理対象点（指令位置ＳＰＸ（ｉ）のワークＷの表面への投影点）からＺ軸に下した垂線の足のＺ軸上の位置Ｚ（ｉ）に基づいて指令位置ＳＰＺ（ｉ）を生成する。具体的には、Ｚ軸指令生成モジュール１５０は、位置Ｚ（ｉ）から一定距離だけＺ軸方向に離れた位置を指令位置ＳＰＺ（ｉ）として生成すればよい。当該一定距離は、ワークＷの表面と塗布ヘッド３０２との間のＺ軸方向の所望のクリアランスに応じて設定される。なお、以下では、説明を簡略化するために、所望のクリアランスを０とした場合（すなわち、位置Ｚ（ｉ）を指令位置ＳＰＺ（ｉ）とする場合）について説明する。
【００７８】
図９には、上記のような演算によって生成された制御周期（１ｍｓ）毎の指令位置ＳＰＺの時系列データが示される。図６および図９に示す例では、例えばデータＮｏ．５０１の制御周期について、以下のようにして指令位置ＳＰＺが生成される。Ｚ軸指令生成モジュール１５０は、指令位置ＳＰＸよりも負側にあり、かつ、指令位置ＳＰＸに最も近いＸ軸位置を示すデータ要素１３４ａ（図６参照）を第１データ要素として選択する。さらに、Ｚ軸指令生成モジュール１５０は、指令位置ＳＰＸよりも正側にあり、かつ、指令位置ＳＰＸに最も近いＸ軸位置を示すデータ要素１３４ｂ（図６参照）を第２データ要素として選択する。Ｚ軸指令生成モジュール１５０は、選択したデータ要素１３４ａ、１３４ｂを用いた補間計算により、上記の［数２］に従って、指令位置ＳＰＺを生成する。
【００７９】
図１０には、図９に示す指令位置ＳＰＺの時系列データをグラフ化した図が示される。塗布ヘッド３０２を図７に示す指令位置ＳＰＸに従ってＸ軸方向に移動させるとともに、図１０に示す指令位置ＳＰＺに従ってＺ軸方向に移動させることにより、塗布ヘッド３０２は、ワークＷの表面形状に追従して移動できる。
【００８０】
＜Ｅ．処理手順＞
次に、本実施の形態に従う制御装置１００による処理手順の概要について説明する。図１１は、本実施の形態に従う制御装置の処理手順を示すフローチャートである。図１１に示すステップは、制御装置１００のプロセッサ１０２が制御プログラム（図２に示すシステムプログラム１１０およびユーザプログラム１１２を含む）を実行することで実現されてもよい。
【００８１】
まず、制御装置１００は、予め定められた目標軌道に従って、制御周期毎の指令位置ＳＰＸを生成する（ステップＳ１）。
【００８２】
次に、制御装置１００は、形状データ１３２と制御周期毎の指令位置ＳＰＸとに基づいて、制御周期毎の指令位置ＳＰＺを計算する（ステップＳ２）。
【００８３】
その後、制御装置１００は、制御を開始するか否かを判断する（ステップＳ３）。例えば、制御装置１００は、サーボドライバ２００Ｘ，２００Ｚ、塗布装置３００および他の機器の状態を確認し、各機器から準備完了の通知を受けたことにより、移動制御を開始すると判断すればよい。制御を開始しないと判断した場合（ステップＳ３でＮＯ）、制御装置１００の処理はステップＳ３に戻される。
【００８４】
制御を開始すると判断した場合（ステップＳ３でＹＥＳ）、制御装置１００は、ステップＳ４において、第１動特性モデルと指令位置ＳＰＸとを用いたモデル予測制御を行ない、サーボドライバ２００Ｘに出力する操作量ＭＶＸを計算する。さらに、制御装置１００は、ステップＳ４において、第２動特性モデルと指令位置ＳＰＺとを用いたモデル予測制御を行ない、サーボドライバ２００Ｚに出力する操作量ＭＶＺを計算する。
【００８５】
次に、制御装置１００は、制御を終了すべきか否かを判断する（ステップＳ５）。制御装置１００は、塗布ヘッド３０２の位置が目標軌道の終点に到達した場合に、制御を終了すると判断すればよい。制御を終了しないと判断した場合（ステップＳ５においてＮＯ）、制御装置１００の処理は、ステップＳ４に戻される。これにより、ステップＳ４が制御周期毎に繰り返される。
【００８６】
制御を終了すると判断した場合（ステップＳ５においてＹＥＳ）、制御装置１００の処理は終了する。
【００８７】
図１２は、ステップＳ２において実行されるソースコードを示す図である。図１１において、ｊは、形状データ１３２におけるデータ要素１３４のデータ番号を示し、０〜ＤＮＷの整数を取り得る。ＤＮＷは、形状データ１３２におけるデータ要素１３４の番号の最大値を示す。ｊｓは、ＦＯＲ文におけるｊの開始番号を示す。ｉは、制御周期の番号を示し、０〜ＤＮＣの整数を取り得る。ＤＮＣは、目標軌道から生成される指令位置ＳＰＸの時系列データにおけるデータ番号の最大値を示す。Ｘ（ｉ）は、ｉ番目の制御周期における指令位置ＳＰＸを示す。Ｚ（ｉ）は、指令位置ＳＰＸのワークＷの表面への投影点（処理対象点）からＺ軸に下した垂線の足のＺ軸上の位置を示し、ｉ番目の制御周期における指令位置ＳＰＺとして使用される。
【００８８】
図１２には、塗布ヘッド３０２をＸ軸に沿って一方向に移動させる場合のソースコードが示される。そのため、ｉ番目の制御周期における指令位置ＳＰＺ（ｉ）を計算する際には、形状データ１３２に含まれる複数のデータ要素１３４のうち、（ｉ−１）番目の制御周期における指令位置ＳＰＺ（ｉ−１）を計算する際に用いたデータ要素より前のデータ要素は使用されない。従って、（ｉ−１）番目の制御周期における指令位置ＳＰＺ（ｉ−１）を計算する際に用いたデータ要素以降のデータ要素の中から第１データ要素および第２データ要素が選択される。これにより、全てのデータ要素の中から第１データ要素および第２データ要素を選択する場合に比べて、演算負荷が軽減される。
【００８９】
＜Ｆ．シミュレーション結果＞
本実施の形態に係る制御装置１００の効果を検証するためにシミュレーションを行なった。
【００９０】
図１３は、図７に示す指令位置ＳＰＸを指令値としてサーボドライバ２００Ｘに与えたときのシミュレーション結果の例を示す図である。図１４は、図１０に示す指令位置ＳＰＺを指令値としてサーボドライバ２００Ｚに与えたときのシミュレーション結果の例を示す図である。図１５は、図７に示す指令位置ＳＰＸと第１動特性モデルとを用いたモデル予測制御により生成された操作量ＭＶＸ（ここでは、速度指令を示す）をサーボドライバ２００Ｘに与えたときのシミュレーション結果の例を示す図である。図１６は、図１０に示す指令位置ＳＰＺと第２動特性モデルとを用いたモデル予測制御により生成された操作量ＭＶＺ（ここでは、速度指令を示す）をサーボドライバ２００Ｚに与えたときのシミュレーション結果の例を示す図である。図１３〜図１６には、ワークＷの表面が図５に示す形状を有し、制御周期を１ｍｓとしたときのシミュレーション結果が示される。また、図１５および図１６には、予測ホライズンを６ｍｓとしたときのシミュレーション結果が示される。
【００９１】
図１３〜図１６には、指令位置と塗布ヘッド３０２の実位置との偏差が示される。図１３および図１４に示されるように、モデル予測制御を行なわずに指令位置を指令値として直接サーボドライバに与えた場合には、移動速度が大きい場合に位置偏差が大きくなる。これに対し、図１５および図１６に示されるように、モデル予測制御を行なうことにより、位置偏差が略０になることが確認された。
【００９２】
図１７は、図７，１１に示す指令位置を指令値としてサーボドライバ２００Ｘ，２００Ｚにそれぞれ与えたときの塗布ヘッドの移動軌跡のうちＸ軸位置５０〜７５ｍｍにおけるシミュレーション結果を示す図である。図１８は、図７，１１に示す指令位置を指令値としてサーボドライバ２００Ｘ，２００Ｚにそれぞれ与えたときの塗布ヘッドの移動軌跡のうちＸ軸位置５５０〜５７５ｍｍにおけるシミュレーション結果を示す図である。図１９は、モデル予測制御により生成された操作量ＭＶＸ，ＭＶＺをサーボドライバ２００Ｘ，２００Ｚにそれぞれ与えたときの塗布ヘッドの移動軌跡のうちＸ軸位置５０〜７５ｍｍにおけるシミュレーション結果を示す図である。図２０は、モデル予測制御により生成された操作量ＭＶＸ，ＭＶＺをサーボドライバ２００Ｘ，２００Ｚにそれぞれ与えたときの塗布ヘッドの移動軌跡のうちＸ軸位置５５０〜５７５ｍｍにおけるシミュレーション結果を示す図である。図１７〜図２０には、塗布ヘッド３０２の移動軌跡と合わせてワークＷの形状も示される。なお、ワークＷの表面と塗布ヘッド３０２との間のＺ軸方向の所望のクリアランスを０としてシミュレーションを行なった。
【００９３】
図１７および図１８に示されるように、モデル予測制御を行なわずに指令位置を指令値として直接サーボドライバに与えた場合には、ワーク形状と塗布ヘッド３０２の移動軌跡とにずれが見られる。これに対し、図１９および図２０に示されるように、モデル予測制御を行なうことにより、ワーク形状と塗布ヘッド３０２の移動軌跡とのずれが大幅に低減しており、塗布ヘッド３０２がワークＷの表面の形状に追従して移動している。
【００９４】
＜Ｇ．利点＞
以上のように、本実施の形態に係る制御装置１００は、Ｘ軸指令生成モジュール１４０と、モデル予測制御モジュール１４２と、Ｚ軸指令生成モジュール１５０と、モデル予測制御モジュール１５２とを備える。Ｘ軸指令生成モジュール１４０は、目標軌道に基づいて、各制御周期における塗布ヘッド３０２のＸ軸上の指令位置ＳＰＸを生成する。モデル予測制御モジュール１４２は、サーボドライバ２００Ｘに出力する操作量ＭＶＸと塗布ヘッド３０２のＸ軸上の位置との関係を示す第１動特性モデルと指令位置ＳＰＸとを用いたモデル予測制御により、操作量ＭＶＸを生成する。Ｚ軸指令生成モジュール１５０は、各制御周期における塗布ヘッド３０２のＺ軸上の指令位置ＳＰＺを生成する。モデル予測制御モジュール１５２は、サーボドライバ２００Ｚに出力する操作量ＭＶＺと塗布ヘッド３０２のＺ軸上の位置との関係を示す第２動特性モデルと指令位置ＳＰＺとを用いたモデル予測制御により、操作量ＭＶＺを生成する。Ｚ軸指令生成モジュール１５０は、ワークＷの表面形状を示す形状データ１３２と指令位置ＳＰＸとに基づいて、塗布ヘッド３０２とワークＷの表面との距離が一定になるように指令位置ＳＰＺを生成する。
【００９５】
上記の構成の制御装置１００は、モデル予測制御により塗布ヘッド３０２の移動制御を行なう。このとき、形状データに基づいて各制御周期におけるＺ軸上の指令位置ＳＰＺが生成される。その結果、塗布ヘッド３０２をワークＷの表面の形状に精度良く追従させることができる。
【００９６】
形状データ１３２は、Ｘ軸をワークＷの表面に投影した線上の複数の点の各々について、当該点からＺ軸に下した垂線の足のＺ軸上の位置を示す。Ｚ軸指令生成モジュール１５０は、上記の複数の点の中から、塗布ヘッド３０２が指令位置ＳＰＸに位置するときに塗布処理の対象となるワークＷの表面上の処理対象点を挟む２つの点を選択する。Ｚ軸指令生成モジュール１５０は、選択された２つの点のＺ軸上の位置を用いた補間計算により、指令位置ＳＰＸをワークＷの表面に投影した点からＺ軸に下した垂線の足のＺ軸上の位置を求め、当該Ｚ軸上の位置に基づいて、指令位置ＳＰＺを生成する。
【００９７】
上記の構成により、塗布ヘッド３０２が指令位置ＳＰＸに位置するときの処理対象点のデータが形状データ１３２に含まれない場合であっても、補間計算により、処理対象点からＺ軸に下した垂線の足のＺ軸上の位置を求めることができる。そして、当該Ｚ軸上の位置に基づいて、指令位置ＳＰＺが生成される。このように、ワークＷの表面形状に応じて指令位置ＳＰＸに対応する指令位置ＳＰＺを容易に生成することができる。
【００９８】
＜Ｈ．変形例＞
＜Ｈ−１．変形例１＞
上記の説明では、塗布装置３００は、ワークＷの表面に対向するＸＹ平面上のＸ軸に沿って塗布ヘッド３０２を移動させるサーボモータ３０４Ｘを備えるものとした。しかしながら、塗布装置３００は、サーボモータ３０４Ｘの代わりに、ＸＹ平面上に沿って塗布ヘッド３０２をＸＹ平面に直交する基準軸を中心に回動させるサーボモータを備えてもよい。この場合、制御システム１は、サーボドライバ２００Ｘの代わりに、当該サーボモータを駆動するサーボドライバを備える。さらに、制御装置１００は、Ｘ軸指令生成モジュール１４０の代わりに、基準軸に対する指令角度を生成する指令生成モジュールを備えればよい。制御装置１００は、モデル予測制御モジュール１４２の代わりに、操作量と塗布ヘッド３０２の回動位置との関係を示す動特性モデルと指令角度とを用いたモデル予測制御により、サーボドライバに出力する操作量を生成するモデル予測制御モジュールを備えればよい。
【００９９】
＜Ｈ−２．変形例２＞
上記の説明では、形状計測センサ３が２次元レーザ変位センサであり、ワークＷの表面上のＸ軸方向に沿った等間隔の複数の点のＺ軸位置を計測するものとした。この場合、図６に示されるように、形状データ１３２に含まれる複数のデータ要素で示されるＸ軸位置は、等間隔となる。
【０１００】
しかしながら、形状計測センサ３として１次元レーザ変位センサを用いてもよい。この場合、形状計測センサ３を塗布ヘッド３０２と同様にＸ軸方向に移動させながら、ワークＷの表面上の複数の点のＺ軸位置が計測される。形状計測センサ３を塗布ヘッド３０２と同じ目標軌道に沿ってＸ軸方向に移動させることが好ましい。これにより、形状データ１３２に含まれる複数のデータ要素で示されるＸ軸位置の間隔は、指令位置ＳＰＸの時系列データの間隔と略一致する。そのため、Ｚ軸指令生成モジュール１５０は、各制御周期について、形状データの中から、塗布ヘッド３０２が当該制御周期の指令位置ＳＰＸに位置するときの処理対象点に最も近い点に対応するデータ要素を選択すればよい。たとえば、Ｚ軸指令生成モジュール１５０は、各制御周期について、形状データの中から指令位置ＳＰＸに最も近いＸ軸位置を示すデータ要素を選択する。Ｚ軸指令生成モジュール１５０は、選択したデータ要素で示されるＺ軸位置を当該制御周期の指令位置ＳＰＺとして生成すればよい。このように、Ｚ軸指令生成モジュール１５０は、上記の［数２］に従った補間計算を行なう必要がない。その結果、Ｚ軸指令生成モジュール１５０の演算負荷が軽減される。
【０１０１】
＜Ｈ−３．変形例３＞
上記の説明では、塗布装置３００は、ワークＷの表面に対向するＸＹ平面上においてＸ軸に沿ってのみ塗布ヘッド３０２を移動させるものとした。しかしながら、塗布装置３００は、ワークＷの表面に対向するＸＹ平面上のＹ軸に沿って塗布ヘッド３０２を移動させるサーボモータをさらに備えていてもよい。
【０１０２】
図２１は、変形例３に係る制御システムの機能構成の一例を示す模式図である。図２１に示されるように、塗布装置３００は、サーボモータ３０４Ｘ，３０４Ｚに加えて、サーボモータ３０４Ｙを有する。サーボモータ３０４Ｙは、塗布ヘッド３０２（図１参照）をＹ軸方向に移動させる。これにより、塗布ヘッド３０２は、Ｙ軸方向に沿ってワークＷに対して相対移動する。
【０１０３】
変形例３に係る制御システム１Ａは、サーボドライバ２００Ｘ，２００Ｚに加えて、サーボモータ３０４Ｙを駆動するためのサーボドライバ２００Ｙを備える。
【０１０４】
サーボドライバ２００Ｙは、減算器２１０Ｙとフィードバック制御部２１２Ｙとを含む。減算器２１０Ｙは、制御装置１００から操作量ＭＶＹを指令値（指令位置または指令速度）として受けるとともに、サーボモータ３０４Ｙに結合されたエンコーダからの出力信号をフィードバック値として受ける。減算器２１０Ｙは、指令値とフィードバック値との偏差を演算する。フィードバック制御部２１２Ｙは、フィードバック制御部２１２Ｘ，２１２Ｚと同様に、減算器２１０Ｙから出力される偏差に応じた制御演算を実行する。
【０１０５】
変形例３に係る制御システム１Ａは、制御装置１００の代わりに制御装置１００Ａを備える。制御装置１００Ａは、制御装置１００と比較して、Ｚ軸指令生成モジュール１５０の代わりにＺ軸指令生成モジュール１５０Ａを備えるとともに、Ｙ軸指令生成モジュール１６０とモデル予測制御モジュール１６２とをさらに備える点で相違する。さらに、記憶部１３０は、形状データ１３２の代わりに形状データ１３３を記憶する。
【０１０６】
Ｙ軸指令生成モジュール１６０は、予め作成された目標軌道に従って、各制御周期における塗布ヘッド３０２のＹ軸上の第３指令位置（以下、「指令位置ＳＰＹ」と称する。）を生成する。Ｙ軸指令生成モジュール１６０は、生成した指令位置ＳＰＹをモデル予測制御モジュール１６２に出力する。
【０１０７】
Ｙ軸指令生成モジュール１６０は、目標軌道から指令位置ＳＰＹの時系列データを生成し、各制御周期の指令位置ＳＰＹを当該時系列データから読出す。もしくは、制御装置１００Ａは、目標軌道を規定する指令位置ＳＰＹの時系列データを予め記憶しておいてもよい。この場合には、Ｙ軸指令生成モジュール１６０は、予め記憶された指令位置ＳＰＹの時系列データにアクセスすればよい。このように、制御周期毎の指令位置ＳＰＹは、目標軌道から予め定められた計算式に従って逐次演算されてもよいし、時系列データの形で予め格納されていてもよい。
【０１０８】
モデル予測制御モジュール１６２は、操作量ＭＶＹと塗布ヘッド３０２のＹ軸上の位置との関係を示す第３動特性モデルと指令位置ＳＰＹとを用いたモデル予測制御により、サーボドライバ２００Ｙに出力する操作量ＭＶＹを生成する。第３動特性モデルは、第１動特性モデルと同様の方法により作成される。
【０１０９】
図２２は、変形例３における形状データの一例を示す図である。形状データ１３３は、ワークＷの表面上において格子状に配置された複数の点の各々のデータ要素１３５を含む。データ要素１３５は、対応するワークＷの表面上の点からＸ軸へ下した垂線の足のＸ軸位置と、当該点からＹ軸に下した垂線の足のＹ軸上の位置（以下、「Ｙ軸位置」と称する。）と、当該点からＺ軸に下した垂線の足のＺ軸位置とを示す。
【０１１０】
Ｚ軸指令生成モジュール１５０Ａは、形状データ１３３と指令位置ＳＰＸ、ＳＰＹとに基づいて、塗布ヘッド３０２とワークＷの表面との距離が一定になるように、各制御周期における指令位置ＳＰＺを生成する。
【０１１１】
図２３は、変形例３における指令位置ＳＰＺの生成方法を説明する図である。Ｚ軸指令生成モジュール１５０Ａは、形状データ１３３の中から、塗布ヘッド３０２が指令位置ＳＰＸおよび指令位置ＳＰＹに位置するときに塗布処理の対象となるワークＷの表面上の処理対象点の周囲に位置する４つの点に対応するデータ要素１３５を選択する。ここで、サーボドライバ２００Ｘ，２００Ｙは、塗布ヘッド３０２の塗布液噴出口が指令位置に位置するようにサーボモータ３０４Ｘ、３０４Ｙをそれぞれ制御するものとする。さらに、塗布液噴出口からＺ軸方向に塗布液が噴出されるものとする。この場合、指令位置ＳＰＸ、ＳＰＹによって示されるＸＹ平面上の点をワークＷの表面にＺ軸方向に沿って投影した点（投影点）が、塗布ヘッド３０２が指令位置ＳＰＸ，ＳＰＹに位置するときの処理対象点となる。そのため、Ｚ軸指令生成モジュール１５０Ａは、当該投影点の周囲に位置する４つの点に対応するデータ要素１３５を選択する。図２３に示す例では、（Ｘ軸位置，Ｙ軸位置）がそれぞれ（ＷＸ（ｊｘ），ＷＹ（ｊｙ）），（ＷＸ（ｊｘ＋１），ＷＹ（ｊｙ）），（ＷＸ（ｊｘ），ＷＹ（ｊｙ＋１）），（ＷＸ（ｊｘ＋１），ＷＹ（ｊｙ＋１））である４つの点のデータ要素１３５が選択される。
【０１１２】
Ｚ軸指令生成モジュール１５０Ａは、選択した４つの点のデータ要素１３５を用いた補間計算により、例えば以下の［数３］に従って、投影点（処理対象点）からＺ軸に下した垂線の足のＺ軸上の位置Ｚ（ｉ）を求める。［数３］において、ＷＺ（ｊｘ，ｊｙ）は、（Ｘ軸位置，Ｙ軸位置）が（ＷＸ（ｊｘ），ＷＹ（ｊｙ））である点のデータ要素に含まれるＺ軸位置である。ＷＺ（ｊｘ＋１，ｊｙ）は、（Ｘ軸位置，Ｙ軸位置）が（ＷＸ（ｊｘ＋１），ＷＹ（ｊｙ））である点のデータ要素に含まれるＺ軸位置である。ＷＺ（ｊｘ，ｊｙ＋１）は、（Ｘ軸位置，Ｙ軸位置）が（ＷＸ（ｊｘ），ＷＹ（ｊｙ＋１））である点のデータ要素に含まれるＺ軸位置である。ＷＺ（ｊｘ＋１，ｊｙ＋１）は、（Ｘ軸位置，Ｙ軸位置）が（ＷＸ（ｊｘ＋１），ＷＹ（ｊｙ＋１））である点のデータ要素に含まれるＺ軸位置である。
【０１１３】
【数３】
2020154743.tif 000005
【０１１４】
Ｚ軸指令生成モジュール１５０は、上記のようにして求めた、投影点（処理対象点）からＺ軸に下した垂線の足のＺ軸上の位置Ｚ（ｉ）に基づいて指令位置ＳＰＺ（ｉ）を生成する。
【０１１５】
なお、形状データ１３３から４つの点のデータ要素１３５が選択されるものとしたが、Ｚ軸指令生成モジュール１５０は、処理対象点（ここでは、投影点）に近い上位３つの点のデータ要素１３５を選択してもよい。そして、Ｚ軸指令生成モジュール１５０は、選択した３つの点のデータ要素を用いた補間計算により、指令位置ＳＰＸ（ｉ）のワークＷの表面への投影点からＺ軸に下した垂線の足のＺ軸上の位置Ｚ（ｉ）を求める。
【０１１６】
＜Ｈ−４．変形例４＞
上記の説明では、記憶部１３０には、形状計測センサ３によって計測された形状データ１３２，１３３が格納されるものとした。しかしながら、記憶部１３０には、ワークＷの設計データから生成された、ワークＷの表面の形状を示す形状データが格納されてもよい。例えば、意図的にうねりが形成された表面を有し、かつ、表面形状の個体差が無視できる程度に小さいワークＷの場合、設計データから生成された形状データを利用することができる。
【０１１７】
＜Ｈ−５．変形例５＞
上記の説明では、複数のサーボドライバ２００は、塗布ヘッド３０２を移動させるものとした。しかしながら、複数のサーボドライバ２００は、ワークＷと塗布ヘッド３０２との相対位置関係を変更するものであればよい。塗布ヘッド３０２が固定されている状態において、複数のサーボドライバ２００は、ワークＷを移動させるように構成されてもよい。例えば、ワークＷがＸＺステージに載置されてもよい。この場合、サーボドライバ２００Ｘは、ＸＺステージのＸ軸方向の移動を制御することにより、Ｘ軸方向に沿って塗布ヘッド３０２をワークＷに対して相対移動させる。サーボドライバ２００Ｚは、当ＸＺステージのＺ軸方向の移動を制御することにより、Ｚ軸方向に沿って塗布ヘッド３０２をワークＷに対して相対移動させる。あるいは、ワークＷがＸＹＺステージに載置されてもよい。この場合、サーボドライバ２００Ｙは、ＸＹＺステージのＹ軸方向の移動を制御することにより、Ｙ軸方向に沿って塗布ヘッド３０２をワークＷに対して相対移動させる。
【０１１８】
もしくは、サーボドライバ２００Ｘは、塗布ヘッド３０２およびワークＷのうちの一方（例えば塗布ヘッド３０２）のＸ軸方向の移動を制御し、サーボドライバ２００Ｚは、塗布ヘッド３０２およびワークＷのうちの他方（例えばワークＷ）のＺ軸方向の移動を制御してもよい。さらに、サーボドライバ２００Ｙは、塗布ヘッド３０２およびワークＷのうちのいずれかのＹ軸方向の移動を制御してもよい。
【０１１９】
＜Ｉ．付記＞
以上のように、本実施の形態および変形例は以下のような開示を含む。
【０１２０】
（構成１）
対象物（Ｗ）と当該対象物（Ｗ）の表面に対して所定処理を実行する制御対象（３０２）との相対位置関係を変更するための複数のドライブ装置（２００，２００Ｘ，２００Ｙ，２００Ｚ）に接続され、制御周期毎に前記複数のドライブ装置（２００，２００Ｘ，２００Ｙ，２００Ｚ）に操作量を出力する制御装置（１００，１００Ａ）であって、
前記複数のドライブ装置（２００，２００Ｘ，２００Ｙ，２００Ｚ）は、前記対象物（Ｗ）の表面に対向する平面に沿って前記制御対象（３０２）を前記対象物（Ｗ）に対して相対移動させるための第１ドライブ装置（２００Ｘ）と、前記平面に直交する直交軸に沿って前記制御対象を前記対象物（Ｗ）に対して相対移動させるための第２ドライブ装置（２００Ｚ）とを含み、
前記制御装置（１００，１００Ａ）は、
目標軌道に基づいて、各制御周期における前記制御対象（３０２）の前記平面上の第１指令位置を生成する第１生成部（１４０）と、
前記第１ドライブ装置（２００Ｘ）に出力する第１操作量と前記制御対象（３０２）の前記平面上の位置との関係を示す第１動特性モデルと前記第１指令位置とを用いたモデル予測制御により、前記第１操作量を生成する第１制御部（１４２）と、
各制御周期における前記制御対象（３０２）の前記直交軸上の第２指令位置を生成する第２生成部（１５０）と、
前記第２ドライブ装置（２００Ｚ）に出力する第２操作量と前記制御対象（３０２）の前記直交軸上の位置との関係を示す第２動特性モデルと前記第２指令位置とを用いたモデル予測制御により、前記第２操作量を生成する第２制御部（１５２）とを備え、
前記第２生成部（１５０）は、前記対象物（Ｗ）の表面形状を示す形状データと前記第１指令位置とに基づいて、前記制御対象（３０２）と前記対象物（Ｗ）の表面との距離が一定になるように前記第２指令位置を生成する、制御装置（１００，１００Ａ）。
【０１２１】
（構成２）
前記第１ドライブ装置（２００Ｘ）は、前記平面上の第１軸に沿って前記制御対象（３０２）を前記対象物（Ｗ）に対して相対移動させ、
前記第１指令位置は、前記第１軸上の位置を示し、
前記第１動特性モデルは、前記第１操作量と前記制御対象（３０２）の前記第１軸上の位置との関係を示し、
前記形状データは、前記第１軸を前記対象物（Ｗ）の表面に投影した線上の複数の点の各々について、当該点から前記直交軸に下した垂線の足の前記直交軸上の位置を示し、
前記第２生成部（１５０）は、
前記複数の点の中から、前記制御対象（３０２）が前記第１指令位置に位置するときに前記所定処理の対象となる前記対象物（Ｗ）の表面上の処理対象点を挟む２つの点を選択し、
選択された前記２つの点の前記直交軸上の位置を用いた補間計算により、前記処理対象点から前記直交軸に下した垂線の足の前記直交軸上の位置を求め、
前記処理対象点の前記直交軸上の位置に基づいて、前記第２指令位置を生成する、構成１に記載の制御装置（１００）。
【０１２２】
（構成３）
前記第１ドライブ装置（２００Ｘ）は、前記平面上の第１軸に沿って前記制御対象（３０２）を前記対象物（Ｗ）に対して相対移動させ、
前記第１指令位置は、前記第１軸上の位置を示し、
前記第１動特性モデルは、前記第１操作量と前記制御対象（３０２）の前記第１軸上の位置との関係を示し、
前記形状データは、前記第１軸を前記対象物の表面に投影した線上の複数の点の各々について、当該点から前記直交軸に下した垂線の足の前記直交軸上の位置を示し、
前記第２生成部（１５０）は、
前記複数の点の中から、前記制御対象（３０２）が前記第１指令位置に位置するときに前記所定処理の対象となる前記対象物（Ｗ）の表面上の処理対象点に最も近い点を選択し、
選択された点の前記直交軸上の位置に基づいて、前記第２指令位置を生成する、構成１に記載の制御装置（１００）。
【０１２３】
（構成４）
前記第１ドライブ装置（２００Ｘ）は、前記平面上の第１軸に沿って前記制御対象（３０２）を前記対象物（Ｗ）に対して相対移動させ、
前記第１指令位置は、前記第１軸上の位置を示し、
前記第１動特性モデルは、前記第１操作量と前記制御対象（３０２）の前記第１軸上の位置との関係を示し、
前記複数のドライブ装置（２００，２００Ｘ，２００Ｙ，２００Ｚ）は、前記第１軸と異なる前記平面上の第２軸に沿って前記制御対象（３０２）を前記対象物（Ｗ）に対して相対移動させるための第３ドライブ装置（２００Ｙ）をさらに含み、
前記制御装置（１００Ａ）は、
前記目標軌道に基づいて、各制御周期における前記制御対象（３０２）の前記第２軸上の第３指令位置を生成する第３生成部（１６０）と、
前記第３ドライブ装置（２００Ｙ）に出力する第３操作量と前記制御対象（３０２）の前記第２軸上の位置との関係を示す第３動特性モデルと前記第３指令位置とを用いたモデル予測制御により、前記第３操作量を生成する第３制御部（１６２）とをさらに備え、
前記第２生成部（１５０）は、前記形状データおよび前記第１指令位置に加えて前記第３指令位置に基づいて前記第２指令位置を生成する、構成１に記載の制御装置（１００Ａ９。
【０１２４】
（構成５）
前記形状データは、前記対象物の表面上の複数の点の各々について、当該点から前記直交軸に下した垂線の足の前記直交軸上の位置を示し、
前記第２生成部（１５０）は、
前記複数の点の中から、前記制御対象（３０２）が前記第１指令位置および前記第３指令位置に位置するときに前記所定処理の対象となる前記対象物（Ｗ）の表面上の処理対象点の周囲に位置する少なくとも３つの点を選択し、
選択された前記少なくとも３つの点の前記直交軸上の位置を用いた補間計算により、前記処理対象点から前記直交軸に下した垂線の足の前記直交軸上の位置を求め、
前記処理対象点の前記直交軸上の位置に基づいて、前記第２指令位置を生成する、構成４に記載の制御装置（１００Ａ）。
【０１２５】
（構成６）
対象物（Ｗ）と当該対象物（Ｗ）の表面に対して所定処理を実行する制御対象（３０２）との相対位置関係を変更するための複数のドライブ装置（２００，２００Ｘ，２００Ｙ，２００Ｚ）に接続され、制御周期毎に前記複数のドライブ装置（２００，２００Ｘ，２００Ｙ，２００Ｚ）に操作量を出力する制御装置（１００，１００Ａ）を実現するための制御プログラムであって、
前記複数のドライブ装置（２００，２００Ｘ，２００Ｙ，２００Ｚ）は、前記対象物（Ｗ）の表面に対向する平面に沿って前記制御対象（３０２）を前記対象物（Ｗ）に対して相対移動させるための第１ドライブ装置（２００Ｘ）と、前記平面に直交する直交軸に沿って前記制御対象を前記対象物（Ｗ）に対して相対移動させるための第２ドライブ装置（２００Ｚ）とを含み、
前記制御プログラムは、コンピュータに、
目標軌道に基づいて、各制御周期における前記制御対象（３０２）の前記平面上の第１指令位置を生成するステップと、
前記第１ドライブ装置（２００Ｘ）に出力する第１操作量と前記制御対象（３０２）の前記平面上の位置との関係を示す第１動特性モデルと前記第１指令位置とを用いたモデル予測制御により、前記第１操作量を生成するステップと、
各制御周期における前記制御対象（３０２）の前記直交軸上の第２指令位置を生成するステップと、
前記第２ドライブ装置（２００Ｚ）に出力する第２操作量と前記制御対象（３０２）の前記直交軸上の位置との関係を示す第２動特性モデルと前記第２指令位置とを用いたモデル予測制御により、前記第２操作量を生成するステップとを備え、
前記第２指令位置を生成するステップは、前記対象物（Ｗ）の表面形状を示す形状データと前記第１指令位置とに基づいて、前記制御対象（３０２）と前記対象物（Ｗ）の表面との距離が一定になるように前記第２指令位置を生成するステップを含む、制御プログラム。
【０１２６】
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２７】
１，１Ａ  制御システム、２  搬送装置、３  形状計測センサ、１００，１００Ａ  制御装置、１０２  プロセッサ、１０４  チップセット、１０６  メインメモリ、１０８  フラッシュメモリ、１１０  システムプログラム、１１２  ユーザプログラム、１１２Ａ  シーケンスプログラム、１１２Ｂ  モーションプログラム、１１６  外部ネットワークコントローラ、１１８  メモリカードインターフェイス、１２０  メモリカード、１２２，１２４  フィールドバスコントローラ、１３０  記憶部、１３２，１３３  形状データ、１３４，１３４ａ，１３４ｂ，１３５  データ要素、１４０  Ｘ軸指令生成モジュール、１４２，１５２，１６２  モデル予測制御モジュール、１５０，１５０Ａ  Ｚ軸指令生成モジュール、１６０  Ｙ軸指令生成モジュール、２００，２００Ｘ，２００Ｙ，２００Ｚ  サーボドライバ、２１０Ｘ，２１０Ｙ，２１０Ｚ  減算器、２１２Ｘ，２１２Ｙ，２１２Ｚ  フィードバック制御部、３００  塗布装置、３０２  塗布ヘッド、３０４Ｘ，３０４Ｙ，３０４Ｚ  サーボモータ。
【図１】
2020154743.tif 000006
【図２】
2020154743.tif 000007
【図３】
2020154743.tif 000008
【図４】
2020154743.tif 000009
【図５】
2020154743.tif 000010
【図６】
2020154743.tif 000011
【図７】
2020154743.tif 000012
【図８】
2020154743.tif 000013
【図９】
2020154743.tif 000014
【図１０】
2020154743.tif 000015
【図１１】
2020154743.tif 000016
【図１２】
2020154743.tif 000017
【図１３】
2020154743.tif 000018
【図１４】
2020154743.tif 000019
【図１５】
2020154743.tif 000020
【図１６】
2020154743.tif 000021
【図１７】
2020154743.tif 000022
【図１８】
2020154743.tif 000023
【図１９】
2020154743.tif 000024
【図２０】
2020154743.tif 000025
【図２１】
2020154743.tif 000026
【図２２】
2020154743.tif 000027
【図２３】
2020154743.tif 000028