(57)【要約】      （修正有）【課題】回路基板と、この回路基板に対して一方向に配置されたパレットと、に複数の装着ヘッドが同時にアクセスする際に、複数の装着ヘッドが干渉しないようにする技術を提供する。【解決手段】制御部１４０は、複数の装着ヘッドを有する部品装着部１５０が、パレット１６０から同時に部品を吸着し、回路基板に同時に部品を装着する際に、複数の装着ヘッドが動作する領域の重複が最小となるように、パレット１６０から同時に複数の装着ヘッドが吸着する部品のグループのペアを特定して、特定したペアのグループに含まれる部品を、各々の装着ヘッドで吸着して、回路基板に装着するようにする。【選択図】図２
2010074063.tif 000002
【特許請求の範囲】
【請求項１】
複数の装着ヘッドが、パレットから同時に部品を吸着し、当該パレットに対して一方向に配置された回路基板に同時に部品を装着することのできる部品装着装置であって、
前記複数の装着ヘッドが、前記パレットから部品を吸着して前記回路基板に部品を装着する一動作において、前記複数の装着ヘッドが動作する領域の重複が最小となるように、前記パレットから同時に複数の装着ヘッドが吸着する部品のグループのペアを特定する処理と、
前記ペアとなったグループの各々に含まれる部品を、各々の装着ヘッドが同時に吸着し、吸着した部品を同時に回路基板に装着する処理と、を行う制御部を備えること、
を特徴とする部品装着装置。
【請求項２】
請求項１に記載の部品装着装置であって、
前記制御部は、
予め定められた座標に近い位置から吸着される部品、及び、予め定められた座標に近い位置に装着される部品、により前記グループを生成し、前記グループの組合せの中より、前記パレットから部品を吸着して前記回路基板に部品を装着する一動作において、前記複数の装着ヘッドが動作する領域の重複が最小となるペアを特定すること、
を特徴とする部品装着装置。
【請求項３】
請求項２に記載の部品装着装置であって、
前記制御部は、
前記グループが重複しないで生成可能な最大数の組合せの中より、前記パレットから前記複数の装着ヘッドが同時に部品を吸着する際の装着ヘッド同士の干渉量と、前記回路基板に前記複数の装着ヘッドが同時に部品を装着する際の装着ヘッド同士の干渉量と、の和が最小となるように、前記ペアを特定すること、
を特徴とする部品装着装置。
【請求項４】
請求項３に記載の部品装着装置であって、
前記制御部は、
前記グループに含まれる部品の吸着位置における最小値及び最大値と、前記グループと組み合わされる前記グループに含まれる吸着位置における最小値及び最大値と、の重複部分の座標範囲を、前記パレットから前記複数の装着ヘッドが同時に部品を吸着する際の装着ヘッド同士の干渉量とし、
前記グループに含まれる部品の装着位置におけるｘ座標の最小値及び最大値と、前記グループと組み合わされる前記グループに含まれる装着位置におけるｘ座標の最小値及び最大値と、の重複部分、および、前記グループに含まれる部品の装着位置におけるｙ座標の最小値及び最大値と、前記グループと組み合わされる前記グループに含まれる装着位置におけるｙ座標の最小値及び最大値と、の重複部分、の座標範囲の加算値を、前記回路基板に前記複数の装着ヘッドが同時に部品を装着する際の装着ヘッド同士の干渉量とすること、
を特徴とする部品装着装置。
【請求項５】
請求項２に記載の部品装着装置であって、
前記制御部は、
前記パレットを、前記複数の装着ヘッドが干渉しない最小幅以上で、前記パレットの幅以下の予め定められた幅のブロックに分割し、分割したブロックの中から前記グループを生成すること、
を特徴とする部品装着装置。
【請求項６】
複数の装着ヘッドが、パレットから同時に部品を吸着し、当該パレットに対して一方向に配置された回路基板に同時に部品を装着する際の、各々の装着ヘッドが部品を吸着し装着する順番を特定する部品装着設定情報を生成する部品装着設定算出装置であって、
前記パレットから部品を吸着して前記回路基板に部品を装着する一動作において、前記複数の装着ヘッドが動作する領域の重複が最小となるように、前記パレットから同時に複数の装着ヘッドが吸着する部品のグループのペアを特定する処理と、
前記ペアとなったグループの各々に含まれる部品を、各々の装着ヘッドが同時に吸着し、吸着した部品を同時に回路基板に装着するよう、前記部品装着設定情報を生成する処理と、を行う制御部を備えること、
を特徴とする部品装着設定算出装置。
【請求項７】
請求項６に記載の部品装着設定算出装置であって、
前記制御部は、
予め定められた座標に近い位置から吸着される部品、及び、予め定められた座標に近い位置に装着される部品、により前記グループを生成し、前記グループの組合せの中より、前記パレットから部品を吸着して前記回路基板に部品を装着する一動作において、前記複数の装着ヘッドが動作する領域の重複が最小となるペアを特定すること、
を特徴とする部品装着設定算出装置。
【請求項８】
請求項７に記載の部品装着設定算出装置であって、
前記制御部は、
前記グループが重複しないで生成可能な最大数の組合せの中より、前記パレットから前記複数の装着ヘッドが同時に部品を吸着する際の装着ヘッド同士の干渉量と、前記回路基板に前記複数の装着ヘッドが同時に部品を装着する際の装着ヘッド同士の干渉量と、の和が最小となるように、前記ペアを特定すること、
を特徴とする部品装着設定算出装置。
【請求項９】
請求項８に記載の部品装着設定算出装置であって、
前記制御部は、
前記グループに含まれる部品の吸着位置における最小値及び最大値と、前記グループと組み合わされる前記グループに含まれる吸着位置における最小値及び最大値と、の重複部分の座標範囲を、前記パレットから前記複数の装着ヘッドが同時に部品を吸着する際の装着ヘッド同士の干渉量とし、
前記グループに含まれる部品の装着位置におけるｘ座標における最小値及び最大値と、前記グループと組み合わされる前記グループに含まれる装着位置におけるｘ座標における最小値及び最大値と、の重複部分、および、前記グループに含まれる部品の装着位置におけるｙ座標における最小値及び最大値と、前記グループと組み合わされる前記グループに含まれる装着位置におけるｙ座標における最小値及び最大値と、の重複部分、の座標範囲の加算値を、前記回路基板に前記複数の装着ヘッドが同時に部品を装着する際の装着ヘッド同士の干渉量とすること、
を特徴とする部品装着設定算出装置。
【請求項１０】
請求項７に記載の部品装着設定算出装置であって、
前記制御部は、
前記パレットを、前記複数の装着ヘッドが干渉しない最小幅以上で、前記パレットの幅以下の予め定められた幅のブロックに分割し、分割したブロックの中から前記グループを生成すること、
を特徴とする部品装着設定算出装置。
【請求項１１】
コンピュータを、
複数の装着ヘッドが、パレットから同時に部品を吸着し、当該パレットに対して一方向に配置された回路基板に同時に部品を装着する際の、各々の装着ヘッドが部品を吸着し装着する順番を特定する部品装着設定情報を生成する部品装着設定算出装置として機能させるプログラムであって、
前記コンピュータを、
前記パレットから部品を吸着して前記回路基板に部品を装着する一動作において、前記複数の装着ヘッドが動作する領域の重複が最小となるように、前記パレットから同時に複数の装着ヘッドが吸着する部品のグループのペアを特定する処理と、
前記ペアとなったグループの各々に含まれる部品を、各々の装着ヘッドが同時に吸着し、吸着した部品を同時に回路基板に装着するよう、前記部品装着設定情報を生成する処理と、を行う制御手段として機能させること、
を特徴とするプログラム。
【請求項１２】
請求項１１に記載のプログラムであって、
前記制御手段に、
予め定められた座標に近い位置から吸着される部品、及び、予め定められた座標に近い位置に装着される部品、により前記グループを生成し、前記グループの組合せの中より、前記パレットから部品を吸着して前記回路基板に部品を装着する一動作において、前記複数の装着ヘッドが動作する領域の重複が最小となるペアを特定する処理を行わせること、
を特徴とするプログラム。
【請求項１３】
請求項１２に記載のプログラムであって、
前記制御手段に、
前記グループが重複しないで生成可能な最大数の組合せの中より、前記パレットから前記複数の装着ヘッドが同時に部品を吸着する際の装着ヘッド同士の干渉量と、前記回路基板に前記複数の装着ヘッドが同時に部品を装着する際の装着ヘッド同士の干渉量と、の和が最小となるように、前記ペアを特定する処理を行わせること、
を特徴とするプログラム。
【請求項１４】
請求項１３に記載のプログラムであって、
前記制御手段に、
前記グループに含まれる部品の吸着位置における最小値及び最大値と、前記グループと組み合わされる前記グループに含まれる吸着位置における最小値及び最大値と、の重複部分の座標範囲を、前記パレットから前記複数の装着ヘッドが同時に部品を吸着する際の装着ヘッド同士の干渉量とし、
前記グループに含まれる部品の装着位置におけるｘ座標における最小値及び最大値と、前記グループと組み合わされる前記グループに含まれる装着位置におけるｘ座標における最小値及び最大値と、の重複部分、および、前記グループに含まれる部品の装着位置におけるｙ座標における最小値及び最大値と、前記グループと組み合わされる前記グループに含まれる装着位置におけるｙ座標における最小値及び最大値と、の重複部分、の座標範囲の加算値を、前記回路基板に前記複数の装着ヘッドが同時に部品を装着する際の装着ヘッド同士の干渉量とする処理を行わせること、
を特徴とするプログラム。
【請求項１５】
請求項１１に記載のプログラムであって、
前記制御手段に、
前記パレットを、前記複数の装着ヘッドが干渉しない最小幅以上で、前記パレットの幅以下の予め定められた幅のブロックに分割し、分割したブロックの中から前記グループを生成させること、
を特徴とするプログラム。
【請求項１６】
複数の装着ヘッドがパレットから同時に部品を吸着し、当該パレットに対して一方向に配置された回路基板に同時に部品を装着する際の、各々の装着ヘッドが部品を吸着し装着する順番を特定する部品装着設定情報を生成する部品装着設定算出装置が行う部品装着設定算出方法であって、
前記部品装着設定算出装置の制御部が、前記パレットから部品を吸着して前記回路基板に部品を装着する一動作において、前記複数の装着ヘッドが動作する領域の重複が最小となるように、前記パレットから同時に複数の装着ヘッドが吸着する部品のグループのペアを特定する処理を行う過程と、
前記ペアとなったグループの各々に含まれる部品を、各々の装着ヘッドが同時に吸着し、吸着した部品を同時に回路基板に装着するよう、前記部品装着設定情報を生成する処理を行う過程と、を備えること、
を特徴とする部品装着設定算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の装着ヘッドが、パレットから部品を吸着し、当該パレットに対して一方向に配置された回路基板に部品を装着する技術に関する。
【背景技術】
【０００２】
部品吸着位置と部品装着位置との間を移動する装着ヘッドにより、部品供給ユニットが部品供給位置（部品吸着位置）に配置した部品を吸着して搬送し、部品装着位置において回路基板に装着する部品装着装置では、回路基板に装着する部品を格納した部品供給ユニットの部品供給台（以下、パレット）における搭載位置、装着ヘッドによる部品の吸着順序、および、装着順序、といった部品装着設定を事前に作成しておく必要がある。
【０００３】
例えば、非特許文献１には、装着ヘッドを１つだけ備える部品装着装置のように、回路基板と、この回路基板に対して一方向に配置されたパレットと、に複数の装着ヘッドが同時にアクセスすることのない部品装着装置における部品装着設定を算出する技術が記載されている。
【０００４】
【非特許文献１】山田剛史、宮代隆平、中森眞理雄、基板生産時における部品装着機の部品配置問題および部品吸着順序問題のモデル化と解法、情報処理学会  研究報告2005-MPS-55(3)、pp.9-12、2005/6/28
【発明の開示】
【発明が解決しようとする課題】
【０００５】
非特許文献１に記載された技術は、装着ヘッドを１つだけ備える部品装着装置のように、回路基板と、この回路基板に対して一方向に配置されたパレットと、に複数の装着ヘッドが同時にアクセスすることのない部品装着装置における部品装着設定を算出するものであり、回路基板と、この回路基板に対して一方向に配置されたパレットと、に複数の装着ヘッドが同時にアクセスする部品装着装置では、非特許文献１に記載された技術を用いて算出した部品装着設定を用いると、装着ヘッドが衝突してしまい、適切な部品装着を行うことができない。
【０００６】
そこで、本発明は、回路基板と、この回路基板に対して一方向に配置されたパレットと、に複数の装着ヘッドが同時にアクセスする際に、複数の装着ヘッドが干渉しないようにする技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
以上の課題を解決するため、本発明は、複数の装着ヘッドが、パレットから部品を吸着する際、および、回路基板に部品を装着する際、に装着ヘッド同士が干渉しないようにする。
【０００８】
例えば、本発明は、複数の装着ヘッドが、パレットから同時に部品を吸着し、当該パレットに対して一方向に配置された回路基板に同時に部品を装着することのできる部品装着装置であって、前記複数の装着ヘッドが、前記パレットから部品を吸着して前記回路基板に部品を装着する一動作において、前記複数の装着ヘッドが動作する領域の重複が最小となるように、前記パレットから同時に複数の装着ヘッドが吸着する部品のグループのペアを特定する処理と、前記ペアとなったグループの各々に含まれる部品を、各々の装着ヘッドが同時に吸着し、吸着した部品を同時に回路基板に装着する処理と、を行う制御部を備えること、を特徴とする。
【発明の効果】
【０００９】
以上のように、本発明によれば、回路基板と、この回路基板に対して一方向に配置されたパレットと、に複数の装着ヘッドが同時にアクセスする際に、複数の装着ヘッドが干渉しないようにすることができる。
【発明を実施するための最良の形態】
【００１０】
図１は、本発明の一実施形態である部品装着システム１００の概略図である。図示するように、部品装着システム１００は、部品装着装置１１０と、データベースサーバ１８０と、を備え、部品装着装置１１０及びデータベースサーバ１８０は、ネットワークを介して、相互に情報を送受信することができるようにされている。
【００１１】
図２は、部品装着装置１１０の概略図である。図示するように、部品装着装置１１０は、記憶部１２０と、制御部１４０と、部品装着部１５０と、パレット１６０と、入力部１７０と、出力部１７１と、通信部１７２と、を備える。
【００１２】
記憶部１２０は、部品装着装置情報記憶領域１２１と、実装回路基板情報記憶領域１２２と、実装部品情報記憶領域１２３と、部品装着設定情報記憶領域１２４と、を備える。
【００１３】
部品装着装置情報記憶領域１２１には、部品装着装置１１０の構成を特定する部品装着装置情報が記憶される。例えば、本実施形態においては、図３（部品装着装置情報テーブル１２１ａの概略図）に示すような部品装着装置情報テーブル１２１ａが記憶される。
【００１４】
図示するように、部品装着装置情報テーブル１２１ａは、項目欄１２１ｂと、値欄１２１ｃと、を有する。
【００１５】
項目欄１２１ｂには、部品装着装置１１０を構成する項目を特定する情報が格納される。特に、本実施形態においては、部品を供給する部品供給ユニットを積載することのできる幅（数）を特定する「パレット幅」、および、装着ヘッド同士が接近可能な距離の最小値を特定する「ヘッド最小接近距離」、が項目として含まれる。
【００１６】
値欄１２１ｃには、項目値欄１２１ｂで特定される項目に対応する値を特定する情報が格納される。
【００１７】
図２に戻り、実装回路基板情報記憶領域１２２には、部品装着装置１１０で回路基板に装着する部品と、当該部品の装着位置及び角度と、を特定する実装回路基板情報が格納される。例えば、本実施形態においては、図４（実装回路基板情報テーブル１２２ａの概略図）に示すような実装回路基板情報テーブル１２２ａが記憶される。
【００１８】
図示するように、実装回路基板情報テーブル１２２ａは、装着座標及び角度欄１２２ｂと、部品種類欄１２２ｆと、を有する。
【００１９】
装着座標及び角度欄１２２ｂには、部品毎に、当該部品を回路基板に装着する位置及び角度を特定する情報が格納される。
【００２０】
例えば、本実施形態においては、装着座標及び角度欄１２２ｂは、ｘ欄１２２ｃと、ｙ欄１２２ｄと、θ欄１２２ｅと、を備える。そして、ｘ欄１２２ｃには、予め定められたｘ−ｙ座標において、後述する部品種類欄１２２ｆで特定される部品を装着する回路基板におけるｘ座標の値を特定する情報が格納され、ｙ欄１２２ｄには、予め定められたｘ−ｙ座標において、後述する部品種類欄１２２ｆで特定される部品を装着する回路基板におけるｙ座標の値を特定する情報が格納される。
【００２１】
また、θ欄１２２ｅには、後述する部品種類欄１２２ｆで特定される部品を装着する角度を特定する情報が格納される。例えば、この角度については、予め定められたｘ−ｙ座標におけるｘ軸の方向を０°としておき、反時計回りを正の角として特定するようにしているが、このような態様に限定されるわけではない。
【００２２】
部品種類欄１２２ｆには、部品装着装置１１０で回路基板に装着する部品の種類を特定する情報が格納される。ここで、本実施形態では、部品の種類を特定する情報として、部品名が格納される。
【００２３】
図２に戻り、実装部品情報記憶領域１２３には、部品装着装置１１０で回路基板に装着する部品の構成を特定する実装部品情報が記憶される。例えば、本実施形態においては、図５（実装部品情報テーブル１２３ａの概略図）に示すような実装部品情報テーブル１２３ａが記憶される。
【００２４】
図示するように、実装部品情報テーブル１２３ａは、部品種類名欄１２３ｂと、部品サイズ欄１２３ｃと、重量欄１２３ｇと、部品供給ユニット幅欄１２３ｈと、を有する。
【００２５】
部品種類名欄１２３ｂには、部品の種類を特定する情報が格納される。ここで、本実施形態では、部品の種類を特定する情報として、部品名が格納される。
【００２６】
部品サイズ欄１２３ｃには、部品種類名欄１２３ｂで特定される部品のサイズを特定する情報が格納される。
【００２７】
例えば、本実施形態においては、部品サイズ欄１２３ｃは、ｘ欄１２３ｄと、ｙ欄１２３ｅと、ｈ欄１２３ｆと、を備え、部品種類名欄１２３ｂで特定される部品の幅、奥行き、高さ、がそれぞれ格納される。
【００２８】
重量欄１２３ｇには、部品種類名欄１２３ｂで特定される部品の重量を特定する情報が格納される。
【００２９】
部品供給ユニット幅欄１２３ｈには、部品種類名欄１２３ｂで特定される部品を搭載する部品供給ユニットの幅を特定する情報が格納される。
【００３０】
図２に戻り、部品装着設定情報記憶領域１２４には、部品供給ユニットを搭載する位置を特定する情報と、部品供給ユニットから部品を吸着する装着ヘッド、並びに、吸着及び装着順序、を特定する情報と、を有する部品装着設定情報が格納される。
【００３１】
例えば、本実施形態においては、図６（部品装着設定情報テーブル１２４ａの概略図）に示すような部品装着設定情報テーブル１２４ａが記憶される。
【００３２】
図示するように、部品装着設定情報テーブル１２４ａは、部品供給ユニット配置セクション１２４ｂと、部品装着順序セクション１２４ｅと、を備える。
【００３３】
部品供給ユニット配置セクション１２４ｂには、部品供給ユニットを搭載する位置を特定する情報が格納される。例えば、部品供給ユニット配置セクション１２４ｂは、搭載位置欄１２４ｃと、部品種類欄１２４ｄと、を有する。
【００３４】
搭載位置欄１２４ｃには、後述する部品種類欄１２４ｄで特定される部品を搭載する部品供給ユニットを搭載する位置を特定する情報が格納される。例えば、本実施形態においては、部品供給ユニットを搭載するパレットの位置に、予め定められた識別情報（例えば、パレットの一方の端から順に連番で付された位置番号等）を割り振り、当該識別情報を各々の部品毎に格納する。
【００３５】
部品種類欄１２４ｄには、回路基板に装着する部品の種類を特定する情報が格納される。ここで、本実施形態では、部品の種類を特定する情報として、部品名が格納される。
【００３６】
部品装着順序セクション１１９ｄには、部品供給ユニットから部品を吸着する装着ヘッド、並びに、吸着及び装着順序、を特定する情報が格納される。
【００３７】
例えば、本実施形態においては、装着座標及び角度欄１２４ｆと、部品供給ユニット位置欄１２４ｊと、装着ヘッド番号欄１２４ｋと、吸着／装着順序欄１２４ｌと、を備える。
【００３８】
装着座標及び角度欄１２４ｆには、後述する部品供給ユニット位置欄１２４ｊで特定される位置に配置される部品供給ユニットに搭載される部品を装着する回路基板上の位置及び角度を特定する情報が格納される。
【００３９】
例えば、本実施形態においては、装着座標及び角度欄１２４ｆは、ｘ欄１２４ｇと、ｙ欄１２４ｈと、θ欄１２４ｉと、を備え、それぞれ、部品を装着する回路基板におけるｘ座標の値、ｙ座標の値、および、部品を装着する角度、を特定する情報が格納される。
【００４０】
部品供給ユニット位置欄１２４ｊには、装着座標及び角度欄１２４ｆで特定される基板の位置及び角度に装着する部品を搭載する部品供給ユニットが載せられるパレットにおける位置を特定する情報が格納される。ここで、本実施形態においては、部品供給ユニット配置セクション１２４ｂにおける搭載位置欄１２４ｃに対応する値が格納される。
【００４１】
装着ヘッド番号欄１２４ｋには、部品供給ユニット位置欄１２４ｊで特定される位置に積載される部品供給ユニットが搭載する部品を吸着する装着ヘッドを識別する情報が格納される。例えば、本実施形態においては、部品装着装置１１０が有する装着ヘッドの各々に識別番号を割り振っておき、割り振った識別番号が本欄に格納される。
【００４２】
吸着／装着順序欄１２４ｌには、部品供給ユニット位置欄１２４ｊで特定される位置に積載される部品供給ユニットが搭載する部品を装着ヘッドが吸着し、回路基板に装着する順番を特定する情報が格納される。
【００４３】
図２に戻り、制御部１４０は、全体制御部１４１と、部品装着設定処理部１４２と、ブロック分割部１４３と、配置算出部１４４と、装着グループ算出部１４５と、グループ割当算出部１４６と、を備える。
【００４４】
全体制御部１４１は、記憶部１２０、部品装着部１５０、パレット１６０、入力部１７０、出力部１７１及び通信部１７２での処理の全体を制御する。
【００４５】
部品装着設定処理部１４２は、制御部１４０での処理の全体を制御する。特に、本実施形態においては、入力部１７０を介して実装回路基板を特定する情報の入力を受け付けたり、特定された実装回路基板の実装回路基板情報や実装部品情報を、データベースサーバ１８０より読み込んだり、部品装着設定情報を出力部１７１に出力したり、といった処理を行う。
【００４６】
ブロック分割部１４３は、パレット１６０を仮想的に予め定められたブロックに分割する処理を行う。
【００４７】
配置算出部１４４は、ブロック分割部１４３により仮想的に分割された各ブロックに、部品供給ユニットを配置する処理を行う。
【００４８】
装着グループ算出部１４５は、装着ヘッド毎に、当該装着ヘッドが１往復する際に装着する部品の集合を特定する装着グループを特定する処理を行う。
【００４９】
グループ割当算出部１４６は、装着グループ算出部１４５が算出した装着グループを各装着ヘッドに割り当て、部品装着ユニットの配置、並びに、部品の吸着及び装着順序を特定して部品装着設定情報を生成する処理を行う。ここで、本実施形態においては、グループ割当算出部１４６は、部品の吸着時及び部品の装着時に装着ヘッド同士が衝突しないように（装着ヘッド同士が干渉する量が最も少なくなるように）、部品装着ユニットの配置、並びに、部品の吸着及び装着順序を特定する。
【００５０】
部品装着部１５０は、装着ヘッドと、当該装着ヘッドを移動させるＸＹロボットと、回路基板を載せる回路基板搭載テーブルと、を備える。
【００５１】
ここで、本実施形態においては、図７（部品装着部１５０及びパレット１６０の概略図）に示すように、複数の装着ヘッド１５１Ａ、１５１Ｂが、回路基板１９１に対して、一方向に配置されたパレット１６０から部品を吸着し、回路基板搭載テーブル１５３に載せられている回路基板１９１に吸着した部品を装着するようにしている。
【００５２】
このように、複数の装着ヘッド１５１Ａ、１５１Ｂが、回路基板１９１及びパレットに同時にアクセスするような場合には、装着ヘッド１５１Ａ、１５１Ｂ同士が干渉するときがある。このため、装着ヘッド１５１Ａ、１５１Ｂ同士が干渉するようなときには、図８（装着ヘッド１５１Ｂが退避位置にある場合を説明する概略図）に示すように、何れか一方の装着ヘッド１５１Ａ、１５１Ｂ（ここでは、パレット１６０から遠い方にある装着ヘッド１５１Ｂ）を、装着ヘッド１５１Ａ、１５１Ｂ同士が干渉しない退避位置（ここでは、装着ヘッド１５１Ａが回路基板１９１に対して部品を吸着し、搬送し、装着する際の移動領域から外れた所定の位置）に退避させる必要がある。
【００５３】
なお、本発明では、装着ヘッド１５１Ａ、１５１Ｂが、なるべく退避位置に退避することがなく、効率的に部品の吸着、搬送及び装着を行うことができるように部品装着設定情報を生成する。
【００５４】
パレット１６０は、図７に示すように、部品供給ユニット１６１を積載し、積載した部品供給ユニット１６１を制御して、部品供給ユニット１６１に搭載されている部品を、装着ヘッド１５１Ａ、１５１Ｂの吸着位置に配置する。
【００５５】
入力部１７０は、情報の入力を受け付ける。
【００５６】
出力部１７１は、情報を出力する。
【００５７】
通信部１７２は、ネットワーク１９０を介して、情報を送受信する。
【００５８】
以上に記載した部品装着装置１１０は、例えば、図９（コンピュータ９００の概略図）に示すような、ＣＰＵ（Central Processing Unit）９０１と、メモリ９０２と、ＨＤＤ（Hard Disk Drive）等の外部記憶装置９０３と、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）やＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）等の可搬性を有する記憶媒体９０４に対して情報を読み書きする読書装置９０５と、キーボードやマウスなどの入力装置９０６と、ディスプレイなどの出力装置９０７と、通信ネットワークに接続するためのＮＩＣ（Network Interface Card）等の通信装置９０８と、を備えたコンピュータ９００に、ＸＹロボット、装着ヘッド及び回路基板搭載テーブルを有する部品実装装置（図示せず）、パレット装置（図示せず）を備えることで、実現可能である。
【００５９】
例えば、記憶部１２０は、ＣＰＵ９０１がメモリ９０２又は外部記憶装置９０３を利用することにより実現可能であり、制御部１４０は、外部記憶装置９０３に記憶されている所定のプログラムをメモリ９０２にロードしてＣＰＵ９０１で実行することで実現可能であり、部品装着部１５０は、ＣＰＵ９０１が図示しない部品実装装置を利用することで実現可能であり、パレット１６０は、ＣＰＵ９０１が図示しないパレット装置を利用することで実現可能であり、入力部１７０は、ＣＰＵ９０１が入力装置９０６を利用することで実現可能であり、出力部１７１は、ＣＰＵ９０１が出力装置９０７を利用することで実現可能であり、通信部１７２は、ＣＰＵ９０１が通信装置９０８を利用することで実現可能である。
【００６０】
この所定のプログラムは、読書装置９０５を介して記憶媒体９０４から、あるいは、通信装置９０８を介してネットワークから、外部記憶装置９０３にダウンロードされ、それから、メモリ９０２上にロードされてＣＰＵ９０１により実行されるようにしてもよい。また、読書装置９０５を介して記憶媒体９０４から、あるいは、通信装置９０８を介してネットワークから、メモリ９０２上に直接ロードされ、ＣＰＵ９０１により実行されるようにしてもよい。
【００６１】
図１０は、データベースサーバ１８０の概略図である。
【００６２】
図示するように、データベースサーバ１８０は、記憶部１８１と、制御部１８４と、通信部１８５と、を備える。
【００６３】
記憶部１８１は、回路基板マスタ情報記憶領域１８２と、部品マスタ情報記憶領域１８３と、を備える。
【００６４】
回路基板マスタ情報記憶領域１８２には、部品装着装置１１０で回路基板に装着する部品と、当該部品の装着位置及び角度と、を特定する回路基板マスタ情報が格納される。例えば、本実施形態においては、図４に示すような実装回路基板情報テーブル１２２ａと同様の構成を有するテーブル情報が、回路基板マスタ情報として各々の回路基板毎に記憶される。
【００６５】
部品マスタ情報記憶領域１８３には、部品装着装置１１０で回路基板に装着する部品の構成を特定する部品マスタ情報が記憶される。例えば、本実施形態においては、図５に示すような実装部品情報テーブル１２３ａと同様の構成を有するテーブル情報が、部品マスタ情報として記憶される。
【００６６】
制御部１８４は、記憶部１８１に記憶される情報を管理する。特に、本実施形態においては、部品装着装置１１０からの要求に応じて、回路基板マスタ情報記憶領域に記憶されている回路基板マスタ情報、および、部品マスタ情報記憶領域１８３に記憶されている部品マスタ情報、を部品装着装置１１０に送信する処理を制御する。
【００６７】
通信部１８５は、ネットワーク１９０を介して、情報を送受信する。
【００６８】
以上に記載したデータベースサーバ１８０も、例えば、図９に示すような、コンピュータ９００で実現可能である。
【００６９】
例えば、記憶部１８１は、ＣＰＵ９０１がメモリ９０２又は外部記憶装置９０３を利用することにより実現可能であり、制御部１８４は、外部記憶装置９０３に記憶されている所定のプログラムをメモリ９０２にロードしてＣＰＵ９０１で実行することで実現可能であり、通信部１８５は、ＣＰＵ９０１が通信装置９０８を利用することで実現可能である。
【００７０】
この所定のプログラムは、読書装置９０５を介して記憶媒体９０４から、あるいは、通信装置９０８を介してネットワークから、外部記憶装置９０３にダウンロードされ、それから、メモリ９０２上にロードされてＣＰＵ９０１により実行されるようにしてもよい。また、読書装置９０５を介して記憶媒体９０４から、あるいは、通信装置９０８を介してネットワークから、メモリ９０２上に直接ロードされ、ＣＰＵ９０１により実行されるようにしてもよい。
【００７１】
図１１は、部品装着装置１１０が、部品装着設定情報を生成する処理を示すＰＡＤ（Problem Analysis Diagram）図である。
【００７２】
なお、ＰＡＤについては、二村良彦著、「情報工学基礎講座４  プログラム技法  ＰＡＤによる構造化プログラミング」、オーム社、１９８４年に詳細に記載されている。
【００７３】
まず、部品装着設定処理部１４２は、入力部１７０を介して、部品装着装置１１０の利用者より、部品装着装置１１０で部品の装着を行う回路基板の種類を特定する情報（例えば、回路基板ＩＤ）の入力を受け付ける（Ｓ１０）。
【００７４】
次に、部品装着設定処理部１４２は、入力された回路基板ＩＤに対応する回路基板のテーブル情報と、当該テーブル情報において特定される部品情報と、をデータベースサーバ１８０より読み込む（Ｓ１１）。
【００７５】
具体的には、部品装着設定処理部１４２は、ステップＳ１０で入力された回路基板ＩＤを特定する情報を有する読み込み要求を、通信部１７２を介して、データベースサーバ１８０に送信する。
【００７６】
このような読み込み要求を受信したデータベースサーバ１８０では、制御部１８４が、読み込み要求に含まれている回路基板ＩＤに対応するテーブル情報を回路基板マスタ情報記憶領域１８２から取得する。また、制御部１８４は、取得したテーブル情報の部品種類欄に格納されている部品種類を特定する情報（ここでは、部品種類名）を抽出し、抽出した部品種類名に対応するレコードを部品マスタ情報記憶領域１８３から取得する。
【００７７】
そして、制御部１８４は、このようにして取得したテーブル情報とレコードとを部品装着装置１１０に、通信部１８５を介して送信する。
【００７８】
このようなテーブル情報とレコードとを受信した部品装着装置１１０では、部品装着設定処理部１４２が、受信したテーブル情報を実装回路基板情報テーブル１２２ａとして実装基板回路情報記憶領域１２２に記憶し、また、受信したレコードを格納したテーブルを生成して、実装部品情報テーブル１２３ａとして実装部品情報記憶領域１２３に記憶する。
【００７９】
次に、ブロック分割部１４３は、パレット１６０を仮想的に予め定められたブロック幅ｗで分割し、ブロックを生成する（Ｓ１２）。なお、この処理については、図１２を用いて詳細に説明する。
【００８０】
次に、配置算出部１４４は、ブロック分割部１４３により仮想的に分割された各ブロックに、部品供給ユニットを配置する（Ｓ１３）。
【００８１】
ここでは、各ブロックに配置される部品供給ユニットから装着される部品の数ができるだけ均等となり、かつ、各ブロックに配置される部品供給ユニットから装着する部品の平均装着座標ができるだけ近くなるように、部品供給ユニットを割り当るブロックを決定し、決定したブロックにおける部品供給ユニットの位置を算出する。なお、この処理については、図１３〜１５を用いて詳細に説明する。
【００８２】
次に、装着グループ算出部１４５は、装着ヘッド毎に、当該装着ヘッドが部品吸着位置から部品装着位置の間を１往復する際に装着する部品の集合を特定する装着グループを算出する（Ｓ１４）。
【００８３】
ここで、装着グループの算出は、各装着グループにおいて、装着グループを構成する部品を格納する部品供給ユニットが全て同じブロックに属し、かつ、装着グループを構成する部品の装着座標ができるだけ近くなるように、装着グループを作成する。なお、この処理については、図１６を用いて詳細に説明する。
【００８４】
次に、グループ割当算出部１４６は、装着グループ算出部１４５が算出した装着グループを各装着ヘッドに割り当て、部品装着ユニットの配置、並びに、部品の吸着及び装着順序を特定する（Ｓ１５）。ここで、装着グループの各装着ヘッドへの割当は、各装着グループに属する構成部品をどの装着ヘッドの何往復目で装着するのかを定めるものである。なお、この処理については、図１７及び図１８を用いて詳細に説明する。
【００８５】
次に、グループ割当算出部１４６は、ステップＳ１０〜Ｓ１５により算出された、部品供給ユニット配置、及び、部品装着順序、を各々部品供給ユニット配置セクション１２４ｂ、および、部品装着順序セクション１２４ｅに格納することで、部品装着設定情報テーブル１２４ａを生成して、部品装着設定情報記憶領域１２４に格納する（Ｓ１６）。
【００８６】
そして、部品装着設定処理部１４２は、生成した部品装着設定情報テーブル１２４ａを予め定められた表示形式に加工して、出力部１７１に表示する（Ｓ１７）。
【００８７】
図１２は、図１１のステップＳ１２におけるパレットをブロックに分割する処理を示すＰＡＤ図である。
【００８８】
まず、ブロック分割部１４３は、各々のブロックを特定する情報を格納するブロックリストを作成する（Ｓ２０）。ブロックリストの初期状態は空集合とする。
【００８９】
次に、ブロック分割部１４３は、ブロック幅ｗを算出する（Ｓ２１）。ここで、ブロック幅ｗは、装着ヘッドの最小接近距離以上で、パレット幅以下とする。本実施形態では、ブロック幅ｗをヘッド最小接近距離とするが、このような態様に限定されるわけではない。
【００９０】
次に、ブロック分割部１４３は、図７に示すように、パレット１６０の一端を原点とし、パレット１６０の一端から他端に向かう方向を、正の方向とするｚ座標における座標値を表す一時変数ｚを作成し、０で初期化する（Ｓ２２）。
【００９１】
次に、ブロック分割部１４３は、変数ｚの値がパレット幅を超えない間、処理ステップＳ２４、Ｓ２５を繰り返し実行する（Ｓ２３）。
【００９２】
そして、ブロック分割部１４３は、パレット１６０上の範囲[ｚ，ｚ＋ｗ]を一つのブロックとし、ブロックリストに追加する（Ｓ２４）。
【００９３】
次に、ブロック分割部１４３は、一時変数ｚをｚ＋ｗに更新する（Ｓ２５）。
【００９４】
図１３は、図１１における部品供給ユニットの配置を算出する処理を示すＰＡＤ図である。
【００９５】
まず、配置算出部１４４は、部品供給ユニットに優先度を付けたリストである部品供給ユニット優先度付リストを作成する（Ｓ３０）。ここで、部品供給ユニット優先度付リストは、部品装着装置１１０で回路基板に装着する部品を搭載した部品供給ユニットを、各部品供給ユニットから装着する部品の数をキーとし、降順にソートしたリストである。
【００９６】
次に、配置算出部１４４は、各ブロックに割り当てられる部品供給ユニットから装着される部品の数ができるだけ均等となり、かつ、各ブロックにおいて各部品装着ユニットから装着する部品の平均装着座標ができるだけ近くなるように、部品供給ユニットを搭載するブロックを割り当てる（Ｓ３１）。なお、この処理については、図１４を用いて詳細に説明する。
【００９７】
次に、配置算出部１４４は、各々のブロック毎に割り当てられた各部品供給ユニットから装着する部品の平均装着座標の最短巡回路を近似する巡回路を用いて、各部品供給ユニットの搭載位置を算出する（Ｓ３２）。なお、この処理については、図１５を用いて詳細に説明する。
【００９８】
図１４は、図１３のステップＳ３１における部品供給ユニットのブロック割当を算出する処理を示すＰＡＤ図である。
【００９９】
まず、配置算出部１４４は、図１３のステップＳ３０で生成した部品供給ユニット優先度付リストが空になるまで、後述するステップＳ４１〜Ｓ５６を繰り返し実行する（Ｓ４０）。
【０１００】
ステップＳ４１では、配置算出部１４４は、部品供給ユニット優先度付リストの先頭に格納されている部品供給ユニットｒを選択する。
【０１０１】
ステップＳ４２では、配置算出部１４４は、ステップＳ４１で選択した部品供給ユニットｒを搭載するブロックを指す一時変数（挿入先ブロック番号）であるinsBlkを、−１に初期化する。
【０１０２】
ステップＳ４３では、配置算出部１４４は、「各ブロックに搭載する部品供給ユニットの部品装着数のブロック毎の最大値」の最小値を表す一時変数minMaxNumを、＋∞（配置算出部１４４が扱える最大の数）に初期化する。
【０１０３】
ステップＳ４４では、配置算出部１４４は、既に各ブロックに搭載された部品供給ユニットから装着する部品の平均装着座標と、部品供給ユニットｒから装着する部品の平均装着座標と、の距離の最小値を表す一時変数minDistを、＋∞（配置算出部１４４が扱える最大の数）に初期化する。
【０１０４】
ステップＳ４５では、配置算出部１４４は、図１１のステップＳ１２で生成したブロックリストに格納されている全てのブロックblkについて、後述するステップＳ４６〜Ｓ５２を繰り返し実行する。即ち、ステップＳ４５では、図１１のステップＳ１２で生成したブロックリストに格納されているブロックから、後述するステップＳ４６〜Ｓ５２を実行していない任意のブロックblkを選択して、後述するステップＳ４６〜Ｓ５２を実行する。
【０１０５】
ステップＳ４６では、配置算出部１４４は、ステップＳ４５で選択したブロックblkに部品供給ユニットｒが搭載可能であるかを判定し、偽であれば、ステップＳ４７に進む。なお、本実施形態では、既にブロックblkに搭載が決まっている部品供給ユニットの幅と、部品供給ユニットｒの幅と、の和wBlkをとり、wBlk ≦ wが成立すれば、搭載可能と判定する。
【０１０６】
ステップＳ４７では、配置算出部１４４は、ステップＳ４５に戻り、別のブロックを選択して処理を繰り返す。
【０１０７】
ステップＳ４８では、配置算出部１４４は、ブロックblkに部品供給ユニットrを搭載すると仮定して、ブロックblkに搭載される全ての部品供給ユニットから装着される部品の数を算出して、最大装着点数maxNumとする。
【０１０８】
ステップＳ４９では、配置算出部１４４は、ブロックblkに搭載される全ての部品供給ユニットから装着される部品の平均装着座標と、部品供給ユニットｒから装着される部品の平均装着座標と、の距離distを算出する。ここで、平均装着座標は、部品供給ユニットから装着される部品の各々の装着座標の相加平均を、ｘ座標及びｙ座標の各々について算出すればよい。
【０１０９】
ステップＳ５０では、配置算出部１４４は、以下の二つの条件式（条件式１、条件式２）のいずれかが成立するかを判定し、偽であれば、ステップＳ５１に進み、ステップＳ４５に戻り、別のブロックを選択して処理を繰り返す。
【０１１０】
条件式１： maxNum < minMaxNum
条件式２： maxNum = minMaxNum、かつ、dist < minDist
ステップＳ５２では、配置算出部１４４は、insBlk、minMaxNum、minDistの値を各々、blk、maxNum、distに更新する。
【０１１１】
ステップＳ５３では、配置算出部１４４は、insBlkが−１であるかを判定し、真であれば、ステップＳ５４において、「搭載できない部品供給ユニットがある」等のエラーメッセージを出力部１７１に出力して、利用者に報告し、処理を終了する。
【０１１２】
ステップＳ５５では、配置算出部１４４は、部品供給ユニットｒをブロックinsBlkに挿入、即ち、部品供給ユニットｒの搭載位置をブロックinsBlkに割り当てる（ブロック割当）。
【０１１３】
ステップＳ５６では、配置算出部１４４は、部品供給ユニットｒを部品供給ユニット優先度付リストから削除する。
【０１１４】
図１５は、図１３のステップＳ３２における部品供給ユニットの搭載位置を算出する処理を示すＰＡＤ図である。
【０１１５】
まず、配置算出部１４４は、配置算出部１４４は、全てのブロックblkについて、後述するステップＳ６１〜Ｓ６９を実行する。即ち、図１１のステップＳ１２で生成したブロックリストに格納されているブロックから、任意のブロックblkを一つずつ選択して、後述するステップＳ６１〜Ｓ６９を実行する。
【０１１６】
ステップＳ６１では、配置算出部１４４は、ブロックblkに属する部品供給ユニットのリストを作成する。
【０１１７】
ステップＳ６２では、配置算出部１４４は、後述する処理で利用する現在座標cPtrを原点（０、０）に初期化する。ここで、例えば、原点（０，０）の位置は、図７に示すように、矩形上に形成された回路基板１９１の任意の角部（図７では、向かって左下の角部）とすればよいが、このような態様に限定されるわけではない。
【０１１８】
ステップＳ６３では、配置算出部１４４は、部品供給ユニットの搭載位置を指す一時変数uを、ブロックblkの開始位置に初期化する。ここで、ブロックの開始位置は、図７に示すようなｚ軸上の位置で特定すればよい。
【０１１９】
ステップＳ６４では、配置算出部１４４は、ステップＳ６１で作成した部品供給ユニットリストが空になるまで、後述するステップＳ６５〜Ｓ６９を実行する。
【０１２０】
ステップＳ６５では、配置算出部１４４は、部品供給ユニットリストを順に調べ、部品供給ユニットから装着する部品の平均装着座標が、現在座標cPtrに最も近い部品供給ユニットｒを選択する。
【０１２１】
ステップＳ６６では、配置算出部１４４は、ステップＳ６５で選択された部品供給ユニットｒの搭載位置をｕに設定する。
【０１２２】
ステップＳ６７では、配置算出部１４４は、現在座標cPtrを部品供給ユニットｒから装着する部品の平均装着座標に更新する。
【０１２３】
ステップＳ６８では、配置算出部１４４は、部品供給ユニットｒを部品供給ユニットリストから削除する。
【０１２４】
ステップＳ６９では、配置算出部１４４は、座標uを（u＋部品供給ユニットｒの幅）に更新する。
【０１２５】
図１６は、図１１のステップＳ１４における装着グループを算出する処理を示すＰＡＤ図である。
【０１２６】
まず、装着グループ算出部１４５は、図１１のステップＳ１２で生成されたブロックリストに属す全てのブロックblkについて、後述するステップＳ７１〜Ｓ８０を実行する（Ｓ７０）。即ち、図１１のステップＳ１２で生成されたブロックリストに属す全てのブロックからブロックblkを一つずつ選択して、後述するステップＳ７１〜Ｓ８０を実行する。
【０１２７】
ステップＳ７１では、装着グループ算出部１４５は、装着グループリストを作成する。ここで、装着グループリストの初期状態は空集合である。
【０１２８】
ステップＳ７２では、装着グループ算出部１４５は、ブロックblkに属する部品供給ユニットから装着される部品のリストである装着部品リストを生成する。
【０１２９】
ステップＳ７３では、装着グループ算出部１４５は、後述する処理で使用する現在吸着座標cPPtrを原点（ここでは、図７に示すｚ軸の原点０）、現在装着座標cMPtrを原点（ここでは、図７に示すｘ−ｙ座業における原点（０，０））、に初期化する。
【０１３０】
ステップＳ７４では、装着グループ算出部１４５は、装着部品リストが空になるまで、後述するステップＳ７５〜Ｓ８０を実行する。
【０１３１】
ステップＳ７５では、装着グループ算出部１４５は、新規装着グループｇ（ここでは、空集合）を装着グループリストに追加する。
【０１３２】
ステップＳ７６では、装着グループ算出部１４５は、装着グループｇのサイズ（構成部品数）が、一つの装着ヘッドに設けられている吸着ノズル数より小さい間、後述するステップＳ７７〜Ｓ８０を実行する。
【０１３３】
ステップＳ７７では、装着グループ算出部１４５は、装着部品リストを順に調べ、「部品を格納する部品供給ユニットの搭載位置と、現在吸着座標cPPtrとの距離」と、「部品の装着座標と、現在装着座標cMPtrとの距離」、との和が最小の部品ｃを選択する。
【０１３４】
ステップＳ７８では、装着グループ算出部１４５は、部品ｃを装着グループｇに追加する。
【０１３５】
ステップＳ７９では、装着グループ算出部１４５は、現在吸着座標cPPtrを部品ｃを格納する部品供給ユニットの搭載位置に更新し、現在装着座標cMPtrを部品ｃの装着座標に更新する。
【０１３６】
ステップＳ８０では、装着グループ算出部１４５は、部品ｃを装着部品リストから削除する。
【０１３７】
図１７は、図１１のステップＳ１５における装着グループの割当を算出する処理を示すＰＡＤ図である。
【０１３８】
まず、ステップＳ９０では、グループ割当算出部１４６は、後述するステップＳ９１〜Ｓ９４を行うことにより、各装着グループ間の干渉量（部品供給ユニット搭載位置、部品装着座標の重なり具合を意味する）を算出する。
【０１３９】
ステップＳ９１では、グループ割当算出部１４６は、図１１のステップＳ１４における装着グループを算出する処理で作成した装着グループリストに属する装着グループの全てのペアの組合せ（g1,g2）について、後述するステップＳ９２〜Ｓ９４を実行する。即ち、グループ割当算出部１４６は、図１１のステップＳ１４における装着グループを算出する処理で作成した装着グループリストに属する装着グループの全てのペアの組合せから、任意のペアの組合せ（g1,g2）を一つずつ選択して、後述するステップＳ９２〜Ｓ９４を実行する。
【０１４０】
ステップＳ９２では、グループ割当算出部１４６は、組合せ（g1,g2）間の吸着時干渉量corP（g1,g2）を、下記の（１）式より算出する。
【０１４１】
【数１】
2010074063.tif 000003
【０１４２】
ここで、（１）式の中の、zMin1、zMax1は各々、装着グループg1の構成部品を格納する部品供給ユニットの搭載位置の最小値、最大値であり、zMin2、zMax2は各々、装着グループg2の構成部品を格納する部品供給ユニットの搭載位置の最小値、最大値である。また、Max（ A , B ）は、Ａ及びＢの内の最大値を選択することを示し、Min（ C , D ）は、Ｃ及びＤの内の最小値を選択することを示す。
【０１４３】
ステップＳ９３では、グループ割当算出部１４６は、組合せ（g1,g2）間の装着時干渉量corM（g1,g2）を、下記の（２）式により算出する。
【０１４４】
【数２】
2010074063.tif 000004
【０１４５】
（２）式の中の、xMin1、xMax1は各々、装着グループg1の構成部品の装着位置のｘ座標の最小値、最大値であり、yMin1、yMax1は各々、装着グループg1の構成部品の装着位置のｙ座標の最小値、最大値であり、xMin2、xMax2は各々、装着グループg2の構成部品の装着位置のｘ座標の最小値、最大値であり、yMin2、yMax2は各々、装着グループg2の構成部品の装着位置のｙ座標の最小値、最大値である。
【０１４６】
ステップＳ９４では、グループ割当算出部１４６は、装着グループ間干渉量cor（g1,g2）を、下記の（３）式により算出する。
【０１４７】
【数３】
2010074063.tif 000005
【０１４８】
ステップＳ９５では、グループ割当算出部１４６は、装着グループ干渉グラフを構築する。ここで、装着グループ干渉グラフとは、図１１のステップＳ１４において生成された装着グループを「ノード」、上述のステップＳ９４で算出した装着グループ干渉量を、ノードを結ぶ「エッジ」の重みとするグラフ構造である。
【０１４９】
図１８は、装着グループ干渉グラフ１９２の概略図である。図中において、ノードは１９２ａ、エッジは１９２ｂで示している。
【０１５０】
ステップＳ９６では、上述のステップＳ９５で構築した装着グループ干渉グラフの最適マッチングを算出する。以下、最適マッチングを構成するエッジが結合する装着グループの組合せを「装着グループペア」と呼ぶ。
【０１５１】
そして、最適マッチングは、図１８に示すような装着グループ干渉グラフを構成するエッジの中から次の（ａ）〜（ｃ）の条件を満たす集合（マッチング）を求めることで算出される。
（ａ）各ノードに接続されるエッジのうち、マッチングとして選択されるエッジは１つ以下。
（ｂ）可能な限り多くのエッジで構成される。例えば、ノード数が偶数の場合には（ノード数）÷２、ノード数が奇数の場合には（ノード数−１）÷２から降順で、最適なものと判断する。
（ｃ）マッチングに属するエッジの重み値の和が、可能な限り小さい。
【０１５２】
なお、最適マッチングに属するエッジが結合する装着グループを、各往復において各装着グループが装着する装着グループとすれば、吸着時、装着時の干渉が少ない、即ち、退避動作が少なく、実装時間が短いことになる。
【０１５３】
また、最適マッチングの算出方法としては、ハンガリアン法（ハンガリー法）が知られているが、例えば、重み値の小さいエッジから順に、エッジをマッチングに追加する方法で算出しても良い。
【０１５４】
上述のように、各装着グループを１つのブロックに属する部品供給ユニットのみで装着可能とすることで、吸着時に干渉しない装着グループのペアを数多く作り出すことができる。
【０１５５】
ステップＳ９７では、グループ割当算出部１４６は、ステップＳ９６で算出した装着グループペアをソートする。ソートの基準としては、例えば、装着グループペアを定義するエッジの重み値の降順等を利用すれば良い。ペアにならなかった装着グループは、エッジ重み値０とする。
【０１５６】
ステップＳ９８では、グループ割当算出部１４６は、ステップＳ９６で算出した全ての装着グループペアｐについて、ステップＳ９９を繰り返し実行する。
【０１５７】
ステップＳ９９では、グループ割当算出部１４６は、装着グループペアｐに属する各装着グループを各装着ヘッドに割り当てる。ここでは、装着グループペアｐに属する装着グループのうち、装着グループの構成部品の装着座標（ｙ軸）の最小値が小さい方の装着グループ、および、ペアにならなかった装着グループ、をパレットから遠い側の装着ヘッド（図７では、装着ヘッド１５１Ｂ）に割り当てるようにしているが、このような態様に限定されず、装着グループペアｐに属する各装着グループが別々の装着ヘッドに割り当てられれば、どのような割当方法でもよい。
【０１５８】
ステップＳ１００では、グループ割当算出部１４６は、各部品の吸着／装着順を算出する。例えば、本実施形態では、各装着ヘッドに割り当てられた装着グループについては上述のステップＳ９７でソートした順、各装着グループ内においては、図１１のステップＳ１４における前記処理ステップＳ０６００において、装着グループに追加した順に部品の吸着／装着順序を設定しているが、このような態様に限定されない。
【０１５９】
図１９は、部品装着装置１１０において部品を装着する手順を示すＰＡＤ図である。
【０１６０】
まず、ステップＳ１１０では、部品装着装置１１０の全体制御部１４１は、部品装着部１５０の回路基板テーブルを制御することにより、部品を装着する位置に回路基板を配置する。
【０１６１】
ステップＳ１１１では、全体制御部１４１は、全ての部品が装着されるまで、ステップＳ１１２及びＳ１１３を繰り返す。
【０１６２】
ステップＳ１１２では、全体制御部１４１は、部品装着設定情報記憶領域１２４に記憶されている部品装着設定情報テーブル１２４ａの吸着／装着順序欄１２４ｌに格納された吸着順序に従い、次の往復で装着すべき部品を、部品装着部１５０の装着ヘッドを用いて吸着する。
【０１６３】
ステップＳ１１３では、全体制御部１４１は、部品装着設定情報テーブル１２４ａの吸着／装着順序欄１２４ｌに格納された装着順序に従い、部品装着部１５０の装着ヘッドを用いて部品を装着する。
【０１６４】
ステップＳ１１４では、全体制御部１４１は、部品装着部１５０の回路基板テーブルを制御することにより、部品を装着した回路基板０１０７を排出する。
【０１６５】
以上のように、本発明によれば、回路基板と、この回路基板に対して一方向に配置されたパレットと、に複数の装着ヘッドが同時にアクセする部品装着装置において、装着ヘッドの退避動作を考慮に入れて部品の装着設定を行うことができるため、利用者は、短い時間で所望の回路基板を生産することができる。
【０１６６】
また、パレットを仮想的に複数のブロックに分割し、各装着ヘッドの各往復において、同一ブロック内に搭載する部品供給ユニットに格納された部品のみを吸着、並びに、装着するよう部品装着設定を行うため、退避動作が少ない部品装着設定ができる。
【０１６７】
以上に記載した実施形態においては、部品装着部１５０と、パレット１６０と、を有する部品装着装置１１０において、部品装着設定情報を算出するようにしているが、このような態様に限定されず、例えば、図２０（部品装着設定算出装置２１０の概略図）に示すような部品装着設定算出装置２１０において部品装着設定情報（部品装着設定テーブル）を作成して、部品装着装置に送信するようにしてもよい。
【０１６８】
ここで、図示するように、部品装着設定算出装置２１０は、記憶部１２０と、制御部１４０と、入力部１７０と、出力部１７１と、通信部１７２と、を備え、これらは、部品装着装置１１０の記憶部１２０、制御部１４０と、入力部１７０と、出力部１７１と、通信部１７２と、同様に機能する。
【０１６９】
なお、  以上に記載した部品装着設定算出装置２１０は、例えば、図９に示すようなコンピュータ９００で、実現可能である。
【０１７０】
例えば、記憶部１２０は、ＣＰＵ９０１がメモリ９０２又は外部記憶装置９０３を利用することにより実現可能であり、制御部１４０は、外部記憶装置９０３に記憶されている所定のプログラムをメモリ９０２にロードしてＣＰＵ９０１で実行することで実現可能であり、部品装着部１５０は、ＣＰＵ９０１が図示しない部品実装装置を利用することで実現可能であり、パレット１６０は、ＣＰＵ９０１が図示しないパレット装置を利用することで実現可能であり、入力部１７０は、ＣＰＵ９０１が入力装置９０６を利用することで実現可能であり、出力部１７１は、ＣＰＵ９０１が出力装置９０７を利用することで実現可能であり、通信部１７２は、ＣＰＵ９０１が通信装置９０８を利用することで実現可能である。
【０１７１】
この所定のプログラムは、読書装置９０５を介して記憶媒体９０４から、あるいは、通信装置９０８を介してネットワークから、外部記憶装置９０３にダウンロードされ、それから、メモリ９０２上にロードされてＣＰＵ９０１により実行されるようにしてもよい。また、読書装置９０５を介して記憶媒体９０４から、あるいは、通信装置９０８を介してネットワークから、メモリ９０２上に直接ロードされ、ＣＰＵ９０１により実行されるようにしてもよい。
【図面の簡単な説明】
【０１７２】
【図１】部品装着システム１００の概略図。
【図２】部品装着装置１１０の概略図。
【図３】部品装着装置情報テーブル１２１ａの概略図。
【図４】実装回路基板情報テーブル１２２ａの概略図。
【図５】実装部品情報テーブル１２３ａの概略図。
【図６】部品装着設定情報テーブル１２４ａの概略図。
【図７】部品装着部１５０及びパレット１６０の概略図。
【図８】装着ヘッド１５１Ｂが退避位置にある場合を説明する概略図。
【図９】コンピュータ９００の概略図。
【図１０】データベースサーバ１８０の概略図。
【図１１】部品装着設定情報を生成する処理を示すＰＡＤ図。
【図１２】パレットをブロックに分割する処理を示すＰＡＤ図。
【図１３】部品供給ユニットの配置を算出する処理を示すＰＡＤ図。
【図１４】部品供給ユニットのブロック割当を算出する処理を示すＰＡＤ図。
【図１５】部品供給ユニットの搭載位置を算出する処理を示すＰＡＤ図。
【図１６】装着グループを算出する処理を示すＰＡＤ図。
【図１７】装着グループの割当を算出する処理を示すＰＡＤ図。
【図１８】装着グループ干渉グラフ１９２の概略図。
【図１９】部品を装着する手順を示すＰＡＤ図。
【図２０】部品装着設定算出装置２１０の概略図。
【符号の説明】
【０１７３】
１００  部品装着システム
１１０  部品装着装置
１２０  記憶部
１２１  部品装着装置情報記憶領域
１２２  実装部品回路基板情報記憶領域
１２３  実装部品情報記憶領域
１２４  部品装着設定情報記憶領域
１４１  全体制御部
１４０  制御部
１４２  部品装着設定処理部
１４３  ブロック分割部
１４４  配置算出部
１４５  装着グループ算出部
１４６  グループ割当算出部
１７０  入力部
１７１  出力部
１７２  通信部
１８０  データベースサーバ
【図１】
2010074063.tif 000006
【図２】
2010074063.tif 000007
【図３】
2010074063.tif 000008
【図４】
2010074063.tif 000009
【図５】
2010074063.tif 000010
【図６】
2010074063.tif 000011
【図７】
2010074063.tif 000012
【図８】
2010074063.tif 000013
【図９】
2010074063.tif 000014
【図１０】
2010074063.tif 000015
【図１１】
2010074063.tif 000016
【図１２】
2010074063.tif 000017
【図１３】
2010074063.tif 000018
【図１４】
2010074063.tif 000019
【図１５】
2010074063.tif 000020
【図１６】
2010074063.tif 000021
【図１７】
2010074063.tif 000022
【図１８】
2010074063.tif 000023
【図１９】
2010074063.tif 000024
【図２０】
2010074063.tif 000025