以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、図1及び図2を参照して、一実施形態に係るレーザ加工システム10について説明する。レーザ加工システム10は、ワークWをレーザ加工(レーザ溶接、レーザ切断等)するシステムである。
具体的には、レーザ加工システム10は、ロボット12、レーザ加工ヘッド14、測距センサ16、レーザ発振器18、及び制御装置20を備える。ロボット12は、レーザ加工ヘッド14をワークWに対して移動させる。本実施形態においては、ロボット12は、垂直多関節ロボットであって、ロボットベース22、旋回胴24、下腕部26、上腕部28、及び手首部30を有する。
ロボットベース22は、作業セルの床、又は無人搬送車(AGV)の上に固定される。旋回胴24は、鉛直軸周りに旋回可能となるように、ロボットベース22に設けられている。下腕部26は、旋回胴24に水平軸周りに回動可能に設けられている。上腕部28は、下腕部26の先端部に回動可能に設けられている。手首部30は、互いに直交する2つの軸周りに回動可能となるように上腕部28の先端部に設けられた手首ベース30aと、該手首ベース30aに回動可能に設けられた手首フランジ30bとを有する。
ロボット12の各コンポーネント(つまり、ロボットベース22、旋回胴24、下腕部26、上腕部28、及び手首部30)には、複数のサーボモータ32(図2)がそれぞれ設けられている。これらサーボモータ32は、制御装置20からの指令に応じて、ロボット12の各可動コンポーネント(つまり、旋回胴24、下腕部26、上腕部28、手首ベース30a、手首フランジ30b)を駆動軸周りに回動させる。これにより、ロボット12は、レーザ加工ヘッド14を移動する。各々のサーボモータ32には、該サーボモータ32の回転位置を検出する回転検出センサ(エンコーダ、ホール素子等)が設けられている。各々の回転検出センサは、検出した回転位置の検出データDrを、制御装置20に供給する。
レーザ加工ヘッド14は、ロボット12の手首フランジ30bに着脱具34を介して、着脱可能に取り付けられる。レーザ加工ヘッド14は、ヘッド本体36、及びノズル38を有する。ヘッド本体36は、中空であって、その内部に、光学レンズ(コリメートレンズ、フォーカスレンズ等)、及び、制御装置20からの指令に応じて該光学レンズを変位させるレンズ駆動部(例えば、サーボモータ)等の光学系コンポーネントを収容している。ヘッド本体36には、着脱具34が設けられ、該着脱具34によって該ヘッド本体36を手首フランジ30bに着脱可能となっている。
ノズル38は、中空であって、ヘッド本体36の先端部に設けられている。本実施形態においては、ノズル38は、その基端部から先端部へ向かうにつれて断面積が小さくなるような円錐台状の外形を有し、その先端部にレーザ出射口40が形成されている。ヘッド本体36及びノズル38の内部には、空洞のチャンバが形成され、該チャンバ内に、外部に設けられたアシストガス供給装置(図示せず)からアシストガスが供給される。レーザ発振器18が生成したレーザ光LBは、該チャンバ内を伝搬し、アシストガスとともにレーザ出射口40から光軸Aに沿って出射される。
測距センサ16は、レーザ出射口40とワークWとの距離dを測定する。具体的には、測距センサ16は、例えば、静電容量型、赤外線型、レーザ型、又は音波型(例えば、超音波型)の測距センサであって、ヘッド本体36又はノズル38に固定される。測距センサ16は、制御装置20からの指令に応じて距離dを測定し、該距離dの測定データDdを制御装置20へ供給する。
レーザ発振器18は、制御装置20からのレーザ出力指令値Oに応じて内部でレーザ発振し、レーザ光LBを生成する。レーザ発振器18は、ファイバレーザ発振器、パルスレーザ発振器、CO2レーザ発振器、又は固体レーザ(YAGレーザ)発振器等、如何なるタイプのものであってもよい。レーザ発振器18は、生成したレーザ光LBを、導光路42を介して、レーザ加工ヘッド14に供給する。導光路42は、光ファイバ、空洞、導光材(水晶等)、反射鏡、又は、光学レンズ等によって、構成され得る。
制御装置20は、図2に示すように、プロセッサ50、メモリ52、及びI/Oインターフェース54を有するコンピュータである。プロセッサ50は、CPU又はGPU等を有し、メモリ52及びI/Oインターフェース54とバス56を介して通信可能に接続され、これらコンポーネントと通信しつつ、後述するレーザ加工LPを実行するための各種演算処理を行う。メモリ52は、RAM又はROM等を有し、プロセッサ50で実行される演算処理で利用される各種データ、及び演算処理の途中で生成される各種データを、一時的又は恒久的に記憶する。
I/Oインターフェース54は、例えば、イーサネット(登録商標)ポート、USBポート、光ファイバコネクタ、又はHDMI(登録商標)端子を有し、プロセッサ50からの指令の下、外部機器との間でデータを有線又は無線で通信する。ロボット12(サーボモータ32)、レーザ加工ヘッド14(レンズ駆動部)、測距センサ16、及びレーザ発振器18は、I/Oインターフェース54に通信可能に接続されている。
ロボット12には、ロボット座標系C1及びツール座標系C2が予め設定される。ロボット座標系C1は、ロボット12の各可動コンポーネント(すなわち、旋回胴24、下腕部26、上腕部28、手首ベース30a、及び手首フランジ30b)の動作を制御するための制御座標系Cである。本実施形態においては、ロボット座標系C1は、その原点がロボットベース22の中心に配置され、そのz軸が旋回胴24の旋回軸と平行となる(具体的には、一致する)ように、ロボットベース22に対して固定されている。
一方、ツール座標系C2は、ロボット座標系C1における手首フランジ30b及びレーザ加工ヘッド14の位置を規定する制御座標系Cである。例えば、ツール座標系C2の原点(いわゆる、Tool Center Point:TCP)は、レーザ加工ヘッド14がレーザ出射口40から出射するレーザ光LBの焦点FPの位置に配置され、ツール座標系C2のz軸は、光軸Aと平行となる(具体的には、一致する)ように、設定される。TCPは、ロボット座標系C1においてロボット12(具体的には、手首フランジ30b)及びレーザ加工ヘッド14の位置を表す制御点である。
プロセッサ50は、上述の回転検出センサから取得した検出データDrに基づいて、任意の時点τにおけるTCPの、ロボット座標系C1の座標Pを求めることができる。この座標Pは、時点τでの手首フランジ30b及びレーザ加工ヘッド14の、ロボット座標系C1における位置Pを表す。なお、TCPは、レーザ出射口40の中心に設定されてもよい。
レーザ加工ヘッド14を移動させるとき、制御装置20のプロセッサ50は、目標位置を表すツール座標系C2をロボット座標系C1に設定し、設定した該ツール座標系C2によって表される位置にレーザ加工ヘッド14を位置決めするように、ロボット12の各サーボモータ32への指令を生成する。こうして、制御装置20は、ロボット12を動作させることで、ロボット座標系C1における任意の位置へレーザ加工ヘッド14を移動させる。このように、本実施形態においては、ロボット12は、レーザ加工ヘッド14(つまり、レーザ出射口)とワークWとを相対的に移動させる移動機械を構成する。また、ロボット座標系C1及びツール座標系C2は、ロボット12の動作を自動制御するための制御座標系Cを構成する。
次に、図3を参照して、レーザ加工システム10が実行するレーザ加工LPについて説明する。ワークWに対してレーザ加工LPを実行するために、レーザ加工ヘッド14(つまり、TCP)を位置決めすべき教示点TPn(n=1,2,3,・・・)が、予め定められる。図3に示す例では、5つの教示点TP1~TP5が、ワークWの表面に沿って予め教示されている。なお、本実施形態においては、ワークWの表面は、ロボット座標系C1のx-y平面と平行に配置されるものとする。よって、教示点TP1~TP5は、ロボット座標系C1のx-y平面に沿って定められている。
これら教示点TPnは、レーザ加工LPのための動作プログラムPG1に命令コードとして規定される。プロセッサ50は、動作プログラムPG1を実行することで、レーザ加工ヘッド14(TCP)を、教示点TP1→TP2→TP3→TP4→TP5の順に位置決めするように、ロボット12を動作させる。隣接する2つの教示点TPn及びTPn+1によって、移動経路MPn(n=1,2,3,4)が画定される。本実施形態においては、移動経路MPnは、ロボット座標系C1のx-y平面に沿って(具体的には、平行に)延在するように、画定される。
また、レーザ加工ヘッド14を、教示点TPnから教示点TPn+1へ向かって移動経路MPnに沿って移動させるときの速度Vを規定する速度指令値Vが、予め定められる。この速度指令値Vは、レーザ加工条件としてオペレータによって予め定められ、動作プログラムPG1に命令コードとして規定される。なお、移動経路MPn毎に互いに異なる速度指令値Vが設定されてもよいし、全ての移動経路MP1~MP4に共通の速度指令値Vが設定されてもよい。
プロセッサ50は、レーザ加工LPにおいて、動作プログラムPG1を実行することで、速度指令値Vに従ってロボット12を動作させて、ロボット12及びレーザ加工ヘッド14(TCP)を、移動経路MPnに沿って、速度指令値Vに規定されている速度Vで移動させる移動動作LP1を実行する。このように、本実施形態においては、プロセッサ50は、速度指令値Vに従ってロボット12を動作させて移動経路MPnに沿って移動させる移動制御部62(図2)として機能する。
なお、図3に示す例では、移動経路MPnの方向は、ロボット座標系C1のx軸マイナス方向に一致する。また、以下の説明では、移動動作LP1においてロボット12を移動経路MPnに沿って移動させるとき、レーザ加工ヘッド14は、ツール座標系C2のz軸(つまり、光軸A)が、ロボット座標系C1のz軸と平行となる(換言すれば、移動経路MPnと直交する)姿勢に、維持されるものとする。
この移動動作LP1とともに、プロセッサ50は、レーザ加工LPにおいて、レーザ出射口40とワークWとの距離dを一定に維持するようにロボット12を動作させるギャップ制御LP2を実行する。より具体的には、プロセッサ50は、ギャップ制御LP2のためのギャップ制御プログラムPG2を実行する。
このギャップ制御プログラムPG2に従って、プロセッサ50は、測距センサ16から取得した測定データDdに基づいて、距離dを、予め定めた目標距離dtに一致させるように、ロボット12の動作によりレーザ加工ヘッド14を移動させる。この目標距離dtは、例えば、レーザ出射口40からレーザ光LBの焦点FPまでの距離(換言すれば、レーザ出射口40からTCPまでの距離)に設定される(例えば、dt=1[mm])。目標距離dtは、ギャップ制御プログラムPG2に命令コードとして規定される。
図3の例の場合、プロセッサ50は、移動動作LP1によってレーザ加工ヘッド14を移動経路MPnに沿って、ロボット座標系C1のx軸マイナス方向へ移動させるとともに、ギャップ制御LP2によって、該レーザ加工ヘッド14を、距離dを目標距離dtに一致させるように、ロボット座標系C1のz軸方向へ移動させる。こうして、移動動作LP1の間、距離dが一定に維持されることになる。したがって、本実施形態においては、プロセッサ50は、ギャップ制御LP2を実行するギャップ制御実行部64(図2)として機能する。
また、プロセッサ50は、レーザ加工LPにおいて、移動動作LP1及びギャップ制御LP2とともに、予め定めたレーザ出力指令値Oに従ってレーザ発振器18を動作させて、該レーザ発振器18にレーザ光LBを生成させるレーザ光生成動作LP3を実行する。したがって、プロセッサ50は、レーザ光生成動作LP3を実行するレーザ発振制御部66(図2)として機能する。レーザ出力指令値Oは、例えば、レーザパワー指令値Op、周波数指令値Of、及びデューティー比指令値Odを有する。
レーザパワー指令値Opは、出力するレーザ光LBのレーザパワーOp[kW]を規定する。周波数指令値Ofは、パルス発振レーザ光を生成する場合のレーザ光LBの周波数Of[Hz]を規定する。また、デューティー比指令値Odは、レーザ光LBのデューティー比Od[%]を規定する。レーザ出力指令値O(レーザパワー指令値Op、周波数指令値Of、デューティー比指令値Od)は、レーザ加工条件としてオペレータによって予め定められる。以上のように、プロセッサ50は、移動動作LP1、ギャップ制御LP2、及びレーザ光生成動作LP3を並行して実行することで、ワークWに対するレーザ加工LPを実行する。
ここで、ワークWの表面が、表面粗さ、変形、又は取付不良等によって、ロボット座標系C1のx-y平面と平行な平面とならずに、凹凸状となっていたり、傾斜したりし得る。図4に、このような例を示す。図4に示すワークWにおいては、教示点TP2~TP4の区間に、凸部Bが形成されている。このような凸部Bに対して上述のレーザ加工LPを実行した場合、ギャップ制御LP2によって、レーザ加工ヘッド14(TCP)は、凸部Bに沿って移動し、その結果、教示点TP3から、移動経路MP2と直交する方向、すなわち、ロボット座標系C1のz軸プラス方向にずれた位置TP3’に配置されることになる。
この場合、ロボット12が速度指令値Vに従ってレーザ加工ヘッド14を教示点TP2から教示点TP3へ向かって移動させる間にワークW上を相対移動するレーザ光LBの移動速度νは、速度指令値Vに規定されている速度Vよりも速くなる。この点について、図5を参照して詳細に説明する。図5に示す位置P1は、ロボット12がレーザ加工ヘッド14を凸部Bに沿って移動させている間の任意の時点τ1でのTCPの位置を示している。
一方、位置P2は、時点τ1から所定の時間Tが経過した後の時点τ2(=τ1+T)でのTCPの位置を示している。また、位置P2’は、位置P2と同じロボット座標系C1のx座標と、位置P1と同じロボット座標系C1のz座標とを有する位置を示す。これら位置P1、P2及びP2’のロボット座標系C1の座標を、それぞれ、P1(x1,y1,z1)、P2(x2,y1,z2)、及び、P2’(x2,y1,z1)とする。
この場合、位置P1及びP2’の間の距離Δ1は、Δ1=x1-x2となり、位置P2’及びP2の間の距離Δ2は、Δ2=z2-z1となる。この距離Δ2は、ギャップ制御LP2によってロボット12がレーザ加工ヘッド14を、移動経路MP2と直交する方向(つまり、ロボット座標系C1のz軸方向)へ移動させた移動量Δ2に相当する。また、位置P1及びP2の間の距離Δ3は、Δ3=(Δ12+Δ22)1/2となる。
ここで、移動動作LP1において、ロボット12は、レーザ加工ヘッド14を移動経路MP2に沿って移動させる間、速度指令値Vに規定されている速度Vで、ロボット座標系C1のx軸マイナス方向へ移動する。よって、レーザ加工ヘッド14は、位置P1から位置P2まで、時間t=Δ1/Vで移動されることになる。とすると、レーザ加工ヘッド14から出射されたレーザ光LBが凸部Bの表面上を位置P1から位置P2まで相対移動する移動速度νは、ν=V×Δ3/Δ1となる。Δ3>Δ1であるので、この移動速度νは、速度指令値Vよりも速くなる。
なお、レーザ加工ヘッド14を教示点TP3~TP4の区間で移動させる場合のレーザ光LBの移動速度νについても、同様に求めることができる。このようにワークWに照射されたレーザ光LBの移動速度νが早くなると、ワークWの単位面積当たりのレーザ光LBの入熱量が減少し得る。又は、レーザ光LBがパルス発振レーザ光の場合、ワークWの単位面積当たりに入射するレーザ光LBの波数が減少し得る。その結果、ワークWの加工品質に影響(バラつき等)が生じ得る。
そこで、本実施形態においては、プロセッサ50は、移動速度νの増大による加工品質への影響を避けるべく、レーザ加工LPのための指令値(具体的には、レーザ出力指令値O又は速度指令値V)を補正する。以下、図6を参照して、レーザ加工システム10の機能について説明する。プロセッサ50は、オペレータ、上位コントローラ、又はコンピュータプログラムPG3から加工開始指令を受け付けたときに、図6のフローを開始する。
ステップS1において、プロセッサ50は、レーザ加工LPを開始する。具体的には、プロセッサ50は、レーザ加工LPとして、上述の移動動作LP1、ギャップ制御LP2、及びレーザ光生成動作LP3を並行して実行する。これにより、レーザ加工ヘッド14を移動経路MPnに沿って移動させつつ、該レーザ加工ヘッド14のレーザ出射口40から出射されたレーザ光LBによってワークWをレーザ加工する。レーザ加工LPの実行中、プロセッサ50は、回転検出センサの検出データDrに基づいて、ロボット座標系C1におけるTCPの座標P(x,y,z)を周期的に取得する。
ステップS2において、プロセッサ50は、ロボット12がレーザ加工ヘッド14を、移動経路MPnと直交する方向(つまり、ロボット座標系C1のz軸方向)へ移動させた移動量Δ2が、所定の閾値Δthを超えたか否かを判定する。一例として、プロセッサ50は、図5を参照して説明したように、直近の時点τ2で取得したTCPの、ロボット座標系C1の座標P2(x2,y1,z2)のz座標:z2と、該時点τ2から周期Tだけ前の時点τ1で取得したTCPの、ロボット座標系C1の座標P1(x1,y1,z1)のz座標:z1とから、移動量Δ2を、Δ2=z2-z1として求める。
他の例として、プロセッサ50は、直近の時点τ2で座標P2(x2,y1,z2)を取得したとき、該時点τ2の前に連続的に取得した任意の個数m(例えば、m=5)の座標Pm(xm,ym,zm)のz座標の平均値Σzm/mを演算する(つまり、z座標の移動平均値)。そして、プロセッサ50は、移動量Δ2を、Δ2=z2-Σzm/mとして求める。
このように、本実施形態においては、プロセッサ50は、ロボット12(TCP)の、ロボット座標系C1のz軸の座標z1、z2、zmに基づいて、移動量Δ2を取得している。したがって、プロセッサ50は、移動量Δ2を取得する移動量取得部68(図2)として機能する。プロセッサ50は、取得した移動量Δ2と閾値Δthとを比較し、該移動量Δ2が閾値Δthを超えた場合(Δ2>Δth)に、YESと判定する。プロセッサ50は、YESと判定した場合はステップS3へ進む一方、NOと判定した場合はステップS4へ進む。
ステップS3において、プロセッサ50は、移動経路MPnと直交する方向へのロボット12の移動量Δ2に基づいて、指令値(速度指令値V又はレーザ出力指令値O)を補正する。以下、レーザ出力指令値Oを補正する場合について説明する。この場合、プロセッサ50は、まず、移動量Δ2に基づいて、レーザ加工LP中にワークW上を相対移動するレーザ光LBの移動速度νを取得する。
一例として、直前のステップS2で移動量Δ2を、Δ2=z2-z1として求めた場合、プロセッサ50は、移動速度νを、上述の式:ν=V×Δ3/Δ1なる式から求める。他の例として、直前のステップS2で移動量Δ2を、Δ2=z2-Σzm/mとして求めた場合、プロセッサ50は、まず、時点τ2の前に取得したm個の座標Pm(xm,ym,zm)のx座標の平均値Σxm/mを演算する(つまり、x座標の移動平均値)。そして、距離Δ1を、Δ1=Σxm/m-x2として求め、移動速度νを、ν=V×Δ3/Δ1なる式から求める(ここで、Δ3=(Δ12+Δ22)1/2)。このように、本実施形態においては、プロセッサ50は、移動速度νを取得する速度取得部70(図2)として機能する。
次いで、プロセッサ50は、取得した移動速度νに基づいて、レーザ出力指令値Oを補正する。具体的には、プロセッサ50は、移動速度νを速度指令値Vによって除算した変数α(=ν/V)をレーザ出力指令値Oに乗算することで、該レーザ出力指令値Oを、補正出力指令値O’(=α×O)に補正する。例えば、レーザ出力指令値Oがレーザパワー指令値Opである場合、プロセッサ50は、レーザパワー指令値Opを、補正出力指令値Op’=α×Op=Op×ν/Vに補正する。
また、レーザ出力指令値Oがデューティー比指令値Odである場合も、プロセッサ50は、該デューティー比指令値Odを、補正出力指令値Od’=α×Od=Od×ν/Vに補正する。このように、レーザパワー指令値Op又はデューティー比指令値Odを補正出力指令値Op’又はOd’に補正する(換言すれば、レーザパワーOp及びデューティー比Odを増大させる)ことで、レーザ加工LPにおいて、移動速度νの増大による、ワークWの単位面積当たりの入熱量の減少を抑制し、以って、レーザ加工LPの全体を通して入熱量の均一化を図ることができる。
一方、レーザ出力指令値Oが周波数指令値Ofである場合も、同様に、プロセッサ50は、周波数指令値Ofを、補正出力指令値Of’=α×Of=Of×ν/Vに補正する。この場合、ワークWに入射するレーザ光LBの周波数が、移動速度νに応じて増大することになる。これにより、レーザ加工LPにおいて、ワークWの単位面積当たりに入射するレーザ光LBの波数が減少するのを抑制し、以って、レーザ加工LPの全体を通して入射する波数の均一化を図ることができる。
こうして、プロセッサ50は、移動速度νに基づいて、レーザ出力指令値Oを補正する。なお、補正出力指令値O’を求める式は、O’=α×Oなる式に限定されない。プロセッサ50は、移動速度νの任意の関数式:O’=f(ν)を用いて、補正出力指令値O’を求めてもよい。この関数式:O’=f(ν)の各項は、実験的手法又はシミュレーション等によって、オペレータによって任意に定められる。プロセッサ50は、このステップS3の後、レーザ発振制御部66として、補正出力指令値O’に従ってレーザ発振器18を動作させて、レーザ光生成動作LP3を実行する。
次に、速度指令値Vを補正する場合について述べる。一例として、直前のステップS2で移動量Δ2を、Δ2=z2-z1として求めた場合、プロセッサ50は、移動経路MPnに対する、凸部Bの表面の傾斜角度θ(図5)を、θ=tan-1(Δ2/Δ1)として求める(但し、Δ1=x1-x2)。そして、プロセッサ50は、補正速度指令値V’を、V’=Vcosθとして求める。
他の例として、直前のステップS2で移動量Δ2を、Δ2=z2-Σzm/mとして求めた場合、プロセッサ50は、上述の平均値Σxm/mを演算し、距離Δ1を、Δ1=Σxm/m-x2として求める。そして、プロセッサ50は、上述の角度θを、θ=tan-1(Δ2/Δ1)として求め、補正速度指令値V’を、V’=Vcosθとして求める。
こうして、プロセッサ50は、移動量Δ2に基づいて、速度指令値Vを補正する。プロセッサ50は、このステップS3の後、移動制御部62として、補正速度指令値V’に従ってロボット12を動作させて、移動動作LP1を実行する。このように、速度指令値Vを補正速度指令値V’に補正する(換言すれば、速度Vを減少させる)ことで、レーザ加工LPにおいて、移動速度νの増大による、ワークWの単位面積当たりの入熱量の減少を抑制し、以って、レーザ加工LPの全体を通して入熱量の均一化を図ることができる。
上述のように、本実施形態においては、このステップS3において、プロセッサ50は、レーザ加工LPの実行中にロボット12が移動経路MPnと直交する方向(ロボット座標系C1のz軸方向)へ移動する移動量Δ2に基づいて、速度指令値V又はレーザ出力指令値Oを補正する。したがって、プロセッサ50は、速度指令値V又はレーザ出力指令値Oを補正する指令補正部72(図2)として機能する。ステップS4において、プロセッサ50は、レーザ加工LPが終了したか否かを判定する。プロセッサ50は、YESと判定した場合は、図6のフローを終了する一方、NOと判定した場合はステップS2へ戻る。
以上の通り、本実施形態においては、プロセッサ50は、移動制御部62、ギャップ制御実行部64、レーザ発振制御部66、移動量取得部68、速度取得部70、及び指令補正部72として機能し、ワークWをレーザ加工するための指令値V、Oを補正する。したがって、移動制御部62、ギャップ制御実行部64、レーザ発振制御部66、移動量取得部68、速度取得部70、及び指令補正部72は、指令値V、Oを補正する装置60(図2)を構成する。
この装置60においては、移動制御部62は、レーザ加工LP(ステップS1)において、移動機械(ロボット)12を、予め定めた速度指令値Vに従って動作させて、予め定めた移動経路MPnに沿って移動させる移動動作LP1を実行する。一方、レーザ発振制御部66は、レーザ加工LPにおいて、予め定めたレーザ出力指令値O(レーザパワー指令値Op、周波数指令値Of、デューティー比指令値Od)に従って、レーザ発振器18を動作させて、該レーザ発振器18にレーザ光LBを生成させるレーザ光生成動作LP3を実行する。
また、ギャップ制御実行部64は、レーザ加工LP中に、レーザ出射口40とワークWとの距離dを一定(目標距離dt)に維持するように移動機械12を動作させるギャップ制御LP2を実行する。そして、指令補正部72は、レーザ加工LP中の移動機械12の、移動経路MPnと直交する方向(ロボット座標系C1のz軸方向)への移動量Δ2に基づいて、速度指令値V又はレーザ出力指令値Oを補正する(ステップS3)。
ここで、ワークWの表面に、意図しない凹凸又は傾斜が存在する場合、図5を参照して説明したように、ワークW上を相対移動するレーザ光LBの移動速度νが速度指令値Vよりも増大する。本実施形態においては、速度指令値V又はレーザ出力指令値Oを補正することで、ワークWの単位面積当たりの入熱量又は波数の均一化を図ることができるので、加工品質を維持することができる。
また、本実施形態においては、速度取得部70は、移動量Δ2に基づいて、レーザ加工LP中にワークW上を相対移動するレーザ光LBの移動速度νを取得する。そして、指令補正部72は、速度取得部70が取得した移動速度νに基づいてレーザ出力指令値Oを補正する。この構成によれば、移動速度νに応じて、ワークWの単位面積当たりの入熱量又は波数の減少をより効果的に抑制するように、レーザ出力指令値Oを適切に補正できる。
また、本実施形態においては、レーザ出力指令値Oは、レーザ光LBのレーザパワーOpを規定するレーザパワー指令値Op、該レーザ光LBの周波数Ofを規定する周波数指令値Of、及び、該レーザ光LBのデューティー比Odを規定するデューティー比指令値Odの少なくとも1つを含む。そして、指令補正部72は、レーザパワー指令値Op、周波数指令値Of、又はデューティー比指令値Odを補正する。この構成によれば、移動速度νに応じて、ワークWの単位面積当たりの入熱量又は波数を効果的に調整できる。
また、本実施形態においては、指令補正部72は、速度取得部70が取得した移動速度νを速度指令値Vによって除算した変数α(ν/V)をレーザ出力指令値Oに乗算する(α×O)ことで、該レーザ出力指令値Oを補正する。この構成によれば、比較的簡単なアルゴリズムでレーザ出力指令値Oを補正できるので、レーザ出力指令値Oを補正するプロセス(ステップS3)を高速化できる。
また、本実施形態においては、移動機械12の動作を自動制御するための制御座標系C(ロボット座標系C1)が予め設定され、移動経路MPnは、制御座標系Cの第1の軸(x軸)及び第2の軸(y軸)によって規定される平面(x-y平面)に沿って定められる。そして、移動量取得部68は、移動機械12の、制御座標系Cの第3の軸(z軸)の座標z1、z2、zmに基づいて移動量Δ2を取得する。この構成によれば、制御座標系Cの座標から移動量Δ2を迅速且つ高精度に取得できる。
なお、上述の実施形態においては、教示点TPn及び移動経路MPnが、ロボット座標系C1のx-y平面に沿って定められる場合について述べた。しかしながら、教示点TPn及び移動経路MPnは、如何なる位置に定められてもよく、例えば、ロボット座標系C1のx-y平面に対して傾斜(交差)するように定められてもよい。また、ステップS3においてプロセッサ50が速度指令値Vの補正のみを行う場合は、移動速度νを求めるプロセスを省略できる。すなわち、この場合、装置60から速度取得部70を省略できる。
なお、図6のフローに、種々の変更を加えることができる。図7は、図6のフローの変形例の一例を示す。なお、図7に示すフローにおいて、図6のフローと同じプロセスには同じステップ番号を付し、重複する説明を省略する。図7のフローにおいては、プロセッサ50は、ステップS1の後、ステップS5及びS6を実行する。
ステップS5において、プロセッサ50は、上述の実施形態と同様に、速度取得部70として機能して、移動量Δ2に基づいての移動速度νを取得する。ステップS6において、プロセッサ50は、直前のステップS5で取得した移動速度νが所定の閾値νthを超えた(ν>νth)か否かを判定する。プロセッサ50は、YESと判定した場合はステップS3へ進む一方、NOと判定した場合はステップS4へ進む。
ステップS3において、プロセッサ50は、上述の実施形態と同様に、指令補正部72として機能して、直近のステップS5で取得した移動速度νに基づいて、レーザ出力指令値Oを、補正出力指令値O’(O’=α×O、又は、O’=f(ν))に補正する。このように、本実施形態においては、移動速度νが閾値νthを超えたのに応じて、レーザ出力指令値Oを補正する。
なお、ステップS3を実行した後にステップS2又はS6でNOと判定した場合、プロセッサ50は、補正出力指令値O’又は補正速度指令V’を、当初の出力指令値O又は速度指令Vに切り替えてもよい。例えば、ステップS3でレーザパワー指令値Opを補正レーザパワー指令値Op’に補正した後に、ステップS2又はS6でNOと判定したとする。この場合、プロセッサ50は、レーザ発振器18に送信する指令値を、補正レーザパワー指令値Op’からレーザパワー指令値Opに切り替える。
次に、図8~図11を参照して、他の実施形態に係るレーザ加工システム80について説明する。レーザ加工システム80は、上述のレーザ加工システム10と、レーザ加工ヘッド82において相違する。図10に示すように、レーザ加工ヘッド82は、ヘッド本体36と、光軸Aに沿って進退可能となるように該ヘッド本体36に設けられた可動ノズル84とを有する。可動ノズル84の先端には、レーザ出射口40が形成されている。
ヘッド本体36の内部には、上述の光学レンズ及びレンズ駆動部に加えて、出射口駆動部86が設けられている。出射口駆動部86は、例えばサーボモータを有し、可動ノズル84(つまり、レーザ出射口40)をヘッド本体36に対し、光軸Aに沿って進退させる。また、ヘッド本体36の内部には、該ヘッド本体36に対する可動ノズル84の前進距離Lを検出する距離センサ(エンコーダ、ホール素子、リニアスケール等)が設けられている。前進距離Lは、例えば、ヘッド本体36の先端からレーザ出射口40までの距離として定められる。距離センサは、検出した前進距離Lの検出データDlを制御装置20に供給する。
図10は、可動ノズル84がヘッド本体36に対し、前進距離L=L0となる基準位置に配置されている状態を示す。この基準位置に対応する基準距離L0は、オペレータによって予め定められる。本実施形態においては、ツール座標系C2の原点(TCP)は、例えば、基準位置に配置されている可動ノズル84のレーザ出射口40から出射されたレーザ光LBの焦点FPに配置される。
一方、図11は可動ノズル84が、出射口駆動部86の動作によって、図10に示す基準位置からヘッド本体36へ向かって後退した状態を示す。ここで、TCPは、手首フランジ30b及びヘッド本体36に対して固定される。よって、図11に示すTCPとレーザ出射口40との間の距離は、図10よりも大きくなる。すなわち、本実施形態においては、TCPとレーザ出射口40との位置関係は、前進距離Lに応じて変化する。
このように、本実施形態においては、ロボット12が、レーザ加工ヘッド82を移動させるとともに、出射口駆動部86が、可動ノズル84(つまり、レーザ出射口40)を移動させる。したがって、ロボット12及び出射口駆動部86は、レーザ出射口40とワークWとを相対的に移動させる移動機械88を構成する。
次に、図6を参照して、レーザ加工システム80の機能について説明する。ステップS1において、プロセッサ50は、レーザ加工LPを開始する。具体的には、プロセッサ50は、移動制御部62として機能して、速度指令値Vに従ってロボット12を動作させて、可動ノズル84を基準位置(図10)に配置した状態のレーザ加工ヘッド82(TCP)を、教示点TPnに順に位置決める移動動作LP1を実行する。
この移動動作LP1と並行して、プロセッサ50は、ギャップ制御実行部64として機能して、レーザ出射口40とワークWとの距離dを一定(目標距離dt)に維持するように移動機械88を動作させるギャップ制御LP2を実行する。具体的には、プロセッサ50は、測距センサ16の測定データDdに基づいて、出射口駆動部86を動作させ、距離dを目標距離dtに一致させるように、前進距離Lを変化させる。
そして、プロセッサ50は、レーザ発振制御部66として機能して、レーザ出力指令値Oに従ってレーザ発振器18を動作させて、レーザ光LBを生成するレーザ光生成動作LP3を実行する。また、プロセッサ50は、レーザ加工LPの実行中、回転検出センサの検出データDrに基づいて、ロボット座標系C1におけるTCPの座標P(x,y,z)を周期的に取得するとともに、上述の距離センサの検出データDlに基づいて、前進距離Lを周期的に取得する。なお、プロセッサ50は、TCPの座標Pと前進距離Lとを、互いに同期して(つまり、同じ時点)で取得してもよい。
ステップS2において、プロセッサ50は、移動機械88がレーザ出射口40を、移動経路MPnと直交する方向(つまり、ロボット座標系C1のz軸方向)へ移動させた移動量Δ2が、所定の閾値Δthを超えたか否かを判定する。ここで、図12に示すように、レーザ加工ヘッド82(TCP)を教示点TP2から教示点TP3へ移動させた場合、TCPは教示点TP3に配置されるものの、可動ノズル84は、ギャップ制御LP2により、出射口駆動部86の動作によって後退される。つまり、本実施形態においては、TCPのロボット座標系C1のz座標は変化しない。
そこで、本実施形態においては、プロセッサ50は、移動量取得部68として機能して、前進距離Lに基づいて移動量Δ2を求める。一例として、プロセッサ50は、直近の時点τ2で取得した前進距離L2と、該時点τ2から周期Tだけ前の時点τ1で取得した前進距離L1とから、移動量Δ2を、Δ2=L1-L2として求める。
他の例として、プロセッサ50は、直近の時点τ2で前進距離L2を取得したとき、該時点τ2の前に連続的に取得した任意の個数m(例えば、m=5)の前進距離Lmの平均値ΣLm/mを演算する(つまり、前進距離Lの移動平均値)。そして、プロセッサ50は、移動量Δ2を、Δ2=ΣLm/m-L2として求める。こうして、プロセッサ50は、移動量取得部68として機能して、前進距離Lに基づいて移動量Δ2を取得する。プロセッサ50は、取得した移動量Δ2が閾値Δthを超えた場合はYESと判定し、ステップS3へ進む一方、NOと判定した場合はステップS4へ進む。
ステップS3において、プロセッサ50は、指令補正部72として機能して、移動経路MPnと直交する方向への移動機械88の移動量Δ2に基づいて、指令値(速度指令値V又はレーザ出力指令値O)を補正する。レーザ出力指令値Oを補正する場合、プロセッサ50は、速度取得部70として機能して、移動量Δ2に基づいて、レーザ加工LP中にワークW上を相対移動するレーザ光LBの移動速度νを取得する。
一例として、直前のステップS2で移動量Δ2を、Δ2=L1-L2として求めた場合、プロセッサ50は、直近の時点τ2で取得したTCPの、ロボット座標系C1の座標P1(x2,y1,z1)と、該時点τ2から周期Tだけ前の時点τ1で取得したTCPの、ロボット座標系C1の座標P1(x1,y1,z1)とから、Δ1=x1-x2を求める。そして、プロセッサ50は、Δ3=(Δ12+Δ22)1/2を求め、移動速度νを、ν=V×Δ3/Δ1なる式から求める。
他の例として、直前のステップS2で移動量Δ2を、Δ2=ΣLm/m-L2として求めた場合、プロセッサ50は、まず、直近の時点τ2の前に連続的に取得した任意の個数m(例えば、m=5)のTCPの座標Pm(xm,ym,zm)を取得する。そして、プロセッサ50は、m個の座標Pmのx座標の平均値Σxm/mを演算する。
そして、プロセッサ50は、距離Δ1を、Δ1=Σxm/m-x2として求め、移動速度νを、ν=V×Δ3/Δ1なる式から求める(ここで、Δ3=(Δ12+Δ22)1/2)。そして、プロセッサ50は、指令補正部72として機能して、上述の実施形態と同様に、レーザ出力指令値Oを、補正出力指令値O’(例えば、O’=α×O=O×ν/V)に補正する。
次に、速度指令値Vを補正する場合について述べる。具体的には、直前のステップS2で移動量Δ2を、Δ2=L1-L2、又は、ΣLm/m-L2として求めた場合、プロセッサ50は、角度θを、θ=tan-1(Δ2/Δ1)として求め(但し、Δ1=x1-x2、又は、Σxm/m-x2)、補正速度指令値V’を、V’=Vcosθとして求める。こうして、プロセッサ50は、指令補正部72として機能して、移動量Δ2に基づいて、速度指令値Vを補正する。
以上のように、本実施形態においては、移動機械88は、レーザ出射口40が形成されたレーザ加工ヘッド82を移動させるロボット12と、レーザ加工ヘッド82に設けられ、レーザ出射口40を光軸Aに沿って進退させる出射口駆動部86とを有する。そして、移動量取得部68は、出射口駆動部86によるレーザ出射口40の前進距離Lに基づいて、移動量Δ2を取得する。この構成によれば、レーザ出射口40を進退可能なレーザ加工ヘッド82を用いてレーザ加工LPを実行する場合においても、前進距離Lを用いて、速度指令値V又はレーザ出力指令値Oを補正することができる。
なお、レーザ加工システム80においても、プロセッサ50は、前進距離Lから求めた移動量Δ2に基づいて、図7のフローを実行できることを理解されたい。また、レーザ加工システム10又は80において、プロセッサ50は、メモリ52に予め記憶されたコンピュータプログラムPG3に従って、図6又は図7のフローを実行してもよい。また、プロセッサ50が実行する装置60(移動制御部62、ギャップ制御実行部64、レーザ発振制御部66、移動量取得部68、速度取得部70、指令補正部72)の機能は、コンピュータプログラムPG3によって実現される機能モジュールであってもよい。
次に、図13を参照して、レーザ加工システム10の他の機能について説明する。本実施形態に係る機能について、図6を参照して説明する。プロセッサ50は、上述の実施形態と同様に、移動制御部62、ギャップ制御実行部64、レーザ発振制御部66、及び移動量取得部68として機能して、ステップS1及びS2を実行する。
ステップS3において、プロセッサ50は、ワークWに対するレーザ光LBの入射角φに基づいて、速度指令値V又はレーザ出力指令値Oを補正する。図14に示すように、角度θで傾斜する凸部Bの表面に入射するレーザ光LBの入射角φは、φ=90°-θである。ここで、ワークWに入射するレーザ光LBの吸収率ρ[%]は、入射角φに応じて変化する。
図15は、ある特定の種類(YAGレーザ、CO2レーザ)のレーザ光LB入射角φと、ワークWへの吸収率ρとの関係を表すグラフである。図15の特性Eに示すように、吸収率ρは、入射角φとともに変化する。入射角φの変化によって吸収率ρが低下すると、ワークWの単位面積当たりのレーザ光LBの入熱量が減少し、加工品質に影響が生じ得る。
そこで、本実施形態においては、プロセッサ50は、ステップS3において、入射角φに基づいて、速度指令値V又はレーザ出力指令値Oを補正する。まず、プロセッサ50は、移動量Δ2に基づいて、入射角φを取得する。一例として、直前のステップS2で移動量Δ2を、Δ2=z2-z1、又は、Δ2=z2-Σzm/mとして求めた場合、プロセッサ50は、角度θ(図14)を、θ=tan-1(Δ2/Δ1)として求める(但し、Δ1=x1-x2、又は、Δ1=Σxm/m-x2)。そして、プロセッサ50は、入射角φを、φ=90°-θとして求める。このように、本実施形態においては、プロセッサ50は、移動量Δ2に基づいて入射角φを取得する入射角取得部92(図13)として機能する。
次いで、プロセッサ50は、指令補正部72として機能して、取得した入射角φに基づいて、速度指令値V又はレーザ出力指令値Oを補正する。ここで、本実施形態においては、入射角φと、速度指令値V及びレーザ出力指令値Oの設定値Vs及びOsとを互いに関連付けて格納したデータテーブル150が予め用意される。データテーブル150のデータ構造の一例を、図16に示す。
図16に示す例では、列152は、種々の入射角φ(=90°、85°、80°・・・)を示している。また、列154は、レーザパワー指令値Opの設定値Opsを示している。本実施形態においては、レーザパワー指令値Opの設定値Opsは、レーザ加工条件としてオペレータによって設定されたレーザパワー指令値Opに、所定の係数βi(i=1,2,3,・・・)を乗算した値(βi×Op)として、設定されている。すなわち、設定値Opsは、オペレータが設定したレーザパワー指令値Opに応じて変化する。
係数βiは、図15に示す特性Eを考慮して、適宜設定される。例えば、図15に示す特性Eにおいて、吸収率ρがピーク値となる入射角φが、φ90°であるとすると、β1=1として設定され、その他の係数βiは、特性Eに応じて、1より大きい数として設定される。列156及び158は、それぞれ、周波数指令値Ofの設定値Ofs、及び、デューティー比指令値Odの設定値Odsを示す。
これら設定値Ofs及びOdsは、レーザパワー指令値Opの設定値Opsと同様に、オペレータが設定した周波数指令値Of及びデューティー比指令値Odに、所定の係数γi及びεiを乗算した値(γi×Of、εi×Od)として、設定されている。係数γi及びεiは、係数βiと同様に、吸収率ρがピーク値となる入射角φ=90°に対応する係数γ1及びε1を基準に、定められてもよい。このように係数βi、γi及びεiを設定することで、入射角φに応じて吸収率ρが低下するにつれて、設定値Ops、Ofs及びOdsを増大させることができる。
一方、列160は、速度指令値Vの設定値Vsを示す。この設定値Vsも、オペレータが設定した速度指令値Vに、所定の係数ζiを乗算した値(ζi×V)として、設定されている。この係数ζiは、例えば、吸収率ρがピーク値となる入射角φ=90°に対応する係数β1=1とすると、その他の係数βiは、特性Eに応じて、1より小さい数として設定される。すなわち、この場合、入射角φに応じて吸収率ρが低下するにつれて、設定値Vsが減少することになる。
上述の係数βi、γi、εi及びζiは、実験的手法又はシミュレーション等によって、吸収率ρがピーク値となる入射角φ(例えば、90°)を基準として、定められ得る。プロセッサ50は、取得した入射角φを、オペレータが設定した指令値O又はVとともに、データテーブル150に適用し、該入射角φに対する設定値Ops、Ofs、Ods又はVsを、指令値O又はVに係数βi、γi、εi又はζiを乗算することで、取得することができる。そして、プロセッサ50は、現時点で設定されているレーザパワー指令値Op、周波数指令値Of、デューティー比指令値Od、又は速度指令値Vを、取得した設定値Ops、Ofs、Ods又はVsに変更することで、補正する。
例えば、レーザパワー指令値Opを補正する場合において、入射角φ=80°を取得したとき、プロセッサ50は、入射角φ=80°を、レーザパワー指令値Opとともに、データテーブル150に適用し、レーザパワー指令値Opを、補正出力指令値Op’=β3×Opに補正することになる。こうして、プロセッサ50は、このステップS3において、入射角φに基づいて、速度指令値V又はレーザ出力指令値Oを補正する。ステップS3の後、プロセッサ50は、ステップS4を実行する。
以上の通り、本実施形態においては、プロセッサ50は、移動制御部62、ギャップ制御実行部64、レーザ発振制御部66、移動量取得部68、指令補正部72、及び入射角取得部92として機能し、ワークWをレーザ加工するための指令値V、Oを補正する。したがって、移動制御部62、ギャップ制御実行部64、レーザ発振制御部66、移動量取得部68、指令補正部72、及び入射角取得部92は、指令値V、Oを補正する装置90(図13)を構成する。
この装置90においては、入射角取得部92は、レーザ加工LP中の移動機械(ロボット)12の、移動経路MPnと直交する方向への移動量Δ2に基づいて、ワークWに対するレーザ光LBの入射角φを取得する。そして、指令補正部72は、入射角取得部92が取得した入射角φに基づいて、速度指令値V又はレーザ出力指令値Oを補正する。この構成によれば、上述のように入射角φに応じて吸収率ρが低下した場合においても、ワークWの単位面積当たりのレーザ光LBの入熱量又は波数の均一化を図ることができるので、加工品質を維持することができる。
また、装置90においては、入射角φと、速度指令値V又はレーザ出力指令値Oの設定値Ops、Ofs、Ods、Vsとを互いに関連付けて格納したデータテーブル150(図16)が予め用意される。そして、指令補正部72は、入射角取得部92が取得した入射角φをデータテーブル150に適用し、速度指令値V又はレーザ出力指令値Oを、該入射角φに対応する設定値Ops、Ofs、Ods、Vsに変更することで、補正する。この構成によれば、速度指令値V又はレーザ出力指令値Oを補正するプロセス(ステップS3)を、比較的簡単なアルゴリズムで、高速に実行することができる。
なお、データテーブル150においては、一例として、列152の入射角φが、90°、85°、80°・・・として定められている場合について説明した。しかしながら、これに限らず、例えば、列152の各行に規定する入射角φは、所定の範囲:φk≦φ<φk+1(例えば、列152の3行目の入射角φが、78°≦φ<82°)として定められてもよい。
また、データテーブル150に格納された設定値Ops、Ofs、Ods、Vsが、指令値O又はVに係数βi、γi、εi、ζiを乗算した値として定められる場合について述べた。しかしながら、これに限らず、設定値Ops、Ofs、Ods又はVsは、任意の定数としてオペレータによって定められてもよいし、他の如何なる計算式によって定められてもよい。
なお、上述の実施形態においては、プロセッサ50は、データテーブル150を用いて指令値V、Oを補正する場合について述べた。しかしながら、これに限らず、プロセッサ50は、図15に示す特性Eに基づいて指令値V、Oを補正することもできる。例えば、特性Eは、ρ=f(φ)という関数式で表すことができる。
レーザ出力指令値Oを補正する場合、プロセッサ50は、補正出力指令値O’を、入射角φの関数として、O’=O×κ/f(φ)として求めてもよい(但し、κは所定の係数又は関数)。この関数:O’=O×κ/f(φ)によれば、入射角φによって吸収率ρ=f(φ)が低下するのに応じて、レーザ出力指令値Oを増大させることができる。
一方、プロセッサ50は、速度指令値Vを補正する場合において、補正速度指令値V’を、入射角φの関数として、V’=λ×f(φ)として求めてもよい(但し、λは所定の係数又は関数)。この関数によれば、入射角φによって吸収率ρが低下するのに応じて、速度指令値Vを減少させることができる。
なお、図13に示す装置90の機能を、図9に示すレーザ加工システム80に適用可能であることを理解されたい。レーザ加工システム80においても、プロセッサ50は、上述の前進距離Lに基づいて角度θ=tan-1(Δ2/Δ1)を求め、これにより、入射角φを求めることができる。
次に、図17を参照して、レーザ加工システム10のさらに他の機能について説明する。図17に示すレーザ加工システム10は、図2の機能と図13の機能とを組み合わせたものであって、移動量Δ2に基づく指令値V、Oの補正と、入射角φに基づく指令値V、Oの補正とを行う。この機能について、図6を参照して説明する。プロセッサ50は、上述の実施形態と同様に、移動制御部62、ギャップ制御実行部64、レーザ発振制御部66、及び移動量取得部68として機能して、ステップS1及びS2を実行する。
ステップS3において、プロセッサ50は、指令値V又はOを、移動量Δ2及び入射角φに基づいて補正する。例えば、レーザパワー指令値Opを補正する場合、プロセッサ50は、まず、速度取得部70として機能して移動速度νを取得し、該移動速度νに基づいて、レーザパワー指令値Opを、補正出力指令値Op’=α×Op=Op×ν/Vに補正する。
一方、プロセッサ50は、入射角取得部92として機能して移動量Δ2から入射角φを取得し、該入射角φ及び補正出力指令値Op’をデータテーブル150に適用する。そして、プロセッサ50は、補正出力指令値Op’を、補正出力指令値Op”=βi×Op’=α×βi×Opにさらに補正する。なお、周波数指令値Of及びデューティー比指令値Odについても、同様に、移動量Δ2(移動速度ν)及び入射角φに基づいて補正できることを理解されたい。
一方、速度指令値Vを補正する場合、プロセッサ50は、まず、移動量Δ2に基づいて、速度指令値Vを、補正速度指令値V’=Vcosθに補正する。そして、プロセッサ50は、取得した入射角φと補正速度指令値V’とをデータテーブル150に適用する。そして、プロセッサ50は、補正速度指令値V’を、補正速度指令値V”=ζi×V’=ζi×Vcosθに補正する。こうして、プロセッサ50は、指令値V又はOを、移動量Δ2及び入射角φに基づいて補正できる。
以上の通り、本実施形態においては、プロセッサ50は、移動制御部62、ギャップ制御実行部64、レーザ発振制御部66、移動量取得部68、速度取得部70、指令補正部72、及び入射角取得部92として機能し、ワークWをレーザ加工するための指令値V、Oを補正する。したがって、移動制御部62、ギャップ制御実行部64、レーザ発振制御部66、移動量取得部68、速度取得部70、指令補正部72、及び入射角取得部92は、指令値V、Oを補正する装置100(図17)を構成する。
なお、プロセッサ50は、先に、入射角φに基づいて指令値V又はOを補正し、その後に、補正指令値V’又はO’を、移動量Δ2(移動速度ν)に基づいてさらに補正して、補正指令値V”又はO”を取得してもよい。また、図17に示す装置100の機能を、図9に示すレーザ加工システム80に適用可能であることを理解されたい。
次に、図18を参照して、レーザ加工システム10のさらに他の機能について説明する。本実施形態においては、プロセッサ50は、レーザ加工LPのために予め定められた教示点TPnを補正する。例えば、図19に示すように、ワークWの表面に沿って、教示点TP1及びTP2が予め教示されているとする。この場合、教示点TP1及びTP2によって、移動経路MP1が画定される。
一方、ワークWが、取付不良又は変形等によって、図20に示すように、角度θだけ傾斜する場合がある。このような場合において、プロセッサ50が、上述の移動動作LP1及びギャップ制御LP2を並行して実行した場合、レーザ加工ヘッド14(TCP)は、教示点TP2に到達せずに、該教示点TP2に対応する、ワークWの表面上の位置TP2’に到達する。この位置TP2’は、教示点TPから、移動経路MP1と直交する方向(すなわち、ロボット座標系C1のz軸プラス方向)へ、距離δ2だけ変位した位置となる。
このようなワークWに対してレーザ加工LPを実行したとすると、ロボット12が教示点TP1から教示点TP2へ移動する間にワークW上を相対移動するレーザ光LBの移動距離δ3は、移動経路MP1の長さ(つまり、教示点TP1及びTP2の間の距離)δ1よりも、図20中の距離δ4だけ、長くなってしまう。その結果、実際にワークWをレーザ加工した長さ(δ3)が、意図していた長さ(δ1)よりも長くなってしまう。
そこで、本実施形態においては、プロセッサ50は、レーザ加工LPを実行した場合のレーザ光LBの移動距離δ3が上述のように長くなってしまう場合に、該移動距離δ3を長さδ1に一致させるように、教示点TP1又はTP2を補正する。以下、図21を参照して、図18のレーザ加工システム10の機能について説明する。プロセッサ50は、オペレータ、上位コントローラ、又はコンピュータプログラムPG4から教示点補正指令を受け付けたときに、図21のフローを開始する。
ステップS11において、プロセッサ50は、模擬レーザ加工LPsを実行する。具体的には、模擬レーザ加工LPsにおいて、プロセッサ50は、移動制御部62として機能して、レーザ加工LPと同様に移動動作LP1を実行する。具体的には、プロセッサ50は、教示点TP1及びTP2が規定された動作プログラムPG1を実行し、ロボット12の動作により、レーザ加工ヘッド14(TCP)を移動経路MP1に沿って移動させ、教示点TP1及びTP2に順に位置決めする。
この移動動作LP1とともに、プロセッサ50は、ギャップ制御実行部64として機能して、レーザ加工LPと同様にギャップ制御プログラムPG2を実行し、ロボット12の動作によりレーザ出射口40とワークWとの距離dを一定に維持するギャップ制御LP2を実行する。その結果、レーザ加工ヘッド14(TCP)は、図20中の位置TP’に到達することになる。
その一方で、プロセッサ50は、レーザ発振制御部66として機能して、レーザ発振器18によるレーザ光生成動作LP3を停止させる。よって、模擬レーザ加工LPsの間、レーザ加工ヘッド14は、レーザ出射口40からレーザ光LBを出射しない。すなわち、本実施形態においては、プロセッサ50は、模擬レーザ加工LPsとして、移動動作LP1及びギャップ制御LP2を実行する一方、レーザ光生成動作LP3を実行しない。
模擬レーザ加工LPsの実行中、プロセッサ50は、レーザ加工LPと同様に、ロボット座標系C1におけるTCPの座標P(x,y,z)を周期的に取得する。したがって、プロセッサ50は、ロボット12が、教示点TP2に対応する位置TP2’へ移動したときのTCPの座標を取得する。次いで、ステップS12において、プロセッサ50は、模擬レーザ加工LPsが終了したか否かを判定する。プロセッサ50は、YESと判定した場合はステップS13へ進む一方、NOと判定した場合はステップS12をループする。
ステップS13において、プロセッサ50は、ロボット12が教示点TP1から教示点TP2へ移動する間にワークW上を相対移動すると推定されるレーザ光LBの移動距離δ3を取得する。ここで、図20中の教示点TP1及びTP2のロボット座標系C1の座標を、ぞれぞれ、TP1(x1,y1,z1)、及び、TP2(x2,y1,z1)とする。
また、位置TP2’のロボット座標系C1の座標を、(x2,y1,z2)とする。この場合、移動経路MP1の長さδ1は、δ1=x1-x2となり、教示点TP2と位置TP2’との距離δ2は、δ2=z2-z1となる。この距離δ2は、ロボット12がレーザ加工ヘッド14を教示点TP1から教示点TP2へ移動する間に、移動経路MP1と直交する方向(つまり、ロボット座標系C1のz軸方向)へ移動した移動量δ2を表す。この移動量δ2は、上述の移動量Δ2に対応する。プロセッサ50は、移動量取得部68として機能して、教示点TP1及び位置TP2’のz座標:z1、z2に基づいて、移動量δ2を取得する。
そして、プロセッサ50は、移動量δ2に基づいて、ロボット12(TCP)が教示点TP1から教示点TP2へ移動する間にワークW上を相対移動すると推定されるレーザ光LBの移動距離δ3を、δ3=(δ12+δ22)1/2として取得する。このように、本実施形態においては、プロセッサ50は、移動量δ2に基づいて移動距離δ3を取得する距離取得部112(図18)として機能する。
ステップS14において、プロセッサ50は、ステップS13で取得した移動距離δ3が、移動経路MP1の長さδ1(又は、長さδ1を基準として定めた閾値)よりも大きい(δ3>δ1)か否かを判定する。プロセッサ50は、YESと判定した場合はステップS15へ進む一方、NOと判定した場合は、図21に進むフローを終了する。このように、本実施形態においては、プロセッサ50は、移動距離δ3が移動経路MP1の長さδ1よりも大きいか否かを判定する距離判定部114(図18)として機能する。
ステップS15において、プロセッサ50は、教示点TP1又はTP2を補正する。具体的には、プロセッサ50は、角度θ(図20)を、θ=tan-1(δ2/δ1)として求める。ここで、図22に示すように、ワークWの表面上で、教示点TP1からの距離がδ1となる位置をTP3’とすると、ロボット座標系C1において位置TP3’と同じx座標を有する、移動経路MP1上の位置は、TP3となる。
この位置TP3の座標を、TP3(x3,y1,z1)とすると、x座標x3は、x3=x1-δ1cosθとして求めることができる。プロセッサ50は、教示点TP2の座標を、TP3(x3,y1,z1)に補正することで、新たな教示点TP3を設定する。そして、プロセッサ50は、新たな教示点TP3を、動作プログラムPG1に規定する。この教示点TP3によれば、移動動作LP1において、ロボット12が教示点TP1及びTP3に移動する間にワークW上を相対移動すると推定されるレーザ光LBの移動距離を、当初の移動経路MP1の長さδ1に一致させることができる。
なお、プロセッサ50は、教示点TP1を、図20に示す距離δ4(=δ3-δ1)だけロボット座標系C1のx軸マイナス方向へ変位させるように補正することで、新たな教示点TP3を設定してもよい。この場合も、ロボット12が教示点TP3及びTP2に移動する間にワークW上を相対移動すると推定されるレーザ光LBの移動距離を、当初の移動経路MP1の長さδ1に一致させることができる。
このように、本実施形態においては、プロセッサ50は、教示点TP1又はTP2を補正する教示点補正部116(図18)として機能する。その後、プロセッサ50は、図21のフローを終了する。図21のフローの終了後、プロセッサ50は、実際のレーザ加工LPを実行する。このとき、プロセッサ50は、補正後の教示点TP3が規定された動作プログラムPG1に従って、移動動作LP1を実行することになる。
以上の通り、本実施形態においては、プロセッサ50は、移動制御部62、ギャップ制御実行部64、レーザ発振制御部66、移動量取得部68、距離取得部112、及び教示点補正部116として機能し、レーザ加工LPのために予め定められた教示点TPnを補正する。したがって、移動制御部62、ギャップ制御実行部64、レーザ発振制御部66、移動量取得部68、距離取得部112、及び教示点補正部116は、教示点TPnを補正する装置110(図18)を構成する。
この装置110においては、移動量取得部68は、第1の教示点TP1から第2の教示点TP2へ移動する間の、移動経路MP1と直交する方向(ロボット座標系C1のz軸方向)における移動機械12の移動量δ2を取得する。そして、教示点補正部116は、移動機械12が第1の教示点TP1から第2の教示点TP2へ移動する間にワークW上を相対移動するレーザ光LBの移動距離δ3が移動経路MP1の長さδ1よりも大きい場合に、移動量取得部68が取得した移動量δ2に基づいて、該移動距離δ3を該長さδ1に一致させるように第1の教示点TP1又は第2の教示点TP2を補正する(ステップS15)。
この構成によれば、仮に、図20に示すようにワークWの表面が傾斜していたとしても、実際にワークWをレーザ加工した長さを、意図していた長さに(δ1)に一致させることができる。また、このように自動で教示点TPnを補正することによって、オペレータが、再度、教示点TPnを教示する作業を省略できる。
また、装置110においては、距離取得部112は、移動量取得部68が取得した移動量δ2に基づいて、移動機械12が第1の教示点TP1から第2の教示点TP2へ移動する間にワークW上を相対移動するレーザ光LBの移動距離δ3を取得する。また、距離判定部114は、距離取得部112が取得した移動距離δ3が移動経路の長さδ1よりも大きいか否かを判定する。
そして、教示点補正部116は、距離判定部114によって移動距離δ3が長さδ1よりも大きい(ステップS14でYES)と判定された場合に、第1の教示点TP1又は第2の教示点TP2を補正する(ステップS15)。この構成によれば、移動距離δ3が長さδ1よりも大きい場合にのみ、教示点TP1又はTP2を補正するプロセスを実行できる。これにより、不必要な補正を行ってしまうのを確実に回避できる。
また、本実施形態においては、レーザ発振制御部66は、移動機械12を第1の教示点TP1から第2の教示点TP2へ移動させている間、レーザ発振器18によるレーザ光生成動作LP3を停止させる。この構成によれば、模擬レーザ加工LPsによってワークWが加工されてしまうのを防止できるとともに、作業の安全性を確保することができる。
なお、プロセッサ50は、ステップS11の模擬レーザ加工LPsにおいて、レーザ発振制御部66として機能して、第2のレーザ出力指令値O2に従って、レーザ発振器18にレーザ光生成動作LP3を実行させてもよい。第2のレーザ出力指令値O2は、実際のレーザ加工LPでレーザ発振器18を動作させるレーザ出力指令値Oよりも小さい指令値である。
例えば、レーザ出力指令値Oがレーザパワー指令値Op(例えば、5[kW])である場合、第2のレーザ出力指令値O2としての第2のレーザパワー指令値Op2は、レーザパワー指令値Opよりも遥かに小さい値(例えば、1[w])として設定される(いわゆる、可視光ガイドレーザ)。周波数指令値Of、又はデューティー比指令値Odについても同様に、第2の周波数指令値Of2、又は第2のデューティー比指令値Od2は、該周波数指令値Of、又は該デューティー比指令値Odよりも小さい値に設定されてもよい。
なお、図21のフローに種々の変更を加えることができる。図23に、図21のフローの変形例を示す。なお、図23に示すフローにおいて、図21のフローと同じプロセスには同じステップ番号を付し、重複する説明を省略する。図23のフローにおいては、プロセッサ50は、ステップS12でYESと判定したとき、ステップS16及びS17を実行する。
ステップS16において、プロセッサ50は、移動量取得部68として機能して、教示点TP1から教示点TP2へ移動する間の、移動経路MP1と直交する方向におけるロボット12の移動量δ2を取得する。具体的には、プロセッサ50は、上述のように、教示点TP1及び位置TP2’のロボット座標系C1のz座標z1,z2に基づいて、移動量δ2=z2-z1を取得する。
ステップS17において、プロセッサ50は、上述のステップS2と同様に、移動量δ2が、所定の閾値δthを超えたか否かを判定する。この閾値δthは、移動量δ2から求められる移動距離δ3が移動経路MP1の長さδ1を超えるような値として、オペレータによって予め定められる。プロセッサ50は、YESと判定した場合はステップS15へ進む一方、NOと判定した場合は、図23のフローを終了する。
このように、プロセッサ50は、上述の移動距離δ3を求めることなく、移動量δ2に基づいて、教示点TPnの補正の要否を判定できる。すなわち、この場合、装置110から、距離取得部112及び距離判定部114を省略できる。本実施形態によれば、移動距離δ3を演算する処理を省略できるので、作業のサイクルタイムを短縮できる。
なお、プロセッサ50は、メモリ52に予め記憶されたコンピュータプログラムPG4に従って、図21又は図23のフローを実行してもよい。また、プロセッサ50が実行する装置110(移動制御部62、ギャップ制御実行部64、レーザ発振制御部66、移動量取得部68、距離取得部112、距離判定部114、教示点補正部116)の機能は、コンピュータプログラムPG4によって実現される機能モジュールであってもよい。なお、図18に示す装置110の機能を、図9に示すレーザ加工システム80に適用可能であることを理解されたい。レーザ加工システム80においても、プロセッサ50は、上述の前進距離Lに基づいて移動量δ2を取得し、教示点TPnを補正することができる。
なお、装置110から、レーザ発振制御部66を省略してもよい。例えば、レーザ発振制御部66を省略した装置110の機能(つまり、移動制御部62、ギャップ制御実行部64、移動量取得部68、距離取得部112、及び教示点補正部116)を、制御装置20とは別のコンピュータ(例えば、教示装置)に実装してもよい。この場合、該別のコンピュータは、レーザ発振器18によるレーザ光生成動作LP3を実行しない一方、移動機械12による移動動作LP1及びギャップ制御LP2を実行するように構成される。
なお、上述した装置60、90、100及び110の機能を組み合わせることもできる。このような機能を備えるレーザ加工システム10を、図24に示す。図24に示すレーザ加工システム10においては、プロセッサ50は、装置120として機能し、該装置120は、移動制御部62、ギャップ制御実行部64、レーザ発振制御部66、移動量取得部68、速度取得部70、指令補正部72、入射角取得部92、距離取得部112、距離判定部114、及び教示点補正部116を具備する。なお、装置120の機能を、図9のレーザ加工システム80に組み合わせることができることも理解されたい。
なお、図6のフローから、ステップS2を省略し、ステップS1の開始後、ステップS3を繰り返し実行してもよい。また、プロセッサ50は、ステップS3で補正の対象とする指令値(レーザパワー指令値Op、周波数指令値Of、デューティー比指令値Od、又は速度指令値V)を選択する入力を、オペレータから受け付けてもよい。そして、プロセッサ50は、ステップS3で、オペレータによって選択された指令値V又はOを補正する。
なお、制御装置20は、移動機械12又は88を制御する第1の制御装置20Aと、レーザ発振器18を制御する第2の制御装置20Bを備えてもよい。また、上述の実施形態においては、固定されたワークWに対し、ロボット12がレーザ加工ヘッド14又は82を移動させる場合について述べた。しかしながら、これに限らず、固定されたレーザ加工ヘッド14又は82に対し、ロボット12がワークWを移動させてもよい。このような形態にも、本開示の概念を適用することができる。
また、移動機械12又は88は、図示した例に限定されない。例えば、ロボット12は、水平多関節ロボット、パラレルリンクロボット等、如何なるタイプのロボットであってもよい。又は、移動機械12又は88は、ワークWを、ロボット座標系C1のx-y平面に沿って移動させるワークテーブル機構と、レーザ加工ヘッド14又は82を、ロボット座標系C1のz軸方向へ移動させるz軸移動機構とを備えてもよい。
また、上述の実施形態においては、制御座標系Cとして、ロボット座標系C1の座標に基づいて、移動量Δ2、δ2を取得する場合について述べた。しかしながら、これに限らず、例えば、ワークWに対してワーク座標系C3が設定されてもよい。ワーク座標系C3は、ロボット座標系C1におけるワークWの位置を規定する制御座標系C1である。プロセッサ50は、ワーク座標系C3の座標に基づいて、移動量Δ2、δ2を取得してもよい。また、制御座標系Cとして、ロボット座標系C1、ツール座標系C2、及びワーク座標系C3に限らず、他の如何なる座標系が設定されてもよい。
以上、本開示について詳述したが、本開示は上述した個々の実施形態に限定されるものではない。これらの実施形態は、本開示の要旨を逸脱しない範囲で、または、特許請求の範囲に記載された内容とその均等物から導き出される本開示の趣旨を逸脱しない範囲で、種々の追加、置き換え、変更、部分的削除等が可能である。また、これらの実施形態は、組み合わせて実施することもできる。例えば、上述した実施形態において、各動作の順序や各処理の順序は、一例として示したものであり、これらに限定されるものではない。また、上述した実施形態の説明に数値又は数式が用いられている場合も同様である。
本開示は、以下の態様を記載する。
(態様1)ワークWをレーザ加工LPするための指令値V,Oを補正する装置60,90,100,120であって、レーザ発振器18が生成したレーザ光LBを出射するレーザ出射口40とワークWとを相対的に移動させる移動機械12,88を、予め定めた速度指令値Vに従って動作させて、予め定めた移動経路MPnに沿って移動させる移動制御部62と、予め定めたレーザ出力指令値Oに従ってレーザ発振器18を動作させて、該レーザ発振器18にレーザ光LBを生成させるレーザ発振制御部66と、レーザ加工LP中にレーザ出射口40とワークWとの距離dを一定に維持するように移動機械12,88を動作させるギャップ制御実行部64と、レーザ加工LP中の移動機械12,88の、移動経路MPnと直交する方向への移動量Δ2に基づいて、速度指令値V又はレーザ出力指令値Oを補正する指令補正部72とを備える、装置60,90,100,120。
(態様2)移動量Δ2に基づいて、レーザ加工LP中にワークW上を相対移動するレーザ光Wの移動速度νを取得する速度取得部70をさらに備え、指令補正部72は、速度取得部70が取得した移動速度νに基づいてレーザ出力指令値Oを補正する、態様1に記載の装置60,90,100,120。
(態様3)レーザ出力指令値Oは、レーザ光LBのレーザパワーOpを規定するレーザパワー指令値Op、該レーザ光LBの周波数Ofを規定する周波数指令値Of、及び、該レーザ光LBのデューティー比Odを規定するデューティー比指令値Odの少なくとも1つを含み、指令補正部72は、レーザパワー指令値Op、周波数指令値Of、又はデューティー比指令値Odを補正する、態様2に記載の装置60,90,100,120。
(態様4)指令補正部72は、速度取得部70が取得した移動速度νを速度指令値Vによって除算した変数αをレーザ出力指令値Oに乗算することで、該レーザ出力指令値Oを補正する、態様2又は3に記載の装置60,90,100,120。
(態様5)移動機械12の動作を自動制御するための制御座標系C(ロボット座標系C1)が予め設定され、移動経路MPnは、制御座標系C1の第1の軸(x軸)及び第2の軸(y軸)によって規定される平面(x-y平面)に沿って定められ、装置60,90,100,120は、移動機械12,88の、制御座標系Cの第3の軸(z軸)の座標に基づいて移動量Δ2を取得する移動量取得部68をさらに備える、態様1~4のいずれかに記載の装置60,90,100,120。
(態様6)移動機械88は、レーザ出射口40が形成されたレーザ加工ヘッド82を移動させるロボット12と、レーザ加工ヘッド82に設けられ、レーザ出射口40をレーザ光LBの光軸Aに沿って進退させる出射口駆動部86とを有し、装置60,90,100,120は、出射口駆動部86によるレーザ出射口40の前進距離Lに基づいて移動量Δ2を取得する移動量取得部68をさらに備える、態様1~4のいずれかに記載の装置60,90,100,120。
(態様7)移動量Δ2に基づいて、ワークWに対するレーザ光LBの入射角φを取得する入射角取得部92をさらに備え、指令補正部72は、入射角取得部92が取得した入射角φに基づいて、速度指令値V又はレーザ出力指令値Oを補正する、態様1~6のいずれかに記載の装置90,100,120。
(態様8)入射角φと、速度指令値V又はレーザ出力指令値Oの設定値Vs,Osとを互いに関連付けて格納したデータテーブ150ルが予め用意され、指令補正部72は、入射角取得部92が取得した入射角φをデータテーブル150に適用し、速度指令値V又はレーザ出力指令値Oを、該入射角φに対応する設定値Vs,Osに変更することで、補正する、態様7に記載の装置90,100,120。
(態様9)ワークWに対するレーザ加工LPのために予め定められた教示点TPnを補正する装置110,120であって、レーザ発振器18が生成したレーザ光LBを出射するレーザ出射口40とワークWとを相対的に移動させる移動機械12,88を、第1の教示点TP1及び第2の教示点TP2によって画定される移動経路MP2に沿って移動させる移動制御部62と、レーザ出射口40とワークWとの距離dを一定に維持するように移動機械12,88を動作させるギャップ制御実行部64と、第1の教示点TP1から第2の教示点TP2へ移動する間の、移動経路MP1と直交する方向における移動機械12,88の移動量δ2を取得する移動量取得部68と、移動機械12,88が第1の教示点TP1から第2の教示点TP2へ移動する間にワークW上を相対移動するレーザ光LBの移動距離δ3が移動経路MP1の長さδ1よりも大きい場合に、移動量取得部68が取得した移動量δ2に基づいて、該移動距離δ3を該長さδ1に一致させるように第1の教示点TP1又は第2の教示点TP2を補正する教示点補正部116とを備える、装置110,120。
(態様10)移動量取得部68が取得した移動量δ2に基づいて、移動距離δ3を取得する距離取得部112と、距離取得部112が取得した移動距離δ3が移動経路MP1の長さδ1よりも大きいか否かを判定する距離判定部114とをさらに備え、教示点補正部116は、距離判定部114によって移動距離δ3が長さδ1よりも大きいと判定された場合に、第1の教示点TP1又は第2の教示点TP2を補正する、態様9に記載の装置110,120。
(態様11)移動機械12,88を第1の教示点TP1から第2の教示点TP2へ移動させている間、レーザ発振器18によるレーザ光生成動作LP3を停止させるか、又は、レーザ加工LPでレーザ発振器18を動作させるレーザ出力指令値Oよりも小さい第2のレーザ出力指令値O2に従って、該レーザ発振器18にレーザ光生成動作LP3を実行させるレーザ発振制御部66をさらに備える、態様9又は10に記載の装置110,120。
(態様12)レーザ光LBを生成するレーザ発振器18と、レーザ発振器18が生成したレーザ光LBを出射するレーザ出射口40とワークWとを相対的に移動させる移動機械12,88と、レーザ出射口40とワークWとの距離dを測定する測距センサ16と、態様1~11のいずれかに記載の装置60,90,100,110,120とを備える、レーザ加工システム10。
(態様13)ワークWをレーザ加工LPするための指令値V,Oを補正する方法であって、レーザ発振器18が生成したレーザ光LBを出射するレーザ出射口40とワークWとを相対的に移動させる移動機械12,88を、予め定めた速度指令値Vに従って動作させて、予め定めた移動経路MPnに沿って移動させ、予め定めたレーザ出力指令値Oに従ってレーザ発振器18を動作させて、該レーザ発振器18にレーザ光LBを生成させ、レーザ加工LP中にレーザ出射口40とワークWとの距離dを一定に維持するように移動機械12,88を動作させ、レーザ加工LP中の移動機械12,88の、移動経路MPnと直交する方向への移動量Δ2に基づいて、速度指令値V又はレーザ出力指令値Oを補正する、方法。
(態様14)ワークWに対するレーザ加工LPのために予め定められた教示点TPnを補正する方法であって、レーザ発振器18が生成したレーザ光LBを出射するレーザ出射口40とワークWとを相対的に移動させる移動機械12,88を、第1の教示点TP1及び第2の教示点TP2によって画定される移動経路MP1に沿って移動させ、レーザ出射口40とワークWとの距離dを一定に維持するように該移動機械12,88を動作させ、第1の教示点TP1から第2の教示点TP2へ移動する間に、移動経路MP1と直交する方向における移動機械12,88の移動量δ2を取得し、移動機械12,88が第1の教示点TP1から第2の教示点TP2へ移動する間にワークW上を相対移動するレーザ光LBの移動距離δ3が移動経路MP1の長さδ1よりも大きい場合に、取得した移動量δ2に基づいて、該移動距離δ3を該長さδ1に一致させるように第1の教示点TP1又は第2の教示点TP2を補正する、方法。
(態様15)態様13又は14に記載の方法をプロセッサ50に実行させる、コンピュータプログラムPG3、PG4。