(57)【要約】【課題】コントローラでのフィードバック位置の算出にピンクッション補正量を除去する処理を追加し、従来のフィードバック位置からピンクッション補正量を除いた位置を、指令位置に対応するフィードバック位置として使用することができるレーザスキャニング装置を提供する。【解決手段】コントローラ１は、レーザの照射範囲を格子状に区切った領域ごとの境界値に補正量を加算した領域境界データを有し、ミラーの回転角から算出した仮の照射位置に対応する領域境界データの領域を特定し、特定された領域に設定された補正量を求め、仮の照射位置から補正量を減算した値を真の照射位置とする手段を備える。【選択図】図１
2007127827.tif 000002
【特許請求の範囲】
【請求項１】
各々がミラーを回転させることでレーザを反射してＸ方向とＹ方向のスキャンを行うガルバノメータスキャナと、前記ガルバノメータスキャナを制御して前記レーザを平面上に照射させるコントローラからなり、
前記コントローラは、前記レーザの照射範囲を格子状に区切った領域ごとに設定された補正量のテーブルを有するとともに、スキャンを行う際に、所定の照射位置に前記補正量を加算した値を指令して前記ガルバノメータスキャナを制御する手段を備えるレーザスキャニング装置において、
前記コントローラは、前記領域ごとの境界値に前記補正量を加算した領域境界データを有し、前記ミラーの回転角から算出した仮の照射位置に対応する前記領域境界データの領域を特定し、前記特定された領域に設定された前記補正量を求め、前記仮の照射位置から前記補正量を減算した値を真の照射位置とする手段を備えることを特徴とするレーザスキャニング装置。
【請求項２】
前記コントローラは、前記領域境界データにおいて、前記レーザの照射範囲を格子状に区切った領域ごとの境界値に前記補正量を加算することにより隣接した前記領域間で重複する部分が発生した場合は、前記重複部分の中間値を新たな境界値とする手段を備えることを特徴とする請求項１記載のレーザスキャニング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ガルバノメータスキャナによってレーザ照射位置を制御するレーザスキャニング装置に関する。
【背景技術】
【０００２】
図２はレーザスキャニング装置の構成例である。図２において、１はコントローラ、２はホストＰＣである。両者はＥｔｈｅｒｎｅｔ(登録商標)などの通信手段で接続され、ホストＰＣ２はスキャンプログラムの実行の操作やステータス表示のためのヒューマンインタフェースを備えており、操作者はホストＰＣ２を介してレーザスキャニング装置を操作する。コントローラ１は、ホストＰＣ２からの指令にしたがってスキャンプログラムの実行と停止を行ったり、レーザ照射位置の現在位置、アラーム、運転状況などのステータスをホストＰＣ２に知らせたりする。
【０００３】
３はサーボアンプであり、各々が１つのガルバノメータスキャナと接続されている。さらにすべてのサーボアンプはアナログ線やフィールドネットワークによってコントローラ１と接続され、コントローラ１から指令された位置にしたがってガルバノメータスキャナの位置制御を行う。
図２は３軸を備えたシステムの例であり、３個のサーボアンプを有する。４はＸ軸ガルバノメータスキャナであり、Ｘミラー７を装着している。５はＹ軸ガルバノメータスキャナであり、Ｙミラー８を装着している。６はＺ軸であり、第１レンズ９のレーザ１２方向の位置を変化させるために使用する。ここで第１レンズ９はダイナミックフォーカスレンズである。
【０００４】
前述したように１２はレーザであり、第１レンズ９、第２レンズ１０、第３レンズ１１を通過し、Ｘミラー７、Ｙミラー８によって進行方向を変えられて、照射面１３上の加工点１４に到達する。ガルバノメータスキャナによってＸミラー、Ｙミラーを動かしてレーザ光源（図示せず）から照射されるレーザ１２の進行方向を変化させることにより、照射面１３上の加工点１４の位置を動かすしくみである。さらに照射面１３上のレーザの焦点を、ダイナミックフォーカスレンズ（第１レンズ）により変化させるようになっている。
【０００５】
しかしながら、レーザのＸＹスキャニングを行う場合、レーザをＸ方向とＹ方向へ動かすのにそれぞれ独立した２枚のミラーを使用していることから、物理的に必ず図９のような決まった歪みパターンが発生する。これはピンクッションエラーと呼ばれる。
【０００６】
これに対応するため、コントローラ１には、ピンクッションエラーおよび装置の光学系全体のエラーを、照射面１３上の座標値の補正としてまとめて補正できるように、補正テーブルデータが用意されている。
【０００７】
図１０は補正テーブルデータの一例である。図１０では、ＸＹスキャニングによる、照射面１３上の加工点１４の可動範囲を６５×６５の格子状の領域に区切り、個々の領域ごとに補正量を設定するようにしている。領域の数は一例であり６５×６５に限定されるものではない。補正テーブルは、区切られた領域ごとにＸ方向の補正量とＹ方向の補正量を持つ構造体の配列とし、配列のインデクス（０〜６４）は補正テーブルのインデクスを表すものとする。
ここで、構造体や配列とはＣ言語のようなプログラミング言語にて利用できるデータ構造のことを意味する。
図１１は理想的な座標にピンクッション補正量を加算した例である。ピンクッションエラーを補正するための各補正量は、理想的な座標を図１１の左側のように樽型に歪ませる値である。指令位置に、その指令位置が属する格子領域に設定された補正量を加算した位置を補正位置とする。
図１２はコントローラ１に従来の処理を適用した場合のブロック図である。スキャニングを制御するコントローラ１では、ピンクッション補正を含む処理を実行して各ガルバノメータスキャナの回転角指令を作成する。図１２において、プログラム解析処理１０２は、ホストＰＣ２から送り込まれてコントローラ１の内部に記憶されたスキャンプログラム１０８を読み込み、スキャンプログラム１０８に記述された目標位置１０９を出力する。
補間処理１０３は、目標位置１０９を入力とし、目標位置１０９間の補間計算を行い、補間位置１１０を出力する。ピンクッション補正処理１０４は、補間位置１１０を入力とし、ピンクッション補正値を加算した結果である補正位置１１１を出力する。Inverse Kinematics（逆運動学）処理１０５は、照射面１３上の座標から各ガルバノメータスキャナの回転角を計算する処理であり、補正位置１１１を入力とし、位置の変換をして回転角１１２を出力する。回転角１１２は各サーボアンプ３へ指令される。
【０００８】
一方、照射面１３上のレーザ加工点１４の現在位置を知るために、Forward Kinematics（順運動学）処理１０７を行う（例えば、非特許文献１の幾何学的エラーの補正計算式参照）。Forward Kinematics処理１０７は、各スキャナの回転角から照射面１３上における座標を計算する処理であり、回転角フィードバック１１３を入力とし、位置の変換をして補正位置フィードバック１１４を出力する。
【０００９】
従来のコントローラでは、この補正位置フィードバック１１４をフィードバック位置１１６として扱う。ただし、ピンクッション補正量を除去していないので、スキャンプログラム１０８で指令された位置とはピンクッション補正量の分だけ、ずれた位置になる。
ピンクッション補正量は６５×６５の領域ごとに自由に設定できるため、隣り同士の領域に設定された補正量は不連続な値である。したがって、図１２のForward Kinematics処理１０７で得られたフィードバック位置が、補正テーブル内のどのピンクッション補正量によって変更された指令値に対する値なのか探るのは困難であり、フィードバック位置から減算すべき補正値を発見するのは難しい。
【００１０】
このため、従来のレーザスキャニング装置は、フィードバック位置からピンクッション補正量を除去する処理は行わず、補正がかかった値に対するフィードバック位置（図１２の１１６）をそのまま現在位置とするか、あるいは、その代わりにフィードバックの値ではなく指令している値を現在位置として画面表示している（例えば、非特許文献２参照）。
【００１１】
【非特許文献１】山下仁、ガルバノメータスキャナ技術の流れとその応用、「第５７回レーザ加工学会・理研シンポジウム論文集」レーザ加工学会、平成１４年１２月
【非特許文献２】GSIL P/N: 7OM-1095 Rev B、「WinMCL Plus Software Manual」、GSI Lumonics Inc.、２００４年、ｐ．４０、７１
【発明の開示】
【発明が解決しようとする課題】
【００１２】
従来のレーザスキャニング装置では、指令に対してピンクッション補正をかけた分を考慮していないので、Forward Kinematics（順運動学）処理によって求めたフィードバック位置は指令に対して補正値分だけずれた位置となる。つまりフィードバック位置は指令位置に一致することがなく、フィードバック位置を現在位置として画面表示などに使っても、現在位置表示が実際にレーザが照射されている座標ではないという問題があった。
一方、指令位置を現在位置として使用するような場合は、コントローラが出力し終わった位置が現在位置となるので、現在位置を画面表示しても、実際に目標位置へ到達したかどうかを知ることができないというような問題もあった。
本発明はこのような問題点に鑑みてなされたものであり、コントローラでのフィードバック位置の算出にピンクッション補正量を除去する処理を追加し、従来のフィードバック位置からピンクッション補正量を除いた位置を、指令位置に対応するフィードバック位置として使用することができるレーザスキャニング装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記問題を解決するため、本発明は、次のように構成したのである。
請求項１に記載の発明は、各々がミラーを回転させることでレーザを反射してＸ方向とＹ方向のスキャンを行うガルバノメータスキャナと、前記ガルバノメータスキャナを制御して前記レーザを平面上に照射させるコントローラからなり、前記コントローラは、前記レーザの照射範囲を格子状に区切った領域ごとに設定された補正量のテーブルを有するとともに、スキャンを行う際に、所定の照射位置に前記補正量を加算した値を指令して前記ガルバノメータスキャナを制御する手段を備えるレーザスキャニング装置において、前記コントローラは、前記領域ごとの境界値に前記補正量を加算した領域境界データを有し、前記ミラーの回転角から算出した仮の照射位置に対応する前記領域境界データの領域を特定し、前記特定された領域に設定された前記補正量を求め、前記仮の照射位置から前記補正量を減算した値を真の照射位置とする手段を備えることを特徴とする。
請求項２に記載の発明は、前記コントローラは、前記領域境界データにおいて、前記レーザの照射範囲を格子状に区切った領域ごとの境界値に前記補正量を加算することにより隣接した前記領域間で重複する部分が発生した場合は、前記重複部分の中間値を新たな境界値とする手段を備えることを特徴とする。
【発明の効果】
【００１４】
請求項１に記載の発明によると、フィードバック位置からピンクッション補正量を除去することができ、指令位置に対応したフィードバック位置を得ることができる。
また、請求項２に記載の発明によると、可動範囲の格子領域を補正テーブルのピンクッション補正量によって補正した場合に発生する、隣り同士の格子領域が重なった領域についても、フィードバック位置から減算すべき補正量を特定することができ、指令位置に対応したフィードバック位置を得ることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【００１６】
図１は、本発明のレーザスキャニング装置におけるコントローラの処理のブロック図である。また、図２はレーザスキャニング装置の構成例である。スキャニングを制御するコントローラ１では、ピンクッション補正を含む図１の処理を実行して各スキャナの回転角指令を作成する。
図１において、プログラム解析処理１０２は、ホストＰＣ２から送り込まれてコントローラ１の二次記憶装置などに記憶されたスキャンプログラム１０８を読み込み、スキャンプログラム１０８に記述された目標位置１０９を出力する。補間処理１０３は、目標位置１０９を入力とし、目標位置１０９間の補間計算を行い、補間位置１１０を出力する。ピンクッション補正処理１０４は、補間位置１１０を入力とし、補正テーブルを参照して補間位置１１０にピンククッション補正量を加算した結果である補正位置１１１を出力する。Inverse Kinematics処理１０５は、補正位置１１１を入力とし、位置の変換をしてＸミラー７とＹミラー８の回転角１１２を出力する。回転角１１２は各サーボアンプ３へ指令される。
【００１７】
また、コントローラ１では、照射面１３上のレーザ加工点１４の現在位置を知るために、Forward Kinematics処理１０７およびピンクッション補正量の除去処理を行う。Forward Kinematics処理１０７は、各スキャナのミラーの回転角から照射面１３上の座標を計算する処理であり、回転角フィードバック１１３を入力とし、位置の変換をして補正位置フィードバック１１４を出力する。ピンクッション補正量の除去処理１０６は、補正位置フィードバック１１４を入力とし、補正値を減算した結果である位置を出力する。本発明のコントローラでは、ピンクッション補正量の除去処理１０６が出力した位置をフィードバック位置１１５として扱う。
本発明が従来技術と異なる部分は、コントローラ１にピンクッション補正量の除去処理１０６を備えた部分である。その動作は、初期処理と定常処理に分けられる。
【００１８】
まず、ピンクッション補正量を除去する処理の準備として、コントローラ初期化時に行う初期処理について説明する。
図３は初期処理のフローチャートである。まず、ピンクッション補正量の入った補正テーブルとは別のデータとして、領域境界データb_data[65][65]を用意する（Ｓ３０１）。
領域境界データとは、照射面１３上の加工点１４の可動範囲を６５×６５の格子に分割した際の、各領域の位置および境界を表す構造体データとする。領域の数は一例であり６５×６５に限定されるものではないが、補正テーブルの分割数と同一でなければならない。
また、前述のように、構造体、配列とはＣ言語のようなプログラミング言語にて利用できるデータ構造のことを意味するが、同様の効果をもたらすデータ構造であればこの形式に限定されるものではなく、プログラミング言語についてもＣ言語になんら限定されるものではない。
図４は１つの領域境界データを示す図であり、構造体は、領域境界を表すＸ最小値（min_x）、Ｙ最小値（min_y）、Ｘ最大値（max_x）、Ｙ最大値（max_y）と、Ｘ中心座標（cp_x）およびＹ中心座標（cp_y）を要素として持つ。ここで、各要素は実数である。
b_data[65][65]の６５×６５のインデクスは図１０に示した補正テーブルc_data[65][65]のインデクスに対応する。ただし、図４は説明のため格子の数が省略して描かれている。
【００１９】
領域境界データb_data[65][65]の用意に続き、補正テーブルc_data[65][65]からピンククッション補正量を参照し、領域境界データb_data[65][65]の各領域の領域境界値および中心座標にピンククッション補正量を加算する（Ｓ３０２）。補正量を加算すると、図４の右側に示すように可動領域全体が樽型に歪むことになる。以上が初期処理である。
【００２０】
次に、初期化が終わった後のコントローラの定常処理について説明する。
定常処理の中では、従来と同様、ピンクッション補正量を加算した補正位置をもとに各ガルバノメータスキャナへの指令値を生成する一方で各ガルバノメータスキャナからサーボアンプ３を通してコントローラ１が受け取ったＸミラー７、Ｙミラー８の回転角のフィードバックを元に、現在の加工点の位置を求める。図１に示すように、コントローラ１内のForward Kinematics処理１０７にて各ミラーの回転角Ｐｘ、Ｐｙを平面上の直交座標（Ｘｃ、Ｙｃ）に変換した後に、ピンクッション補正量の除去を行う。ここで、Ｐｘ、Ｐｙ、Ｘｃ、Ｙｃはいずれも実数である。
図５はピンクッション補正量の除去処理１０６の詳細を示すフローチャートである。
図５に示すように、はじめに、特定したインデクスを保存する変数search_ixとsearch_iyを-1に初期化する（Ｓ５０１）。
次に、直交座標（Ｘｃ、Ｙｃ）が領域境界データのどの領域に入っているかを調べるために、領域境界データのb_data[0][0]から順番に、ＸｃがＸ最小値（min_x）とＸ最大値（max_x）の間に入っているかどうかを判断し（Ｓ５０２）、入っていればＹｃがＹ最小値（min_y）とＹ最大値（max_y）の間に入っているかどうかを判断し（Ｓ５０３）、ＸｃまたはＹｃが領域に入っていなければ領域境界データのインデクスを次に進める。
図５の例では、インデクスの進め方は、b_data[0][0]の次はb_data[0][1]を、その次は
b_data[0][2]・・・という順番で、b_data[0][64]に達したら次はb_data[1][0]、b_data[1][1]・・・となる。
【００２１】
ＸｃとＹｃが共に入っている領域境界データを見つけるまでインデクスを次に進めてＳ５０２とＳ５０３を繰り返す（Ｓ５０５）。ＸｃとＹｃが共に入っている領域を見つけるとsearch_ixにＸインデクスを保存し、search_iyにＹインデクスを保存する（Ｓ５０４）。続いて、保存したインデクスに対応する補正テーブルc_data[65][65]のピンクッション補正量を参照し（Ｓ５０６）、ＸｃからＸ補正量を減算してＸフィードバック値とし（Ｓ５０７）、ＹｃからＹ補正量を減算してＹフィードバック値として（Ｓ５０８）、フィードバック値からピンクッション補正量を除去することができる。
【実施例２】
【００２２】
図６は本発明の第２実施例の初期処理を示すフローチャートである。まず、実施例１と同様に、ピンクッション補正量の入った補正テーブルとは別のデータとして図４に示す領域境界データb_data[65][65]を用意する（Ｓ６０１）。領域境界データは、可動範囲を６５×６５の格子に分割した各領域を表す構造体データとする。b_data[65][65]の６５×６５のインデクスは図１０に示した補正テーブルc_data[65][65]のインデクスに対応する。
次に、補正テーブルc_data[65][65]よりピンクッション補正量を参照し、領域境界データb_data[65][65]の各領域の領域境界値および中心座標にピンクッション補正量を加算する（Ｓ６０２）。ピンクッション補正量を加算すると、図４の右側に示すように可動領域全体が樽型に歪むことになる。
次に、重なった領域をなくすために、領域の境界値を変更する（Ｓ６０３）。図７に示すように、各領域の辺同士の中間値が境界となるようにする。わずかに重なっている部分が残る場合があるが、そのままにしておく。
領域境界データ全体に渡って領域境界値を変更すると、図８に示すようになる。初期化が終わった後、コントローラ１の定常処理におけるピンクッション補正量の除去処理１０６を図５の手順で行うと、領域境界データの隣り合った領域の境界が重なっていないので、フィードバック位置が複数の領域に入ることがなく、領域を１つに特定できるようになる。
なお、図８は説明のため格子の数が省略して描かれている。
【００２３】
このように、フィードバック位置が、可動範囲全体を補正量によって移動した領域境界データのどこに属するかを調べて補正量を減算するような構成をしているので、フィードバック位置から減算すべきピンクッション補正量を特定し、ピンクッション補正量を除去したフィードバック位置を得ることができる。
さらに、ピンクッション補正量によって移動した領域境界データの重なった部分を無くす手順を加えることで、フィードバック位置から減算すべきピンクッション補正量を１つに特定して、ピンクッション補正量を除去したフィードバック位置を得ることができる。
【産業上の利用可能性】
【００２４】
本発明は、ガルバノメータスキャナを用いたスキャニング装置に広く適用できる。
【図面の簡単な説明】
【００２５】
【図１】本発明のレーザスキャニング装置のコントローラにおける処理のブロック図
【図２】レーザスキャニング装置の構成例を示す構成図
【図３】本発明の第１実施例の初期処理を示すフローチャート
【図４】本発明の第１実施例の境界領域データを示す説明図
【図５】本発明の第１実施例および第２実施例の補正量の除去処理を示すフローチャート
【図６】本発明の第２実施例の初期処理を示すフローチャート
【図７】本発明の第２実施例の境界設定処理を示す説明図
【図８】本発明の第２実施例の境界設定結果を示す全体図
【図９】ピンクッションエラーの説明図
【図１０】補正テーブルおよびピンクッション補正量の説明図
【図１１】ピンクッション補正の説明図
【図１２】従来のレーザスキャニング装置のコントローラにおける処理のブロック図
【符号の説明】
【００２６】
１  コントローラ
２  ホストＰＣ
３  サーボアンプ
４  Ｘ軸ガルバノメータスキャナ
５  Ｙ軸ガルバノメータスキャナ
６  Ｚ軸ガルバノメータスキャナ
７  Ｘミラー
８  Ｙミラー
９  レンズ１
１０  レンズ２
１１  レンズ３
１２  レーザ
１３  照射面
１４  加工点
１０２  プログラム解析処理
１０３  補間処理
１０４  ピンクッション補正処理
１０５  Inverse Kinematics（逆運動学）処理
１０６  ピンクッション補正量の除去処理
１０７  Forward Kinematics（順運動学）処理
１０８  スキャンプログラム
１０９  目標位置指令
１１０  補間位置指令
１１１  補正位置指令
１１２  回転角指令
１１３  回転角フィードバック
１１４  補正位置フィードバック
１１５  本発明のフィードバック位置
１１６  従来のフィードバック位置
【図１】
2007127827.tif 000003
【図２】
2007127827.tif 000004
【図３】
2007127827.tif 000005
【図４】
2007127827.tif 000006
【図５】
2007127827.tif 000007
【図６】
2007127827.tif 000008
【図７】
2007127827.tif 000009
【図８】
2007127827.tif 000010
【図９】
2007127827.tif 000011
【図１０】
2007127827.tif 000012
【図１１】
2007127827.tif 000013
【図１２】
2007127827.tif 000014