JP2004253006A - 加工計画方法、装置、及び、加工方法、装置 - Google Patents

加工計画方法、装置、及び、加工方法、装置 Download PDF

Info

Publication number
JP2004253006A
JP2004253006A JP2004161575A JP2004161575A JP2004253006A JP 2004253006 A JP2004253006 A JP 2004253006A JP 2004161575 A JP2004161575 A JP 2004161575A JP 2004161575 A JP2004161575 A JP 2004161575A JP 2004253006 A JP2004253006 A JP 2004253006A
Authority
JP
Japan
Prior art keywords
point
area
machining
node
tree
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2004161575A
Other languages
English (en)
Inventor
Takuya Nishimura
卓也 西村
Toshihide Ibaraki
俊秀 茨木
Mutsunori Yanagiura
睦憲 柳浦
Koji Nonobe
宏司 野々部
Yasuyuki Okudaira
恭之 奥平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Heavy Industries Ltd
Original Assignee
Sumitomo Heavy Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sumitomo Heavy Industries Ltd filed Critical Sumitomo Heavy Industries Ltd
Priority to JP2004161575A priority Critical patent/JP2004253006A/ja
Publication of JP2004253006A publication Critical patent/JP2004253006A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Laser Beam Processing (AREA)

Abstract

【課題】幾何学的点データを効率良く格納するデータ構造を導入することにより、加工時間短縮を目的とする加工計画の精度を落とすことなく、加工計画にかかる計算時間を短縮する。
【解決手段】複数方向に走査又は移動可能とされた加工手段を用いてワークを加工する際に、ワーク上に散在する加工位置又は加工エリアを表わす点の位置データを、ツリー型のデータ構造で表現する。
【選択図】図57

Description

