(57)【特許請求の範囲】
【請求項１】
対象物を移動させるモータを含む制御系を第１状態から第２状態へ遷移させるために前記モータに供給する電流の時系列データをコンピュータに生成させるプログラムであって、
前記コンピュータに、
前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件と、前記時系列データの絶対値の最大値を制約する条件と、前記モータの速度の絶対値の最大値を制約する条件とを含む制約条件を設定させ、
前記時系列データを評価するための評価関数を設定させ、
前記制約条件を満たすように、且つ、前記評価関数の値が予め定められた条件を満たすように、前記時系列データを求めさせる、
ことを特徴とするプログラム。
【請求項２】
前記評価関数は、前記時系列データの微分値の二乗和を含む、ことを特徴とする請求項１に記載のプログラム。
【請求項３】
前記評価関数は、前記時系列データの特定の周波数成分の大きさを含む、ことを特徴とする請求項１に記載のプログラム。
【請求項４】
前記評価関数は、前記時系列データの二乗和を含む、ことを特徴とする請求項１に記載のプログラム。
【請求項５】
前記評価関数は、前記モータに電流を供給する電流アンプの消費電力を含む、ことを特徴とする請求項１に記載のプログラム。
【請求項６】
前記評価関数は、前記時系列データの絶対値の最大値を含む、ことを特徴とする請求項１に記載のプログラム。
【請求項７】
前記評価関数は、前記電圧の絶対値の最大値を含む、ことを特徴とする請求項１に記載のプログラム。
【請求項８】
前記制約条件は、前記時系列データの一部が予め定められた値となるように制約する条件を含む、ことを特徴とする請求項１乃至７のうちいずれか１項に記載のプログラム。
【請求項９】
前記コンピュータに、
前記時系列データの２次関数として前記評価関数を設定させ、
前記制約条件を満たすように、且つ、前記評価関数の値が最小化されるように、２次計画法によって前記時系列データを求めさせる、ことを特徴とする請求項１に記載のプログラム。
【請求項１０】
前記電圧は、前記時系列データと前記モータのインピーダンスとにより求められる第１電圧と、前記モータの速度と前記モータの逆起電力係数とにより求められる第２電圧との和によって求められるものである、ことを特徴とする請求項１乃至９のうちいずれか１項に記載のプログラム。
【請求項１１】
対象物を移動させるモータを含む制御系を第１状態から第２状態へ遷移させるために前記モータに供給する電流の時系列データを生成する方法であって、
前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件と、前記時系列データの絶対値の最大値を制約する条件と、前記モータの速度の絶対値の最大値を制約する条件とを含む制約条件を設定し、
前記時系列データを評価するための評価関数を設定し、
前記制約条件を満たすように、且つ、前記評価関数の値が予め定められた条件を満たすように、前記時系列データを求める、
ことを特徴とする方法。
【請求項１２】
対象物を移動させるモータを含む制御系を第１状態から第２状態へ遷移させるために前記モータに供給する電流の時系列データを生成する装置であって、
前記時系列データを求める処理部を有し、
前記処理部は、前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件と、前記時系列データの絶対値の最大値を制約する条件と、前記モータの速度の絶対値の最大値を制約する条件とを含む制約条件を満たすように、且つ、前記時系列データを評価するための評価関数の値が予め定められた条件を満たすように、前記時系列データを求める、
ことを特徴とする装置。
【請求項１３】
対象物を移動させるモータと、前記モータに電流を供給する供給部と、を含む制御系を有する装置であって、
前記制御系を第１状態から第２状態へ遷移させるための前記電流の時系列データを求める処理部を有し、
前記処理部は、前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件と、前記時系列データの絶対値の最大値を制約する条件と、前記モータの速度の絶対値の最大値を制約する条件とを含む制約条件を満たすように、且つ、前記時系列データを評価するための評価関数の値が予め定められた条件を満たすように、前記時系列データを求める、
ことを特徴とする装置。
【請求項１４】
レーザ光を反射するミラーと、前記ミラーを移動させるモータと、前記モータに電流を供給する供給部と、を含む制御系を有し、前記ミラーを介してレーザ光を対象物に照射するレーザ加工装置であって、
前記制御系を第１状態から第２状態へ遷移させるための前記電流の時系列データを求める処理部を有し、
前記処理部は、前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件と、前記時系列データの絶対値の最大値を制約する条件と、前記モータの速度の絶対値の最大値を制約する条件とを含む制約条件を満たすように、且つ、前記時系列データを評価するための評価関数の値が予め定められた条件を満たすように、前記時系列データを求める、
ことを特徴とするレーザ加工装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータに供給する電流の時系列データを生成するプログラム、方法、装置及びレーザ加工装置に関する。
【背景技術】
【０００２】
レーザ穴あけ装置、レーザトリマ装置、レーザリペア装置などのレーザ加工装置（工作機械装置）では、ガルバノ装置が使用されている。ガルバノ装置は、モータの回転軸に取り付けられたミラーの回転角度を制御しながら、かかるミラーでレーザ光を反射して目標位置に照射する。レーザ光の照射位置を目標位置に位置決めする際には、ミラーの回転角度を制御することが必要となるため、ガルバノ装置には、ミラーの回転角度を検出する検出器（例えば、静電容量センサ、光学式又は磁気式エンコーダ）が備えられている。
【０００３】
また、レーザ加工装置においては、生産性の向上や加工品質の向上が要求されているため、ガルバノ装置のモータには、ミラーを高速、且つ、高精度に目標位置に位置決めすることが求められている。一方、ハードディスクのシーク制御では、モータに供給する電流の時系列データを求める際に、モータに供給する電流の絶対値の最大値を制約する条件を設定し、かかる条件下において最適な時系列データを求める技術が提案されている（非特許文献１参照）。この技術では、機械共振の共振周波数変動を考慮した終端状態制御により、高速・高精度な位置決めを実現している。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】平田光男、長谷川辰紀、野波健蔵：「入力の周波数成分と飽和を考慮した終端状態制御によるハードディスクのシーク制御」、第３０回制御理論シンポジウム資料、ｐｐ９７−１０２（２００１）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
制御入力及び状態に飽和が起こらないようにするためには、例えば、モータの駆動回路である電流アンプの高電流化・高電圧化をすればよい。しかしながら、そうすることは、電流アンプの発熱や消費電力を増大させるため、制御系の更なる高速化を図るうえで支障となりうる。また、高電流化・高電圧化をしない場合には、求められた時系列データによりモータに印加される電圧の飽和が生じうるため、高速、且つ、高精度な制御を実現していくうえで支障となりうる。
【０００６】
本発明は、モータに印加される電圧を飽和させない電流の時系列データを得るのに有利な技術を提供することを例示的目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の一側面としてのプログラムは、対象物を移動させるモータを含む制御系を第１状態から第２状態へ遷移させるために前記モータに供給する電流の時系列データをコンピュータに生成させるプログラムであって、前記コンピュータに、前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件と、前記時系列データの絶対値の最大値を制約する条件と、前記モータの速度の絶対値の最大値を制約する条件とを含む制約条件を設定させ、前記時系列データを評価するための評価関数を設定させ、前記制約条件を満たすように、且つ、前記評価関数の値が予め定められた条件を満たすように、前記時系列データを求めさせる、ことを特徴とする。
【０００８】
本発明の更なる目的又はその他の側面は、以下、添付図面を参照して説明される好ましい実施形態によって明らかにされるであろう。
【発明の効果】
【０００９】
本発明によれば、例えば、モータに印加される電圧を飽和させない電流の時系列データを得るのに有利な技術を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】ガルバノ装置の制御システムの構成を示す概略図である。
【図２】ガルバノ装置の周波数応答を示す図である。
【図３】拡大系の構成の一例を示す図である。
【図４】摩擦のない慣性系をアクチュエータとする拡大系の構成の一例を示す図である。
【図５】電流プロファイルを生成する処理を説明するためのフローチャートである。
【図６】モータに供給する電流、モータの移動速度及びモータに発生する電圧を示す図である。
【図７】モータの位置決め応答と実際の位置決め応答とを示す図である。
【図８】モータに供給する電流、モータの移動速度及びモータに発生する電圧を示す図である。
【図９】モータに供給する電流、モータの移動速度及びモータに発生する電圧を示す図である。
【図１０】モータに供給する電流、モータの移動速度及びモータに発生する電圧を示す図である。
【図１１】レーザ加工装置の構成を示す概略図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明の好適な実施の形態について説明する。なお、各図において、同一の部材については同一の参照番号を付し、重複する説明は省略する。
【００１２】
図１は、ガルバノ装置の制御システム１を示す概略図である。制御システム１は、レーザ穴あけ装置、レーザトリマ装置、レーザリペア装置などのレーザ加工装置に適用され、レーザ光を反射して被照射体（加工対象の物品）の目標位置に照射するためのシステムであって、ガルバノ装置１０と、制御装置２０とを有する。
【００１３】
ガルバノ装置１０は、ミラー１０２と、モータ１０４とを含む。ミラー１０２は、モータ１０４の回転軸に取り付けられ、レーザ光を被照射体や他のミラーに向けて反射する。モータ１０４は、対象物としてのミラーを回転させる、即ち、第１の位置（初期状態）から移動させて第２の位置（終端状態）に停止させるＤＣサーボモータである。ここで、モータ１０４の位置とは、モータ１０４（の回転軸）の角度も含みうる。
【００１４】
制御装置２０は、ガルバノ装置１０（のモータ１０４）に対して終端状態制御（ＦＳＣ：Ｆｉｎａｌ−Ｓｔａｔｅ  Ｃｏｎｔｒｏｌ）を行う機能を有し、本実施形態では、検出部２０２と、処理部２０４と、Ｄ／Ａ変換部２０６と、供給部２０８とを含む。
【００１５】
検出部２０２は、例えば、モータ１０４の回転軸に取り付けられたロータリエンコーダで構成され、ミラー１０２の回転角度（即ち、モータ１０４の回転軸の回転角度）を検出する。
【００１６】
処理部２０４は、ＣＰＵやメモリなどを含み、検出部２０２で検出されるミラー１０２の回転角度が目標角度となるように、モータ１０４に供給する電流を時系列的に表す電流プロファイルを生成する処理を行う。なお、電流プロファイルは、換言すれば、モータ１０４を含む制御系を第１状態から第２状態へ遷移させるためにモータ１０４に供給する電流の時系列データである。処理部２０４は、本実施形態では、メモリに格納されたプログラムを実行して、後述する電流プロファイルを生成するための各処理を行う。但し、外部の情報処理装置（コンピュータなど）で電流プロファイルを生成するための各処理を行って生成された電流プロファイルを処理部２０４のメモリに格納してもよい。
【００１７】
Ｄ／Ａ変換部２０６は、処理部２０４から入力されるデジタル形式の電流プロファイル（デジタル信号）をアナログ形式の電流プロファイル（アナログ信号）に変換して供給部２０８に入力する。
【００１８】
供給部２０８は、例えば、ブリッジ駆動のリニアアンプ（電流アンプ）を含み、処理部２０４で生成した電流プロファイル（電流指令値ｉｒｅｆ）に対応する電流ｉをモータ１０４に供給する。なお、供給部２０８は、電流指令値ｉｒｅｆとモータ１０４に供給する電流ｉとが同じになるように、電流フィードバック制御を行うことが可能である。
【００１９】
本実施形態では、ガルバノ装置１０は、図２（ａ）及び図２（ｂ）に示すような周波数応答（電流指令値ｉｒｅｆからモータ１０４の回転軸の角度ｙまでの実測した周波数応答）を有するものとする。図２（ａ）では、横軸に周波数［Ｈｚ／ｕｎｉｔ］、縦軸にゲイン［ｄＢ］を採用し、図２（ｂ）では、横軸に周波数［Ｈｚ／ｕｎｉｔ］、縦軸に位相［ｄｅｇ］を採用している。なお、［Ｈｚ／ｕｎｉｔ］は最初の共振ピークの周波数が１になるように正規化した単位である。また、実線は実測値を示し、点線はモデル値を示している。図２（ａ）及び図２（ｂ）を参照するに、ガルバノ装置１０は、２つの共振を高周波領域に有している。そこで、ガルバノ装置１０の周波数応答を、剛体モード、２つの共振モード、むだ時間からなる以下の伝達関数でモデリングする。
【００２０】
【数１】
0005736602.tif 000002
【００２１】
Ｐｍｅｃｈは、以下の式（１）で示すように、剛体モードＰｎと、共振モードＰ１と、共振モードＰ２との和で表現された伝達関数である。
Ｐｍｅｃｈ（ｓ）＝Ｐｎ（ｓ）＋Ｐ１（ｓ）＋Ｐ２（ｓ）      ・・・（１）
なお、Ｐｎ（ｓ）は、以下の式（２）で表され、Ｐｉ（ｓ）は、以下の式（３）で表される。
【００２２】
【数２】
0005736602.tif 000003
【００２３】
【数３】
0005736602.tif 000004
【００２４】
ここで、終端状態制御（ＦＳＣ）について説明する。ＦＳＣは、与えられたシステムに対して、フィードフォワード入力を加えることによって、対象物を有限時間で指定した終端状態にする制御法である。
【００２５】
例えば、以下の式（４）及び式（５）に示すｍ次の制御システムに対して、初期状態ｘ［０］をＮ（≧ｍ）ステップで終端状態ｘ［Ｎ］に移動させる制御入力ｕ［ｋ］を求めることを考える。
ｘ［ｋ＋１］＝Ａｘ［ｋ］＋Ｂｕ［ｋ］      ・・・（４）
ｙ［ｋ］＝Ｃｘ［ｋ］                      ・・・（５）
式（４）において、ｋに０、１、・・・、Ｎ−１を順に代入すると、以下の式（６）が得られる。但し、Σは、以下の式（７）で表され、Ｕは以下の式（８）で表される。
ｘ［Ｎ］＝ＡＮｘ［０］＋ΣＵ                            ・・・（６）
Σ＝［ＡＮ−１Ｂ  ＡＮ−２Ｂ  ・・・  Ｂ］                  ・・・（７）
Ｕ＝［ｕ［０］  ｕ［１］  ・・・  ｕ［Ｎ−１］］Ｔ      ・・・（８）
（Ａ，Ｂ）が可制御対であり、且つ、Ｎ≧ｍが満たされているため、式（７）において、Σは、正方正則行列又は横長行フルランク行列となる。Σが正方正則行列であれば、式（６）を満たすＵは唯一に求まる。但し、一般には、ステップ数Ｎは制御対象の次数ｍに比べて十分に大きいため、Σは横長行フルランク行列となり、Ｕは唯一に求まらない。
【００２６】
そこで、終端状態制御では、式（６）に基づいて、以下の式（９）を最小化する制御入力Ｕを求める。式（６）に基づく式（９）の最小化問題は、ラグランジュの未定乗数法で解くことが可能であり、その解は、以下の式（１０）で表される。
Ｊ＝ＵＴＱＵ、  Ｑ＞０                                    ・・・（９）
Ｕ＝Ｑ−１ΣＴ（ΣＱ−１ΣＴ）−１（ｘ［Ｎ］−ＡＮｘ［０］）      ・・・（１０）
一方、実際の制御システムでは、機械共振があるため、残留振動と高速性のトレードオフを考慮し、高速性を失わない範囲で滑らかな制御入力を求める必要がある。そこで、図３に示すように、連続時間系における積分器に相当する和分器１／（ｚ−１）を接続し、制御入力ｕｃ［ｋ］の差分値ｕ［ｋ］を考え、差分値ｕ［ｋ］の二乗和を最小化する。これにより、滑らかな制御入力ｕｃ［ｋ］が求められ、目標位置に到達した後の残留振動を抑制することが可能となる。
【００２７】
図３に示す拡大系の状態方程式を求めるため、１入力出力ｍ次の伝達関数であるＰｃ（ｓ）の状態空間実現を以下の式（１１）及び式（１２）で定義する。
【００２８】
【数４】
0005736602.tif 000005
【００２９】
【数５】
0005736602.tif 000006
【００３０】
また、Ｐｃ（ｓ）を零次ホールドにより離散化したＰｄ［ｚ］の状態空間実現を以下の式（１３）及び式（１４）で定義する。
ｘｄ［ｋ＋１］＝Ａｄｘｄ［ｋ］＋Ｂｄｕｄ［ｋ］      ・・・（１３）
ｙ［ｋ］＝Ｃｄｘｄ［ｋ］                          ・・・（１４）
【００３１】
【数６】
0005736602.tif 000007
【００３２】
このとき、ｘｄ［ｋ］＝ｘｃ（ｋτ）、ｙ［ｋ］＝ｙ（ｋτ）が成り立ち、ｕ（ｔ）は、以下の式（１５）を満たす。
ｕｃ（ｋτ＋θ）＝ｕｃ［ｋ］，    ０≦θ＜τ      ・・・（１５）
ここで、（Ａｃ，Ｂｃ）及び（Ａｄ，Ｂｄ）が可制御対であると仮定すると、拡大系Ｐ［ｚ］の状態空間実現は、以下の式（１６）及び式（１７）で求まる。
ｘ［ｋ＋１］＝Ａｘ［ｋ］＋Ｂｕ［ｋ］      ・・・（１６）
ｙ［ｋ］＝Ｃｘ［ｋ］                      ・・・（１７）
【００３３】
【数７】
0005736602.tif 000008
【００３４】
従って、制御対象の初期状態ｘｄ［０］＝０を終端状態ｘｄ［Ｎ］＝ｘＮに遷移させ、且つ、ｕ［ｋ］の二乗和を最小化する軌道は、拡大系（式（１６））に対して終端状態制御を適用し、式（９）におけるＱを単位行列とすることで求められる。このとき、実際の制御入力ｕｃがｕｃ［０］＝０、ｕｃ［Ｎ］＝０を満たすように、初期状態と終端状態については、以下の式（１９）を与える必要がある。
【００３５】
【数８】
0005736602.tif 000009
【００３６】
このようにして求めたフィードフォワード入力をＦＳＣ（Ｆｉｎａｌ−Ｓｔａｔｅ  Ｃｏｔｎｒｏｌ）入力と称し、かかるＦＳＣ入力から得られる軌道をＦＣＳ軌道と称するものとする。
【００３７】
図３に示す拡大系に対して、周波数成分を考慮した制御入力を求めるために、実際の制御対象Ｐｃ（ｓ）に加わる制御入力ｕｃ（ｔ）は、ゼロ次ホールドを通して生成されると仮定する。また、制御入力ｕｃ（ｔ）のフーリエ変換を以下の式で定義する。
【００３８】
【数９】
0005736602.tif 000010
【００３９】
そして、ゲインを任意に選択した周波数点ωｉ（ｉ＝１、・・・、ｌ）で最小化することを考えて、以下の式（２０）で表される目的関数（評価関数）を定義する。
【００４０】
【数１０】
0005736602.tif 000011
【００４１】
式（２０）で表される目的関数を最小化する制御入力Ｕは、式（９）におけるＱを以下のようにすることで求まる。
【００４２】
【数１１】
0005736602.tif 000012
【００４３】
このようにして求めた終端状態制御入力をＦＦＳＣ（Ｆｒｅｑｕｅｎｃｙ−ｓｈａｐｅｄ  Ｆｉｎａｌ−Ｓｔａｔｅ  Ｃｏｎｔｒｏｌ）入力と称する。
【００４４】
従来、終端状態制御問題で入力飽和などを扱う際には、ＬＭＩ（Ｌｉｎｅａｒ  Ｍａｔｒｉｘ  Ｉｎｅｑｕａｌｉｔｙ）として定式化している。但し、制約条件を考慮した終端状態制御では、２次計画問題として定式化することもできるため、ＬＭＩよりも高速に解を求められる可能性がある。
【００４５】
２次計画問題は、変数ベクトルＵに対して、以下の式（２１）に示す等式条件や以下の式（２２）に示す不等式条件を満たし、且つ、以下の式（２３）に示すＵに関する目的関数を最小化する問題として定式化される。なお、式（２２）で示すベクトルに対する不等式条件は、各要素について不等式をとるものとする。
ＡＥＱＵ＝ｂＥＱ              ・・・（２１）
ＡＩＮＥＱＵ≦ｂＩＮＥＱ          ・・・（２２）
Ｊ＝ＵＴＱＵ，  Ｑ＞０      ・・・（２３）
式（６）に示す等式条件は、式（２１）に示す等式条件に対応し、式（９）に示す目的関数は、式（２３）に示す目的関数に対応する。従って、通常の終端状態制御は２次計画法によって解くことができる。更に、式（２２）に示す不等式条件を用いることで、入力飽和などの制約条件も扱うことができる。
【００４６】
そこで、以下の式（２４）に示すように、拡大系の状態ｘ［ｋ］と制御入力ｕ［ｋ］との線形和で制約変数ｚ［ｋ］を定義し、制約変数ｚ［ｋ］に対して、以下の式（２５）に示す制約条件を設定する。
ｚ［ｋ］＝Ｃｚｘ［ｋ］＋Ｄｚｕ［ｋ］      ・・・（２４）
｜ｚ［ｋ］｜≦ｚｍａｘ                    ・・・（２５）
式（２４）において、ｋに０、１、・・・、Ｎ−１を順に代入すると、以下の式（２６）が得られる。また、式（２６）を行列形式で表現すると、以下の式（２７）が得られる。
【００４７】
【数１２】
0005736602.tif 000013
【００４８】
【数１３】
0005736602.tif 000014
【００４９】
式（２５）に示す制約条件は、以下の式（３１）及び式（３２）に示すように、Ｕに対する２つの不等式条件として表すことができるため、式（２２）に示す制約式として２次計画問題の制約条件に帰着することができる。但し、Ｚｍａｘ＝ｚｍａｘ［１、・・・、１］Ｔとする。
ΩｚＵ≦Ｚｍａｘ−Φｚｘ［０］        ・・・（３１）
−ΩｚＵ≦Ｚｍａｘ＋Φｚｘ［０］      ・・・（３２）
理想的な電流フィードバックにより電流指令値とモータに供給する実電流が一致する場合において、摩擦のない慣性系をアクチュエータとする拡大系の構成を図４に示す。図４に示す拡大系を制御対象として、電圧、電流及び速度に制約を設定する場合を考える。なお、制御対象の拡大系Ｐ［ｚ］の状態変数ｘ［ｋ］は、以下の式（３３）で定義する。但し、ｘｐ及びｘｖのそれぞれは、制御対象の位置及び速度であり、ｕｃは電流を表す。
【００５０】
【数１４】
0005736602.tif 000015
【００５１】
電磁アクチュエータでは、電機子に印加する電圧をＶＭ、電機子に流れる電流をｉとすると、以下の関係が成り立つ。但し、ＲＭ、ＬＭ及びＫｅのそれぞれは、電機子の抵抗、インダクタンス及び逆起電力定数である。
【００５２】
【数１５】
0005736602.tif 000016
【００５３】
従って、電流ｉの微分値を前進差分で近似すると、電機子電圧は、図４に示すように、ｚｖｏｌ［ｋ］で表すことができる。また、ｚｖｏｌ［ｋ］を式（２４）で表現すると、以下の式（３４）が得られる。
【００５４】
【数１６】
0005736602.tif 000017
【００５５】
また、電流は、状態変数ｘ［ｋ］に定義されているため、その制御変数は、以下の式（３７）で表される。
【００５６】
【数１７】
0005736602.tif 000018
【００５７】
同様に、速度は、状態変数ｘ［ｋ］に定義されているため、その制御変数は、以下の式（３８）で表される。
【００５８】
【数１８】
0005736602.tif 000019
【００５９】
このような終端状態制御をガルバノ装置に適用した場合について説明する。制御対象は、離散時間の状態空間モデルで表現されていなければならないため、式（１）を各モードの位置と速度が状態変数になるように、伝達関数モデルから以下に示す離散時間状態空間モデルを求める。
【００６０】
【数１９】
0005736602.tif 000020
【００６１】
ここで、Ｐｎ［ｚ］、Ｐ１［ｚ］及びＰ２［ｚ］のそれぞれは、式（２）及び式（３）におけるＰｎ（ｓ）、Ｐ１（ｓ）及びＰ２（ｓ）を状態空間モデルに変換し、サンプリング周期τでゼロ次ホールド離散化を行ったものである。その際、Ｐｎ［ｚ］、Ｐ１［ｚ］及びＰ２［ｚ］のそれぞれに対応する状態変数ｘｎ［ｋ］、ｘ１［ｋ］及びｘ２［ｋ］が、それぞれの位置と速度になるようにする。換言すれば、以下の式を満たすように変換する。
【００６２】
【数２０】
0005736602.tif 000021
【００６３】
但し、ｘ＊ｐ及びｘ＊ｖ（＊は、１、２）は、各モードの位置及び速度を表す。
従って、Ｐｍｅｃｈに対応する状態変数ｘｄは、以下の式（３９）となり、各モードの位置と速度が状態変数に現れる。
【００６４】
【数２１】
0005736602.tif 000022
【００６５】
これに、和分器１／（ｚ−１）を接続して拡大系を構成し、かかる拡大系に対して終端状態制御入力を設定する。そして、式（２４）に示す制約変数を求める。但し、Ｐｍｅｃｈは、剛体モードの他に２つの共振モードを含んでいるため、位置及び速度は、各モードの位置及び速度の和となる。Ｐｍｅｃｈの状態変数が式（３９）で定義されることに注意すると、制約変数ｚｖｏｌ［ｋ］、ｚｃｕｒ［ｋ］及びｚｖｅｌ［ｋ］は、以下の式（４０）、（４１）及び（４２）で表される。
【００６６】
【数２２】
0005736602.tif 000023
【００６７】
本実施形態では、上述したように、即ち、モータ１０４に供給する電流、モータ１０４の移動速度（角速度）、モータ１０４に発生する電圧に制約条件を設定して、電流プロファイルを生成する。換言すれば、等式条件ＡＥＱＵ＝ｂＥＱ、及び、不等式条件ＡＩＮＥＱＵ≦ｂＩＮＥＱを満たし、且つ、目的関数Ｊの値が所定の条件を満たす（例えば、目的関数Ｊの値を最小化する）ように、制御入力Ｕを求める。なお、かかる所定の条件は、目的関数を最小化又は最大化するとの条件のみならず、適用対象や状況などにより、予め定めた許容範囲内に目的関数の値が収まるとの条件など適宜の条件をとりうる。図５は、処理部２０４で行われる電流プロファイルを生成する処理を説明するためのフローチャートである。
【００６８】
Ｓ５０２では、終端状態制御における初期状態、終端状態、終端ステップ数などを含む設定条件（等式条件）を設定する。本実施形態では、初期状態としてｘ［０］＝［０、０、０、０、０、０、０］Ｔを、終端状態としてｘ［Ｎ］、終端ステップ数としてＮ（≧ｍ）を設定するものとする。ｘ［Ｎ］−ＡＮｘ［０］＝ΣＵであるため、ｘ［Ｎ］＝ΣＵとなる。これは、等式条件ＡＥＱＵ＝ｂＥＱの制約を表しており、２次計画問題を解くソルバアルゴリズムを含むソルバ（市販のソルバを用いてもよい）に設定することができる。なお、図５のフローチャートに係る処理は、例えば、当該ソルバをサブルーチンとして含むプログラムにしたがってコンピュータを動作させることにより、実行しうる。その場合、本ステップ（Ｓ５０２）や以降のステップで行う各種設定（上述の設定条件や等式条件・不等式条件としての制約条件の設定を含む設定）は、例えば、当該プログラムのサブルーチンを介してなされうる。
【００６９】
Ｓ５０４では、モータ１０４に供給する電流を制約する制約条件を設定する。
【００７０】
Ｓ５０６では、モータ１０４の移動速度（角速度）を制約する制約条件を設定する。
【００７１】
Ｓ５０８では、モータ１０４に発生する電圧ＶＭを制約する制約条件を設定する。なお、モータ１０４に発生する電圧ＶＭは、上述したように、時系列データとモータ１０４のインピーダンスとにより求められる第１電圧と、モータ１０４の速度とモータ１０４の逆起電力係数とにより求められる第２電圧との和として求められる。
【００７２】
Ｓ５１０では、目的関数を設定する。ここで、目的関数（評価関数）とは、電流プロファイル（時系列データ）を評価するための関数であって、最適化（換言すれば、最小化など、所定の条件を満たすようにすること）の対象となる関数である。目的関数は、例えば、モータ１０４に供給する電流の値（時系列データ）の微分値の二乗和、時系列データの特定の周波数成分の大きさ、モータ１０４に供給する電流の値（時系列データ）の二乗和などの少なくとも１つを含みうる。また、目的関数は、モータ１０４に電流を供給する電流アンプ（供給部２０８）の消費電力、モータ１０４に供給する電流（時系列データ）の絶対値の最大値、及び、時系列データによりモータ１０４に発生する（印加される）電圧の絶対値の最大値を含んでもよい。なお、２次計画法によって時系列データを求める場合、目的関数は、段落００４０乃至段落００４２に例示したように、時系列データの２次関数とする。
【００７３】
Ｓ５１２では、Ｓ５０２で設定した設定条件、Ｓ５０４乃至Ｓ５０８で設定した制約条件を満たすように、且つ、Ｓ５１０で設定した目的関数の値が最小となるように、モータ１０４に供給する電流の値を最適化する。換言すれば、Ｓ５１２では、設定した目的関数の値が所定の条件を満たすように、モータ１０４に供給する電流の値を決定する。これにより、高速、且つ、高精度な位置決めを実現する電流プロファイルが生成される。
【００７４】
なお、本実施形態では、モータ１０４に供給する電流の値を制約する制約条件及びモータ１０４（制御対象）の移動速度を制約する制約条件を設定している（Ｓ５０４及びＳ５０６）。但し、これらの制約条件は必ずしも設定する必要はなく、少なくとも、モータ１０４に発生する電圧の値を制約する制約条件を設定すればよい（Ｓ５０８）。
【００７５】
以下では、具体的な数値例を示す。
【００７６】
制約条件として、モータ１０４に供給する電流は１０［Ａ］以下、モータ１０４の移動速度（角速度）は３５［ｒａｄ／ｓ］以下、モータ１０４への印加電圧（モータ１０４に発生する電圧）は２４［Ｖ］以下とした。
【００７７】
また、設定条件、即ち、初期状態、終端状態、終端ステップ数として、以下の値を設定した。なお、サンプリング周期τは、６．６４［μｓｅｃ］とした。
初期状態：ｘ［０］＝［０，０，０，０，０，０，０］Ｔ
終端状態：ｘ［Ｎ］＝［２１×１０−３［ｒａｄ］，０，０，０，０，０，０］Ｔ
終端ステップ数：Ｎ＝１４３
図６（ａ）、図６（ｂ）及び図６（ｃ）のそれぞれは、制御入力Ｕから求めたモータ１０４に供給する電流、モータ１０４の移動速度及びモータ１０４に発生する電圧を示す図である。図６（ａ）乃至図６（ｃ）を参照するに、モータ１０４に供給する電流、モータ１０４の移動速度及びモータ１０４に発生する電圧は、制約条件を満たしていることがわかる。
【００７８】
また、制御入力Ｕから求めたモータ１０４の位置決め応答（実線）と実際の位置決め応答（点線）とを図７（ａ）に示す。なお、モータ１０４の位置決め応答と実際の位置決め応答との差異を図７（ｂ）に示す。レーザ加工装置で要求されるモータの位置決め精度は、±２５［μｒａｄ］である。図４を参照するに、Ｎ＝１４３（位置決め動作を開始してから０．９５［ｍｓｅｃ］）以降では、レーザ加工装置で要求されるモータの位置決め精度を満たしていることがわかる。
【００７９】
一方、上述した制約条件を設定しない場合には、図８に示す結果となる。図８（ａ）、図８（ｂ）及び図８（ｃ）のそれぞれは、モータ１０４に供給する電流（時系列データ）、モータ１０４の移動速度及びモータ１０４に発生する電圧を示す図である。図８（ａ）乃至図８（ｃ）を参照するに、モータ１０４に供給する電流は制約条件を満たしているが、モータ１０４の移動速度及びモータ１０４に発生する電圧が制約条件を満たしていないことがわかる。その結果、モータ１０４に発生する電圧が飽和し、供給したい電流（時系列データに対応した電流）を流すことができないため、高精度な位置決めができなくなってしまう。また、モータ１０４の移動速度も制約条件を満たしていないため、モータ１０４の位置を正常に検出することができず、高精度な位置決めができなくなってしまう。
【００８０】
なお、ガルバノ装置１０（のミラー１０２）は、レーザ加工装置において、様々な送り角度で位置決めする必要がある。従って、各送り角度に対して電流プロファイルを最適化する必要がある。例えば、送り角度を１［ｍｒａｄ］、２［ｍｒａｄ］、・・・、３５０［ｍｒａｄ］とすると、１［ｍｒａｄ］ごとに電流プロファイルを最適化する必要がある。ここで、送り角度１．５［ｍｒａｄ］の位置決めを行う際には、より大きな送り角度である２［ｍｒａｄ］の電流プロファイルに沿って位置決め動作を行う。従って、送り角度を細かくし、より多くの電流プロファイルを求めることが最適な位置決めにつながるが、電流プロファイルの生成には長時間を要するため、従来技術では実現することが困難であった。
【００８１】
そこで、本実施形態では、送り角度を７０［ｍｒａｄ］とし、電流プロファイルの生成に要する時間を短縮することについて考える。なお、設定条件、即ち、初期状態、終端状態、終端ステップ数として、以下の値を設定した。制約条件は、上述した最大値を設定した。また、サンプリング周期τは、６．６４［μｓｅｃ］とした。
初期状態：ｘ［０］＝［０，０，０，０，０，０，０］Ｔ
終端状態：ｘ［Ｎ］＝［７０×１０−３［ｒａｄ］，０，０，０，０，０，０］Ｔ
終端ステップ数：Ｎ＝３６１
図９（ａ）、図９（ｂ）及び図９（ｃ）のそれぞれは、制御入力Ｕから求めたモータ１０４に供給する電流、モータ１０４の移動速度及びモータ１０４に発生する電圧を示す図である。制御入力Ｕを求めるために必要な時間は２０４秒であった。図９（ａ）乃至図９（ｃ）を参照するに、０．４３［ｍｓｅｃ］から１．９５［ｍｓｅｃ］の間において、モータ１０４に供給する電流はほぼ０となり、モータ１０４はほぼ等速運動をしていることがわかる。そこで、電流指令値が０となる区間を設定することによって（即ち、モータ１０４に供給する電流の時系列データの一部が所定値となるように制約する制約条件を設定することで）、計算時間を短縮することが可能となる。
【００８２】
ここで、ステップ数ｋ０からｋ０＋Ｎｋ−１までの区間における電流指令値を０とする場合、式（４１）において、Ｚｃｕｒ［ｋ０］＝０、Ｚｃｕｒ［ｋ０＋１］＝０、・・・、Ｚｃｕｒ［ｋ０＋Ｎｋ−１］＝０とすればよい。この条件をソルバの等式制約条件に追加するために以下の手順で式の変形を行う。
【００８３】
まず、式（４１）のＺｃｕｒ［ｋ］を式（２７）の形Ｚ＝ΩｚＵ＋Φｚｘ［０］に変形する。次に、ｋ０＋１からｋ０＋Ｎｋ番目の要素以外の電流指令値をゼロとする取り出し行列をＴｃｕｒ０とする（Ｔｃｕｒ０は、ｋ０＋１からｋ０＋Ｎｋ番目の要素を１とするＮ次の対角行列である）。式（２７）の形に変形した式Ｚ＝ΩｚＵ＋Φｚｘ［０］に対して左側からＴｃｕｒ０をかけると、Ｔｃｕｒ０Ｚ＝Ｔｃｕｒ０ΩｚＵ＋Ｔｃｕｒ０Φｚｘ［０］＝０となり、式２１の形となるため、ソルバの等式制約条件に追加することができる。
【００８４】
０．６［ｍｓｅｃ］から１．８［ｍｓｅｃ］（ｋ０＝９０からＮｋ＝２７１）までの区間における電流指令値を０とした場合の結果を図１０に示す。図１０（ａ）、図１０（ｂ）及び図１０（ｃ）のそれぞれは、モータ１０４に供給する電流、モータ１０４の移動速度及びモータ１０４に発生する電圧を示す図である。図１０（ａ）乃至図１０（ｃ）を参照するに、０．５［ｍｓｅｃ］から１．９［ｍｓｅｃ］までの区間における電流は０であり、モータ１０４に供給する電流、モータ１０４の移動速度及びモータ１０４に発生する電圧は、制約条件を満たしていることがわかる。なお、制御入力Ｕを求めるために必要な時間は３３秒であり、計算時間を大幅に短縮することができる。
【００８５】
以下、図１１を参照して、図１に示すガルバノ装置の制御システム１を適用したレーザ加工装置１０００について説明する。レーザ加工装置１０００は、加工対象の物体（被照射体）ＯＢにレーザ光ＬＬを照射し、例えば、物体ＯＢの切断、穴あけ、溶接などの加工を行う装置である。
【００８６】
レーザ加工装置１０００は、Ｘ軸モータ１００２と、Ｙ軸モータ１００４とを備える。Ｘ軸モータ１００２は、回転軸に取り付けられたＸ軸ミラー１００６を回転させて、第１の位置（初期状態）から移動させて第２の位置（終端状態）に停止させる。同様に、Ｙ軸モータ１００４は、回転軸に取り付けられたＹ軸ミラー１００８を回転させて、第１の位置（初期状態）から移動させて第２の位置（終端状態）に停止させる。
【００８７】
Ｘ軸検出部１０１０は、例えば、ロータリエンコーダで構成され、Ｘ軸ミラー１００６の回転角度（即ち、Ｘ軸モータ１００２の回転軸の回転角度）を検出する。同様に、Ｙ軸検出部１０１２は、例えば、ロータリエンコーダで構成され、Ｙ軸ミラー１００８の回転角度（即ち、Ｙ軸モータ１００４の回転軸の回転角度）を検出する。
【００８８】
主制御部１０１４は、レーザ加工装置１０００の全体（動作）を制御し、本実施形態では、上述した処理部２０４の機能を有する。具体的には、主制御部１０１４は、Ｘ軸検出部１０１０で検出されるＸ軸ミラー１００６の回転角度が目標角度となるように、Ｘ軸モータ１００２に供給する電流を時系列的に表す電流プロファイルを生成する処理を行う。同様に、主制御部１０１４は、Ｙ軸検出部１０１２で検出されるＹ軸ミラー１００８の回転角度が目標角度となるように、Ｙ軸モータ１００４に供給する電流を時系列的に表す電流プロファイルを生成する処理を行う。また、主制御部１０１４は、光源１０１６に対して、レーザ光ＬＬの照射（発光）を指示するＯＮ信号やレーザ光ＬＬの非照射（非発光）を指示するＯＦＦ信号を出力する。
【００８９】
Ｘ軸モータ位置指令部１０１８は、主制御部１０１４からの電流プロファイルに基づいて、Ｘ軸モータ制御部１０２０に所定の指令信号を出力する。同様に、Ｙ軸モータ位置指令部１０２２は、主制御部１０１４からの電流プロファイルに基づいて、Ｙ軸モータ制御部１０２４に所定の指令信号を出力する。
【００９０】
Ｘ軸モータ制御部１０２０は、電流アンプを含み、Ｘ軸モータ位置指令部１０１８からの指令信号に基づいて、電流プロファイルに対応する電流をＸ軸モータ１００２に供給する。同様に、Ｙ軸モータ制御部１０２４は、電流アンプを含み、Ｙ軸モータ位置指令部１０２２からの指令信号に基づいて、電流プロファイルに対応する電流をＹ軸モータ１００４に供給する。
【００９１】
物体ＯＢの加工において、光源１０１６からのレーザ光ＬＬは、Ｙ軸ミラー１００８及びＸ軸ミラー１００６で反射され、物体ＯＢに照射される。レーザ光ＬＬは、Ｘ軸ミラー１００６が回転することによって、物体ＯＢにおいてＸ軸方向（正側及び負側）に走査される。また、レーザ光ＬＬは、Ｙ軸ミラー１００８が回転することによって、物体ＯＢにおいてＹ軸方向（正側及び負側）に走査される。この際、Ｘ軸ミラー１００６及びＹ軸ミラー１００８のそれぞれは、高速、且つ、高精度な位置決めを実現する電流プロファイルに対応する電流が供給されたＸ軸モータ１００２及びＹ軸モータ１００４によって駆動される。従って、レーザ加工装置１０００は、高速、且つ、高精度に物体ＯＢを加工することができる。
【００９２】
また、本発明は、以下の処理を実行することによっても実現される。その処理とは、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び、かかるプログラムを記憶した記憶媒体は本発明を構成することになる。
【００９３】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されないことはいうまでもなく、その要旨の範囲内で種々の変形及び変更が可能である。
【図１】
0005736602.tif 000024
【図２】
0005736602.tif 000025
【図３】
0005736602.tif 000026
【図４】
0005736602.tif 000027
【図５】
0005736602.tif 000028
【図６】
0005736602.tif 000029
【図７】
0005736602.tif 000030
【図８】
0005736602.tif 000031
【図９】
0005736602.tif 000032
【図１０】
0005736602.tif 000033
【図１１】
0005736602.tif 000034