モータに供給する電流の時系列データを生成するプログラム、方法、装置及びレーザ加工装置
【課題】モータに印加される電圧を飽和させない電流の時系列データを得るのに有利な技術を提供する。
【解決手段】対象物を移動させるモータを含む制御系を第1状態から第2状態へ遷移させるために前記モータに供給する電流の時系列データをコンピュータに生成させるプログラムであって、前記コンピュータに、前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件を含む制約条件を設定させ、前記時系列データを評価するための評価関数を設定させ、前記制約条件を満たすように、且つ、前記評価関数の値が所定の条件を満たすように、前記時系列データを求めさせる、ことを特徴とするプログラムを提供する。
【解決手段】対象物を移動させるモータを含む制御系を第1状態から第2状態へ遷移させるために前記モータに供給する電流の時系列データをコンピュータに生成させるプログラムであって、前記コンピュータに、前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件を含む制約条件を設定させ、前記時系列データを評価するための評価関数を設定させ、前記制約条件を満たすように、且つ、前記評価関数の値が所定の条件を満たすように、前記時系列データを求めさせる、ことを特徴とするプログラムを提供する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータに供給する電流の時系列データを生成するプログラム、方法、装置及びレーザ加工装置に関する。
【背景技術】
【0002】
レーザ穴あけ装置、レーザトリマ装置、レーザリペア装置などのレーザ加工装置(工作機械装置)では、ガルバノ装置が使用されている。ガルバノ装置は、モータの回転軸に取り付けられたミラーの回転角度を制御しながら、かかるミラーでレーザ光を反射して目標位置に照射する。レーザ光の照射位置を目標位置に位置決めする際には、ミラーの回転角度を制御することが必要となるため、ガルバノ装置には、ミラーの回転角度を検出する検出器(例えば、静電容量センサ、光学式又は磁気式エンコーダ)が備えられている。
【0003】
また、レーザ加工装置においては、生産性の向上や加工品質の向上が要求されているため、ガルバノ装置のモータには、ミラーを高速、且つ、高精度に目標位置に位置決めすることが求められている。一方、ハードディスクのシーク制御では、モータに供給する電流の時系列データを求める際に、モータに供給する電流の絶対値の最大値を制約する条件を設定し、かかる条件下において最適な時系列データを求める技術が提案されている(非特許文献1参照)。この技術では、機械共振の共振周波数変動を考慮した終端状態制御により、高速・高精度な位置決めを実現している。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】平田光男、長谷川辰紀、野波健蔵:「入力の周波数成分と飽和を考慮した終端状態制御によるハードディスクのシーク制御」、第30回制御理論シンポジウム資料、pp97−102(2001)
【発明の概要】
【発明が解決しようとする課題】
【0005】
制御入力及び状態に飽和が起こらないようにするためには、例えば、モータの駆動回路である電流アンプの高電流化・高電圧化をすればよい。しかしながら、そうすることは、電流アンプの発熱や消費電力を増大させるため、制御系の更なる高速化を図るうえで支障となりうる。また、高電流化・高電圧化をしない場合には、求められた時系列データによりモータに印加される電圧の飽和が生じうるため、高速、且つ、高精度な制御を実現していくうえで支障となりうる。
【0006】
本発明は、モータに印加される電圧を飽和させない電流の時系列データを得るのに有利な技術を提供することを例示的目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の一側面としてのプログラムは、対象物を移動させるモータを含む制御系を第1状態から第2状態へ遷移させるために前記モータに供給する電流の時系列データをコンピュータに生成させるプログラムであって、前記コンピュータに、前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件を含む制約条件を設定させ、前記時系列データを評価するための評価関数を設定させ、前記制約条件を満たすように、且つ、前記評価関数の値が所定の条件を満たすように、前記時系列データを求めさせる、ことを特徴とする。
【0008】
本発明の更なる目的又はその他の側面は、以下、添付図面を参照して説明される好ましい実施形態によって明らかにされるであろう。
【発明の効果】
【0009】
本発明によれば、例えば、モータに印加される電圧を飽和させない電流の時系列データを得るのに有利な技術を提供することができる。
【図面の簡単な説明】
【0010】
【図1】ガルバノ装置の制御システムの構成を示す概略図である。
【図2】ガルバノ装置の周波数応答を示す図である。
【図3】拡大系の構成の一例を示す図である。
【図4】摩擦のない慣性系をアクチュエータとする拡大系の構成の一例を示す図である。
【図5】電流プロファイルを生成する処理を説明するためのフローチャートである。
【図6】モータに供給する電流、モータの移動速度及びモータに発生する電圧を示す図である。
【図7】モータの位置決め応答と実際の位置決め応答とを示す図である。
【図8】モータに供給する電流、モータの移動速度及びモータに発生する電圧を示す図である。
【図9】モータに供給する電流、モータの移動速度及びモータに発生する電圧を示す図である。
【図10】モータに供給する電流、モータの移動速度及びモータに発生する電圧を示す図である。
【図11】レーザ加工装置の構成を示す概略図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して、本発明の好適な実施の形態について説明する。なお、各図において、同一の部材については同一の参照番号を付し、重複する説明は省略する。
【0012】
図1は、ガルバノ装置の制御システム1を示す概略図である。制御システム1は、レーザ穴あけ装置、レーザトリマ装置、レーザリペア装置などのレーザ加工装置に適用され、レーザ光を反射して被照射体(加工対象の物品)の目標位置に照射するためのシステムであって、ガルバノ装置10と、制御装置20とを有する。
【0013】
ガルバノ装置10は、ミラー102と、モータ104とを含む。ミラー102は、モータ104の回転軸に取り付けられ、レーザ光を被照射体や他のミラーに向けて反射する。モータ104は、対象物としてのミラーを回転させる、即ち、第1の位置(初期状態)から移動させて第2の位置(終端状態)に停止させるDCサーボモータである。ここで、モータ104の位置とは、モータ104(の回転軸)の角度も含みうる。
【0014】
制御装置20は、ガルバノ装置10(のモータ104)に対して終端状態制御(FSC:Final−State Control)を行う機能を有し、本実施形態では、検出部202と、処理部204と、D/A変換部206と、供給部208とを含む。
【0015】
検出部202は、例えば、モータ104の回転軸に取り付けられたロータリエンコーダで構成され、ミラー102の回転角度(即ち、モータ104の回転軸の回転角度)を検出する。
【0016】
処理部204は、CPUやメモリなどを含み、検出部202で検出されるミラー102の回転角度が目標角度となるように、モータ104に供給する電流を時系列的に表す電流プロファイルを生成する処理を行う。なお、電流プロファイルは、換言すれば、モータ104を含む制御系を第1状態から第2状態へ遷移させるためにモータ104に供給する電流の時系列データである。処理部204は、本実施形態では、メモリに格納されたプログラムを実行して、後述する電流プロファイルを生成するための各処理を行う。但し、外部の情報処理装置(コンピュータなど)で電流プロファイルを生成するための各処理を行って生成された電流プロファイルを処理部204のメモリに格納してもよい。
【0017】
D/A変換部206は、処理部204から入力されるデジタル形式の電流プロファイル(デジタル信号)をアナログ形式の電流プロファイル(アナログ信号)に変換して供給部208に入力する。
【0018】
供給部208は、例えば、ブリッジ駆動のリニアアンプ(電流アンプ)を含み、処理部204で生成した電流プロファイル(電流指令値iref)に対応する電流iをモータ104に供給する。なお、供給部208は、電流指令値irefとモータ104に供給する電流iとが同じになるように、電流フィードバック制御を行うことが可能である。
【0019】
本実施形態では、ガルバノ装置10は、図2(a)及び図2(b)に示すような周波数応答(電流指令値irefからモータ104の回転軸の角度yまでの実測した周波数応答)を有するものとする。図2(a)では、横軸に周波数[Hz/unit]、縦軸にゲイン[dB]を採用し、図2(b)では、横軸に周波数[Hz/unit]、縦軸に位相[deg]を採用している。なお、[Hz/unit]は最初の共振ピークの周波数が1になるように正規化した単位である。また、実線は実測値を示し、点線はモデル値を示している。図2(a)及び図2(b)を参照するに、ガルバノ装置10は、2つの共振を高周波領域に有している。そこで、ガルバノ装置10の周波数応答を、剛体モード、2つの共振モード、むだ時間からなる以下の伝達関数でモデリングする。
【0020】
【数1】
【0021】
Pmechは、以下の式(1)で示すように、剛体モードPnと、共振モードP1と、共振モードP2との和で表現された伝達関数である。
Pmech(s)=Pn(s)+P1(s)+P2(s) ・・・(1)
なお、Pn(s)は、以下の式(2)で表され、Pi(s)は、以下の式(3)で表される。
【0022】
【数2】
【0023】
【数3】
【0024】
ここで、終端状態制御(FSC)について説明する。FSCは、与えられたシステムに対して、フィードフォワード入力を加えることによって、対象物を有限時間で指定した終端状態にする制御法である。
【0025】
例えば、以下の式(4)及び式(5)に示すm次の制御システムに対して、初期状態x[0]をN(≧m)ステップで終端状態x[N]に移動させる制御入力u[k]を求めることを考える。
x[k+1]=Ax[k]+Bu[k] ・・・(4)
y[k]=Cx[k] ・・・(5)
式(4)において、kに0、1、・・・、N−1を順に代入すると、以下の式(6)が得られる。但し、Σは、以下の式(7)で表され、Uは以下の式(8)で表される。
x[N]=ANx[0]+ΣU ・・・(6)
Σ=[AN−1B AN−2B ・・・ B] ・・・(7)
U=[u[0] u[1] ・・・ u[N−1]]T ・・・(8)
(A,B)が可制御対であり、且つ、N≧mが満たされているため、式(7)において、Σは、正方正則行列又は横長行フルランク行列となる。Σが正方正則行列であれば、式(6)を満たすUは唯一に求まる。但し、一般には、ステップ数Nは制御対象の次数mに比べて十分に大きいため、Σは横長行フルランク行列となり、Uは唯一に求まらない。
【0026】
そこで、終端状態制御では、式(6)に基づいて、以下の式(9)を最小化する制御入力Uを求める。式(6)に基づく式(9)の最小化問題は、ラグランジュの未定乗数法で解くことが可能であり、その解は、以下の式(10)で表される。
J=UTQU、 Q>0 ・・・(9)
U=Q−1ΣT(ΣQ−1ΣT)−1(x[N]−ANx[0]) ・・・(10)
一方、実際の制御システムでは、機械共振があるため、残留振動と高速性のトレードオフを考慮し、高速性を失わない範囲で滑らかな制御入力を求める必要がある。そこで、図3に示すように、連続時間系における積分器に相当する和分器1/(z−1)を接続し、制御入力uc[k]の差分値u[k]を考え、差分値u[k]の二乗和を最小化する。これにより、滑らかな制御入力uc[k]が求められ、目標位置に到達した後の残留振動を抑制することが可能となる。
【0027】
図3に示す拡大系の状態方程式を求めるため、1入力出力m次の伝達関数であるPc(s)の状態空間実現を以下の式(11)及び式(12)で定義する。
【0028】
【数4】
【0029】
【数5】
【0030】
また、Pc(s)を零次ホールドにより離散化したPd[z]の状態空間実現を以下の式(13)及び式(14)で定義する。
xd[k+1]=Adxd[k]+Bdud[k] ・・・(13)
y[k]=Cdxd[k] ・・・(14)
【0031】
【数6】
【0032】
このとき、xd[k]=xc(kτ)、y[k]=y(kτ)が成り立ち、u(t)は、以下の式(15)を満たす。
uc(kτ+θ)=uc[k], 0≦θ<τ ・・・(15)
ここで、(Ac,Bc)及び(Ad,Bd)が可制御対であると仮定すると、拡大系P[z]の状態空間実現は、以下の式(16)及び式(17)で求まる。
x[k+1]=Ax[k]+Bu[k] ・・・(16)
y[k]=Cx[k] ・・・(17)
【0033】
【数7】
【0034】
従って、制御対象の初期状態xd[0]=0を終端状態xd[N]=xNに遷移させ、且つ、u[k]の二乗和を最小化する軌道は、拡大系(式(16))に対して終端状態制御を適用し、式(9)におけるQを単位行列とすることで求められる。このとき、実際の制御入力ucがuc[0]=0、uc[N]=0を満たすように、初期状態と終端状態については、以下の式(19)を与える必要がある。
【0035】
【数8】
【0036】
このようにして求めたフィードフォワード入力をFSC(Final−State Cotnrol)入力と称し、かかるFSC入力から得られる軌道をFCS軌道と称するものとする。
【0037】
図3に示す拡大系に対して、周波数成分を考慮した制御入力を求めるために、実際の制御対象Pc(s)に加わる制御入力uc(t)は、ゼロ次ホールドを通して生成されると仮定する。また、制御入力uc(t)のフーリエ変換を以下の式で定義する。
【0038】
【数9】
【0039】
そして、ゲインを任意に選択した周波数点ωi(i=1、・・・、l)で最小化することを考えて、以下の式(20)で表される目的関数(評価関数)を定義する。
【0040】
【数10】
【0041】
式(20)で表される目的関数を最小化する制御入力Uは、式(9)におけるQを以下のようにすることで求まる。
【0042】
【数11】
【0043】
このようにして求めた終端状態制御入力をFFSC(Frequency−shaped Final−State Control)入力と称する。
【0044】
従来、終端状態制御問題で入力飽和などを扱う際には、LMI(Linear Matrix Inequality)として定式化している。但し、制約条件を考慮した終端状態制御では、2次計画問題として定式化することもできるため、LMIよりも高速に解を求められる可能性がある。
【0045】
2次計画問題は、変数ベクトルUに対して、以下の式(21)に示す等式条件や以下の式(22)に示す不等式条件を満たし、且つ、以下の式(23)に示すUに関する目的関数を最小化する問題として定式化される。なお、式(22)で示すベクトルに対する不等式条件は、各要素について不等式をとるものとする。
AEQU=bEQ ・・・(21)
AINEQU≦bINEQ ・・・(22)
J=UTQU, Q>0 ・・・(23)
式(6)に示す等式条件は、式(21)に示す等式条件に対応し、式(9)に示す目的関数は、式(23)に示す目的関数に対応する。従って、通常の終端状態制御は2次計画法によって解くことができる。更に、式(22)に示す不等式条件を用いることで、入力飽和などの制約条件も扱うことができる。
【0046】
そこで、以下の式(24)に示すように、拡大系の状態x[k]と制御入力u[k]との線形和で制約変数z[k]を定義し、制約変数z[k]に対して、以下の式(25)に示す制約条件を設定する。
z[k]=Czx[k]+Dzu[k] ・・・(24)
|z[k]|≦zmax ・・・(25)
式(24)において、kに0、1、・・・、N−1を順に代入すると、以下の式(26)が得られる。また、式(26)を行列形式で表現すると、以下の式(27)が得られる。
【0047】
【数12】
【0048】
【数13】
【0049】
式(25)に示す制約条件は、以下の式(31)及び式(32)に示すように、Uに対する2つの不等式条件として表すことができるため、式(22)に示す制約式として2次計画問題の制約条件に帰着することができる。但し、Zmax=zmax[1、・・・、1]Tとする。
ΩzU≦Zmax−Φzx[0] ・・・(31)
−ΩzU≦Zmax+Φzx[0] ・・・(32)
理想的な電流フィードバックにより電流指令値とモータに供給する実電流が一致する場合において、摩擦のない慣性系をアクチュエータとする拡大系の構成を図4に示す。図4に示す拡大系を制御対象として、電圧、電流及び速度に制約を設定する場合を考える。なお、制御対象の拡大系P[z]の状態変数x[k]は、以下の式(33)で定義する。但し、xp及びxvのそれぞれは、制御対象の位置及び速度であり、ucは電流を表す。
【0050】
【数14】
【0051】
電磁アクチュエータでは、電機子に印加する電圧をVM、電機子に流れる電流をiとすると、以下の関係が成り立つ。但し、RM、LM及びKeのそれぞれは、電機子の抵抗、インダクタンス及び逆起電力定数である。
【0052】
【数15】
【0053】
従って、電流iの微分値を前進差分で近似すると、電機子電圧は、図4に示すように、zvol[k]で表すことができる。また、zvol[k]を式(24)で表現すると、以下の式(34)が得られる。
【0054】
【数16】
【0055】
また、電流は、状態変数x[k]に定義されているため、その制御変数は、以下の式(37)で表される。
【0056】
【数17】
【0057】
同様に、速度は、状態変数x[k]に定義されているため、その制御変数は、以下の式(38)で表される。
【0058】
【数18】
【0059】
このような終端状態制御をガルバノ装置に適用した場合について説明する。制御対象は、離散時間の状態空間モデルで表現されていなければならないため、式(1)を各モードの位置と速度が状態変数になるように、伝達関数モデルから以下に示す離散時間状態空間モデルを求める。
【0060】
【数19】
【0061】
ここで、Pn[z]、P1[z]及びP2[z]のそれぞれは、式(2)及び式(3)におけるPn(s)、P1(s)及びP2(s)を状態空間モデルに変換し、サンプリング周期τでゼロ次ホールド離散化を行ったものである。その際、Pn[z]、P1[z]及びP2[z]のそれぞれに対応する状態変数xn[k]、x1[k]及びx2[k]が、それぞれの位置と速度になるようにする。換言すれば、以下の式を満たすように変換する。
【0062】
【数20】
【0063】
但し、x*p及びx*v(*は、1、2)は、各モードの位置及び速度を表す。
従って、Pmechに対応する状態変数xdは、以下の式(39)となり、各モードの位置と速度が状態変数に現れる。
【0064】
【数21】
【0065】
これに、和分器1/(z−1)を接続して拡大系を構成し、かかる拡大系に対して終端状態制御入力を設定する。そして、式(24)に示す制約変数を求める。但し、Pmechは、剛体モードの他に2つの共振モードを含んでいるため、位置及び速度は、各モードの位置及び速度の和となる。Pmechの状態変数が式(39)で定義されることに注意すると、制約変数zvol[k]、zcur[k]及びzvel[k]は、以下の式(40)、(41)及び(42)で表される。
【0066】
【数22】
【0067】
本実施形態では、上述したように、即ち、モータ104に供給する電流、モータ104の移動速度(角速度)、モータ104に発生する電圧に制約条件を設定して、電流プロファイルを生成する。換言すれば、等式条件AEQU=bEQ、及び、不等式条件AINEQU≦bINEQを満たし、且つ、目的関数Jの値が所定の条件を満たす(例えば、目的関数Jの値を最小化する)ように、制御入力Uを求める。なお、かかる所定の条件は、目的関数を最小化又は最大化するとの条件のみならず、適用対象や状況などにより、予め定めた許容範囲内に目的関数の値が収まるとの条件など適宜の条件をとりうる。図5は、処理部204で行われる電流プロファイルを生成する処理を説明するためのフローチャートである。
【0068】
S502では、終端状態制御における初期状態、終端状態、終端ステップ数などを含む設定条件(等式条件)を設定する。本実施形態では、初期状態としてx[0]=[0、0、0、0、0、0、0]Tを、終端状態としてx[N]、終端ステップ数としてN(≧m)を設定するものとする。x[N]−ANx[0]=ΣUであるため、x[N]=ΣUとなる。これは、等式条件AEQU=bEQの制約を表しており、2次計画問題を解くソルバアルゴリズムを含むソルバ(市販のソルバを用いてもよい)に設定することができる。なお、図5のフローチャートに係る処理は、例えば、当該ソルバをサブルーチンとして含むプログラムにしたがってコンピュータを動作させることにより、実行しうる。その場合、本ステップ(S502)や以降のステップで行う各種設定(上述の設定条件や等式条件・不等式条件としての制約条件の設定を含む設定)は、例えば、当該プログラムのサブルーチンを介してなされうる。
【0069】
S504では、モータ104に供給する電流を制約する制約条件を設定する。
【0070】
S506では、モータ104の移動速度(角速度)を制約する制約条件を設定する。
【0071】
S508では、モータ104に発生する電圧VMを制約する制約条件を設定する。なお、モータ104に発生する電圧VMは、上述したように、時系列データとモータ104のインピーダンスとにより求められる第1電圧と、モータ104の速度とモータ104の逆起電力係数とにより求められる第2電圧との和として求められる。
【0072】
S510では、目的関数を設定する。ここで、目的関数(評価関数)とは、電流プロファイル(時系列データ)を評価するための関数であって、最適化(換言すれば、最小化など、所定の条件を満たすようにすること)の対象となる関数である。目的関数は、例えば、モータ104に供給する電流の値(時系列データ)の微分値の二乗和、時系列データの特定の周波数成分の大きさ、モータ104に供給する電流の値(時系列データ)の二乗和などの少なくとも1つを含みうる。また、目的関数は、モータ104に電流を供給する電流アンプ(供給部208)の消費電力、モータ104に供給する電流(時系列データ)の絶対値の最大値、及び、時系列データによりモータ104に発生する(印加される)電圧の絶対値の最大値を含んでもよい。なお、2次計画法によって時系列データを求める場合、目的関数は、段落0040乃至段落0042に例示したように、時系列データの2次関数とする。
【0073】
S512では、S502で設定した設定条件、S504乃至S508で設定した制約条件を満たすように、且つ、S510で設定した目的関数の値が最小となるように、モータ104に供給する電流の値を最適化する。換言すれば、S512では、設定した目的関数の値が所定の条件を満たすように、モータ104に供給する電流の値を決定する。これにより、高速、且つ、高精度な位置決めを実現する電流プロファイルが生成される。
【0074】
なお、本実施形態では、モータ104に供給する電流の値を制約する制約条件及びモータ104(制御対象)の移動速度を制約する制約条件を設定している(S504及びS506)。但し、これらの制約条件は必ずしも設定する必要はなく、少なくとも、モータ104に発生する電圧の値を制約する制約条件を設定すればよい(S508)。
【0075】
以下では、具体的な数値例を示す。
【0076】
制約条件として、モータ104に供給する電流は10[A]以下、モータ104の移動速度(角速度)は35[rad/s]以下、モータ104への印加電圧(モータ104に発生する電圧)は24[V]以下とした。
【0077】
また、設定条件、即ち、初期状態、終端状態、終端ステップ数として、以下の値を設定した。なお、サンプリング周期τは、6.64[μsec]とした。
初期状態:x[0]=[0,0,0,0,0,0,0]T
終端状態:x[N]=[21×10−3[rad],0,0,0,0,0,0]T
終端ステップ数:N=143
図6(a)、図6(b)及び図6(c)のそれぞれは、制御入力Uから求めたモータ104に供給する電流、モータ104の移動速度及びモータ104に発生する電圧を示す図である。図6(a)乃至図6(c)を参照するに、モータ104に供給する電流、モータ104の移動速度及びモータ104に発生する電圧は、制約条件を満たしていることがわかる。
【0078】
また、制御入力Uから求めたモータ104の位置決め応答(実線)と実際の位置決め応答(点線)とを図7(a)に示す。なお、モータ104の位置決め応答と実際の位置決め応答との差異を図7(b)に示す。レーザ加工装置で要求されるモータの位置決め精度は、±25[μrad]である。図4を参照するに、N=143(位置決め動作を開始してから0.95[msec])以降では、レーザ加工装置で要求されるモータの位置決め精度を満たしていることがわかる。
【0079】
一方、上述した制約条件を設定しない場合には、図8に示す結果となる。図8(a)、図8(b)及び図8(c)のそれぞれは、モータ104に供給する電流(時系列データ)、モータ104の移動速度及びモータ104に発生する電圧を示す図である。図8(a)乃至図8(c)を参照するに、モータ104に供給する電流は制約条件を満たしているが、モータ104の移動速度及びモータ104に発生する電圧が制約条件を満たしていないことがわかる。その結果、モータ104に発生する電圧が飽和し、供給したい電流(時系列データに対応した電流)を流すことができないため、高精度な位置決めができなくなってしまう。また、モータ104の移動速度も制約条件を満たしていないため、モータ104の位置を正常に検出することができず、高精度な位置決めができなくなってしまう。
【0080】
なお、ガルバノ装置10(のミラー102)は、レーザ加工装置において、様々な送り角度で位置決めする必要がある。従って、各送り角度に対して電流プロファイルを最適化する必要がある。例えば、送り角度を1[mrad]、2[mrad]、・・・、350[mrad]とすると、1[mrad]ごとに電流プロファイルを最適化する必要がある。ここで、送り角度1.5[mrad]の位置決めを行う際には、より大きな送り角度である2[mrad]の電流プロファイルに沿って位置決め動作を行う。従って、送り角度を細かくし、より多くの電流プロファイルを求めることが最適な位置決めにつながるが、電流プロファイルの生成には長時間を要するため、従来技術では実現することが困難であった。
【0081】
そこで、本実施形態では、送り角度を70[mrad]とし、電流プロファイルの生成に要する時間を短縮することについて考える。なお、設定条件、即ち、初期状態、終端状態、終端ステップ数として、以下の値を設定した。制約条件は、上述した最大値を設定した。また、サンプリング周期τは、6.64[μsec]とした。
初期状態:x[0]=[0,0,0,0,0,0,0]T
終端状態:x[N]=[70×10−3[rad],0,0,0,0,0,0]T
終端ステップ数:N=361
図9(a)、図9(b)及び図9(c)のそれぞれは、制御入力Uから求めたモータ104に供給する電流、モータ104の移動速度及びモータ104に発生する電圧を示す図である。制御入力Uを求めるために必要な時間は204秒であった。図9(a)乃至図9(c)を参照するに、0.43[msec]から1.95[msec]の間において、モータ104に供給する電流はほぼ0となり、モータ104はほぼ等速運動をしていることがわかる。そこで、電流指令値が0となる区間を設定することによって(即ち、モータ104に供給する電流の時系列データの一部が所定値となるように制約する制約条件を設定することで)、計算時間を短縮することが可能となる。
【0082】
ここで、ステップ数k0からk0+Nk−1までの区間における電流指令値を0とする場合、式(41)において、Zcur[k0]=0、Zcur[k0+1]=0、・・・、Zcur[k0+Nk−1]=0とすればよい。この条件をソルバの等式制約条件に追加するために以下の手順で式の変形を行う。
【0083】
まず、式(41)のZcur[k]を式(27)の形Z=ΩzU+Φzx[0]に変形する。次に、k0+1からk0+Nk番目の要素以外の電流指令値をゼロとする取り出し行列をTcur0とする(Tcur0は、k0+1からk0+Nk番目の要素を1とするN次の対角行列である)。式(27)の形に変形した式Z=ΩzU+Φzx[0]に対して左側からTcur0をかけると、Tcur0Z=Tcur0ΩzU+Tcur0Φzx[0]=0となり、式21の形となるため、ソルバの等式制約条件に追加することができる。
【0084】
0.6[msec]から1.8[msec](k0=90からNk=271)までの区間における電流指令値を0とした場合の結果を図10に示す。図10(a)、図10(b)及び図10(c)のそれぞれは、モータ104に供給する電流、モータ104の移動速度及びモータ104に発生する電圧を示す図である。図10(a)乃至図10(c)を参照するに、0.5[msec]から1.9[msec]までの区間における電流は0であり、モータ104に供給する電流、モータ104の移動速度及びモータ104に発生する電圧は、制約条件を満たしていることがわかる。なお、制御入力Uを求めるために必要な時間は33秒であり、計算時間を大幅に短縮することができる。
【0085】
以下、図11を参照して、図1に示すガルバノ装置の制御システム1を適用したレーザ加工装置1000について説明する。レーザ加工装置1000は、加工対象の物体(被照射体)OBにレーザ光LLを照射し、例えば、物体OBの切断、穴あけ、溶接などの加工を行う装置である。
【0086】
レーザ加工装置1000は、X軸モータ1002と、Y軸モータ1004とを備える。X軸モータ1002は、回転軸に取り付けられたX軸ミラー1006を回転させて、第1の位置(初期状態)から移動させて第2の位置(終端状態)に停止させる。同様に、Y軸モータ1004は、回転軸に取り付けられたY軸ミラー1008を回転させて、第1の位置(初期状態)から移動させて第2の位置(終端状態)に停止させる。
【0087】
X軸検出部1010は、例えば、ロータリエンコーダで構成され、X軸ミラー1006の回転角度(即ち、X軸モータ1002の回転軸の回転角度)を検出する。同様に、Y軸検出部1012は、例えば、ロータリエンコーダで構成され、Y軸ミラー1008の回転角度(即ち、Y軸モータ1004の回転軸の回転角度)を検出する。
【0088】
主制御部1014は、レーザ加工装置1000の全体(動作)を制御し、本実施形態では、上述した処理部204の機能を有する。具体的には、主制御部1014は、X軸検出部1010で検出されるX軸ミラー1006の回転角度が目標角度となるように、X軸モータ1002に供給する電流を時系列的に表す電流プロファイルを生成する処理を行う。同様に、主制御部1014は、Y軸検出部1012で検出されるY軸ミラー1008の回転角度が目標角度となるように、Y軸モータ1004に供給する電流を時系列的に表す電流プロファイルを生成する処理を行う。また、主制御部1014は、光源1016に対して、レーザ光LLの照射(発光)を指示するON信号やレーザ光LLの非照射(非発光)を指示するOFF信号を出力する。
【0089】
X軸モータ位置指令部1018は、主制御部1014からの電流プロファイルに基づいて、X軸モータ制御部1020に所定の指令信号を出力する。同様に、Y軸モータ位置指令部1022は、主制御部1014からの電流プロファイルに基づいて、Y軸モータ制御部1024に所定の指令信号を出力する。
【0090】
X軸モータ制御部1020は、電流アンプを含み、X軸モータ位置指令部1018からの指令信号に基づいて、電流プロファイルに対応する電流をX軸モータ1002に供給する。同様に、Y軸モータ制御部1024は、電流アンプを含み、Y軸モータ位置指令部1022からの指令信号に基づいて、電流プロファイルに対応する電流をY軸モータ1004に供給する。
【0091】
物体OBの加工において、光源1016からのレーザ光LLは、Y軸ミラー1008及びX軸ミラー1006で反射され、物体OBに照射される。レーザ光LLは、X軸ミラー1006が回転することによって、物体OBにおいてX軸方向(正側及び負側)に走査される。また、レーザ光LLは、Y軸ミラー1008が回転することによって、物体OBにおいてY軸方向(正側及び負側)に走査される。この際、X軸ミラー1006及びY軸ミラー1008のそれぞれは、高速、且つ、高精度な位置決めを実現する電流プロファイルに対応する電流が供給されたX軸モータ1002及びY軸モータ1004によって駆動される。従って、レーザ加工装置1000は、高速、且つ、高精度に物体OBを加工することができる。
【0092】
また、本発明は、以下の処理を実行することによっても実現される。その処理とは、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び、かかるプログラムを記憶した記憶媒体は本発明を構成することになる。
【0093】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されないことはいうまでもなく、その要旨の範囲内で種々の変形及び変更が可能である。
【技術分野】
【0001】
本発明は、モータに供給する電流の時系列データを生成するプログラム、方法、装置及びレーザ加工装置に関する。
【背景技術】
【0002】
レーザ穴あけ装置、レーザトリマ装置、レーザリペア装置などのレーザ加工装置(工作機械装置)では、ガルバノ装置が使用されている。ガルバノ装置は、モータの回転軸に取り付けられたミラーの回転角度を制御しながら、かかるミラーでレーザ光を反射して目標位置に照射する。レーザ光の照射位置を目標位置に位置決めする際には、ミラーの回転角度を制御することが必要となるため、ガルバノ装置には、ミラーの回転角度を検出する検出器(例えば、静電容量センサ、光学式又は磁気式エンコーダ)が備えられている。
【0003】
また、レーザ加工装置においては、生産性の向上や加工品質の向上が要求されているため、ガルバノ装置のモータには、ミラーを高速、且つ、高精度に目標位置に位置決めすることが求められている。一方、ハードディスクのシーク制御では、モータに供給する電流の時系列データを求める際に、モータに供給する電流の絶対値の最大値を制約する条件を設定し、かかる条件下において最適な時系列データを求める技術が提案されている(非特許文献1参照)。この技術では、機械共振の共振周波数変動を考慮した終端状態制御により、高速・高精度な位置決めを実現している。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】平田光男、長谷川辰紀、野波健蔵:「入力の周波数成分と飽和を考慮した終端状態制御によるハードディスクのシーク制御」、第30回制御理論シンポジウム資料、pp97−102(2001)
【発明の概要】
【発明が解決しようとする課題】
【0005】
制御入力及び状態に飽和が起こらないようにするためには、例えば、モータの駆動回路である電流アンプの高電流化・高電圧化をすればよい。しかしながら、そうすることは、電流アンプの発熱や消費電力を増大させるため、制御系の更なる高速化を図るうえで支障となりうる。また、高電流化・高電圧化をしない場合には、求められた時系列データによりモータに印加される電圧の飽和が生じうるため、高速、且つ、高精度な制御を実現していくうえで支障となりうる。
【0006】
本発明は、モータに印加される電圧を飽和させない電流の時系列データを得るのに有利な技術を提供することを例示的目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の一側面としてのプログラムは、対象物を移動させるモータを含む制御系を第1状態から第2状態へ遷移させるために前記モータに供給する電流の時系列データをコンピュータに生成させるプログラムであって、前記コンピュータに、前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件を含む制約条件を設定させ、前記時系列データを評価するための評価関数を設定させ、前記制約条件を満たすように、且つ、前記評価関数の値が所定の条件を満たすように、前記時系列データを求めさせる、ことを特徴とする。
【0008】
本発明の更なる目的又はその他の側面は、以下、添付図面を参照して説明される好ましい実施形態によって明らかにされるであろう。
【発明の効果】
【0009】
本発明によれば、例えば、モータに印加される電圧を飽和させない電流の時系列データを得るのに有利な技術を提供することができる。
【図面の簡単な説明】
【0010】
【図1】ガルバノ装置の制御システムの構成を示す概略図である。
【図2】ガルバノ装置の周波数応答を示す図である。
【図3】拡大系の構成の一例を示す図である。
【図4】摩擦のない慣性系をアクチュエータとする拡大系の構成の一例を示す図である。
【図5】電流プロファイルを生成する処理を説明するためのフローチャートである。
【図6】モータに供給する電流、モータの移動速度及びモータに発生する電圧を示す図である。
【図7】モータの位置決め応答と実際の位置決め応答とを示す図である。
【図8】モータに供給する電流、モータの移動速度及びモータに発生する電圧を示す図である。
【図9】モータに供給する電流、モータの移動速度及びモータに発生する電圧を示す図である。
【図10】モータに供給する電流、モータの移動速度及びモータに発生する電圧を示す図である。
【図11】レーザ加工装置の構成を示す概略図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して、本発明の好適な実施の形態について説明する。なお、各図において、同一の部材については同一の参照番号を付し、重複する説明は省略する。
【0012】
図1は、ガルバノ装置の制御システム1を示す概略図である。制御システム1は、レーザ穴あけ装置、レーザトリマ装置、レーザリペア装置などのレーザ加工装置に適用され、レーザ光を反射して被照射体(加工対象の物品)の目標位置に照射するためのシステムであって、ガルバノ装置10と、制御装置20とを有する。
【0013】
ガルバノ装置10は、ミラー102と、モータ104とを含む。ミラー102は、モータ104の回転軸に取り付けられ、レーザ光を被照射体や他のミラーに向けて反射する。モータ104は、対象物としてのミラーを回転させる、即ち、第1の位置(初期状態)から移動させて第2の位置(終端状態)に停止させるDCサーボモータである。ここで、モータ104の位置とは、モータ104(の回転軸)の角度も含みうる。
【0014】
制御装置20は、ガルバノ装置10(のモータ104)に対して終端状態制御(FSC:Final−State Control)を行う機能を有し、本実施形態では、検出部202と、処理部204と、D/A変換部206と、供給部208とを含む。
【0015】
検出部202は、例えば、モータ104の回転軸に取り付けられたロータリエンコーダで構成され、ミラー102の回転角度(即ち、モータ104の回転軸の回転角度)を検出する。
【0016】
処理部204は、CPUやメモリなどを含み、検出部202で検出されるミラー102の回転角度が目標角度となるように、モータ104に供給する電流を時系列的に表す電流プロファイルを生成する処理を行う。なお、電流プロファイルは、換言すれば、モータ104を含む制御系を第1状態から第2状態へ遷移させるためにモータ104に供給する電流の時系列データである。処理部204は、本実施形態では、メモリに格納されたプログラムを実行して、後述する電流プロファイルを生成するための各処理を行う。但し、外部の情報処理装置(コンピュータなど)で電流プロファイルを生成するための各処理を行って生成された電流プロファイルを処理部204のメモリに格納してもよい。
【0017】
D/A変換部206は、処理部204から入力されるデジタル形式の電流プロファイル(デジタル信号)をアナログ形式の電流プロファイル(アナログ信号)に変換して供給部208に入力する。
【0018】
供給部208は、例えば、ブリッジ駆動のリニアアンプ(電流アンプ)を含み、処理部204で生成した電流プロファイル(電流指令値iref)に対応する電流iをモータ104に供給する。なお、供給部208は、電流指令値irefとモータ104に供給する電流iとが同じになるように、電流フィードバック制御を行うことが可能である。
【0019】
本実施形態では、ガルバノ装置10は、図2(a)及び図2(b)に示すような周波数応答(電流指令値irefからモータ104の回転軸の角度yまでの実測した周波数応答)を有するものとする。図2(a)では、横軸に周波数[Hz/unit]、縦軸にゲイン[dB]を採用し、図2(b)では、横軸に周波数[Hz/unit]、縦軸に位相[deg]を採用している。なお、[Hz/unit]は最初の共振ピークの周波数が1になるように正規化した単位である。また、実線は実測値を示し、点線はモデル値を示している。図2(a)及び図2(b)を参照するに、ガルバノ装置10は、2つの共振を高周波領域に有している。そこで、ガルバノ装置10の周波数応答を、剛体モード、2つの共振モード、むだ時間からなる以下の伝達関数でモデリングする。
【0020】
【数1】
【0021】
Pmechは、以下の式(1)で示すように、剛体モードPnと、共振モードP1と、共振モードP2との和で表現された伝達関数である。
Pmech(s)=Pn(s)+P1(s)+P2(s) ・・・(1)
なお、Pn(s)は、以下の式(2)で表され、Pi(s)は、以下の式(3)で表される。
【0022】
【数2】
【0023】
【数3】
【0024】
ここで、終端状態制御(FSC)について説明する。FSCは、与えられたシステムに対して、フィードフォワード入力を加えることによって、対象物を有限時間で指定した終端状態にする制御法である。
【0025】
例えば、以下の式(4)及び式(5)に示すm次の制御システムに対して、初期状態x[0]をN(≧m)ステップで終端状態x[N]に移動させる制御入力u[k]を求めることを考える。
x[k+1]=Ax[k]+Bu[k] ・・・(4)
y[k]=Cx[k] ・・・(5)
式(4)において、kに0、1、・・・、N−1を順に代入すると、以下の式(6)が得られる。但し、Σは、以下の式(7)で表され、Uは以下の式(8)で表される。
x[N]=ANx[0]+ΣU ・・・(6)
Σ=[AN−1B AN−2B ・・・ B] ・・・(7)
U=[u[0] u[1] ・・・ u[N−1]]T ・・・(8)
(A,B)が可制御対であり、且つ、N≧mが満たされているため、式(7)において、Σは、正方正則行列又は横長行フルランク行列となる。Σが正方正則行列であれば、式(6)を満たすUは唯一に求まる。但し、一般には、ステップ数Nは制御対象の次数mに比べて十分に大きいため、Σは横長行フルランク行列となり、Uは唯一に求まらない。
【0026】
そこで、終端状態制御では、式(6)に基づいて、以下の式(9)を最小化する制御入力Uを求める。式(6)に基づく式(9)の最小化問題は、ラグランジュの未定乗数法で解くことが可能であり、その解は、以下の式(10)で表される。
J=UTQU、 Q>0 ・・・(9)
U=Q−1ΣT(ΣQ−1ΣT)−1(x[N]−ANx[0]) ・・・(10)
一方、実際の制御システムでは、機械共振があるため、残留振動と高速性のトレードオフを考慮し、高速性を失わない範囲で滑らかな制御入力を求める必要がある。そこで、図3に示すように、連続時間系における積分器に相当する和分器1/(z−1)を接続し、制御入力uc[k]の差分値u[k]を考え、差分値u[k]の二乗和を最小化する。これにより、滑らかな制御入力uc[k]が求められ、目標位置に到達した後の残留振動を抑制することが可能となる。
【0027】
図3に示す拡大系の状態方程式を求めるため、1入力出力m次の伝達関数であるPc(s)の状態空間実現を以下の式(11)及び式(12)で定義する。
【0028】
【数4】
【0029】
【数5】
【0030】
また、Pc(s)を零次ホールドにより離散化したPd[z]の状態空間実現を以下の式(13)及び式(14)で定義する。
xd[k+1]=Adxd[k]+Bdud[k] ・・・(13)
y[k]=Cdxd[k] ・・・(14)
【0031】
【数6】
【0032】
このとき、xd[k]=xc(kτ)、y[k]=y(kτ)が成り立ち、u(t)は、以下の式(15)を満たす。
uc(kτ+θ)=uc[k], 0≦θ<τ ・・・(15)
ここで、(Ac,Bc)及び(Ad,Bd)が可制御対であると仮定すると、拡大系P[z]の状態空間実現は、以下の式(16)及び式(17)で求まる。
x[k+1]=Ax[k]+Bu[k] ・・・(16)
y[k]=Cx[k] ・・・(17)
【0033】
【数7】
【0034】
従って、制御対象の初期状態xd[0]=0を終端状態xd[N]=xNに遷移させ、且つ、u[k]の二乗和を最小化する軌道は、拡大系(式(16))に対して終端状態制御を適用し、式(9)におけるQを単位行列とすることで求められる。このとき、実際の制御入力ucがuc[0]=0、uc[N]=0を満たすように、初期状態と終端状態については、以下の式(19)を与える必要がある。
【0035】
【数8】
【0036】
このようにして求めたフィードフォワード入力をFSC(Final−State Cotnrol)入力と称し、かかるFSC入力から得られる軌道をFCS軌道と称するものとする。
【0037】
図3に示す拡大系に対して、周波数成分を考慮した制御入力を求めるために、実際の制御対象Pc(s)に加わる制御入力uc(t)は、ゼロ次ホールドを通して生成されると仮定する。また、制御入力uc(t)のフーリエ変換を以下の式で定義する。
【0038】
【数9】
【0039】
そして、ゲインを任意に選択した周波数点ωi(i=1、・・・、l)で最小化することを考えて、以下の式(20)で表される目的関数(評価関数)を定義する。
【0040】
【数10】
【0041】
式(20)で表される目的関数を最小化する制御入力Uは、式(9)におけるQを以下のようにすることで求まる。
【0042】
【数11】
【0043】
このようにして求めた終端状態制御入力をFFSC(Frequency−shaped Final−State Control)入力と称する。
【0044】
従来、終端状態制御問題で入力飽和などを扱う際には、LMI(Linear Matrix Inequality)として定式化している。但し、制約条件を考慮した終端状態制御では、2次計画問題として定式化することもできるため、LMIよりも高速に解を求められる可能性がある。
【0045】
2次計画問題は、変数ベクトルUに対して、以下の式(21)に示す等式条件や以下の式(22)に示す不等式条件を満たし、且つ、以下の式(23)に示すUに関する目的関数を最小化する問題として定式化される。なお、式(22)で示すベクトルに対する不等式条件は、各要素について不等式をとるものとする。
AEQU=bEQ ・・・(21)
AINEQU≦bINEQ ・・・(22)
J=UTQU, Q>0 ・・・(23)
式(6)に示す等式条件は、式(21)に示す等式条件に対応し、式(9)に示す目的関数は、式(23)に示す目的関数に対応する。従って、通常の終端状態制御は2次計画法によって解くことができる。更に、式(22)に示す不等式条件を用いることで、入力飽和などの制約条件も扱うことができる。
【0046】
そこで、以下の式(24)に示すように、拡大系の状態x[k]と制御入力u[k]との線形和で制約変数z[k]を定義し、制約変数z[k]に対して、以下の式(25)に示す制約条件を設定する。
z[k]=Czx[k]+Dzu[k] ・・・(24)
|z[k]|≦zmax ・・・(25)
式(24)において、kに0、1、・・・、N−1を順に代入すると、以下の式(26)が得られる。また、式(26)を行列形式で表現すると、以下の式(27)が得られる。
【0047】
【数12】
【0048】
【数13】
【0049】
式(25)に示す制約条件は、以下の式(31)及び式(32)に示すように、Uに対する2つの不等式条件として表すことができるため、式(22)に示す制約式として2次計画問題の制約条件に帰着することができる。但し、Zmax=zmax[1、・・・、1]Tとする。
ΩzU≦Zmax−Φzx[0] ・・・(31)
−ΩzU≦Zmax+Φzx[0] ・・・(32)
理想的な電流フィードバックにより電流指令値とモータに供給する実電流が一致する場合において、摩擦のない慣性系をアクチュエータとする拡大系の構成を図4に示す。図4に示す拡大系を制御対象として、電圧、電流及び速度に制約を設定する場合を考える。なお、制御対象の拡大系P[z]の状態変数x[k]は、以下の式(33)で定義する。但し、xp及びxvのそれぞれは、制御対象の位置及び速度であり、ucは電流を表す。
【0050】
【数14】
【0051】
電磁アクチュエータでは、電機子に印加する電圧をVM、電機子に流れる電流をiとすると、以下の関係が成り立つ。但し、RM、LM及びKeのそれぞれは、電機子の抵抗、インダクタンス及び逆起電力定数である。
【0052】
【数15】
【0053】
従って、電流iの微分値を前進差分で近似すると、電機子電圧は、図4に示すように、zvol[k]で表すことができる。また、zvol[k]を式(24)で表現すると、以下の式(34)が得られる。
【0054】
【数16】
【0055】
また、電流は、状態変数x[k]に定義されているため、その制御変数は、以下の式(37)で表される。
【0056】
【数17】
【0057】
同様に、速度は、状態変数x[k]に定義されているため、その制御変数は、以下の式(38)で表される。
【0058】
【数18】
【0059】
このような終端状態制御をガルバノ装置に適用した場合について説明する。制御対象は、離散時間の状態空間モデルで表現されていなければならないため、式(1)を各モードの位置と速度が状態変数になるように、伝達関数モデルから以下に示す離散時間状態空間モデルを求める。
【0060】
【数19】
【0061】
ここで、Pn[z]、P1[z]及びP2[z]のそれぞれは、式(2)及び式(3)におけるPn(s)、P1(s)及びP2(s)を状態空間モデルに変換し、サンプリング周期τでゼロ次ホールド離散化を行ったものである。その際、Pn[z]、P1[z]及びP2[z]のそれぞれに対応する状態変数xn[k]、x1[k]及びx2[k]が、それぞれの位置と速度になるようにする。換言すれば、以下の式を満たすように変換する。
【0062】
【数20】
【0063】
但し、x*p及びx*v(*は、1、2)は、各モードの位置及び速度を表す。
従って、Pmechに対応する状態変数xdは、以下の式(39)となり、各モードの位置と速度が状態変数に現れる。
【0064】
【数21】
【0065】
これに、和分器1/(z−1)を接続して拡大系を構成し、かかる拡大系に対して終端状態制御入力を設定する。そして、式(24)に示す制約変数を求める。但し、Pmechは、剛体モードの他に2つの共振モードを含んでいるため、位置及び速度は、各モードの位置及び速度の和となる。Pmechの状態変数が式(39)で定義されることに注意すると、制約変数zvol[k]、zcur[k]及びzvel[k]は、以下の式(40)、(41)及び(42)で表される。
【0066】
【数22】
【0067】
本実施形態では、上述したように、即ち、モータ104に供給する電流、モータ104の移動速度(角速度)、モータ104に発生する電圧に制約条件を設定して、電流プロファイルを生成する。換言すれば、等式条件AEQU=bEQ、及び、不等式条件AINEQU≦bINEQを満たし、且つ、目的関数Jの値が所定の条件を満たす(例えば、目的関数Jの値を最小化する)ように、制御入力Uを求める。なお、かかる所定の条件は、目的関数を最小化又は最大化するとの条件のみならず、適用対象や状況などにより、予め定めた許容範囲内に目的関数の値が収まるとの条件など適宜の条件をとりうる。図5は、処理部204で行われる電流プロファイルを生成する処理を説明するためのフローチャートである。
【0068】
S502では、終端状態制御における初期状態、終端状態、終端ステップ数などを含む設定条件(等式条件)を設定する。本実施形態では、初期状態としてx[0]=[0、0、0、0、0、0、0]Tを、終端状態としてx[N]、終端ステップ数としてN(≧m)を設定するものとする。x[N]−ANx[0]=ΣUであるため、x[N]=ΣUとなる。これは、等式条件AEQU=bEQの制約を表しており、2次計画問題を解くソルバアルゴリズムを含むソルバ(市販のソルバを用いてもよい)に設定することができる。なお、図5のフローチャートに係る処理は、例えば、当該ソルバをサブルーチンとして含むプログラムにしたがってコンピュータを動作させることにより、実行しうる。その場合、本ステップ(S502)や以降のステップで行う各種設定(上述の設定条件や等式条件・不等式条件としての制約条件の設定を含む設定)は、例えば、当該プログラムのサブルーチンを介してなされうる。
【0069】
S504では、モータ104に供給する電流を制約する制約条件を設定する。
【0070】
S506では、モータ104の移動速度(角速度)を制約する制約条件を設定する。
【0071】
S508では、モータ104に発生する電圧VMを制約する制約条件を設定する。なお、モータ104に発生する電圧VMは、上述したように、時系列データとモータ104のインピーダンスとにより求められる第1電圧と、モータ104の速度とモータ104の逆起電力係数とにより求められる第2電圧との和として求められる。
【0072】
S510では、目的関数を設定する。ここで、目的関数(評価関数)とは、電流プロファイル(時系列データ)を評価するための関数であって、最適化(換言すれば、最小化など、所定の条件を満たすようにすること)の対象となる関数である。目的関数は、例えば、モータ104に供給する電流の値(時系列データ)の微分値の二乗和、時系列データの特定の周波数成分の大きさ、モータ104に供給する電流の値(時系列データ)の二乗和などの少なくとも1つを含みうる。また、目的関数は、モータ104に電流を供給する電流アンプ(供給部208)の消費電力、モータ104に供給する電流(時系列データ)の絶対値の最大値、及び、時系列データによりモータ104に発生する(印加される)電圧の絶対値の最大値を含んでもよい。なお、2次計画法によって時系列データを求める場合、目的関数は、段落0040乃至段落0042に例示したように、時系列データの2次関数とする。
【0073】
S512では、S502で設定した設定条件、S504乃至S508で設定した制約条件を満たすように、且つ、S510で設定した目的関数の値が最小となるように、モータ104に供給する電流の値を最適化する。換言すれば、S512では、設定した目的関数の値が所定の条件を満たすように、モータ104に供給する電流の値を決定する。これにより、高速、且つ、高精度な位置決めを実現する電流プロファイルが生成される。
【0074】
なお、本実施形態では、モータ104に供給する電流の値を制約する制約条件及びモータ104(制御対象)の移動速度を制約する制約条件を設定している(S504及びS506)。但し、これらの制約条件は必ずしも設定する必要はなく、少なくとも、モータ104に発生する電圧の値を制約する制約条件を設定すればよい(S508)。
【0075】
以下では、具体的な数値例を示す。
【0076】
制約条件として、モータ104に供給する電流は10[A]以下、モータ104の移動速度(角速度)は35[rad/s]以下、モータ104への印加電圧(モータ104に発生する電圧)は24[V]以下とした。
【0077】
また、設定条件、即ち、初期状態、終端状態、終端ステップ数として、以下の値を設定した。なお、サンプリング周期τは、6.64[μsec]とした。
初期状態:x[0]=[0,0,0,0,0,0,0]T
終端状態:x[N]=[21×10−3[rad],0,0,0,0,0,0]T
終端ステップ数:N=143
図6(a)、図6(b)及び図6(c)のそれぞれは、制御入力Uから求めたモータ104に供給する電流、モータ104の移動速度及びモータ104に発生する電圧を示す図である。図6(a)乃至図6(c)を参照するに、モータ104に供給する電流、モータ104の移動速度及びモータ104に発生する電圧は、制約条件を満たしていることがわかる。
【0078】
また、制御入力Uから求めたモータ104の位置決め応答(実線)と実際の位置決め応答(点線)とを図7(a)に示す。なお、モータ104の位置決め応答と実際の位置決め応答との差異を図7(b)に示す。レーザ加工装置で要求されるモータの位置決め精度は、±25[μrad]である。図4を参照するに、N=143(位置決め動作を開始してから0.95[msec])以降では、レーザ加工装置で要求されるモータの位置決め精度を満たしていることがわかる。
【0079】
一方、上述した制約条件を設定しない場合には、図8に示す結果となる。図8(a)、図8(b)及び図8(c)のそれぞれは、モータ104に供給する電流(時系列データ)、モータ104の移動速度及びモータ104に発生する電圧を示す図である。図8(a)乃至図8(c)を参照するに、モータ104に供給する電流は制約条件を満たしているが、モータ104の移動速度及びモータ104に発生する電圧が制約条件を満たしていないことがわかる。その結果、モータ104に発生する電圧が飽和し、供給したい電流(時系列データに対応した電流)を流すことができないため、高精度な位置決めができなくなってしまう。また、モータ104の移動速度も制約条件を満たしていないため、モータ104の位置を正常に検出することができず、高精度な位置決めができなくなってしまう。
【0080】
なお、ガルバノ装置10(のミラー102)は、レーザ加工装置において、様々な送り角度で位置決めする必要がある。従って、各送り角度に対して電流プロファイルを最適化する必要がある。例えば、送り角度を1[mrad]、2[mrad]、・・・、350[mrad]とすると、1[mrad]ごとに電流プロファイルを最適化する必要がある。ここで、送り角度1.5[mrad]の位置決めを行う際には、より大きな送り角度である2[mrad]の電流プロファイルに沿って位置決め動作を行う。従って、送り角度を細かくし、より多くの電流プロファイルを求めることが最適な位置決めにつながるが、電流プロファイルの生成には長時間を要するため、従来技術では実現することが困難であった。
【0081】
そこで、本実施形態では、送り角度を70[mrad]とし、電流プロファイルの生成に要する時間を短縮することについて考える。なお、設定条件、即ち、初期状態、終端状態、終端ステップ数として、以下の値を設定した。制約条件は、上述した最大値を設定した。また、サンプリング周期τは、6.64[μsec]とした。
初期状態:x[0]=[0,0,0,0,0,0,0]T
終端状態:x[N]=[70×10−3[rad],0,0,0,0,0,0]T
終端ステップ数:N=361
図9(a)、図9(b)及び図9(c)のそれぞれは、制御入力Uから求めたモータ104に供給する電流、モータ104の移動速度及びモータ104に発生する電圧を示す図である。制御入力Uを求めるために必要な時間は204秒であった。図9(a)乃至図9(c)を参照するに、0.43[msec]から1.95[msec]の間において、モータ104に供給する電流はほぼ0となり、モータ104はほぼ等速運動をしていることがわかる。そこで、電流指令値が0となる区間を設定することによって(即ち、モータ104に供給する電流の時系列データの一部が所定値となるように制約する制約条件を設定することで)、計算時間を短縮することが可能となる。
【0082】
ここで、ステップ数k0からk0+Nk−1までの区間における電流指令値を0とする場合、式(41)において、Zcur[k0]=0、Zcur[k0+1]=0、・・・、Zcur[k0+Nk−1]=0とすればよい。この条件をソルバの等式制約条件に追加するために以下の手順で式の変形を行う。
【0083】
まず、式(41)のZcur[k]を式(27)の形Z=ΩzU+Φzx[0]に変形する。次に、k0+1からk0+Nk番目の要素以外の電流指令値をゼロとする取り出し行列をTcur0とする(Tcur0は、k0+1からk0+Nk番目の要素を1とするN次の対角行列である)。式(27)の形に変形した式Z=ΩzU+Φzx[0]に対して左側からTcur0をかけると、Tcur0Z=Tcur0ΩzU+Tcur0Φzx[0]=0となり、式21の形となるため、ソルバの等式制約条件に追加することができる。
【0084】
0.6[msec]から1.8[msec](k0=90からNk=271)までの区間における電流指令値を0とした場合の結果を図10に示す。図10(a)、図10(b)及び図10(c)のそれぞれは、モータ104に供給する電流、モータ104の移動速度及びモータ104に発生する電圧を示す図である。図10(a)乃至図10(c)を参照するに、0.5[msec]から1.9[msec]までの区間における電流は0であり、モータ104に供給する電流、モータ104の移動速度及びモータ104に発生する電圧は、制約条件を満たしていることがわかる。なお、制御入力Uを求めるために必要な時間は33秒であり、計算時間を大幅に短縮することができる。
【0085】
以下、図11を参照して、図1に示すガルバノ装置の制御システム1を適用したレーザ加工装置1000について説明する。レーザ加工装置1000は、加工対象の物体(被照射体)OBにレーザ光LLを照射し、例えば、物体OBの切断、穴あけ、溶接などの加工を行う装置である。
【0086】
レーザ加工装置1000は、X軸モータ1002と、Y軸モータ1004とを備える。X軸モータ1002は、回転軸に取り付けられたX軸ミラー1006を回転させて、第1の位置(初期状態)から移動させて第2の位置(終端状態)に停止させる。同様に、Y軸モータ1004は、回転軸に取り付けられたY軸ミラー1008を回転させて、第1の位置(初期状態)から移動させて第2の位置(終端状態)に停止させる。
【0087】
X軸検出部1010は、例えば、ロータリエンコーダで構成され、X軸ミラー1006の回転角度(即ち、X軸モータ1002の回転軸の回転角度)を検出する。同様に、Y軸検出部1012は、例えば、ロータリエンコーダで構成され、Y軸ミラー1008の回転角度(即ち、Y軸モータ1004の回転軸の回転角度)を検出する。
【0088】
主制御部1014は、レーザ加工装置1000の全体(動作)を制御し、本実施形態では、上述した処理部204の機能を有する。具体的には、主制御部1014は、X軸検出部1010で検出されるX軸ミラー1006の回転角度が目標角度となるように、X軸モータ1002に供給する電流を時系列的に表す電流プロファイルを生成する処理を行う。同様に、主制御部1014は、Y軸検出部1012で検出されるY軸ミラー1008の回転角度が目標角度となるように、Y軸モータ1004に供給する電流を時系列的に表す電流プロファイルを生成する処理を行う。また、主制御部1014は、光源1016に対して、レーザ光LLの照射(発光)を指示するON信号やレーザ光LLの非照射(非発光)を指示するOFF信号を出力する。
【0089】
X軸モータ位置指令部1018は、主制御部1014からの電流プロファイルに基づいて、X軸モータ制御部1020に所定の指令信号を出力する。同様に、Y軸モータ位置指令部1022は、主制御部1014からの電流プロファイルに基づいて、Y軸モータ制御部1024に所定の指令信号を出力する。
【0090】
X軸モータ制御部1020は、電流アンプを含み、X軸モータ位置指令部1018からの指令信号に基づいて、電流プロファイルに対応する電流をX軸モータ1002に供給する。同様に、Y軸モータ制御部1024は、電流アンプを含み、Y軸モータ位置指令部1022からの指令信号に基づいて、電流プロファイルに対応する電流をY軸モータ1004に供給する。
【0091】
物体OBの加工において、光源1016からのレーザ光LLは、Y軸ミラー1008及びX軸ミラー1006で反射され、物体OBに照射される。レーザ光LLは、X軸ミラー1006が回転することによって、物体OBにおいてX軸方向(正側及び負側)に走査される。また、レーザ光LLは、Y軸ミラー1008が回転することによって、物体OBにおいてY軸方向(正側及び負側)に走査される。この際、X軸ミラー1006及びY軸ミラー1008のそれぞれは、高速、且つ、高精度な位置決めを実現する電流プロファイルに対応する電流が供給されたX軸モータ1002及びY軸モータ1004によって駆動される。従って、レーザ加工装置1000は、高速、且つ、高精度に物体OBを加工することができる。
【0092】
また、本発明は、以下の処理を実行することによっても実現される。その処理とは、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び、かかるプログラムを記憶した記憶媒体は本発明を構成することになる。
【0093】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されないことはいうまでもなく、その要旨の範囲内で種々の変形及び変更が可能である。
【特許請求の範囲】
【請求項1】
対象物を移動させるモータを含む制御系を第1状態から第2状態へ遷移させるために前記モータに供給する電流の時系列データをコンピュータに生成させるプログラムであって、
前記コンピュータに、
前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件を含む制約条件を設定させ、
前記時系列データを評価するための評価関数を設定させ、
前記制約条件を満たすように、且つ、前記評価関数の値が所定の条件を満たすように、前記時系列データを求めさせる、
ことを特徴とするプログラム。
【請求項2】
前記評価関数は、前記時系列データの微分値の二乗和を含む、ことを特徴とする請求項1に記載のプログラム。
【請求項3】
前記評価関数は、前記時系列データの特定の周波数成分の大きさを含む、ことを特徴とする請求項1に記載のプログラム。
【請求項4】
前記評価関数は、前記時系列データの二乗和を含む、ことを特徴とする請求項1に記載のプログラム。
【請求項5】
前記評価関数は、前記モータに電流を供給する電流アンプの消費電力を含む、ことを特徴とする請求項1に記載のプログラム。
【請求項6】
前記評価関数は、前記時系列データの絶対値の最大値を含む、ことを特徴とする請求項1に記載のプログラム。
【請求項7】
前記評価関数は、前記電圧の絶対値の最大値を含む、ことを特徴とする請求項1に記載のプログラム。
【請求項8】
前記制約条件は、前記対象物の速度の絶対値の最大値を制約する条件、及び、前記時系列データの絶対値の最大値を制約する条件を含む、ことを特徴とする請求項1乃至7のうちいずれか1項に記載のプログラム。
【請求項9】
前記制約条件は、前記時系列データの一部が所定値となるように制約する条件を含む、ことを特徴とする請求項1乃至8のうちいずれか1項に記載のプログラム。
【請求項10】
前記コンピュータに、
前記時系列データの2次関数として前記評価関数を設定させ、
前記制約条件を満たすように、且つ、前記評価関数の値が最小化されるように、2次計画法によって前記時系列データを求めさせる、ことを特徴とする請求項1に記載のプログラム。
【請求項11】
前記電圧は、前記時系列データと前記モータのインピーダンスとにより求められる第1電圧と、前記モータの速度と前記モータの逆起電力係数とにより求められる第2電圧との和として求められるものである、ことを特徴とする請求項1乃至10のうちいずれか1項に記載のプログラム。
【請求項12】
対象物を移動させるモータを含む制御系を第1状態から第2状態へ遷移させるために前記モータに供給する電流の時系列データを生成する方法であって、
前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件を含む制約条件を設定し、
前記時系列データを評価するための評価関数を設定し、
前記制約条件を満たすように、且つ、前記評価関数の値が所定の条件を満たすように、前記時系列データを求める、
ことを特徴とする方法。
【請求項13】
対象物を移動させるモータを含む制御系を第1状態から第2状態へ遷移させるために前記モータに供給する電流の時系列データを生成する装置であって、
前記時系列データを求める処理部を有し、
前記処理部は、前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件を含む制約条件を満たすように、且つ、前記時系列データを評価するための評価関数の値が所定の条件を満たすように、前記時系列データを求める、
ことを特徴とする装置。
【請求項14】
対象物を移動させるモータと、前記モータに電流を供給する供給部と、を含む制御系を有する装置であって、
前記制御系を第1状態から第2状態へ遷移させるための前記電流の時系列データを求める処理部を有し、
前記処理部は、前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件を含む制約条件を満たすように、且つ、前記時系列データを評価するための評価関数の値が所定の条件を満たすように、前記時系列データを求める、
ことを特徴とする装置。
【請求項15】
レーザ光を反射するミラーと、前記ミラーを移動させるモータと、前記モータに電流を供給する供給部と、を含む制御系を有し、前記ミラーを介してレーザ光を対象物に照射するレーザ加工装置であって、
前記制御系を第1状態から第2状態へ遷移させるための前記電流の時系列データを求める処理部を有し、
前記処理部は、前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件を含む制約条件を満たすように、且つ、前記時系列データを評価するための評価関数の値が所定の条件を満たすように、前記時系列データを求める、
ことを特徴とするレーザ加工装置。
【請求項1】
対象物を移動させるモータを含む制御系を第1状態から第2状態へ遷移させるために前記モータに供給する電流の時系列データをコンピュータに生成させるプログラムであって、
前記コンピュータに、
前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件を含む制約条件を設定させ、
前記時系列データを評価するための評価関数を設定させ、
前記制約条件を満たすように、且つ、前記評価関数の値が所定の条件を満たすように、前記時系列データを求めさせる、
ことを特徴とするプログラム。
【請求項2】
前記評価関数は、前記時系列データの微分値の二乗和を含む、ことを特徴とする請求項1に記載のプログラム。
【請求項3】
前記評価関数は、前記時系列データの特定の周波数成分の大きさを含む、ことを特徴とする請求項1に記載のプログラム。
【請求項4】
前記評価関数は、前記時系列データの二乗和を含む、ことを特徴とする請求項1に記載のプログラム。
【請求項5】
前記評価関数は、前記モータに電流を供給する電流アンプの消費電力を含む、ことを特徴とする請求項1に記載のプログラム。
【請求項6】
前記評価関数は、前記時系列データの絶対値の最大値を含む、ことを特徴とする請求項1に記載のプログラム。
【請求項7】
前記評価関数は、前記電圧の絶対値の最大値を含む、ことを特徴とする請求項1に記載のプログラム。
【請求項8】
前記制約条件は、前記対象物の速度の絶対値の最大値を制約する条件、及び、前記時系列データの絶対値の最大値を制約する条件を含む、ことを特徴とする請求項1乃至7のうちいずれか1項に記載のプログラム。
【請求項9】
前記制約条件は、前記時系列データの一部が所定値となるように制約する条件を含む、ことを特徴とする請求項1乃至8のうちいずれか1項に記載のプログラム。
【請求項10】
前記コンピュータに、
前記時系列データの2次関数として前記評価関数を設定させ、
前記制約条件を満たすように、且つ、前記評価関数の値が最小化されるように、2次計画法によって前記時系列データを求めさせる、ことを特徴とする請求項1に記載のプログラム。
【請求項11】
前記電圧は、前記時系列データと前記モータのインピーダンスとにより求められる第1電圧と、前記モータの速度と前記モータの逆起電力係数とにより求められる第2電圧との和として求められるものである、ことを特徴とする請求項1乃至10のうちいずれか1項に記載のプログラム。
【請求項12】
対象物を移動させるモータを含む制御系を第1状態から第2状態へ遷移させるために前記モータに供給する電流の時系列データを生成する方法であって、
前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件を含む制約条件を設定し、
前記時系列データを評価するための評価関数を設定し、
前記制約条件を満たすように、且つ、前記評価関数の値が所定の条件を満たすように、前記時系列データを求める、
ことを特徴とする方法。
【請求項13】
対象物を移動させるモータを含む制御系を第1状態から第2状態へ遷移させるために前記モータに供給する電流の時系列データを生成する装置であって、
前記時系列データを求める処理部を有し、
前記処理部は、前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件を含む制約条件を満たすように、且つ、前記時系列データを評価するための評価関数の値が所定の条件を満たすように、前記時系列データを求める、
ことを特徴とする装置。
【請求項14】
対象物を移動させるモータと、前記モータに電流を供給する供給部と、を含む制御系を有する装置であって、
前記制御系を第1状態から第2状態へ遷移させるための前記電流の時系列データを求める処理部を有し、
前記処理部は、前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件を含む制約条件を満たすように、且つ、前記時系列データを評価するための評価関数の値が所定の条件を満たすように、前記時系列データを求める、
ことを特徴とする装置。
【請求項15】
レーザ光を反射するミラーと、前記ミラーを移動させるモータと、前記モータに電流を供給する供給部と、を含む制御系を有し、前記ミラーを介してレーザ光を対象物に照射するレーザ加工装置であって、
前記制御系を第1状態から第2状態へ遷移させるための前記電流の時系列データを求める処理部を有し、
前記処理部は、前記時系列データにより前記モータに印加される電圧の絶対値の最大値を制約する条件を含む制約条件を満たすように、且つ、前記時系列データを評価するための評価関数の値が所定の条件を満たすように、前記時系列データを求める、
ことを特徴とするレーザ加工装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−50273(P2012−50273A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願番号】特願2010−191371(P2010−191371)
【出願日】平成22年8月27日(2010.8.27)
【出願人】(000001007)キヤノン株式会社 (59,756)
【出願人】(304036743)国立大学法人宇都宮大学 (209)
【Fターム(参考)】
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願日】平成22年8月27日(2010.8.27)
【出願人】(000001007)キヤノン株式会社 (59,756)
【出願人】(304036743)国立大学法人宇都宮大学 (209)
【Fターム(参考)】
[ Back to top ]