(57)【要約】【課題】部品実装機において装着ヘッドの総移動距離を短くして部品実装を最適化できる部品実装機の部品搭載最適化方法を提供する。【解決手段】複数の吸着ノズルを装着したヘッドを備え、吸着ノズルで部品を吸着して回路基板上に搭載する場合、部品搭載順序を最適化する。部品の全搭載点のランダム配列（１、３、．．．．．２、５）を作成して搭載点を該ランダム配列に従って搭載パターングループ（Ａ、Ａ、．．．．．）に順次割り当てる。そして、全搭載点の配列を吸着ノズル数ずつ（４ずつ）のグループに分割し、各グループのヘッド移動距離の総和から前記ランダム配列を評価し、最適な評価を得たランダム配列に基づき各吸着ノズルへの搭載点の割り当てを行って部品搭載を最適化する。【選択図】図７
2005353776.tif 000002
【特許請求の範囲】
【請求項１】
複数の吸着ノズルを装着したヘッドを備え、前記吸着ノズルで部品を吸着して回路基板上に搭載する部品実装機の部品搭載最適化方法であって、
搭載部品の吸着ノズルへの割り当てを吸着ノズル数ごとに搭載パターンとして生成して搭載パターングループを形成し、
部品の全搭載点のランダム配列を作成して搭載点を該ランダム配列に従って前記搭載パターングループに順次割り当て、
前記搭載パターングループに割り当てられた搭載点の配列を吸着ノズル数ずつのグループに分割し、
各グループのヘッド移動距離の総和から前記ランダム配列を評価し、
最適な評価を得たランダム配列に基づき各吸着ノズルへの搭載点の割り当てを行って部品搭載を最適化することを特徴とする部品実装機の部品搭載最適化方法。
【請求項２】
前記クループでのヘッド移動距離を各搭載点を巡回するすべての組み合わせに関して評価し、最短経路となる組み合わせを選択することを特徴とする請求項１に記載の部品実装機の部品搭載最適化方法。
【請求項３】
前記ランダム配列を遺伝子コードとして表現し、遺伝的アルゴリズムを用いてランダム配列を生成することを特徴とする請求項１又は２に記載の部品実装機の部品搭載最適化方法。
【請求項４】
搭載点を搭載パターングループに割り当てるとき、部品がその搭載点に搭載される部品であるときにのみ割り当てを行うことを特徴とする請求項１から３のいずれか１項に記載の部品実装機の部品搭載最適化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、部品実装機の部品搭載最適化方法、更に詳細には、部品実装機を一台または複数台連結させたラインにおいて、最適な生産タクト及びラインバランスを構築するための生産プログラムの最適化に関するものである。
【背景技術】
【０００２】
電子部品（以下、単に部品という）を回路基板に実装する電子部品実装機では、基板生産（部品実装）は、基板種類ごとにその基板を生産する生産プログラムを作成して行われる。各生産プログラムは、実装機上で基板を生産するための各種データを含み、例えば、基板に関するデータ、搭載位置に関するデータ、部品に関するデータ（例えば縦横高さの寸法）、吸着位置に関するデータ、画像認識用の情報、接着剤の塗布に関するデータ等から構成されている。
【０００３】
従来から、基板生産効率を向上させるために、生産プログラムの最適化が行われており、例えば、部品の吸着及び搭載順を最適化して生産タクトが短くなるようにすることが行われている。また、複数台の実装機を連結して生産ラインを構成して部品実装を行う場合には、ラインの各部品実装機がバランスのとれた生産を行うことが可能なように、ラインバランスを考慮して生産プログラムの最適化が行われている（特許文献１）。
【０００４】
また、部品を吸着するヘッド部が部品供給部から回路基板の所定位置に移動する経路を直線化することにより生産タクト時間を短縮することも行われている（特許文献２）。
【０００５】
更に、吸着ヘッドに複数の吸着ノズルを備え、複数の部品を一回で順次（あるいは同時）に吸着して回路基板に各部品を搭載するような生産プログラムを最適化する場合には、一回の吸着から搭載までの動作（１搭載サイクル）において、吸着または搭載する際の吸着ヘッドの移動距離の総和が最短になるように、吸着順ないし搭載順を決定するようにしている。
【０００６】
例えば、搭載順を決定する場合、図９に示したように、吸着ノズルから最も近い搭載点を貪欲に検索して、吸着ノズルに搭載点を割り当てている。この方法を説明すると、例えば、吸着ヘッドＨに４個の吸着ノズルが装着されており、部品Ａ〜Ｄが各吸着ノズルに吸着される吸着パターンとなっていて、部品ＡはＰ４、Ｐ８、Ｐ１０に、部品ＢはＰ２、Ｐ６、Ｐ７に、部品ＣはＰ３、Ｐ５に、また部品ＤはＰ１、Ｐ９、Ｐ１１にそれぞれ搭載されるとする。最初の搭載点を見つける場合、図９（Ａ）に示したように、部品Ａ〜Ｄの最も近い搭載点はＰ４、Ｐ７、Ｐ５、Ｐ１であり、その中で移動距離が一番短いのは、搭載点Ｐ７であるので、最初の搭載点をＰ７として、部品Ｂを吸着するノズルに搭載点Ｐ７を割り当てる。続いて、ヘッドを最初の搭載点に移動させたところで部品Ａ、Ｃ、Ｄの最も近い搭載点Ｐ４、Ｐ５、Ｐ１を求め、その中で移動距離が一番短い搭載点を検索する。それは、搭載点Ｐ４であるので、２番目の搭載点がＰ４であることを見つけ、部品Ａを吸着するノズルに搭載点Ｐ４を割り当てる。同様な処理を繰り返し、図９（Ｃ）、（Ｄ）に示したように移動距離の短い３番目、４番目の搭載点Ｐ５，Ｐ９を見つけ、部品Ｃ、Ｄを吸着するノズルに搭載点Ｐ５，Ｐ９を割り当てる。そして、このサイクルを繰り返して全ての搭載点に部品が搭載されるように、各サイクルごとに吸着ノズルに搭載点を割り当てている。
【０００７】
また、部品を供給するフィーダのランダムな配列を複数生成し、これらの各配列を個体とし、遺伝的アルゴリズムを用いて次々に個体を生成しながら、各個体の評価を行い、評価の高い個体を最適なフィーダ配置として、部品実装を最適化することも行われている（特許文献３、４）。
【特許文献１】特開２００２―３５３６９７号公報（［００１３］段落から［００１７］段落）
【特許文献２】特開２００１―９４２９５号公報（請求項１）
【特許文献３】特開平１０―２０９６８１号公報
【特許文献４】特開２０００―２６１１９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
図９に示すような搭載の場合、サイクル毎には移動距離が最短となるように割り当てが行われるが、全サイクルのヘッド移動量の合計距離としては必ずしも最適とはならない。つまり、局所最適解の積み重ねとなってしまい、全体最適化とはなっていないと、いう問題があった。
【０００９】
また、総当りで全ての組合せを検索する場合には、最良の解が得られることになるが、そのようなアルゴリズムは、組合せ爆発を起こしてしまう。例えば、４００点の搭載点から４点ずつのグループを作成する場合、その組合せの数は、
【００１０】
【数１】
2005353776.tif 000003
【００１１】
であり、膨大な数の組合せとなってしまい、全組合せを検索し最良解を探索するという方法では、適切な実行時間内に処理が終了しないという問題があった。
【００１２】
従って、本発明は、このような問題点を解決するためになされたもので、部品実装機において装着ヘッドの総移動距離を短くして部品実装を最適化できる部品実装機の部品搭載最適化方法を提供することを課題とする。
【課題を解決するための手段】
【００１３】
本発明は、
複数の吸着ノズルを装着したヘッドを備え、前記吸着ノズルで部品を吸着して回路基板上に搭載する部品実装機の部品搭載最適化方法であって、
搭載部品の吸着ノズルへの割り当てを吸着ノズル数ごとに搭載パターンとして生成して搭載パターングループを形成し、
部品の全搭載点のランダム配列を作成して搭載点を該ランダム配列に従って前記搭載パターングループに順次割り当て、
前記搭載パターングループに割り当てられた搭載点の配列を吸着ノズル数ずつのグループに分割し、
各グループのヘッド移動距離の総和から前記ランダム配列を評価し、
最適な評価を得たランダム配列に基づき各吸着ノズルへの搭載点の割り当てを行って部品搭載を最適化することを特徴とする。
【発明の効果】
【００１４】
本発明では、全搭載点のランダム配列を種々作成して、搭載点を搭載パターンに割り当てるようにしているので、種々の搭載点割り当ての組み合わせを評価することができ、部品搭載時のヘッドの移動距離の総和が最小となる搭載順序を求めることが可能となる。また、全搭載点のランダム配列を遺伝的アルゴリズムを用いて生成する場合には、探索領域を限定でき、よい解に早く到達することができる。
【発明を実施するための最良の形態】
【００１５】
本発明は、特に複数の吸着ノズルで部品を同時又は順次吸着して部品を回路基板に搭載する部品実装機において部品の搭載順を最適化するもので、以下図面に示す実施例に基づいて本発明を詳細に説明する。
【実施例】
【００１６】
図１には、電子部品実装装置３０がホストコンピュータ（制御装置）２６によって制御され、基板を生産する構成が図示されている。部品実装装置３０のフィーダバンク２３には、複数のフィーダ２３ａが取り付けられる。各フィーダは、矢印の方向に搬送路２４に沿って搬送される基板２０，２５に搭載するための各種電子部品を収納し、部品実装機３０の吸着ヘッドがこれらのフィーダから部品を吸着して基板２０、２５の所定個所に実装し、基板を生産する。通常、基板の生産は、複数台の実装装置により分担して生産されるので、他の電子部品実装装置３０’が仮想線で図１に示されている。
【００１７】
図２には、部品実装装置３０の詳細な構成が図示されており、ラインに設置される他の部品実装装置も同様な構成となっている。部品実装装置３０は、全体の部品実装を制御するＣＰＵ３１ａ、各種制御プログラムやデータを格納したＲＯＭ３１ｃ、制御データ、処理データを格納し作業領域を提供するＲＡＭ３１ｂから構成される制御部（制御手段）３１を有している。また、部品実装装置３０には、ホストコンピュータ２６との間でデータ送受信が可能なデータ送受信部３６が設けられており、ホストコンピュータ２６から送信されてくる生産プログラムは、このデータ送受信部３６を介して受信され、データ記憶部３５に格納される。制御部３１は、ホストコンピュータ２６から送信される生産プログラムのデータ並びにデータ入力部３７を介して入力されるデータに従って、吸着ヘッドをＸ、Ｙ方向に移動させるＸ／Ｙ駆動部３２と吸着ノズルをＺ軸方向（高さ方向）並びに吸着軸（θ）を中心に回転させる他の駆動部３３を制御する。
【００１８】
図３に示したように、吸着ヘッド４０は、複数の吸着ノズル４０ａ〜４０ｅを備えており、Ｘ／Ｙ駆動部３２により駆動されて、フィーダ２３ａに移動し、そこでフィーダから供給される部品４１ａ〜４１ｄを複数の吸着ノズルにより同時にあるいは順次に吸着する。吸着された各部品は、カメラ３４ａを備えた画像認識部３４で吸着姿勢が認識され、部品中心位置と吸着位置間の位置ずれ、並びに吸着角度ずれが補正された後、搬送路２４に沿って搬送される基板２０、２５の所定個所に実装され、基板が生産される。
【００１９】
この基板生産は、生産プログラムに従って、部品吸着から次の部品吸着までの動作を１搭載サイクルとするサイクルを繰り返して実行される。またデータ記憶部３５に記録されている部品データには、基板に関するデータ、搭載位置（搭載点）に関するデータ、部品に関するデータ（例えば縦横高さの寸法）、吸着位置に関するデータ、部品の搭載精度に関するデータ、画像認識用の情報、それに、部品搭載に必要な他のデータが各部品ごとに記録されている。
【００２０】
このような構成で、部品の搭載順の最適化を行う場合、搭載点の全ての組合せを検索し、その最良の解を求めることは、上述したように、組み合わせが膨大な数になり、適切な実行時間内に処理が終了しないという問題があるので、本発明では、搭載点のグループ化を行い、遺伝的アルゴリズムを使用して近似解を得て実用的な実行時間内で全部品の搭載順序を最適化するようにしている。
【００２１】
全体の処理の流れとしては、現状存在している経験的な最適化手法が終了した後に、後処理の中で、遺伝的アルゴリズムを用いて解の改善を行う。以下に、後処理の全体の流れを図４に示すフローチャートに従って説明する。
【００２２】
まず、生産プログラムファイルを読み込み（ステップＳ１）、現状の経験的な最適化手法の結果から、どのような搭載パターンが存在しているかを解析する（ステップＳ２）。搭載パターンとは、所定の最適化アルゴリズムに従って作成された搭載順序に従って各部品を吸着ノズルに割り当てて搭載を行ったとき各搭載サイクルごとの吸着ヘッドにおける部品配列パターン（部品割り当てパターン）である。例えば、４つの吸着ノズルを吸着ヘッドに搭載した部品実装機において、４部品Ａ、Ｂ、Ｃ、Ｄの搭載点がそれぞれ１００点ずつ存在する場合に、各部品Ａ、Ｂ、Ｃ、Ｄを何サイクルでどの部品から搭載するかの順序に従って各部品を吸着ノズルに割り当てる場合、図５に示したような搭載パターンが得られる。例えば、部品Ａを２５サイクルで搭載して、次に部品Ｂを２５サイクルで搭載し、次に部品Ｃを２５サイクルで搭載し、続いて部品Ｄを２５サイクルで搭載する場合には、｛ＡＡＡＡ｝、｛ＢＢＢＢ｝、｛ＣＣＣＣ｝、｛ＤＤＤＤ｝の４搭載パターンからなる搭載パターングループ（搭載パターン群）が得られ、部品Ａ、Ｂをそれぞれ５０サイクルで搭載した後、部品Ｃ、Ｄを５０サイクルで搭載するには、｛ＡＡＢＢ｝、｛ＣＣＤＤ｝の２搭載パターンからなる搭載パターングループが得られ、部品Ａ、Ｂ、Ｃ、Ｄを１００サイクルで搭載する場合には、｛ＡＢＣＤ｝の１搭載パターンからなる搭載パターングループが得られる。
【００２３】
このように所定の最適化アルゴリズムにより搭載パターンを作成しそれをテーブルとして記憶して（ステップＳ３）、それをグループ化する（ステップＳ４）。グループ化は、全搭載サイクルあるいは所定数の搭載サイクルでの各搭載パターンを所定の順序で配列することであり、搭載パターングループは、全搭載サイクルあるいは所定数の搭載サイクルでの各搭載パターンの配列を意味する。
【００２４】
以上のように、搭載パターングループを作成したら、部品の搭載点を各搭載パターングループに順次割り当て、その割り当てを吸着ノズル数ずつのグループに分けて、ヘッド移動距離の評価を行い、遺伝的アルゴリズムを用いて搭載点割り当ての様々な組み合わせを作成して解の改善を行う（ステップＳ５〜Ｓ７）。ここでグループ毎に遺伝的アルゴリズムで評価処理を行なう理由としては、遺伝的アルゴリズムに与える探索領域を限定することにより、良い解に早く到達する可能性が高くなるためである。そして、最適な解が得られたら、搭載順序を生産プログラムに書き込む（ステップＳ８）。
【００２５】
ここで、ステップＳ５〜Ｓ７で行われる遺伝的アルゴリズムによる処理の流れを、図６から図８を用いて説明する。
【００２６】
本発明では、搭載点の吸着ノズルへのランダムな割り当てを遺伝子コード（個体）として表現し、図６に示したように、個体に対して遺伝的アルゴリズムによって世代交代操作を行い、解の改善を試みる。まず、種々の個体をもつ初期集団を生成し（ステップＳ１０）、その集団からある基準に従って次世代に残す個体を選択する（ステップＳ１１）。この選択には、ルーレット選択、トーナメント選択、ランク方式等が考えらる。続いて、選択された個体同士を、１点交叉、２点交叉、一様交叉等で交叉し、次世代の子を生成する（ステップＳ１２）。このとき、個体を突然変異させ（ステップＳ１３）、ある個体の遺伝子座をランダムに変更し、局所解に陥るのを防ぐ。以上のような処理を世代が終了するまで繰り返す（ステップＳ１４）。
【００２７】
基板の部品搭載点をヘッドの吸着ノズルに割り当てていく作業は、全搭載点をヘッドの吸着ノズル数ずつのグループに分割していくことであり、例えば、４００点の搭載点にヘッド当たり４つの吸着ノズルで搭載していく場合には、全部で１００グループを作成することとなり、搭載サイクル数は、グループ数と同じ１００となる。よって、遺伝子へのコーディング方法としては、コード自体が１００グループを表現し、かつ各搭載点がどの吸着ノズルに対応しているのかを表現できるようにする必要がある。
【００２８】
遺伝子へのコーディング方法は次のように行う。まず、搭載点のランダムな配列を作成してその配列に対して一意な番号付けを行い、遺伝子コードとしてはその搭載点の番号を格納する。この搭載点番号を格納したシーケンスの順列が、様々な搭載順序を表現する。この遺伝子コードの搭載順序への解釈は次のように行う。
【００２９】
まず、遺伝子コードを格納したシーケンス（ランダム配列）を先頭から参照し、出現順序に従って、前述した搭載パターングループの搭載点へ割り当てていく。搭載パターングループの全ての搭載点に遺伝子コードが格納された時点で、遺伝子コードの解釈は終了である。
【００３０】
遺伝子の評価方法であるが、搭載パターングループに割り当てられた搭載点が形成する各搭載サイクルの移動距離を評価し、各サイクルの移動距離の総和をその遺伝子の評価値とする。当然遺伝的アルゴリズムは評価値を最小とする様処理が行われる。以下に、総搭載点数が１２点で、ヘッドの吸着ノズル数が４個で、同一部品Ａが前記１２の搭載点に搭載される例を説明する。
【００３１】
同一の部品Ａがヘッドの４つの吸着ノズルに割り当てられるので、搭載パターンは、いずれも｛ＡＡＡＡ｝となり、搭載パターングループは｛ＡＡＡＡ｝｛ＡＡＡＡ｝｛ＡＡＡＡ｝となる。いま、遺伝子コードを、図７（Ａ）の上段に示したような配列であるとし、この遺伝子コード（個体Ｎ１）を、出現順序に従って搭載パターングループに順次割り当てると、各部品がどの搭載点に搭載されるかの対応付けが行われる。この搭載点の配列を、吸着ノズル数（４個）ずつのグループに分割すると、図７（Ｂ）に示したような３つの搭載グループ｛１，３，１０，１２｝、｛７，８，１１，９｝，及び｛４，６，２，５｝が得られ、３つの搭載サイクルが存在することになる。そこで、各搭載グループ（搭載サイクル）の移動距離を評価し、各グループの移動距離の総和をその遺伝子の評価値、つまり搭載点のランダム配列の評価値とする。
【００３２】
本発明では、一つの遺伝子コードだけでなく、図６に示した遺伝的アルゴリズムにより他の遺伝子コード（個体Ｎ２、Ｎ３、．．．．．）を生成することにより各遺伝子コードの評価を行う。他の遺伝子コードとしては、全搭載点の他のランダム配列を用いる。図７（Ｃ）には、他の遺伝子コード（個体Ｎ２）による部品搭載を行う例が図示されている。
【００３３】
このように、遺伝的アルゴリズムにより種々の遺伝子コードを生成して、各遺伝子コードの評価を行い、最適な評価（評価値が小さい）を得た遺伝子コードに基づき各吸着ノズルへの搭載点の割り当てを行って部品搭載を最適化させる。
【００３４】
なお、搭載グループ毎の移動距離の評価であるが、これはヘッドの間隔を考慮し、与えられた搭載点を搭載する順序の内で、ヘッドの移動距離が最小となるような搭載順序を求め、これを評価値とするように行う。搭載点のグループ化を行った状態において、各搭載点をどのノズルへ割り当てるかも確定している為、各搭載点を巡回する全ての組合せを評価し、その最短経路を選択する。その流れが図８に図示されている。
【００３５】
図８のステップＳ２０において、グループでの移動距離、即ち１搭載サイクルでの移動距離を初期化して、ステップＳ２１からＳ２４のループで４つの搭載点の一つの組み合わせに対して移動距離の総和を求め、ステップＳ２５〜Ｓ２７で最小距離であるときにはそれを記録し、これを４つの搭載点の全組合せ４！＝２４通り行い（ステップＳ２８、Ｓ２９）、最小の移動距離であった搭載点の配列を記録し、遺伝子コードとして選択するようにする。この遺伝子コード配列を、図６の遺伝的アルゴリズムで個体を生成するとき、取り入れるようにすると、より評価の高い遺伝子コードを早く生成することが可能となる。
【００３６】
また、搭載パターンが複数の部品を含むような場合、先頭の遺伝子コードから出現順序に従って割り当てる方法では、異なる部品に搭載点を割り当ててしまうことになり、これは致死遺伝子となってしまう。そのため、複数部品を含む搭載パターンの解釈時には、遺伝子コードの出現順序に従って、その搭載点を最初に割り当て可能なパターンを探索して割り当て、部品データが一致している場合のみ割り当てを行うものとする。
【図面の簡単な説明】
【００３７】
【図１】部品実装機の概略構成を示した平面図である。
【図２】部品実装機の制御構成を示したブロック図である。
【図３】複数の吸着ノズルを備えた吸着ヘッドの構成を示した構成図である。
【図４】搭載順序を最適化させる全体の流れを示したフローチャートである。
【図５】種々の搭載パターンを示した説明図である。
【図６】遺伝的アルゴリズムの基本的な処理の流れを示したフローチャートである。
【図７】（Ａ）は種々の遺伝子コーディングを示した表図、（Ｂ）、（Ｃ）は遺伝子コーディングの評価方法を示した説明図である。
【図８】移動距離の評価の流れを示したフローチャートである。
【図９】（Ａ）〜（Ｄ）は従来の搭載点の割り当てを説明する説明図である。
【符号の説明】
【００３８】
２０、２５  基板
２６  ホストコンピュータ
３０  電子部品実装装置
４０  吸着ヘッド
４０ａ〜４０ｄ  吸着ノズル
【図１】
2005353776.tif 000004
【図２】
2005353776.tif 000005
【図３】
2005353776.tif 000006
【図４】
2005353776.tif 000007
【図５】
2005353776.tif 000008
【図６】
2005353776.tif 000009
【図７】
2005353776.tif 000010
【図８】
2005353776.tif 000011
【図９】
2005353776.tif 000012