本発明は、複数方向に走査又は移動可能とされた加工手段や、複数方向に移動可能とされたステージを用いて、該ステージ上に配置されたワークを加工する際の加工計画方法、装置、及び、加工方法、装置に係り、特に、レーザビームを照射してプリント配線基板等に複数の穴開け加工を行うレーザ穴開け機に用いるのに好適な、穴開け等の加工位置の2次元平面における分布状態を数学的に捉えて、機器の動作を最適に計画することにより、加工時間を短縮することが可能な加工計画方法、該加工計画方法により決定された加工を行う加工方法、前記加工計画方法を実施するためのプログラムが記録された、コンピュータ読み取り可能な記録媒体、同様の加工計画装置、及び、該加工計画装置を含む加工装置に関する。
近年、電子機器の小型化や高密度実装化の要求に伴い、複数のプリント配線基板を重ね合わせた多層プリント配線基板が提供されるようになってきている。このような多層プリント配線基板では、上下に積層されたプリント配線基板のそれぞれに形成された導電層間を電気的に接続するため、これらの基板に、スルーホールあるいはビアホールと呼ばれる穴が形成される。そして、これらの穴の内部に導電膜を形成することにより、各プリント配線基板の導電層間の接続が行われる。
プリント配線基板に形成される穴は、最近のプリント配線基板の小型化や高機能化に伴って小型化し、直径0.1mm以下になってきている。このような小径の穴を精度よく形成するために、パルス発振型のレーザビームが用いられている。
従来のパルス発振型レーザを用いたレーザ穴開け機の一例の構成を図1(全体構成)及び図2(詳細構成)に示す。このレーザ穴開け機10は、パルス状レーザビームを発生するレーザ発振器12と、該レーザ発振器12により発生されたレーザビーム13の出力を、加工対象であるプリント配線基板(ワークとも称する)6の二つの走査エリア(加工エリア)8L、8Rに導いて、左右同時加工を可能とするために2等分するビームスプリッタ14と、該ビームスプリッタ14により反射された左側のレーザビーム13Lを、走査エリア8L内でX軸方向(図の左右方向)及びY軸方向(図の前後方向)に走査するための左ガルバノユニット(ガルバノシステム又は単にユニットとも称する)22L(図2参照)と、前記ビームスプリッタ14を通過した後、ミラー16で反射された右側のレーザビーム13Rを、右側の走査エリア8R内で同じくX軸方向及びY軸方向に走査するための右ガルバノユニット22R(図2参照)と、前記プリント配線基板8をX軸方向に平行移動するためのXステージ40X、及び、該Xステージ40X上で前記プリント配線基板8をY軸方向に移動するためのYステージ40Yを含むXYステージ40(図2参照)とを主に備えている。
前記左ガルバノユニット22L及び右ガルバノユニット22Rには、図2に詳細に示す如く、レーザビーム13L、13Rをそれぞれ反射するためのミラー24L、24Rと、該ミラー24L、24Rで反射されたレーザビームを、例えばY軸方向に走査するための第1ガルバノミラー26L、26Rと、該第1ガルバノミラー26L、26Rを駆動するための第1ガルバノスキャナ(単に第1スキャナとも称する)28L、28Rと、前記第1ガルバノミラー26L、26RによってY軸方向に走査されたレーザビームを、更にこれに垂直なX軸方向に走査するための第2ガルバノミラー30L、30Rと、該第2ガルバノミラー30L、30Rを駆動するための第2ガルバノスキャナ(単に第2スキャナとも称する)32L、32Rと、前記第1及び第2ガルバノミラー26L、26R、30L、30RによりX軸方向及びY軸方向に走査されたレーザビームを、プリント配線基板8の表面に対して垂直に偏向し、照射口(図示省略)を介して落とすためのfθレンズ34Lが、それぞれ収容されている。
ここで、例えば前記左ガルバノユニット22Lは固定され、右ガルバノユニット22Rは、例えば、そのX軸方向位置が可変とされ、加工開始前に、ユニット間距離(L軸値と称する)Aが変更可能とされている。
基板6上のビーム照射可能範囲は、fθレンズ34L、34Rの大きさがコストや品質等の点で制限されているため、加工中は完全に位置が固定されるビーム照射口の真下位置を中心とする、例えば40mm×40mmのX軸、Y軸に両辺が平行な矩形範囲(走査エリアと称する)8L、8Rに限定されている。
一方、基板6の大きさは、例えば最大約500mm×600mm程度の大きさであり、一般に走査エリアよりも広い。従って、基板全体の穴開け加工を行うために、基板を支えるXYステージ40をXY平面内で自由な方向に駆動させ、基板6を移動するようにしている。
このようなレーザ穴開け機は、図3に全体の動作を示す如く、
(1)XYステージ40によって基板6を移動する、
(2)左右の走査エリア8L、8R内のレーザ穴開け加工を行う、
という2ステップの繰り返し(ステップアンドリピートと称する)により、基板全体の穴開けを行っている。被加工面では、レーザビームが照射された部分が蒸発し、プリント配線基板6に穴が形成される。ここで、レーザビームは2分されているため、同時に加工される走査エリアは左右に2つあり、同時加工エリア間距離は加工ヘッド間距離に等しい。
又、各走査エリア8L、8R内の加工については、図4に示す如く、左右ユニット22L、22Rの第1、第2スキャナ28L、28R、32L、32Rによる、基板上の穴開け終了点から次の穴開け予定点への移動走査(ビーム走査と称する)が全て完了した段階でレーザビームを照射するという工程を繰り返している。
以下、レーザ穴開け機の各機器が、システムとして如何に作用して穴開け加工を行うかを、図5を参照して説明する。
レーザ穴開け機10を作動するときの装置への入力は、CADデータ50とパソコン上のウィンドウ52から入力されるGUI入力の二つである。
即ち、穴開け位置、基板位置合せ用のアライメントマーク位置、レーザ照射回数(ショット数と称する)等の穴開け条件は、図示しないCAD装置により作成され、ファイルに保存されている。基板の種類は、携帯電話基板、マザーボードのパッケージ基板などが主であり、穴座標の配置が、多くの場合、ある程度の点の集まり(パターン)をいくつか並べた形式になっていることが多い。従って、CADデータ50自体も、穴位置データを全て並べるという方法ではなく、図6に示す如く、パターンの始まりと終わりの信号の間に穴座標を配置し、その後にそのパターンについてのシフト量をパターン数だけ書き並べるという方法を採っているものが多い。
加工担当者は、パソコン上の入力用のウィンドウ52で、加工データファイル名の入力箇所に、フレキシブルディスク又はネットワーク上にあるCADデータ50のデータファイルを選択する。その他、点データのXY交換(点データのX座標とY座標を入れ替えてガルバノユニットの処理領域分割線を、例えば、X軸垂直からY軸垂直に変更するための交換)をするかどうか、右ユニット22Rの位置(L軸値)、CADデータ52のフォーマット(Excellon、SHI、HZフォーマット等)等といった、いくつかの項目に関し、選択式の入力を行う。
全ての入力項目への入力を完了し、加工担当者が入力完了ボタン(入力を中心とした変換ボタン)を押下すると、計画装置60が入力内容を基に計画処理を行い、計画完了信号を返す。するとパソコン画面上に、選択した基板に対する計画結果が目視で確かめられるよう、穴開け位置、左右ユニット処理の区別、走査エリアの配置位置等を視覚的に表現した平面図が現れる。加工者は、平面図を確認し、問題なければ、ウィンドウ上の加工開始ボタンを押下する。この操作により、レーザ穴開け加工機10は作動する。
計画装置60が計画し、作成するデータは、L軸値データA、ステージ停止位置(走査エリア位置)データB、ステージ停止位置の訪問順序データC、各走査エリア内の穴開け位置データD、各走査エリア内の穴開け位置訪問順序データEの5つである。
従来、前記計画装置60は、図7に示すような方法で、CADデータ50とウィンドウ入力値に従って設定を行っていた。
以下、計画装置60が計画し、作成するデータについて、詳細に説明する。
(1)ユニット間距離データA
左右ガルバノユニット22L、22R間の距離(L軸値)Aは、例えば約150〜300mmの範囲で設定可能とされている。パソコンの入力用ウィンドウ52に従って、距離を設定する。このデータは、右ユニット20Rを駆動するときの指令値として使用する。
(2)走査エリア位置データB
各ユニットの作業領域を、例えば格子点間距離が40mmの正方格子状に小分割する。4つの格子点に囲まれた40mm×40mmの正方形すべてを走査エリアとする。
(3)走査エリア位置訪問順序データC
始点は、各ユニットの左下隅の走査エリアとする。ステージが走査エリア間を訪問する軌跡(ステージパスと称する)として、例えば図8に示す如く、X軸方向を蛇の進行方向とする蛇行経路を採ることができる。
(4)各走査エリア内の穴開け位置データD
すべての穴開け位置に対し、例えばラベルを用いて、自分の属する走査エリアを一つ特定する。
(5)各走査エリア内の穴開け位置訪問順序データE
各走査エリアは、例えば、40mm×40mmの正方形であるが、図9に示す如く、その正方形領域を例えばまずX軸について、例えば10等分し、Y軸に平行な直線を、エリアの左端から4mm毎に書き加える。その結果、Y軸方向40mm、X軸方向4mmの短冊状領域が10個できる。各短冊状領域の穴開け位置に対し、Y座標値によるソートをする。但し、隣り合う短冊状領域は、常に、一方が昇順、もう一方が降順並びとする。ある短冊状領域の最後の点の次に訪問する点が、その右隣の短冊状領域の最初の点になるようにする。以上の操作により決定される、走査エリア内の穴開け位置間をビーム照射位置が訪問する軌跡(ガルバノパスと称する)は、全体的には、X軸方向を蛇の進行方向とする蛇行経路を採ることができる。
レーザ穴開け機の各機器は、制御装置62からの指令に従い動作する。
具体的には、前記右ユニット22Rの駆動は、加工開始指令を、制御装置62が受けたタイミングで指令される。移動が完了した時点で移動完了信号を制御装置62に伝える。
又、前記レーザ発振器12によるレーザの発振は、両ユニット22L、22Rの二つの第2スキャナ32L、32Rから出される移動完了信号の両方を、制御装置62が受けたタイミングで指令される。必要なショット数を発振完了した時点で、発振完了信号を制御装置62に返す。その走査エリアの最後に訪問する点であれば、その走査エリア内にある全ての穴開け位置のレーザ穴開け加工処理が終了したという信号を、制御装置62に返す。又、その走査エリアの最後に訪問する点であって、且つ、現在の走査エリアが最後に訪問するエリアであれば、加工終了信号を、パソコン上のウィンドウ52に伝える。
又、前記スキャナ28L、28R、32L、32Rの駆動は、レーザ発振器12から出力されるレーザ発振完了信号、又は、XYステージ40から出力される移動完了信号を、制御装置62が送るタイミングで指令される。次の穴開け位置点への移動を完了する時点で、移動完了信号を制御装置62に返す。
前記XYステージ40の駆動は、スキャナ28L、28R、32L、32Rから出力される、ある走査エリア内のすべての穴開け位置のデータ穴開け加工処理が終了したという信号を、制御装置62が受けたタイミングで指令される。次の走査エリアへの移動が完了した時点で、移動完了信号を制御装置62に返す。
特開平11−149317号公報
しかしながら、従来の計画方法は、穴開け点位置の分布状態に係らず、予め作成しておいた型に嵌めようという方法であり、決して最適であるとは限らず、特に、次の4点について最適な設定を行える装置が望まれていた。
(1)点データXY座標交換
(2)ユニット間距離設定
いずれも従来は、入力ウィンドウにおける二者択一という安直な設定方法であり、最適な方法設定ができない。
(3)ステージパス設定
上記の設定法に従えば、穴開け位置が1カ所しかないような走査エリアも出てきてしまい、走査エリアの数が最適化されていない。
(4)ガルバノパス設定
上記設定法に従えば、1回の移動距離が、例えば走査エリアの端から端まで40mmであるような無駄な動きも出てくる。
なお特許文献1には、半導体ウェハの各加工対象チップ内の加工対象のヒューズを溶断するに当り、2つのヘッドの相対的な位置関係を決定し、該位置関係を維持しつつ、全加工対象チップを結ぶチップ間最適経路、及び、チップ内のヒューズ、ブロックの全てを結ぶ最適経路を決定する方法が記載されているが、領域を2分割するのではなく、加工領域があるチップに移った時の、加工すべきヒューズ位置の分担を、(2ヘッド用フライブロック用内ヒューズ数)/(2ヘッド用フライブロック)を最大化できるよう、二つの加工処理部に二分するものであり、本願が対象とする、レーザ穴開け機に適用するのに適したものではなかった。
又、出願人は、特願2000−3180で、走査エリア内のガルバノパスを巡回セールスマン問題を解くことにより最適化する方法を提案しているが、ステージパスについては考慮しておらず、未だ十分なものでは無かった。
又、前記のような加工計画のプログラムは、通常、レーザ加工機のソフトウェアに組み込まれているが、計算負荷が大きく、計算専用の高速処理マシンを持たせられない加工機側の動作に悪影響を与えたり、最新のプログラムを使用するためには毎回バージョンアップする必要がある等の問題点を有していた。これは、加工計画のプログラムを抽出して、単品のソフトウェアとして提供する場合でも同じである。なお、フレキシブルディスク等の記録媒体を利用して、ユーザから加工位置データを郵送してもらい、メーカ側のサポートセンタ等で加工計画を作成して、郵送で送り返すことも考えられるが、郵送でのやり取りに時間がかかってしまう。
本発明は、前記従来の問題点を解消するべくなされたもので、幾何学的点データを効率良く格納するデータ構造を導入することにより、加工時間短縮を目的とする加工計画の精度を落とすことなく、加工計画にかかる計算時間を短縮することを第1の課題とする。
本発明は、又、前記加工計画を実施するための加工計画装置を提供することを第2の課題とする。
本発明は、複数方向に走査又は移動可能とされた加工手段を用いてワークを加工する際に、ワーク上に散在する加工位置又は加工エリアを表わす点の位置データを、ツリー型のデータ構造で表現することにより、前記第1の課題を解決したものである。
又、前記ツリーを、k次元二分探索木としたものである。
又、ワーク上に散在する加工エリアの位置を決定した後、前記ツリーを用いて、各加工エリア内の点データを列挙するようにしたものである。
又、前記ツリーの根節点から、内部節点については、その節点の子節点が表わす領域と探索領域との重なり具合により、その節点の子節点を探索するかどうかを判定し、葉節点に行き着いた時のみ、直接、点データにアクセスするようにしたものである。
又、前記ツリーを用いて、注目点に最も近い点を探索する最近傍点探索処理を行うようにしたものである。
又、前記最近傍点探索処理を、前記ツリーの根節点から始めるようにしたものである。
又、注目点を中心とする、現在の最近傍点までの距離を半径に持つ円と節点の表わす領域が重なりを持つ場合に、その節点について探索を行うようにしたものである。
又、前記節点が葉節点である場合は、当該節点が表わす領域内の全ての点について距離を求め、短いかどうか判定するようにしたものである。
又、各点のデータが、それぞれ自分の所属する葉節点に関する情報を有し、前記最近傍点探索処理を、最近傍を探そうとしている注目点の存在する葉節点に直接アクセスし、次いで、探索が必要である節点が存在する場合に限り、前記ツリーの根節点の方向に溯ることにより行うようにしたものである。
又、注目点を中心とする、現在の最近傍点までの距離を半径に持つ円と節点の表わす領域が、現在の節点を表わす領域の外にはみ出す場合は、そのはみ出し具合に応じて、自分の兄弟節点又は自分の親の兄弟節点の探索を行うようにしたものである。
又、前記最近傍点探索処理と、見つかった最近傍点を外したツリーを用いて、次の最近傍点を探索する処理とを反復することにより、注目点に近い順に近傍点を列挙するようにしたものである。
又、前記最近傍点探索処理により、未だ加工経路につなげられていない最近傍点を探索して新たな注目点とし、加工経路につなげる処理と、見つかった注目点を外したツリーを用いて、次の最近傍点を探索して新たな注目点とし、加工経路につなげる処理を、始点から終点まで繰り返して、加工経路を作成するようにしたものである。
又、前記ツリーから、見つかった点を外す処理を、各点データに付随するインデックスの終了番号を減らすか、又は、開始番号を増やすことにより行うようにしたものである。
又、前記ツリーから、見つかった点を外すと、ある節点内の点データが全て消えてしまう場合は、その節点を訪れる必要が無いことを示す情報を、節点に持たせるようにしたものである。
又、前記の加工計画方法により決定された加工経路を、巡回セールスマン問題を適用して加工順序を決定する際の初期解とするようにしたものである。
又、ある加工エリア内の点データの配置と、別の加工エリア内の点データの配置とが相対的に一致しているエリアの組を発見することにより、必要のない負荷の高い演算を省くことにより、前記第2の課題を解決したものである。
更に、前記点データの配置が相対的に一致するエリアの組を探す処理を、一方のエリアの全点に対し、一定の座標のずれ量を加えた点位置データを作成し、もう一方のエリアのツリーの根節点から、前記点位置データの存在する領域を表す節点へと次々に移り、葉節点に移ったときにのみ前記点位置データと一致する点位置データが存在するかどうかを調べるという処理により行うようにしたものである。
又、前記ツリーを、加工エリア内の点データを最少数の同寸矩形で囲む処理において、ループ呼び出しで一時的な加工エリアを作成する度に、その一時的な加工エリア、及び、各加工エリア内の一時的な点位置データの両方について作成するようにしたものである。
又、前記ツリーを、加工エリア確定時に、加工エリア、及び、各加工エリア内の点位置データの両方について作成するようにしたものである。
本発明は、又、前記のいずれかの加工計画により決定された加工(例えばレーザ加工やドリル加工)を行う加工方法を提供するものである。
本発明は、又、前記のいずれかの加工計画を実施するためのコンピュータプログラムを提供するものである。
本発明は、又、複数方向に走査又は移動可能とされた加工手段を用いてワークを加工する際に加工計画を立てるための加工計画装置において、ツリー型のデータ構造で表現された、ワーク上に散在する加工位置又は加工エリアを表わす点の位置データを記憶する手段と、前記ツリー型のデータ構造で表現された位置データを用いて、加工エリア位置や加工順序を決定する手段とを備えることにより、前記第2の課題を解決したものである。
本発明は、又、前記の加工計画装置を含む加工装置を提供するものである。
本発明は、又、前記の加工計画装置を実現するためのコンピュータプログラムを提供するものである。
本発明は、又、前記コンピュータプログラムが記録された、コンピュータ読み取り可能な記録媒体を提供するものである。
本発明によれば、加工位置情報を数学的に捉えて機器の動作をより最適に計画することにより、レーザ加工の加工時間を短縮させることが可能となる。
又、加工時間短縮を目的とする加工計画の精度を落とすことなく、計画にかかる計算時間を短縮することができる。
本発明より高速化される処理及び使用回数は、例えば前記直交領域探索においては、一時的領域内の一つ一つのエリア決定の途中、エリア決定時に用いられるので、凡そ「一時的領域の作成回数×エリア数平均」回である。
又、前記近傍点リストの作成は、巡回セールスマン問題の前処理であるため、全ての点データ及びエリア位置データに各1回ずつ用いられるので、「穴開け位置数+半領域のエリア数」回である。
又、前記ニアレストネイバー法は、巡回セールスマン問題につき1回ずつ用いられるので、最大「1+基板全体のエリア数」回である("1"はステージパスを計画する時の巡回セールスマン問題)。
又、前記全一致問い合わせにおけるエリア同士の比較の回数は、最大約「(基板全体のエリア数)2/2」回である(二乗の項が存在するので計算量が多いように一見感じられるが、エリア同士の穴配置の完全一致判定は、一点でも全一致点が存在しない点が存在すれば判定終了なので、一般的には大した計算量とはならない)。
上記のうち、特に、近傍点リストを作成し巡回セールスマン問題を解くという流れの処理(反復改善法の範疇に属する解法は基本的にこの流れに沿う)、全ての計算に対して占める割合が多く、その分、高速化が顕著に表われる。
一方、木の作成にかかる時間は余計に必要となるが、木の作成回数は、「一時的領域の作成回数+1+基板全体のエリア数」回であり、木の作成により高速化する処理を行う回数よりも十分小さく、又、作成に費やす時間もそれほど長くはないので、問題にならない。
従って、全体的には計算時間の短縮効果は十分にある。
以下図面を参照して、レーザ穴開け機に適用した本発明の実施形態を詳細に説明する。
本発明に係るレーザ穴開け機の加工計画装置70の実施形態は、図10に示す如く、複数ユニット(本実施形態では2ユニット)のエリア配置計画装置72と、ステージ・ガルバノパス計画装置76とから構成される。
前記2ユニットのエリア配置計画装置72は、穴開け点の座標値を元に、走査エリア(加工エリア)の数が最小となるような左右ガルバノユニット22L、22Rの作業領域を決定し、XY座標値の変換が必要ならば実行し、前記ユニット間距離Aを決定して、走査エリア位置データB、及び各走査エリア内の穴開け位置データDを作成する。
この2ユニットのエリア配置計画装置72の中には、2次元領域内のすべての点を最小数の同寸の矩形により包囲して矩形の配置を決定するエリア配置計画装置74が組み込まれており、最適なユニット間距離を決定できるまでループ処理を繰り返すという処理を行う。
前記エリア配置計画装置74は、ある領域とその領域内の穴開け位置に対し最小枚数の走査エリア数となるエリア配置を計画する。
前記ステージ・ガルバノパス計画装置76の入力は、走査エリア位置データBと穴開け位置データDであり、走査エリアを訪問する順序(ステージパス)及び各エリアの穴開け位置を訪問する順序(ガルバノパス)を計画して、走査エリア位置訪問順序データC及び穴開け位置訪問順序データEを作成する。
以下、図11を参照して各装置が行う処理について具体的に説明する。
前記2ユニットのエリア配置計画装置72は、図12に示す如く、いわゆる「一変数関数の最小化」処理を行う。本実施形態では、一変数関数の極小化アルゴリズムとして一般的に知られる黄金分割法を用いた。即ち、エリア配置計画装置74にユニット間距離Aを入力すると、ステージ移動回数及び「ビーム走査回数」、又は、それらにそれぞれ重みを付けて加えたパラメータ(後で詳述する)を計算することができ、それらの計算結果を関数の出力値と見なすことができるという作用を利用し、その出力値を最小化するユニット間距離を決定する、という方法である。
具体的な計画の手順を説明する前に、前記「ビーム走査回数」という用語の意味と、ステージ移動回数及び「ビーム走査回数」を最少化する根拠、及び、2ユニットのエリア配置計画装置72の内部に組み込まれたエリア配置計画装置74の利用方法について説明する。左右ユニットの同時加工エリアの穴開け数の内、大きい方を取り、1を引いたものは、ある同時加工エリアにおけるビーム走査回数であるが、その値を全ての同時加工エリアについて総和を取ったものを「ビーム走査回数」と定義する。このビーム走査回数が少ないほど、左右の同時加工エリアの穴数均衡性が取れており、一方のユニットのみで照射加工を行っている、いわゆる無駄打ちの状況が減り、総加工時間は減少する可能性が高い。又、ステージ移動回数が少ないほど、総加工時間が減少する可能性が高いことは容易に想像できる。
なぜなら、総ビーム走査時間と総ステージ移動時間の2つは総加工時間の大部分を占めており、それらは大略、
総ビーム走査時間の総和=(ビーム走査時間の平均)×(ビーム走査回数)、
総ステージ移動時間の総和=(ステージ移動時間の平均)×(ステージ移動回数)
で求めることができる。ビーム走査時間とステージ移動時間の平均値の短縮は、ステージ・ガルバノパス計画装置76の役割であり、実現可能であり、もし、2ユニットのエリア配置計画装置72によってビーム走査回数及びステージ移動回数を最少ならしめることができれば、総加工時間は減少するはずだからである。
エリア配置が決定した時点における、左右ビーム照射領域のエリア配置は、ユニット間距離が加工時には一定であることから、他方は一方をユニット間距離だけ平行シフトすると完全に一致する関係にある。そこで、ユニット間距離Aをある値に設定すると、図13に示す如く、左右領域の例えば左端を一致させる重ね合わせを行って、テンポラリーな領域を作成し、できた領域に対して、エリア配置計画装置74を用いて、最少数の走査エリア配置を決定し、その時のビーム走査回数及びステージ移動回数を計算することができる。
エリア配置計画装置74を上述のように用いることにより、任意のユニット間距離に対するステージ移動回数及びビーム走査回数を図14に示すように求めることが可能である。即ち、これらの値が最小となるユニット間距離を、例えば黄金分割法などの一変数関数の極小化手法により数ステップの反復処理で求めれば、目的は達成される、という原理である。
黄金分割法は、厳密には一変数関数の「最小化」アルゴリズム(全域的最適解発見アルゴリズム)ではなく、「極小化」アルゴリズム(局所的最適解発見アルゴリズム)であるが、実際的には、多峰的形状の関数の最小値を求めることは、非常に困難であるため、本実施形態では、数ステップで極小値を発見することが可能である黄金分割法を用いた。より最小値に近い極小値を求める場合には、例えばシミュレーティッドアニーリング法(simulated-annealing method)などのヒューリスティック(heuristic)解法(発見的解法ともいう)を用いてもよい。
実際には、上記二つの関数の形状は複雑であり、両方を最適にする位置を決定するのは困難である(一般に「多目的(ここでは2目的)最適化問題」と呼ばれる)。
そこで、ビーム走査平均時間は約1〜3msec程度、ステージ移動平均時間は約0.2〜0.4秒程度であるので、ビーム走査とステージ移動に約100〜400(=β)程度の重みをつけ、
G(ビーム走査回数)+β×S(ステージ移動回数)
を最小とするように設定することができる(「重みパラメータ法」と呼ばれることもある)。ここで、βは、実験により決めておく。
この操作により、2目的最適化問題を1目的最適化問題に還元することもできる。
なお、ビーム走査回数Gにも係数γを付加して、
γ×G+β×S
としてもよい。
この一般式は、実験で求めたβの値が小数値である場合、一般に計算機は小数値の演算より整数値の演算の方が高速であるので、G+β×S全体を適当な整数倍(γ倍)して、
γ×G+γ×β×S
として、γ×βを新たにβで置き換えたもの、と考えることができる。
又、β=0、γ=1ならば、G、即ちビーム走査回数を表す。又、β=1、γ=0ならばS、即ちステージ移動回数を表す。本問題では、GとSの最少となるユニット間距離の値は近いと予想されるので、どちらか一方のみの最適化により、計算時間を短縮することも可能である。
具体的には、図12に示した如く、まずステップ101で、穴開け点位置の座標を入力する。
ついで、ステップ102〜104及びステップ105及び107により、ユニット間距離が最小の位置(約100mm)と、最大の位置(約300mm)における走査エリア数及びビーム走査回数、又は、それらにそれぞれ重みを付けて加えたパラメータを、エリア配置計画装置74により算出する。
ここでは、ユニット間距離Aを、従来と同様に、最小値100mm、最大値300mmとしている。シミュレーションにより、最適なユニット間距離は、横幅を1/2に分割した位置に近い位置にあることは確かであるが、基板によっては、100mmより小さい場合や、300mmより大きい場合もある。100mmという下限は、ユニット自体の物理的な幅があるため変えられない場合もあるが、300mmという上限は変えられるようにすることもできる。又、100mm、300mmという最小値、最大値は、上記手順の初期位置(ステップ102、105)に設定されているが、基板の大きさによっては、この範囲にエリア最小の位置が入らないことや、明らかに100mm近辺は距離が短すぎて調べる必要がないこともある。従って、基板のサイズにより、初期位置も臨機応変に設定する。
ついで、ステップ108で、ユニット間距離Aを直前位置2回の間の適切な位置(例えば黄金分割比)に再設定し、ステップ109及び110で、その位置における走査エリア数をエリア配置計画装置74により算出する。
図12のステップ110でγ×G+β×Sを計算した結果、最小であると判断できれば、ステップ111でループを終了し、最小にはなっていないと判断されれば、ステップ108に戻る。
ステップ111でループを脱出した場合、その時のエリア数及びユニット間距離を記憶して、ステップ112で、点データのXY座標を交換して、破線で囲まれたステップ102乃至111のループ処理を再度実行する。
このようにして、データのXY座標交換を行うことにより、元のデータのXY両方の軸の垂直分割を実現し、その両方についてユニット間距離Aの最適化を行い、良い方を採用することにより、ビーム走査回数、ステージ移動回数が、一層少なくなるようなユニット間距離の設定ができる。例えば図15に示すような基板の場合、図16に示す如く、X軸方向の分割とY軸方向の分割の両方について計算して、最適な方を選択することができる。
なお、基板の置き方を90度変えた場合には、そのことを加工者に知らせる必要がある。あるいは、基板をレーザ加工機に載置するローダに回転機構を設けて、自動的に回転してもよい。
上記のような比較により、図12のステップ114で、ステージ移動回数及びビーム走査回数が最少なユニット間距離を確定する。元のCADデータにおけるX軸を分割しているのであれば、もう一度XY座標交換を行って、元に戻す。
この段階で、ユニット間距離及びおおよそのエリア配置が求まる。エリア枚数は最小になったが、走査エリアが重複している場合がある。そこで、ステップ115に進み、重複箇所の穴開け位置がどの走査エリア内に含まれるものであるかを確定、即ち、全ての穴開け点位置の所属する走査エリアのラベル(番号)を確定する。
即ち、図17に示す如く、エリアFとGが重複していて、エリアF(1)、F(2)とエリアG(1)、G(2)(括弧内の数字1は左ユニット、数字2は右ユニットを表わす)の両方のエリアに重複する領域W(1)、W(2)がある場合には、次式に示す如く、左右のエリアFの穴数の多い方と、左右のエリアGの穴数の多い方の和が最小となるよう、左右の同時加工エリアの穴数を均等に配分することによって、時間短縮につなげることができる。
Min(Max(F(1)の穴数、F(2)の穴数)+Max(G(1)の穴数、G(2)の穴数)...(1)
今、図18の上段に示す如く、左ユニットのエリアF(1)のみに属する穴開け位置が30穴、同じくエリアG(1)のみに属する穴開け位置が20穴、重複エリアW(1)が60穴とし、右ユニットのエリアF(2)にのみ属するものが10穴、エリアG(2)のみが40穴、重複エリアW(2)が50穴であったとすると、特に工夫することなく、機械的に、例えば、先に決定したエリアに全て配分した場合には、図18の中段に示す如く、左ユニットのF(1)が90穴、G(1)が20穴、右ユニットのF(2)が60穴、G(2)が40穴となり、エリアFのガルバノショット数が90回、エリアGのガルバノショット数が40回で合計130回となる。
これに対して、本発明により同時加工エリアの穴数を均等化した場合には、図18の下段に示す如く、左ユニットのF(1)に55穴、G(1)に55穴、右ユニットのF(2)に55穴、G(2)に45穴で、エリアFのガルバノショット数が55回、エリアGのガルバノショット数が55回となり、合計110回で、計20回減少させることができる。
今、重複箇所配分処理を実行する順序は、例えばランダムな順番、重複穴数の多い順番等のように適切な方法を取るよう、決定しているものとして、重複箇所配分処理の手順を述べる。ここで、穴数を小文字でf(1)、g(1)等と示す。ここで、f(1)、f(2)を、それぞれ、左又は右ユニットのエリアFのGと重複しない位置に属する穴、g(1)、g(2)を、それぞれ左又は右ユニットのエリアgのfと重複しない位置に属する穴とし、fg(1)、fg(2)を、それぞれ、左又は右ユニットのエリアF、Gの2エリアの重複領域W1、W2にある穴とし、|f(1)|、|g(1)|、|f(2)|、|g(2)|を、それぞれ、左ユニットのエリアF(1)又はG(1)、右ユニットのエリアF(2)又はG(2)へ属している穴数とする。
すると、具体的な処理手順は、例えば図19に示す如くとなり、まずステップ201で、f(1)−f(2)、g(1)−g(2)及びその絶対値を計算する。次いで、ステップ202で、数値例を示した図20に矢印Aで示す如く、絶対値の大きい方のエリアの穴数の少ない方に、重複箇所から穴数を補充する。次いでステップ203で、図20に矢印Bで示す如く、絶対値の小さい方のエリアの穴数の少ない方に、重複箇所から穴数を補充する。次いでステップ204で、図20に矢印Cで示す如く、重複箇所に残った穴をFとGに均等に配分して、処理を終了する。
以上のステップにより、重複箇所の穴開け位置をエリアFとGに配分する個数が決定されるが、どの穴開け位置がFへ、どの穴開け位置がGへ配分されるかは、決定しない。その配分方法は、例えば、Fの中心からの距離を重複箇所の穴開け位置すべてに関して求め、Fの中心から近いもの順にFへ配分される穴数分だけFに配分する、というヒューリスティックな方法を取る。
なお、エリアが重複した穴の配分方法は、これに限定されず、例えば、図21に示すごとく、各エリアの中心からの距離が近いほうに配分しても良い。
図12のステップ115終了後、ステップ116で、走査エリアの中心を、元のエリア8内の点データの存在位置を使って微調整し、修正後のエリア8´の中央に点が集まるようにして、加工精度を向上する。具体的には、図22に示す如く、穴開け位置の広がりの中心(各軸最小、最大の平均値)で微調整したり、あるいは、図23に示す如く、穴開け位置の重心が修正後のエリア8´の中心となるように微調整することができる。後者の場合、一部の点Pが外れる場合には、すべての点が収まる限界まで修正する。図23の例では、Y軸は重心位置までシフトしても問題ないが、X軸は重心位置に移動すると、外れてしまう点Pがあるので、穴開け位置がすべて収まる限界まで中心位置をシフトする。
この操作は時間短縮には結びつかないが、fθレンズ34L、34Rの収差等の関係で、中心の方が高精度であるため、加工精度向上に有効である。
実用上の問題として、パソコン上のウィンドウ52により入力して代替処理として可能な、上記ステップをより簡略化した、次の方法を採用することもできる。
この代替処理法は、点データのパターンを利用する方法であり、図24に本方法による処理の概略を示す。又、図25に、本方法におけるユニット間距離の候補を表す例を示す。
本方法は、X軸に垂直にユニット作業領域を分割した場合と、Y軸に垂直に分割した場合の両方について、「点のある場所の左端から、点のある場所の横幅を半分割した位置から点のある場所までユニットの分割線をシフトした場所までの距離」をユニット間距離と決めた時のエリア数と、CADデータにパターン情報がある場合には、「パターンのシフト量のうちユニット間距離の最小値(約100mm)と最大値(約300mm)の間にあるもの」全てについて、パターンのシフト量をユニット間距離と定めたときのエリア数をエリア配置計画装置74により求め、全ての中で最もエリア数の小さいものを選択する、という方法である。
図25の例では、最適なユニット間距離は、最大パターンAのシフト量260mm、若しくは半分割(基板横幅560mm÷2=)280mmとなる。
本方法では、ユニット間距離を黄金分割法により、適切な位置に定めていくのではなく、ステップ302乃至305において、パターンのシフト量のうちで、ユニット間距離の最小値と最大値の間にあるものについて、すべて行うようにした点が、図12の例と異なる。他の点に関しては同様であるので、同じ符号を付して、説明は省略する。
一方、2ユニットのエリア配置計画装置72に組み込まれている前記エリア配置計画装置74は、2次元領域の全ての点を最少数の同寸矩形(例えば正方形)で包囲するときの矩形エリアの配置を決定するものである。この装置により、最少走査エリア数(従って、最少のステージ移動回数)を実現することが可能となる。
以下、図26を参照して、本装置によるエリア配置決定手順を詳細に説明する。
ここで、各処理において、現在注目している位置(X、Y)が、エリア(正方形)の左下隅の頂点であるものとする。各処理において、エリアの位置を更新する。
まずステップ401で穴開け位置の座標を入力する。
ついで、ステップ402で、穴開け位置をX座標の値によってソートする。又ステップ406、409、411において、エリア位置をX軸負の向き、もしくはX軸正の向きに更新している。これは、全体的にはX軸の値の小さい穴開け位置から、一つのエリア決定ループにおいては、エリアの重複をなるべく避けられるよう、エリアのX軸値、Y軸値を更新しつつ、Y軸の値の小さい穴開け位置から点を包囲しようという狙いによる。
本装置には、Y軸負の向き(下方)の2つのエリア位置更新処理(ステップ406、411)と、X軸正の向き(右方)のエリア位置更新処理(ステップ409)がある。
以下、図27乃至図32を参照して、具体的な処理手順を説明する。
今、図27において、4つのエリアE1〜E4が確定し、5番目のエリアE5の位置を探す場合を考えると、まず、ステップ403で、ソートされた順に、まだ被覆エリアが確定していない点を探す。ステップ404で、図28に示す如く、囲まれていない一番左の点P1を発見し、ステップ405で、該点P1を包囲するエリアE5を仮に作成した後、ステップ406で、エリア位置を下方に更新すべく、エリア幅分の帯領域B1について、囲まれていない一番下の点、即ち、現在のエリア位置E5の下の部分で、まだエリアの決定していないY座標値が最小のものを探す(エリア位置の更新1)。無ければ、先ほどの位置で確定する。
一方、図29に示す如く、一番下の点P2が見つかった場合には、この点が下辺の位置になるように、エリアE5の位置を下方に動かす。見つかったとすると、Y座標の値をY′で更新するが、(X、Y')におけるエリアと、これまでに確定しているエリアとの重なりが、図30に示す如く、ある値より大きい場合には、重なりが大きいエリアの上部の重なっていない領域eの中でY座標が最小のものを再度探す。領域e内に点が発見されれば(Y″)、領域eのY座標値最小のものY″でY座標の値を更新して重なりを回避する。領域e内に点が発見されない場合には、次に処理するエリア位置の右方更新により、全く重なりがないように右方へ位置を更新されるはずなので、Y座標の値を、そのままY′で更新する。
ステップ407でY座標の値が更新されたときには、ステップ409に進み、エリア位置を右方に更新すべく、図31に示す如く、エリアE5の位置を右方に移動し、現在のエリアの中で、X座標値が最小の点P3の値でX座標の値を更新する(エリア位置の更新2)。
ステップ409でX座標の値が更新された場合には、ステップ411に進み、エリア位置を再び下方に更新するための処理を行う(エリア位置の更新3)。具体的には、図32に示す如く、現在のエリアの位置(X、Y)から、Y軸負の向きに、これまでに決定しているエリアの4つの辺の内、上部の辺のY座標の中で最大のものを探し出す。但し、下側に移動しても、一定以上は辺が重複しないエリアは無視することにする。発見された辺のY座標をY′とする。現在のエリアの下部、且つY座標値がY′以上の矩形領域B2内について、未だエリアの決定していないY座標値最小のものを探す。発見されれば、その値でY座標値を更新する。
本装置には、一つのエリアを決定するための第一ループと、エリアの位置を右方、下方に微調整するための第二ループが存在する。エリア位置が決定すると、第一ループから脱出し、エリア位置更新ステップ409、411において、エリア位置が更新されないと、第二ループから脱出する。
上記の処理を、エリアの位置が確定する迄、繰返して、図33に示す如く、最終的なエリアE5の位置を確定し、次のエリアを探すループに移る。なお、走査方向やエリア位置の更新方向等は、前記説明に限定されず、例えば逆であっても良い。
前記エリア配置計画装置74における処理の変形例として、図34に示す如く、組合せ最適化問題における局所探索法(local search)(反復改善法(iterative improvement method)ともいう)を応用して、従来のエリアの配置から、まず全く点の無いエリアを除去したエリア配置を作成し、エリア位置を上下左右にシフトさせて、不要になるエリアを次々に除去していくことも可能である。
具体的には、図35に示す如く、まずステップ501で、図34(A)に示したような従来のエリアから、点の無いエリアを除くことにより、図34(B)に示したようなエリア配置を初期解として発生する。ただし、ここで「解」とは、「全ての点を包囲するエリア配置(及びエリア数)」の可能な組合せ(解集合)の内の一つを指す。又、「良い解」とは、ここではエリア数の少ない解を指す。
初期解の発生方法は、上記に限らず様々な方法が考えられる。例えば、「まだ包囲されていない点を最も多く包囲する位置を発見し、エリアを配置する」という処理を、全ての点が包囲されるまで繰り返す、という組合せ最適化問題において知られる、いわゆるグリーディー算法(貪欲算法)的な方法などでもよい。
又、図26に見られるような手順により決定されるエリア配置を初期解としても良い。
次いで、ステップ502で、yに初期解xを代入して、ステップ503で、解yの近傍N(y)内を探索する。具体的には、図36に示す如く、ある注目エリアEiについて、そのエリア内に単独に所属している点が、そのエリアから漏れないという制限下で、エリア位置を動かせる領域内のある位置に動かしたときに、動かした位置のエリア内に、注目エリアEiの隣接エリアの1つEj内に単独に所属している点が全て入る場合には、その隣接エリアEjは不要なので、削除することによって、yより良い解zを発見し、ステップ505で、発見された解zの値をyに代入して、再びステップ503を繰り返す。
ステップ503の処理において、N(y)内にyより良い解が発見できなくなった段階で、ステップ506に進み、現在のyの値をもって解とし、処理を終了する。
あるいは、図37に示す如く、重複箇所により連結しているある2つの隣接するエリアEi、Ei+1について、その2エリア内に単独に所属している点、即ち重複部以外の領域に存在する点が、その2つのエリアから漏れないという制限の下で、エリア位置を動かせる領域内のある位置に2つのエリアを動かしたときに、隣接エリアの一つEj内に単独に所属している点が全て入る場合には、その隣接エリアEjは不要なので、削除することもできる。
なお、重複箇所により連結しているエリアの数は2より大きくても構わない。即ち、2以上の任意のnに対し、重複箇所により連結しているあるn個のエリアEi、・・・Ei+n-1について、そのnエリア内に単独に所属している点、即ち重複部以外の領域に存在する点が、そのn個のエリアから漏れないという制限の下で、エリアを動かせる領域内のある位置にn個のエリアを動かしたときに、隣接エリアの一つEj内に単独に所属している点が全て入る場合には、その隣接エリアEjは不要なので、削除することもできる。
前記ステージ・ガルバノパス計画装置76は、走査エリアの訪問順序(ステージパス)及び各走査エリア内の加工位置(穴開け位置)点の訪問順序(ガルバノパス)の最適化を計画する。この装置の基本的な処理手順を図38に示す。この装置は、一般に広く知られている巡回セールスマン問題(全ての都市を訪問して最初の都市に戻ってくる一巡経路の中で、一巡経路長が最小のものを求める問題:TSPとも略する)、もしくは、状況に応じて一般的なTSPを改良した方法(改良TSPと称する)を適用することを大きな特徴とする。又、場合によっては、一巡してもとの位置に戻る必要がない場合は、走査あるいは移動の始点と終点を決定する処理も必要となる。
状況に応じた巡回セールスマン問題の適用法及び始点と終点の決定に際しては、次の項目に特に注目する。
ステップ601のステージパスの計画の場合、XYステージ40は、図1に示したように、X軸方向のみへの移動を生み出すXステージ40Xと、Y軸方向のみへの移動を生み出すYステージ40Yの2台のステージにより構成されているため、XYステージ40の1回の移動完了は、2台のステージ40X、40Yの両方の移動が完了した時点とする。一般に、Xステージ40Xは、Yステージ40Yの下に位置するため、重くできており、図39に例示するように、応答性が劣る。
従って、加工位置(x1,y1)から(x2,y2)への移動距離Lは、移動距離が等しいときは、常に、X軸方向の移動時間がY軸方向の移動時間の一定(α)倍になると仮定して、定数αを実験などで求めた後、次式で求める。
L=max{|x1−x2|,α|y1−y2|} ...(2)
ここで、max{p、q}は、pとqの大きい方を表す記号である。
あるいは、移動距離lに対するX軸方向、Y軸方向の移動時間Tx(l)、Ty(l)を実験などで求めて、次式で求めることもできる。
L=max{Tx(|x1−x2|),Ty(|y1−y2|)}...(3)
又、ステージパスの始点と終点であるが、図40の上段に示す如く、始点はローダからステージへ搭載する位置、終点は、アンローダに移す前のステージの位置とし、端点を固定した巡回セールスマン問題を解くことによって、ステージ動作時間を効果的に短縮することができる。
始点・終点を合わせたステージの最適経路を図40の中段に、その時の基板上の訪問順序(基板上のエリア訪問方向とステージ移動方向は180°逆になる)を図40の下段に示す。
ステップ602〜604のガルバノバス計画の場合、距離に関しては、第一、第二ガルバノスキャナ28L、28R、32L、32Rは、一方が他方の軸(X軸又はY軸)の位置を独立に変更するような仕組みであるため、一つの走査エリアの1回のガルバノスキャナの走査完了は、第一、第二両方のガルバノスキャナの走査が完了した時点とする必要がある。しかしながら、一般に、第二ミラー30L、30Rへの照射可能範囲は、第一ミラー26R、26Lへの照射可能範囲より広く、従って第二ミラーは第一ミラーよりも重くできており、図41に例示する如く、応答性が劣る。
以上の理由から、穴開け位置(x1、y1)から(x2、y2)への移動距離Mは、(移動距離が等しいときは、常に第二ミラーの移動時間が、第1ミラーの移動時間の一定倍になると仮定して)定数αを実験などで求めた後、次式で求めることができる。
M=max{|x1−x2|、α|y1−y2|} ...(4)
あるいは、移動距離Mを基板上の座標で求めるのではなく、ガルバノミラーの走査角θ、δにより、次式で求めることもできる。
M=max{|θ1−θ2|,α|δ1−δ2|} ...(5)
更に、別の距離設定方法として、実験などで移動距離mに対するX軸方向、Y軸方向の移動時間Tx(m)、Ty(m)を実験で求め、次式で求めることもできる。
M=max{Tx(|x1−x2|)、Ty(|y1−y2|)}...(6)
なお、例えば図42の上段に示す如く、左右のユニットの同時加工エリアのビーム走査時間に偏りがあって、一方に待ち時間が生じる場合には、ステップ603で、始点を互いにずらしてマッチングをとることによってビーム走査時間の偏りを無くし、総加工時間を短縮することができる。
即ち、例えば、図43の上段に示すような左エリアで点P1(1)〜P5(1)、右エリアで点P1(2)〜P4(2)を加工する場合には、図43の中段よりも、下段のように、右領域の始点をP1からP2に変更することによって、総移動時間を大幅に短縮することができる。
又、ガルバノパスの始点と終点であるが、具体的には、図44に示す如く、巡回セールスマン問題を適用して一巡訪問順序を決定し、最も距離の長い(時間のかかる)移動Lmaxを除けるよう、始点と終点を決定することができる。
あるいは、実用上、特に訪問位置が少ない時等は、代替処理として、図45及び図46に示す如く、「(一巡経路長)−(最長の移動長)」を最短にするように一巡経路を決定して、最長の移動を除くようにすることもできる。巡回セールスマン問題の手法の内、kオプト法やLK法は、いずれも「解(ある一巡経路)の近傍を探索し、近傍解で更新する」というループの繰返しにより解を逐次改善していく。従って、各ループの「解」として、「一巡経路長」ではなく、「(一巡経路長)−(最長の移動長)」で評価すれば、最終的な解としても、「(一巡経路長)−(最長の移動長)」が最小になる。図46の場合、右側の方が一巡経路長は少ないが、「(一巡経路長)−(最長の移動長)」で較べると、左側の方が最適解となっている。
又、ステップ601及び602で用いる巡回セールスマン問題の手法としては、例えば、ニアレストネイバー法、マルチプルフラグメント法、2オプト法、3オプト法、リンアンドカーニハン法(LK法)、ITERATAD−LK法、CHAIND−LK法、ITERATED−3オプト法、CHAIND−3オプト法等を、計算時間と効果(経路長)の両方を考慮して、使い分けることができる。
(1)2ユニットのエリア配置計画装置
(a)エリア配置計画装置の効果
いくつかの実基板データに対し、エリア数演算装置74を基板全体に適用した時の結果を図47及び図48に示す。ここでは、エリア数の変化のみに着目するため、2ユニットによる領域2分割処理は行わず、基板全体をエリア化している。又、数値的な結果を図49にまとめて示す。穴開け位置数や点の密集度等、様々な条件により結果は異なるが、平均10〜30%程度エリア数が減少することが確認されている。
(b)ユニット間距離最適化の効果
ある実基板データ(穴開け位置数48490)に対し、X軸を2分割した時の、ユニット間距離Aを横軸に、ビーム走査回数を縦第1軸、ステージ移動回数を縦第2軸にとったグラフを図50に示す。ここではエリア配置計画装置74は使用しておらず、従来の方法で走査エリアを決定している。又、数値的な結果を図50にまとめて示す。ここで、「半分割」、「パターンの先頭」が従来法である。
ビーム走査回数は、24627回となり、従来法(半分割で26111回、パターンの先頭で約27000回)と比較して5%程度改善している。なお、ステージ移動回数(71回)は、従来の方法と最適な位置とで差がなかったが、これは、縦、横の幅のみに依存する従来のエリア配置決定法に従ってエリア配置を決定したためである。前記のエリア配置計画装置を使ってエリア配置を決定すれば、ステージの移動回数についても差が出ると思われる。
(2)ステージ・ガルバノパス計画装置
(c)巡回セールスマン問題適用の効果
40mm×40mmの正方領域に、穴開け位置を乱数を使って発生させて、シミュレーションを試みた。横軸に穴開け位置の数、縦軸にガルバノスキャナの1回の移動の平均値をとって作成した線図が図52及び図53である。実験に用いた距離測度として、前出(2)式、(4)式でα=1として、ステージ、ガルバノスキャナ共に、X方向の移動速度とY軸方向の移動速度を同じと仮定した距離を用いている。ここでは、従来の方法と、巡回セールスマン問題の1手法としてよく知られている、3オプト法を適用した場合とを比較している。図54に結果の一部を抜粋してまとめる。穴開け位置数の違いによらず、ガルバノスキャナの1回の移動距離の平均値は、約30〜40%改善されている。
以上より、エリア配置計画装置によるエリア数の減少の効果を合わせて、ステージ総移動時間は確実に減少し、凡そ20〜30%程度改善する。
以上のように、前記のステージ・ガルバノパス計画装置の適用により、ガルバノスキャナの総移動時間は確実に減少し、約30〜40%改善する。
なお、前記のような計画装置の大きな特徴として、巡回セールスマン問題等、組合せ最適化問題的な面と、二次元平面のデータの探索等、計算幾何学的な面がある。これらの問題は一般に、処理方法が悪いと、膨大な計算時間を必要とする。即ち、穴開け位置というような幾何学的点データを解析し計画する場合、一般的に、計画の精度を向上することと計画にかかる計算(CPUによる演算)時間とはトレードオフの関係にあり、良い計画を実現するためには、計画の実行形態がオンライン処理であれオフライン処理であれ、計算に費やす時間が膨大に必要となり、計画自体に非常に時間が必要になる。
そこで、このような問題点を解消した本発明の実施形態を詳細に説明する。
本実施形態は、2次元平面における点の位置データを、ツリー型のデータ構造、例えばk次元二分探索木(略してkd−木)で表現することにより、例えばレーザ穴開け機の加工計画装置に表われる、次のような処理を高速化し、計画自体にかかる時間を短縮する。
(1)矩形領域内に存在する点を列挙する矩形領域探索問題
(2)ある点について最も近い点を探す最近傍点探索問題
(3)ある点についての近傍点を、ある個数まで順番に挙げていく近傍点リストの作成
(4)巡回セールスマン問題の解法の1つであるニアレストネイバー法による巡回経路の形成
(5)ある領域とある領域の点配置が、全く同じかどうかを判定する全一致問い合わせ処理
まず、kd−木について説明する。kd−木は、多次元空間内の点データの探索(例えば、データベースでの基本的な問い合わせである、直交領域探索(range query)、全一致問い合わせ(exact match query)、部分一致問い合わせ(partial match query)など)を効率よく行うためのデータ構造の一つであり、一次元領域内の探索を効率よく行うためのデータ構造として知られている、二分探索木(binary search tree)を多次元に一般化したもので、グラフ理論における二分木の構造に表現されるものの一つである。
ここで、図55に示す二分木に関して、用語についてのみ簡単な注訳を加えておく(説明のための最低限の注訳であり、用語の正確な定義についてはグラフ理論の参考書に委ねたい)。二分木は通常、最上部に配置された根(root(図中のR))と呼ばれる特別な節点(node(○印))から系統図的に下方へ広がった形に表される。それゆえ、二分木の節点同士の関係は、一般的に生物の血縁関係を表す用語を用いて表される。例えば、AはCの「親」、D、EはBの「子」、DとEとは「兄弟」、AはFの「祖先」、FはAの「子孫」など。二分木の定義から、各節点は最大2つの子節点しか持たない。また、子を持たない節点を「葉(leaf)」節点といい、その他の節点を内部(internal)節点(根を含む)と呼び区別する。
通常の二分探索木は、簡単に言うと、
(1)木の内部節点(根を含む)は、必ず2つの子節点を持ち、探索を手助けするための分割値を蓄える、
(2)木の葉節点は、点そのもの(複数も可)を蓄える、
という構造を有する。
この考えを拡張し、多次元の二分探索木、kd−木の場合には、
(1)木の内部節点(根を含む)は、2つの子節点を持ち、探索を手助けするための分割線を入れる軸(X軸又はY軸)及び分割値を蓄える、
(2)木の葉節点は、点そのもの(複数も可)を蓄える、
という構造を有する。即ち、通常の二分探索木では、内部節点は、区間情報(線分)と二分するための分割値(線分の切断箇所)を保持していたが、kd−木の場合は、領域情報(矩形領域)と領域を二分するための分割線(矩形の縦もしくは横に平行な二分直線)を保持する。例えば、図56のように二次元平面に散布する9個の点データ(P1〜P9)は、二分木を用いると図57のように表現され得る。各点データは、根から順に、内部節点の蓄える分割線により次々に二分され、最終的に点データの個数が二個以下にまで細分されると、葉節点となっているのが分かる。
2次元kd−木は、分割軸の設定の仕方等にバリエーションがあるが、本実施形態では、次のように定めている。
(1)内部節点(図57のl1、l2、l3、l4)における分割軸は、その節点の表わす矩形領域(節点の表す短形領域とは、元の点データの存在する領域が根から順に次々と二分割されるときの、その節点の蓄える分割線によって二分される前の領域のことを表す。例えば、根の表す領域とは、元の点データの広がりそのものである)の、横幅と縦幅の広がりを比較し、大きい方を二分するように設定する。
(2)内部節点における分割値は、その節点の表わす矩形領域の全ての点(n個とする)を、分割軸の値(分割軸がY軸なら、Y座標のことを指す)が、小さい方から数えて、n/2番目(nが奇数である場合は切り捨て)の要素(即ち、真中の要素)の値により分割する。
(3)節点は、その節点の示す点データの数がある個数以下(図57では2個以下)になったとき葉節点(図17ではP1・・・P9)となる。
(4)従って、葉節点は、図58に示す如く、(インデックス付の配列の点データが格納されているとして)点データに割り振られた番号のインデックスを2つ持つ(始まり位置と終わり位置)。
各節点は、具体的には、例えばC言語(C++言語)における構造体を用いると、図58のように表すことができる。ここで、struct kdnodeは節点、bucket(整数型)は葉節点(例えば1)と内部節点(例えば0)の別、cutdim(整数型)は分割軸の方向(X軸又はY軸に平行)、cutval(浮動小数点型もしくは整数型)は分割値、*loson、*hisonは子節点のポインタ、lopt(整数型)は開始インデックス、hipt(整数型)は終了インデックスを、それぞれ示す。また、各葉節点の表す領域に所属する実際の点データは、例えば配列を用いてperm[lopt・・・hipt]に蓄えられる。
kd−木において、各節点が保持すべき最低限必要な項目は、次のとおりである。
・内部節点・・・分割線(分割軸及び分割値)及び子の情報
・葉節点・・・穴開け位置の開始インデックスと終了インデックス
従って、内部節点(bucket=0)の場合は、図58のcutdim、cutval、*loson、*hisonがあれば良く、葉節点(bucket=1)の場合は、loptとhiptがあれば良い。
以下、レーザ穴開け機の加工計画装置において、kd−木を用いることによる効果のある処理について、説明する。
(1)矩形領域探索
図59に示す如く、矩形領域範囲(枠)内の、枠に平行な矩形領域内の点を列挙する矩形領域探索処理における、「領域内の点を最少数の同寸矩形で囲む」処理において、エリア位置決定過程で、又、エリア位置を決定後、そのエリア内の点を列挙するときに用いる。
即ち、従来は、全ての点データにアクセスし、探索領域内か否かを判定し、報告していたのに対し、本発明では、ツリーの根節点から、葉節点へのトップダウン的な探索を行う。即ち、節点が内部節点であるならば、その節点の表わす領域と探索領域との重なり具合により、その節点の両方の子節点を探索するかどうかを判定する。判定は、次のようにして行う。
(1)探索領域が節点の表わす領域内に含まれるとき・・・その節点を根とする部分木内の点データ全てを報告する。
(2)探索領域と節点の表わす領域とが一部重なるとき・・・探索を続ける。
(3)探索領域と節点の表わす領域とが重なりを持たないとき・・・探索しない。
節点が葉節点であれば、その節点の全ての点データにアクセスし、探索領域内かどうかを判定して、探索領域内の点を順に報告する。
従来の方法では、全ての点にアクセスする必要があり、レーザ穴開け機の穴開け位置の数が多くなるにつれ、探索にかかる時間が大きく膨れ上がるのに対して、本発明に係るkd−木による探索方法では、直接点データにアクセスするのではなく、木の根節点から葉節点へのトップダウン的な探索方法であり、各節点での判定は、探索領域との重なり具合(包含、重複、重複無し)のみであり、葉に行き着いたときのみ、直接点データにアクセスするので、探索に費やす時間が確実に削減される。
(2)最近傍点探索
(3)近傍点リストの作成
(4)ニアレストネイバー法(巡回セールスマン問題)
上記(2)(3)(4)の処理は、いずれも巡回セールスマン問題の演算高速化と密接に関係する処理である。特に、(3)、(4)の処理は、(2)を反復して用いるものであるので、まとめて説明する。
(2)最近傍点探索
この最近傍点探索は、図60に示す如く、領域内の注目点に最も近い点を探索する処理である。この処理は、(3)近傍点リストの作成、及び(4)ニアレストネイバー法において反復して用いられる。
(3)近傍点リストの作成
図60に示した如く、領域内の注目点について、その点に近い順に、見つかった点を適当な数(リスト長と称する:図58の例では3個)分、列挙する。この処理は、最近傍点探索処理と、見つかった最近傍点をツリーから一時的に外す処理の反復により実現される。又、この処理は、巡回セールスマン問題の高速化のための各点データに付随するデータ作成という位置付けの前処理であり、領域内全ての点に対して行う処理である。
(4)ニアレストネイバー法
このニアレストネイバー法は、図61に示す如く、初期点を適当に決めて注目点とし、「注目している点の未だ経路につなげられていない最近傍点を探し、発見された点を新たな注目点とする」という処理を、一巡経路となるまで繰り返す処理である。この処理は、最近傍点探索処理と、見つかった最近傍点をツリーから一時的に外す処理の反復により実現される。
又、この処理は、高速な処理が行えることと、それなりの精度(巡回経路長)の解が得られるという2つの利点があるので、図62に示す巡回セールスマン問題の反復改善法の範疇に属する解法を用いるときの初期解(ステップ501)として用いることが出来る。
前記最近傍点探索に際して、従来は、領域内の注目点について、領域内のその点以外の全ての点への距離を算出し、最も距離の近い点を挙げていた。
又、前記近傍点リストの作成に際して、従来は、領域内の注目点について、領域内の該注目点以外の全ての点への距離を算出し、リストに距離の短いものから順にリスト長分に並べる処理をするようにしていた。
又、前記ニアレストネイバー法を実現するための従来の方法は、各反復において、注目点について、未だ経路につなげられていない点全てについて距離を算出し、一番短いものを探し出し、注目点を更新するというものである。
これらの処理は、全て(2)最近傍点探索を用いるものであるが、本発明による最近傍点探索の方法は、木のなぞり方により大きく分けて2種類ある。木の根から探索するトップダウン的方法、及び、最近傍点を探している注目点の存在する葉節点から探索するボトムアップ的方法である。
まず、トップダウン的方法について、図63を参照して具体的な処理手順を説明する。
この方法は、「現在の節点を根とする部分木のトップダウン的探索処理」を再帰的(recursive)に呼び出すことにより実行されるものである。即ち、破線で囲んだ部分が、「現在の節点を根とする部分木のトップダウン的探索処理」であるが、この処理の内部で、現在の節点を左もしくは右の節点に更新して破線部の処理を行う(ステップ1005、1006、1009、1010)。
ステップ1001において、現在の節点を根に設定し、最近傍点迄の距離を充分大きな値に設定する。次いで「現在の節点を根とする部分木のトップダウン的探索処理」は、ステップ1002において、まず現在の節点が葉節点であるかどうかを判定する。葉節点である場合は、ステップ1003において、全ての点データにアクセスし、最近傍点が発見できれば更新する。内部節点ではある場合には、ステップ1004において、左右どちらの子節点の領域を優先して探索するかを決定する。この処理は、現在の節点の分割線の分割値(図58における、cutval)と、最近傍点を探している注目点の分割線の分割軸の値との比較により決定する。ステップ1007、ステップ1008の判定は、直前の節点で探索を行った節点の兄弟節点の表す領域を探索する必要があるかどうかの判定である。ここでは、図64に示す如く、最近傍点を探している注目点を中心とする、現在の最近傍点までの距離を半径に持つ円(ここで円とは、中心から等距離上にある点を結んだ閉曲線という意味であり、距離測度はユークリッド距離である必要はない)と、節点の表す領域が重なりを持つかどうか(含まれても良い)によって判定する。
次いで、ボトムアップ的方法について、図65を参照して具体的な処理手順を説明する。
この方法は、最近傍点を探している注目点の存在する葉節点を探索の開始節点に設定し、必要に応じて現在の節点の兄弟節点や親節点の探索を行う探索方法である(この場合、各接点に親節点を指すポインタを付加する必要が生じる。従って、例えば図58において、構造体の要素に、kdnode型ポインタ*fatherを加える。ただし根節点の親節点は存在しないので、NULLとする)。
ステップ2001において、現在の接点を最近傍点を探している注目点の存在する葉節点に設定し(従って、各点データは自分の存在する葉節点を指すポインタを持つ必要が生じる)、最近傍点までの距離を充分大きな値に設定する。ステップ2002は、実際には現在の接点は葉節点にあるので、現在の節点内の全ての点にアクセスし最近傍点を更新する。ステップ2003において、現在の節点の表す領域の外を探索する必要があるかどうかを判定する。具体的には、最近傍点を探している注目点を中心とする、現在の最近傍点までの距離を半径に持つ円が、現在の節点の表す領域の内部に含まれるかどうかを判定する。内部に含まれないなら、次いで破線により囲まれたループ処理に入る。
ループからの脱出判定基準は2つある。一つはステップ2005における判定で、ここではステップ2006で更新された現在の節点が根であるかどうかを判定する。もう一つはステップ2008における判定で、ここでは現在の節点の親節点の表す領域の外を探索する必要があるかどうかを判定する。具体的には、ステップ2003と同じく、最近傍点を探している注目点を中心とする、現在の最近傍点までの距離を半径に持つ円が、親節点の表す領域に包含されているかどうかの判定である。
ループ処理の内部のステップ2006において、現在の節点の兄弟節点の表す領域を探索する必要があるかどうかを判定する。具体的には、最近傍点を探している注目点を中心とする、現在の最近傍点までの距離を半径に持つ円が、現在の節点の表す領域と重なりを持つかどうかの判定である。重なりを持つ場合は、ステップ2007において、実際に探索を行う。
即ち、図66に例示する如く、注目点が領域Dにあるとすると、ボトムアップ的方法では、探索を注目点Q1のある領域Dからスタートさせる(ステップ2001)。この領域において、全ての点について注目点Q1までの距離を調べ(ステップ2002)、発見された最近傍点がQ2であったとすると、次にこの領域外にQ2より近い点がある可能性があるかどうかを調べるため、Q1を中心とする、半径がQ1とQ2の間の距離の円が、領域Dの外にはみ出しているかを判定する(ステップ2003)。この例では、円がD内に収まっていないので、まだ探索の必要がある。領域Dは根の表す領域(全体領域)ではないので(ステップ2005)、次に領域Dの兄弟である領域Eの探索が必要かどうかを判定する(ステップ2006)。判定の基準は円との重複であるが、この例では重複しているため、領域E内の探索を行う(ステップ2007)。この例では、領域EにおいてQ2よりもQ1に近い点、Q3が発見された。ここまでで領域D、E内(即ち、領域B内)の探索が終了したが、次に、領域Bの外にもQ3より近い点があるかもしれないので、再び注目点Q1と最近傍点Q3との間の距離を半径に、注目点Q1を中心に持つ円が領域Bの外にはみ出しているかどうかを判定する(ステップ2008)。この例では、はみ出しており、領域Bの兄弟領域Cを探索する必要がある事が分かるので、現在の節点を、領域Bを表している節点に更新し(即ち、領域Dの親領域に更新し)(ステップ2009)、ステップ2005に戻る。以上のようなステップを繰り返して、この例では最終的には領域H内に最近傍点Q4を発見し、終了する。
(3)近傍点リストの作成
近傍点リストの作成は、上記(2)最近傍点探索と、「発見された最近傍点を木から一時的に外す」処理を交互に行うことにより実現される。
木から一時的に点データを外すのは、次のようにして行うことができる。即ち、木の葉節点は、図58に示したように、各点データに付随するインデックスの開始番号と終了番号を持っている。従って、基本的には、終了番号(又は開始番号)を1つ減らし(増やし)、減らされた番号(増やされた番号)の位置のデータと交換すればよい。もしその点を消すと、その葉節点内の点データが全て消えてしまうようなときには、その葉節点を訪れる必要を無くすように、自分の節点が表わす領域から点が消えている状態であれば、それが分かるように節点の情報を持つ(各節点に対し、点があるかどうかが分かるように、例えば図58において、構造体の要素にempty(整数型)を加える)。
(4)ニアレストネイバー法
このニアレストネイバー法の解法は、(3)と同様、上記(2)の最近傍点探索と、発見された最近傍点を木から一時的に外す処理を交互に行うことにより実現される。(3)と異なるのは、(3)は注目点では常に固定しているのに対し、(4)は、発見された最近傍点を注目点に更新していくところにある。
従来、最近傍点探索については、注目点に対し、他の点データ全てにアクセスして距離算出演算をして、最大のものを残す必要があった。又、近傍点リストの作成については、各点データに関し、他の点データ全てにアクセスして距離算出演算をする他、各演算の度に現在のリストの相応しい順位に点データを挿入する必要があった。又、この作業は、全ての点データに対し行う処理なので、全ての点データの組に対し、距離算出演算を行っていた。又、ニアレストネイバー法の解法については、各点に対し、未だ巡回路につなげられていない点を認識し、それらの点データ全てにアクセスして距離算出演算を行い、最大のものを残すという対応をする必要があった。
これらの方法は工夫が見られず、特に、近傍点リストの作成については、kd−木を使わない方法であると、計算時間が膨大となるため、kd−木を作成しない方法、つまり巡回セールスマン問題の高速化のための前処理をせずに、いきなり巡回セールスマン問題を解くという方法を採らざるを得なくなっていた。しかしながら、前処理無しでは、限られた計算時間で精度のよい解を得ることはできず、加工時間短縮の効果は薄かった。
一方、本発明によるkd−木による探索方法では、最近傍点探索については、トップダウン的な方法とボトムアップ的な方法の2種類があるが、特に、ボトムアップ的な方法は、注目点の存在する葉節点に直接アクセスできるので、大幅に高速化できる。
又、近傍点リストの作成については、特にツリーから点データを外す処理が高速でできるので、処理を大幅に高速化できる。この近傍点リストの作成は、巡回セールスマン問題の局所探索法の範疇に属する方法の高速化のための前処理であるので、間接的にではあるが、巡回セールスマン問題も高速化できる。
ニアレストネイバー法の解法についても、同様の理由で高速化できる。このニアレストネイバー法は、巡回セールスマン問題の局所探索法の範疇に属する方法の初期解であるので、結局、巡回セールスマン問題の解法処理の一部を高速化できることになる。
(5)全一致問い合わせ
全一致問い合わせとは、ある点について、それと相対座標値が完全に一致するものが、領域の中に存在するかどうかについて問い合わせを行う処理である。この問い合わせを利用すれば、或る走査エリアと別の走査エリアにおける相対的な配置パターンが、全く一致しているかどうかを判定することができる。
全ての穴開け位置は、それぞれ所属する1つの走査エリアを持っている。走査エリア内の点は、巡回セールスマン問題を用いて訪問順序(ガルバノパス)が最適化される。巡回セールスマン問題の計算量は、他に比べて大きいので、全ての走査エリアについて巡回セールスマン問題を解く代わりに、全ての走査エリアについて、全ての点位置が全く等しいエリアを探す処理を行い、巡回セールスマン問題を解く必要のないエリアを探す。そのようなエリアが発見でき、巡回セールスマン問題を解く必要がなくなれば、計算高速化に直結する。
巡回セールスマン問題を解く必要を無くすという意味であれば、エリアに対する全ての点位置が全く等しいという必要はなく、各点の相対的な位置関係が一致していれば充分である。即ち、図67上段のように、全ての点位置が全く等しい場合には、エリアPのガルバノパスを決定すれば、エリアQのパスを再計画する必要はない。同様に、図67下段に示すエリアRとエリアSのように、一方の点位置が他方の点配置にオフセットが載った状態である場合にも、やはり、エリアRのパスを決定すればエリアSのパスを計画する必要はない。オフセット量は、両エリア内の代表的な点、例えばx最小かつy最小な点同士の絶対座標の差にすればよい。
この全一致問い合わせを利用した走査エリア同士の相対的な点配置一致判定処理は、エリア位置決定時に行われる。
従来は、領域内の点全てにアクセスし、注目点の座標値と一致するかどうかを一つ一つ比較していた。
これに対して、kd−木を用いる本発明では、ある注目エリアと別の注目エリアのオフセット量を計算し、ある注目エリアの各点の座標にオフセット量を加えた座標が別の注目エリアに存在するかどうかを、別の注目エリアのツリーの根節点から、現在の節点の子節点について、探している座標の存在する方の子節点へと次々に移るという方法により探索を行い、葉節点に到達したら、節点内の全ての点について、一致するかどうかを一つ一つ比較する。
このようにして、全ての点データにアクセスするのではなく、二分木の根節点からのトップダウン的探索方法により、比較の回数が減り、計算が高速になる。
本発明で用いるkd−木は、点位置データ、及び、点位置データが存在する領域から作成される。本実施形態においては、テンポラリな領域作成時とエリア位置確定時にkd−木を作成する。
即ち、テンポラリな領域作成時の直交領域探索処理は、「領域内の点を最少数の同寸矩形で囲む」処理において、エリア位置決定時のエリア内の点列挙その他に適用される。従って、最適L軸値決定処理によるループ呼び出しで、一時的な領域を作成する度に、その一時的な領域及び一時的な点位置データに関する木を形成する。
又、前記最近傍点探索処理、近傍点リストの作成、及び、ニアレストネイバー法の処理は、いずれも、巡回セールスマン問題に関するものである。巡回セールスマン問題は、大きく分けて、エリア位置訪問順序(ステージパス)と、走査エリア内穴開け位置訪問順序(ガルバノパス)を最適化するものである。故に、エリア位置確定時に、最適L軸値での一時的な領域及びL軸値という点データに関する木を1つ作成すると共に、走査エリア領域と走査エリアに従属する穴開け位置という点データに関する木を、各走査エリアについてそれぞれ1つずつ作成する。この各走査エリアに関する木は、前記全一致問い合わせにも利用される。
なお、前記のような加工計画のプログラムは、通常、レーザ加工機のソフトウェアに組み込まれているが、計算負荷が大きく、計算専用の高速処理マシンを持たせられない加工機側の動作に悪影響を与えたり、最新のプログラムを使用するためには、毎回バージョンアップする必要がある等の負担がかかる。これは、加工計画のプログラムを抽出して、単品のソフトウェアとして提供する場合でも同じである。なお、フレキシブルディスク等の記録媒体を利用して、ユーザから加工位置データを郵送してもらい、メーカ側のサポートスセンタ等で加工計画を作成して、郵送で送り返すことも考えられるが、郵送はやり取りに時間がかかってしまう。
そこで、このような問題点を解決した実施形態を詳細に説明する。
本実施形態は、図68に示す如く、レーザ加工機80側に設けられたユーザのパソコン(ユーザPCと称する)82と、例えばレーザ加工機メーカ側のサポートセンタに設けられた加工計画計算専用の高速処理が可能なパソコン(サポートセンタPCと称する)90とを、インターネット100を介して接続し、該インターネット100を介してユーザPC82より受信した加工位置データに基づいて、サポートセンタPC90が加工計画を決定し、決定した加工計画を、前記ユーザPC82に返信するようにしたものである。
図において、84は、ユーザPC82をインターネット100に接続させるためのブラウザ、92は、インターネット100にホームページを提供するためのウェブサーバ、86、94はJAVA(登録商標)アプレット、88は加工位置のCADデータ、96は、ユーザPC82から送られてきたCADデータ88に対して加工計画を決定するための加工順序最適化アプリケーションである。
以下、図69を参照して作用を説明する。
ユーザは、ステップ3001で、ユーザPC82のブラウザ84を使って、サポートセンタのホームページにアクセスし、ステップ3002でサポートセンタから返信されたHTMLデータにより、ステップ3003で変換サービスページにアクセスする。次いで、ステップ3004で送付されるJAVA(登録商標)アプレットの指示に従って、ステップ3005で変換に必要な条件を入力し、加工順序を最適化したいファイルを選択し、それらをサポートセンタPC90に、インターネット100を利用して転送する。
サポートセンタ側では、ステップ3006で、受信データに従って、加工順序最適化アプリケーション96により、データの加工順序の最適化変換を実施し、加工機用のデータファイルを作成する。そして、そのファイルを同じくインターネット100で返信する。
ユーザは、ステップ3007で、受信した変換済みデータファイルをレーザ加工機に転送して、加工を実施する。
このようにして、サポートセンタ側で変換を実施することで、ユーザは、常に加工計画の最新バージョンを利用し、且つ、サポートセンタの高速処理マシンを利用することができる。
一方、サポートセンタ側では、ユーザに納入された加工機の加工計画プログラムを一々更新する必要がなく、加工計画プログラムの更新が容易である。又、ユーザ情報を容易に収集・蓄積することができる。
本実施形態によれば、通信回線を介して加工装置側より受信した加工位置データに基づいて加工計画を決定し、前記加工装置側に返信するようにしたので、計算専用の高速処理マシンを用いて、常に、最新バージョンで加工データを迅速に作成することが可能となる。
なお、前記実施形態では、ユーザPCが1台とされ、レーザ加工機80とは別置とされていたが、ユーザPCの数や配設位置は、これに限定されず、図70に示す第1の変形例のように、CAD用のユーザPC83を別に設けたり、図71に示す第2の変形例のように、ユーザPC82をレーザ加工機80に内蔵しても良い。
又、前記説明においては、ガルバノユニットの数が2とされていたが、ガルバノユニットの数はこれに限定されず、1あるいは3以上の複数であってもよい。
又、前記説明においては、いずれも、エリアの形状が40×40mmの正方形とされていたが、エリアの形状はこれに限定されず、他のサイズの正方形や、長方形を含む矩形、あるいは、円形でもよい。又、走査方向も、図72の上段に示すような、エリアの1辺と平行な通常の走査方向に限定されず、図72の下段に示す如く、点座標を同心回転変換した斜め方向の走査であってもよい。
又、走査エリアに対してレーザビームを走査する手段もガルバノスキャナによるものに限定されず、出願人が特開2000−71089や特開2000−334637で提案したような、リニアモータXYステージと高速加工ヘッドを組み合わせたハイブリット加工システム(いわゆるスクリーンカットシステムあるいはフラッシュカットシステム)であってもよい。
又、適用対象も、レーザ穴開け機に限定されず、レーザビーム以外の加工手段を用いた一般の加工機(例えば機械式ドリルによる穴開け装置)にも同様に適用できることは明らかである。
又、通信回線もインターネットに限定されず、専用回線や電話回線であってもよい。
本発明が適用されるレーザ穴開け機の全体構成を示す斜視図 同じく、詳細構成を示す斜視図 同じく、ステップアンドリピートによる全体の加工動作を示すタイムチャート 同じく、各走査エリア内の加工動作を示すタイムチャート レーザ穴開け機の従来の装置システム構成を示すブロック線図 同じく、CADデータの例を示す線図 同じく、従来のデータ設定方法の処理手順の概略を示す流れ図 同じく、従来のステージ位置及びパスの例を示す斜視図 同じく、従来のガルバノスキャナパスの例を示す平面図 本発明に係るレーザ穴開け加工計画装置の実施形態の構成を示すブロック線図 前記実施形態における全体的な処理手順を示す流れ図 同じく、2ユニットのエリア配置計画装置の処理手順を示す流れ図 同じく、ユニット間距離設定の原理を説明するための平面図 同じく、ビーム走査回数及びステージ移動回数と最適なユニット間距離の関係の例を示す線図 同じく、XY座標変換の有用性を示すための基板の例を示す線図 同じく、XY座標変換の様子を示す線図 同じく、エリア重複時の穴開け位置の配分の原理を説明するための、重複時のエリア配分の例を示す平面図 同じく、前記穴開け位置の配分の例を示す線図 同じく、重複配分処理の具体的な処理手順の例を示す流れ図 同じく配分の一例を示す線図 同じく配分の他の例を示す線図 同じく、穴開け位置の広がりの中心でエリア位置を微調整している様子を示す平面図 同じく、穴開け位置の重心でエリア位置を微調整している様子を示す平面図 2ユニットのエリア配置計画装置の変形例の処理手順を示す流れ図 前記変形側におけるユニット間距離の候補の例を示す平面図 前記実施形態のエリア配置計画装置の処理手順を示す流れ図 前記処理手順を具体的に説明するための、次のエリア位置を探している状態を示す平面図 同じく、囲まれていない一番左の点を発見した状態を示す平面図 同じく、エリア幅分の帯領域について、囲まれていない一番下の領域を発見した状態を示す平面図 同じく、確定エリアとの重なりが大きい場合の例外処理を示す平面図 同じく、次のエリアの中で一番左の点が発見された状態を示す平面図 同じく、重なりを回避している状態を示す平面図 同じく、次のエリアが確定した状態を示す平面図 エリア決定方法の変形例の原理を示す平面図 同じく処理手順を示す流れ図 前記変形例においてエリア近傍を探索する一例を示す線図 同じく他の例を示す線図 前記実施形態のステージ・ガルバノパス計画装置の処理手順を示す流れ図 ステージによる移動時間の違いの例を示す線図 ローダ、アンローダとXYステージ等の位置関係と最適経路の例を示す平面図 本発明の原理を説明するための、ガルバノスキャナによる移動時間の違いの例を示す線図 前記ステージ・ガルバノパス計画装置で実行される左右ユニットの移動パターンのマッチングの原理を示すタイムチャート 同じく、左右走査エリアの一方の訪問順序のシフトによる効果を示す平面図及びタイムチャート 始点、終点の最適設定に関して、一巡経路を決定後、最長の移動を除いている様子を示す平面図 同じく、「(一巡経路)−(最長の移動)」により一巡経路を決定する手順を示す流れ図 同じく、平面図 エリア配置計画装置の効果の一例を示す平面図 同じく、前記効果の他の例を示す平面図 同じく、エリア数の変化状態をまとめて示す図表 ユニット間距離最適化の効果を示すための、ユニット間距離に対するビーム走査回数とステージ移動回数の関係の例を示す線図 同じく、数値的な結果をまとめて示す図表 同じく、従来のガルバノパスと実施形態のガルバノパスを比較して示す線図 同じく、従来例と実施形態における穴開け位置数とガルバノスキャナ移動距離の関係の例を比較して示す線図 同じく、数値的な結果をまとめて示す図表 ツリーの節点同士の関係を表す用語を説明するための線図 本発明で用いられる二次元データの例を示す平面図 同じくツリーへの格納状態を示す線図 同じくデータの記述例を示す線図 本発明の適用対象である矩形領域探索の様子を示す平面図 同じく最近傍点探索及び近傍点リストの作成の様子を示す平面図 本発明の実施形態における、二アレストネイバー法による巡回経路の作成過程の例を示す平面図 同じく反復改善法(局所探索法)による処理手順の例を示す流れ図 同じくトップダウン的方法による処理手順の例を示す流れ図 前記トップダウン的方法における、探索を行うべき領域を判定する様子を示す平面図 本発明の実施形態における、ボトムアップ的方法による処理手順の例を示す流れ図 前記ボトムアップ的方法における、探索を行うべき領域を判定する様子を示す平面図 本発明の実施形態における、全一致問い合わせの有効性を示す平面図 実施形態のシステム構成を示すブロック図 同じく処理手順を示す流れ図 前記実施形態の変形例のシステム構成を示すブロック図 前記実施形態の更に他の変形例のシステム構成を示すブロック図 走査方向の変形例を示す平面図
符号の説明
6…プリント配線基板(ワーク)
8、8´、8L、8R…走査エリア
10…レーザ穴開け機
12…レーザ発振器
13、13L、13R…レーザビーム
14…ビームスプリッタ
22L、22R…ガルバノユニット
40…XYステージ
42X…Xステージ
42Y…Yステージ
70…計画装置
72…2ユニットのエリア配置計画装置
74…エリア配置計画装置
76…ステージ・ガルバノパス計画装置
80…レーザ加工機
82、83…ユーザPC
84…ブラウザ
88…CADデータ
90…サポートセンタPC
92…ウェブサーバ
96…加工順序最適化アプリケーション

Claims (25)

  1. 複数方向に走査又は移動可能とされた加工手段を用いてワークを加工する際に、
    ワーク上に散在する加工位置又は加工エリアを表わす点の位置データを、ツリー型のデータ構造で表現することを特徴とする加工計画方法。
  2. 前記ツリーが、k次元二分探索木であることを特徴とする請求項1に記載の加工計画方法。
  3. ワーク上に散在する加工エリアの位置を決定した後、前記ツリーを用いて、各加工エリア内の点データを列挙することを特徴とする請求項1又は2に記載の加工計画方法。
  4. 前記ツリーの根節点から、内部節点については、その節点の子節点が表わす領域と探索領域との重なり具合により、その節点の子節点を探索するかどうかを判定し、葉節点に行き着いた時のみ、直接、点データにアクセスすることを特徴とする請求項1に記載の加工計画方法。
  5. 前記ツリーを用いて、注目点に最も近い点を探索する最近傍点探索処理を行うことを特徴とする請求項1又は2に記載の加工計画方法。
  6. 前記最近傍点探索処理を、前記ツリーの根節点から始めることを特徴とする請求項5に記載の加工計画方法。
  7. 注目点を中心とする、現在の最近傍点までの距離を半径に持つ円と節点の表わす領域が重なりを持つ場合に、その節点について探索を行うことを特徴とする請求項6に記載の加工計画方法。
  8. 前記節点が葉節点である場合は、当該節点が表わす領域内の全ての点について距離を求め、短いかどうか判定することを特徴とする請求項7に記載の加工計画方法。
  9. 各点のデータが、それぞれ自分の所属する葉節点に関する情報を有し、
    前記最近傍点探索処理を、最近傍を探そうとしている注目点の存在する葉節点に直接アクセスし、次いで、探索が必要である節点が存在する場合に限り、前記ツリーの根節点の方向に溯ることにより行うことを特徴とする請求項5に記載の加工計画方法。
  10. 注目点を中心とする、現在の最近傍点までの距離を半径に持つ円と節点の表わす領域が、現在の節点を表わす領域の外にはみ出す場合は、そのはみ出し具合に応じて、自分の兄弟節点又は自分の親の兄弟節点の探索を行うことを特徴とする請求項9に記載の加工計画方法。
  11. 請求項5に記載の最近傍点探索処理と、
    見つかった最近傍点を外したツリーを用いて、次の最近傍点を探索する処理とを反復することにより、
    注目点に近い順に近傍点を列挙することを特徴とする加工計画方法。
  12. 請求項5に記載の最近傍点探索処理により、未だ加工経路につなげられていない最近傍点を探索して新たな注目点とし、加工経路につなげる処理と、
    見つかった注目点を外したツリーを用いて、次の最近傍点を探索して新たな注目点とし、加工経路につなげる処理を、
    始点から終点まで繰り返して、加工経路を作成することを特徴とする加工計画方法。
  13. 前記ツリーから、見つかった点を外す処理を、各点データに付随するインデックスの終了番号を減らすか、又は、開始番号を増やすことにより行うことを特徴とする請求項11又は12に記載の加工計画方法。
  14. 前記ツリーから、見つかった点を外すと、ある節点内の点データが全て消えてしまう場合は、その節点を訪れる必要が無いことを示す情報を、節点に持たせることを特徴とする請求項13に記載の加工計画方法。
  15. 請求項12に記載の加工計画方法により決定された加工経路を、巡回セールスマン問題を適用して加工順序を決定する際の初期解とすることを特徴とする加工計画方法。
  16. ある加工エリア内の点データの配置と、別の加工エリア内の点データの配置とが相対的に一致しているエリアの組を発見することにより、必要のない負荷の高い演算を省くことを特徴とする加工計画方法。
  17. 前記点データの配置が相対的に一致するエリアの組を探す処理を、
    一方のエリアの全点に対し、一定の座標のずれ量を加えた点位置データを作成し、
    もう一方のエリアのツリーの根節点から、前記点位置データの存在する領域を表す節点へと次々に移り、
    葉節点に移ったときにのみ前記点位置データと一致する点位置データが存在するかどうかを調べるという処理により行うことを特徴とする請求項16に記載の加工計画方法。
  18. 前記ツリーを、加工エリア内の点データを最少数の同寸矩形で囲む処理において、ループ呼び出しで一時的な加工エリアを作成する度に、その一時的な加工エリア、及び、各加工エリア内の一時的な点位置データの両方について作成することを特徴とする請求項1又は2に記載の加工計画方法。
  19. 前記ツリーを、加工エリア確定時に、加工エリア、及び、各加工エリア内の点位置データの両方について作成することを特徴とする請求項1又は2に記載の加工計画方法。
  20. 請求項1乃至19のいずれかに記載の加工計画方法により決定された加工を行うことを特徴とする加工方法。
  21. 請求項1乃至19のいずれかに記載の加工計画方法を実施するためのコンピュータプログラム。
  22. 複数方向に走査又は移動可能とされた加工手段を用いてワークを加工する際に加工計画を立てるための加工計画装置において、
    ツリー型のデータ構造で表現された、ワーク上に散在する加工位置又は加工エリアを表わす点の位置データを記憶する手段と、
    前記ツリー型のデータ構造で表現された位置データを用いて、加工エリア位置や加工順序を決定する手段と、
    を備えたことを特徴とする加工計画装置。
  23. 請求項22に記載の加工計画装置を含むことを特徴とする加工装置。
  24. 請求項22に記載の加工計画装置を実現するためのコンピュータプログラム。
  25. 請求項21又は24に記載のコンピュータプログラムが記録された、コンピュータ読み取り可能な記録媒体。
JP2004161575A 2000-11-13 2004-05-31 加工計画方法、装置、及び、加工方法、装置 Withdrawn JP2004253006A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004161575A JP2004253006A (ja) 2000-11-13 2004-05-31 加工計画方法、装置、及び、加工方法、装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2000345417 2000-11-13
JP2000359553 2000-11-27
JP2001243870 2001-08-10
JP2004161575A JP2004253006A (ja) 2000-11-13 2004-05-31 加工計画方法、装置、及び、加工方法、装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001331550A Division JP3774138B2 (ja) 2000-11-13 2001-10-29 加工計画方法、装置、及び、加工方法、装置

Publications (1)

Publication Number Publication Date
JP2004253006A true JP2004253006A (ja) 2004-09-09

Family

ID=33033246

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004161575A Withdrawn JP2004253006A (ja) 2000-11-13 2004-05-31 加工計画方法、装置、及び、加工方法、装置

Country Status (1)

Country Link
JP (1) JP2004253006A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007283345A (ja) * 2006-04-14 2007-11-01 Sumitomo Heavy Ind Ltd レーザ加工制御装置及びレーザ加工制御方法
JP2012101228A (ja) * 2010-11-05 2012-05-31 Dainippon Printing Co Ltd レーザ加工装置、レーザ加工システム
JP2013052394A (ja) * 2011-08-31 2013-03-21 Panasonic Industrial Devices Sunx Co Ltd レーザ加工装置
JP2013198932A (ja) * 2012-03-26 2013-10-03 Dainippon Printing Co Ltd レーザ加工データ分配システムおよびレーザ加工装置
WO2016013222A1 (en) * 2014-07-24 2016-01-28 Mitsubishi Electric Corporation Method of determining a sequence of drilling holes using a two level traveling salesman problem (tsp)
JP2021008667A (ja) * 2017-10-20 2021-01-28 ツェーエル・シュッツレヒツフェアヴァルトゥングス・ゲゼルシャフト・ミト・べシュレンクテル・ハフツング 3次元の物体を付加製造する装置を動作させる方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007283345A (ja) * 2006-04-14 2007-11-01 Sumitomo Heavy Ind Ltd レーザ加工制御装置及びレーザ加工制御方法
JP4550002B2 (ja) * 2006-04-14 2010-09-22 住友重機械工業株式会社 レーザ加工制御装置及びレーザ加工制御方法
JP2012101228A (ja) * 2010-11-05 2012-05-31 Dainippon Printing Co Ltd レーザ加工装置、レーザ加工システム
JP2013052394A (ja) * 2011-08-31 2013-03-21 Panasonic Industrial Devices Sunx Co Ltd レーザ加工装置
JP2013198932A (ja) * 2012-03-26 2013-10-03 Dainippon Printing Co Ltd レーザ加工データ分配システムおよびレーザ加工装置
WO2016013222A1 (en) * 2014-07-24 2016-01-28 Mitsubishi Electric Corporation Method of determining a sequence of drilling holes using a two level traveling salesman problem (tsp)
JP2017510462A (ja) * 2014-07-24 2017-04-13 三菱電機株式会社 穿孔のシーケンスを決定する方法
US9703915B2 (en) 2014-07-24 2017-07-11 Mitsubishi Electric Research Laboratories, Inc. Method for determining a sequence for drilling holes according to a pattern using global and local optimization
JP2021008667A (ja) * 2017-10-20 2021-01-28 ツェーエル・シュッツレヒツフェアヴァルトゥングス・ゲゼルシャフト・ミト・べシュレンクテル・ハフツング 3次元の物体を付加製造する装置を動作させる方法
JP7053748B2 (ja) 2017-10-20 2022-04-12 ツェーエル・シュッツレヒツフェアヴァルトゥングス・ゲゼルシャフト・ミト・べシュレンクテル・ハフツング 3次元の物体を付加製造する装置を動作させる方法
US11364686B2 (en) 2017-10-20 2022-06-21 Concept Laser Gmbh Method for operating an apparatus for additively manufacturing of three-dimensional objects

Similar Documents

Publication Publication Date Title
EP1211583A2 (en) Method and device for working planning
US6507941B1 (en) Subgrid detailed routing
JP2001195112A (ja) レーザドリリング経路決定方法
US7499045B2 (en) Graphics image generation
US7197738B1 (en) Method and apparatus for routing
Hajad et al. Laser cutting path optimization using simulated annealing with an adaptive large neighborhood search
WO2001024111A1 (en) Automatic routing system for pc board design
US6996789B2 (en) Method and apparatus for performing an exponential path search
JP2004529402A5 (ja)
US20040098694A1 (en) Method and apparatus for routing
US7047513B2 (en) Method and apparatus for searching for a three-dimensional global path
JP3999796B2 (ja) 加工計画方法、装置、及び、加工方法、装置
JP2004253006A (ja) 加工計画方法、装置、及び、加工方法、装置
US7054798B2 (en) Punch and die optimization
KR100463097B1 (ko) 가공계획방법, 장치, 및, 이를 위한 가공데이터 작성방법,장치
US7877718B2 (en) Analog IC placement using symmetry-islands
US6988257B2 (en) Method and apparatus for routing
US20230306177A1 (en) Using topological and geometric routers to produce curvilinear routes
TW202403585A (zh) 具有非較佳方向曲線配線的積體電路
JP4091019B2 (ja) 加工計画方法
JPWO2003064107A1 (ja) 加工計画方法及び装置
JP2003245843A (ja) 加工装置および加工方法
JP2004145597A (ja) 加工計画方法及び装置
JP2004272791A (ja) 加工矩形の配置方法及び装置
JP2003188089A (ja) 露光条件算出方法、露光条件算出プログラム、記録媒体、レチクルの製造方法、構造体の製造方法、装置及び露光条件算出サービス提供方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040602

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20070808