(57)【要約】【課題】組立品の設計段階で、ハンド交換頻度が少ない組立順序を自動計算する組立順序生成技術を提供する。【解決手段】組立順序生成装置は、組立品のＣＡＤデータから被締結部品と締結部品のユニット単位の構成と、部品種別情報を抽出し、各個別のユニットを分解する操作を行なう時に干渉する他のユニットとを対応付ける結合優先関係情報を生成し、部品種別情報と、結合優先関係情報と、ハンド対応表から被締結部品、または締結部品を把持するために使用するハンドの交換頻度を少なくすることを優先する前記ユニットの分解順序を生成し、前記ユニットの分解順序を逆順としてユニット単位の組立順序を生成し、前記ユニット単位の組立順序を、ユニット毎に被締結部品、締結部品の順に構成部品の組立順序を生成する。【選択図】図１
2015153237.tif 000002
【特許請求の範囲】
【請求項１】
組立品を構成する複数の部品を組み立てる組立順序の情報を生成する組立順序生成装置であって、
前記複数の部品のそれぞれの部品属性と部品配置と他の部品との隣接関係の情報を、ＣＡＤデータから取得した前記組立品の３ＤＣＡＤモデル情報として抽出する情報取得部と、
前記３ＤＣＡＤモデル情報から部品種別を分類する部品種別分類部と、
前記３ＤＣＡＤモデル情報と前記部品種別情報から、被締結部品とそれを別部品と連結する締結部品で構成するユニット構成を抽出するユニット構成抽出部と、
前記３ＤＣＡＤモデル情報と前記ユニット構成情報に基づき、前記組立品から各個別のユニットを分解する操作を行なう時に、干渉すると想定される他の全てのユニットを抽出して、分解対象のユニットと対応付けた結合優先関係情報を抽出する結合優先関係生成部と、
前記部品種別情報と、前記結合優先関係情報と、及び前記部品種別と使用するハンドを関連付けたハンド対応表から、被締結部品、または締結部品を把持するために使用するハンドの交換頻度を少なくすることを優先する前記ユニットの分解順序を生成する分解順序生成部と、
前記ユニットの分解順序を逆順としてユニット単位の組立順序を生成する組立順序生成部と、
を有することを特徴とする組立順序生成装置。
【請求項２】
請求項１に記載の組立順序生成装置において、
生成した前記ユニット単位の組立順序を、ユニット毎に被締結部品、締結部品の順に組み立てるように組立順序を再生成するユニット分解・組立順序再生成部を更に有することを特徴とする組立順序生成装置。
【請求項３】
前記被締結部品、または締結部品を把持するために使用するハンドの交換頻度を少なくすることを優先する前記ユニットの分解順序を生成する分解順序生成部は、
分解時に干渉する他のユニットが存在しないユニットの内、同一ハンドを使用するユニット数が最も多いハンドを選択することを特徴とする請求項１に記載の組立順序生成装置。
【請求項４】
前記被締結部品を把持するために使用するハンドの交換頻度を少なくすることを優先する前記ユニットの分解順序を生成する場合には、前記分解順序生成部は、分解時に干渉するユニットが存在しないユニットの内、被締結部品を把持するために同一ハンドを使用するユニット数が最も多いハンドを優先して選択し、
前記締結部品を把持するために使用するハンドの交換頻度を少なくすることを優先する前記ユニットの分解順序を生成する場合には、前記分解順序生成部は、分解時に干渉するユニットが存在しないユニットの内、締結部品を把持するために同一ハンドを使用するユニット数が最も多いハンドを優先して選択することを特徴とする請求項３に記載の組立順序生成装置。
【請求項５】
前記被締結部品、または締結部品を把持するために使用するハンドの交換頻度を少なくすることを優先する前記ユニットの分解順序を生成する分解順序生成部は、
前記組立品から分解を想定した時に干渉する他のユニットが存在しないユニットの内、現在選択している被締結部品用ハンドを使用する被締結部品を含み、および現在選択している締結部品用ハンドにより締結部品の把持にも使用可能なユニットを分解順序候補としてリストアップし、
前記リストアップされた分解順序候補ユニットの中より分解優先ユニットを一つ選択し、
前記選択した分解優先ユニットを分解順序ユニットとして登録し、
前記登録した分解順序ユニットを、前記結合優先関係情報から削除することを特徴とする請求項１に記載の組立順序生成装置。
【請求項６】
前記分解順序生成部が、前記被締結部品、または締結部品を把持するために使用するハンドの交換頻度を少なくすることを優先する前記ユニットの分解順序を生成することに替えて、被締結部品と締結部品を把持するハンドの交換頻度の合計を少なくすることを優先するために、分解時に干渉するユニットが存在しないユニットの内、被締結部品を把持するための第１のハンドと、締結部品を把持するための第２のハンドの組合せの中で最も多くのユニットにおいて使われる第１、第２のハンドの組合せを選択して、ユニットの分解順序を生成することを特徴とする請求項１に記載の組立順序生成装置。
【請求項７】
組立品を構成する複数の部品を組み立てる組立順序の情報を生成する組立順序生成方法であって、
前記複数の部品のそれぞれの部品属性と部品配置と他の部品との隣接関係の情報を、ＣＡＤデータから取得した前記組立品の３ＤＣＡＤモデル情報として抽出する情報取得ステップと、
前記３ＤＣＡＤモデル情報から部品種別を分類する部品種別分類ステップと、
前記３ＤＣＡＤモデル情報と前記部品種別情報から、被締結部品とそれを別部品と連結する締結部品で構成するユニット構成を抽出するユニット構成抽出ステップと、
前記３ＤＣＡＤモデル情報と前記ユニット構成情報に基づき、前記組立品から各個別のユニットを分解する操作を行なう時に、干渉すると想定される他の全てのユニットを抽出して、分解対象のユニットと対応付けた結合優先関係情報を抽出する結合優先関係生成ステップと、
前記部品種別情報と、前記結合優先関係情報と、部品種別と使用するハンドを関連付けたハンド対応表から、被締結部品、または締結部品を把持するために使用するハンドの交換頻度を少なくすることを優先する前記ユニットの分解順序を生成する分解順序生成ステップと、
前記ユニットの分解順序を逆順としてユニット単位の組立順序を生成する組立順序生成ステップと、
を有することを特徴とする組立順序生成方法。
【請求項８】
請求項７に記載の組立順序生成方法において、
生成した前記ユニット単位の組立順序を、ユニット毎に被締結部品、締結部品の順に組み立てるように、組立順序を再生成するユニット分解・組立順序再生成ステップを更に有することを特徴とする組立順序生成方法。
【請求項９】
請求項７に記載の組立順序生成方法において、
前記被締結部品、または締結部品を把持するために使用するハンドの交換頻度を少なくすることを優先する前記ユニットの分解順序を生成する分解順序生成ステップは、
前記組立品から分解を想定した時に干渉する他のユニットが存在しないユニットの内、同一ハンドを使用するユニット数を集計するステップと、
ユニット数が最も多いハンドを選択するステップを有することを特徴とする組立順序生成方法。
【請求項１０】
前記被締結部品を把持するために使用するハンドの交換頻度を少なくすることを優先する前記ユニットの分解順序を生成する場合には、前記分解順序生成ステップは、分解時に干渉するユニットが存在しないユニットの内、被締結部品を把持するために同一ハンドを使用するユニット数が最も多いハンドを優先して選択し、
前記締結部品を把持するために使用するハンドの交換頻度を少なくすることを優先する前記ユニットの分解順序を生成する場合には、前記分解順序生成ステップは、分解時に干渉するユニットが存在しないユニットの内、締結部品を把持するために同一ハンドを使用するユニット数が最も多いハンドを優先して選択することを特徴とする請求項９に記載の組立順序生成方法。
【請求項１１】
前記被締結部品、または締結部品を把持するために使用するハンドの交換頻度を少なくすることを優先する前記ユニットの分解順序を生成する分解順序生成ステップは、
前記組立品から分解を想定した時に干渉する他のユニットが存在しないユニットの内、現在選択している被締結部品用ハンドを使用する被締結部品を含み、および現在選択している締結部品用ハンドにより締結部品の把持にも使用可能なユニットを分解順序候補としてリストアップするステップと、
前記リストアップされた分解順序候補ユニットの中より分解優先ユニットを一つ選択するステップと、
前記選択した分解優先ユニットを分解順序ユニットとして登録するステップと、
前記登録した分解順序ユニットを、前記結合優先関係情報から削除するステップとを有することを特徴とする請求項７に記載の組立順序生成方法。
【請求項１２】
前記分解順序生成ステップにおいて、前記被締結部品、または締結部品を把持するために使用するハンドの交換頻度を少なくすることを優先する前記ユニットの分解順序を生成することに替えて、被締結部品と締結部品を把持するハンドの交換頻度の合計を少なくすることを優先するために、分解時に干渉するユニットが存在しないユニットの内、被締結部品を把持するための第１のハンドと、締結部品を把持するための第２のハンドの組合せの中で最も多くのユニットにおいて使われる第１、第２のハンドの組合せを選択して、ユニットの分解順序を生成することを特徴とする請求項７に記載の組立順序生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組立順序生成装置および組立順序生成方法に関する。
【背景技術】
【０００２】
組み立ての自動化において一般的に用いられるロボットの動作プログラム生成において、ティーチングペンダントを用いて実際にロボットを操作してティーチングする方法や、ＰＣ内に表示したロボットの３Ｄ画像を動かしながらティーチングするオフラインティーチング方式が一般的に用いられる。一方、顧客嗜好の多様化により、少品種大量生産から多品種少量生産に移行してきており、ティーチングの自動化が求められている。
【０００３】
特開平０９−１６７００７号公報（特許文献１）がある。この公報には、標準作業データをあらかじめ作成しておき、その組み合わせでティーチングプログラムを自動生成する装置について記載されている。
【０００４】
特開２０１２−１４５６９号公報（特許文献２）がある。この公報には、周辺部品との干渉を回避した組立運動と組立順序に基づいて組立品の組立シーケンスを生成するシステムの構成およびプログラムについて記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０９−１６７００７号公報
【特許文献２】特開２０１２−１４５６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前記特許文献１では、あらかじめ標準作業データを生成しているため、部品の構成が変わった場合、例えば、締結するネジの本数が変わった場合には、標準作業データも変更する必要がある。また、前記特許文献２では、３次元の組立品モデル（３ＤＣＡＤモデル）をもとに分解順序を生成し、それを逆順序にすることで、組立順序を生成する方式であるが、部品の属性を考慮していないため、ハンドの交換頻度を減らすために、組立順序を修正する必要がある。
【０００７】
そこで、本発明は前記のような課題を解決し、その代表的な目的は、設計段階で、ハンド交換頻度が少ない組立順序を自動計算する組立順序生成技術を提供することにある。より詳細には、３ＤＣＡＤモデルをもとに分解途中の状態ではない完成品の状態において、部品間の結合優先関係を自動算出し、その関係表をもとに、部品属性を考慮した組立順序案を導出することで、設計段階で、ハンド交換頻度が少ない組立順序を自動計算する組立順序生成技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本発明では、組立品を構成する複数の部品を組み立てる組立順序の情報を生成する組立順序生成装置を、前記複数の部品のそれぞれの部品属性と部品配置と他の部品との隣接関係の情報を、ＣＡＤデータから取得した前記組立品の３ＤＣＡＤモデル情報として抽出する情報取得部と、前記３ＤＣＡＤモデル情報から部品種別を分類する部品種別分類部と、前記３ＤＣＡＤモデル情報と前記部品種別情報から、被締結部品とそれを別部品と連結する締結部品で構成するユニット構成を抽出するユニット構成抽出部と、前記３ＤＣＡＤモデル情報と前記ユニット構成情報に基づき、前記組立品から各個別のユニットを分解する操作を行なう時に、干渉すると想定される他の全てのユニットを抽出して、分解対象のユニットと対応付けた結合優先関係情報を抽出する結合優先関係生成部と、前記部品種別情報と、前記結合優先関係情報と、及び前記部品種別と使用するハンドを関連付けたハンド対応表から、被締結部品、または締結部品を把持するために使用するハンドの交換頻度を少なくすることを優先する前記ユニットの分解順序を生成する分解順序生成部と、前記ユニットの分解順序を逆順としてユニット単位の組立順序を生成する組立順序生成部とを備えて構成した。
【０００９】
また、上記課題を解決するために本発明では、前記組立順序生成装置が、生成した前記ユニット単位の組立順序を、ユニット毎に被締結部品、締結部品の順に組み立てるように組立順序を再生成するユニット分解・組立順序再生成部を更に有するように構成した。
【００１０】
また、上記課題を解決するために本発明では、前記組立順序生成装置において、前記被締結部品、または締結部品を把持するために使用するハンドの交換頻度を少なくすることを優先する前記ユニットの分解順序を生成する分解順序生成部は、分解時に干渉する他のユニットが存在しないユニットの内、同一ハンドを使用するユニット数が最も多いハンドを選択することを特徴とする。
【００１１】
また、上記課題を解決するために本発明では、前記組立順序生成装置において、前記被締結部品、または締結部品を把持するために使用するハンドの交換頻度を少なくすることを優先する前記ユニットの分解順序を生成する分解順序生成部は、前記組立品から分解を想定した時に干渉する他のユニットが存在しないユニットの内、現在選択している被締結部品用ハンドを使用する被締結部品を含み、および現在選択している締結部品用ハンドにより締結部品の把持にも使用可能なユニットを分解順序候補としてリストアップし、前記リストアップされた分解順序候補ユニットの中より分解優先ユニットを一つ選択し、前記選択した分解優先ユニットを分解順序ユニットとして登録し、前記登録した分解順序ユニットを、前記結合優先関係情報から削除することを特徴とする。
【発明の効果】
【００１２】
本発明により、設計段階で、ハンド交換頻度が少ない組立順序を自動計算する組立順序生成技術を提供することができる。より詳細には、３ＤＣＡＤモデルをもとに分解途中の状態ではない完成品の状態において、部品間の結合優先関係を自動算出し、その関係表をもとに、部品属性を考慮した組立順序案を導出することで、設計段階で、ハンド交換頻度が少ない組立順序を自動計算する組立順序生成技術を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施の形態に係る組立順序生成装置の構成の一例を示す概略全体構成図である。
【図２】図１の組立順序生成装置における組立順序生成方法において、３ＤＣＡＤデータを基に組立順序を生成する手順の一例を説明するフローチャートである。
【図３】図１の組立順序生成装置の記憶部に格納された３ＤＣＡＤモデル情報のテーブルの一例を示す図である。
【図４】図１の組立順序生成装置の記憶部に格納された部品種別情報のテーブルの一例を示す図である。
【図５】図１の組立順序生成装置の記憶部に格納されたユニット構成表の一例を示す図である。
【図６】図１の組立順序生成装置の記憶部に格納されたハンド対応表の一例を示す図である。
【図７】図１の組立順序生成装置の記憶部に格納された結合優先関係表の一例を示す図である。
【図８】図１の組立順序生成装置の記憶部に格納された組立順序のテーブルの一例を示す図である。
【図９】図２の部品属性考慮組立順序生成方法において、ハンドの選択、分解優先ユニットの選択、ユニット分解順序生成、組立順序再生成までの手順の一例を説明するフローチャートである。
【図１０】図９のハンド同時選択方法において、ハンドを選択する手順の一例を説明するフローチャートである。
【図１１】図９のハンド同時選択方法において、ハンドを選択する手順の別の一例を説明するフローチャートである。
【図１２】図９のハンド同時選択方法において、ハンドを選択する手順の別の一例を説明するフローチャートである。
【図１３】図９の分解優先ユニット・ハンド選択方法において、ハンドと分解ユニットを選択する手順の別の一例を説明するフローチャートである。
【図１４】図１３のハンド選択方法において、ハンドを選択する手順の一例を説明するフローチャートである。
【図１５】図１３のハンド選択方法において、ハンドを選択する手順の別の一例を説明するフローチャートである。
【図１６】組立順序生成手順を説明する組立品の概要図と、結合優先関係表を説明する図である。
【図１７】図１６に示した組立品の分解途中工程における組立品概要図、結合優先関係表、分解順序データを説明する図である。
【図１８】図１７に示した分解途中工程を更に進めた分解途中工程における組立品概要図、結合優先関係表、分解順序データを説明する図である。
【図１９】図１６、１７、１８に示した組立品の分解手順により生成した分解順序データから作成した組立順序とハンド交換順序を示すテーブルの一例である。
【図２０】分解順序条件とハンド交換条件を入力する入力画面の一例を示す概略図である。
【図２１】分解順序条件とハンド交換条件の格納データ情報の一例である。
【発明を実施するための形態】
【００１４】
以下の実施の形態においては、便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００１５】
さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【実施例１】
【００１６】
図１〜図２１を用いて第一の実施例を説明する。まず、組立順序生成装置の構成について、図１を用いて説明する。図１は、組立順序生成装置１００の構成の一例を示す概略全体構成図である。組立順序生成装置１００は、コンピュータシステムを用いて構築され、制御部１１０と、記憶部１３０と、入力部１４０と、表示部１５０と、通信部１６０で構成されている。組立順序生成装置１００は、通信部１６０から、外部にある３ＤＣＡＤ装置２００とネットワーク２１０を介して接続されている。ここで、組立順序生成装置１００と３ＤＣＡＤ装置２００は一体となったシステム、例えば、同一コンピュータ内に構築してもよい。
【００１７】
制御部１１０は、３ＤＣＡＤモデル情報取得部１１１と、部品種別分類部１１２と、ユニット構成抽出部１１３と、結合優先関係生成部１１４と、部品属性考慮分解順序生成部１１５と、組立順序生成部１１６とユニット分解・組立順序再生成部１１７を含む。制御部１１０は、３ＤＣＡＤデータをもとに部品種別の分類、ユニット構成抽出、結合優先関係の生成、部品属性考慮組立順序の生成およびその結果出力の処理などを実行する制御部である。３ＤＣＡＤモデル情報取得部１１１は、３ＤＣＡＤモデルの情報を取得する機能部である。この３ＤＣＡＤモデル情報取得部１１１では、例えば、複数の部品のそれぞれの部品属性と部品配置と他の部品との隣接関係の情報を、ＣＡＤから取得した組立品の３ＤＣＡＤモデルから抽出する処理などを行う。部品種別分類部１１２は、部品種別を分類する機能部である。この部品種別分類部１１２では、３ＤＣＡＤモデルの情報から、例えば、仕様が異なる部品の種別やネジの種別などの部品種別を分類する処理などを行う。ユニット構成抽出部１１３は、被締結部品とそれを別の部品と連結するための締結部品（例えば、ネジ、リベット、キー）を一つのまとまりであるユニットとして抽出する機能部である。結合優先関係生成部１１４は、ユニット構成抽出部１１３で抽出したユニットを用い、ユニットとユニットの結合関係を導出し、結合優先関係を生成する機能部である。部品属性考慮分解順序生成部１１５は、ハンドの交換頻度が少ない分解順序を生成する機能部である。部品属性考慮分解順序生成部１１５では、例えば、結合優先関係生成部１１４で生成した結合優先関係と部品種別分類部１１２で生成した部品種別を用い、ハンドの交換頻度が少ないユニット単位の分解順序を生成する。組立順序生成部１１６は、ユニット単位で組立順序を生成する機能部である。組立順序生成部１１６は、部品属性考慮分解順序生成部１１５で生成したユニット単位の分解順序の逆変換を行って組立順序を導出する。ユニット分解・組立順序再生成部１１７は、ユニットを被締結部品と締結部品に分解し、組立順序生成部１１６で生成した組立順序を再生成する機能部である。これらの制御部１１０に含まれる各機能部１１１〜１１７の詳細については、図２、図９〜図１５などを用いて後述する。
【００１８】
記憶部１３０は、３ＤＣＡＤモデル情報１３１と、部品種別情報１３２と、解析計算プログラム・計算条件１３３と、分解順序条件１３４と、結合優先関係表１３５と、ユニット構成表１３６と、ハンド対応表１３７と、組立順序データ１３８と、ハンド交換条件１３９の各記憶領域を備える。３ＤＣＡＤモデル情報１３１は、３ＤＣＡＤ装置２００より入手した３ＤＣＡＤデータ（評価対象モデル：組立品）およびその情報より抽出した３ＤＣＡＤモデルの情報である。部品種別情報１３２は、部品種別の分類処理のために参照する情報である。解析計算プログラム・計算条件１３３は、各機能部の解析計算プログラム、この解析計算の条件である。分解順序条件１３４は、結合優先関係とは別に、部品種別や大きさ、配置位置などの並び順などで定義した分解順序の条件、分解単位の条件である。結合優先関係表１３５は、評価対象モデル(組立品)の全ての構成ユニットを単一にそれぞれ分解動作をさせようとした時に、干渉するユニットをリストアップして対応させた表である。ユニット構成表１３６は、被締結部品とそれを別部品に連結する締結部品の組み合わせを定義した表である。ハンド対応表１３７は、組立に使用するハンドとそのハンドで組み立てる（部品のハンドリングだけでなく、ネジ回し、リベット打ち等を含む）部品を定義した表である。組立順序データ１３８は、ユニット分解・組立順序再生成部１１７で生成された組立順序データである。組立順序を導出する途中の計算結果、例えば、部品属性考慮分解順序生成部１１５や組立順序生成部１１６で生成した結果も格納することができる。ハンド交換条件１３９は、組立順序を決定するとき、ハンド交換の優先順位を格納する記憶部分である。
【００１９】
入力部１４０は、解析のために必要な設定情報の入力、メニューの選択指示、あるいはその他の指示等を入力する入力部である。
表示部１５０は、評価対象モデルの表示、入力情報の表示、処理結果の表示、処理途中の経緯の表示等を行う表示部である。
通信部１６０は、ネットワーク２１０を介して、外部にある３ＤＣＡＤ装置２００から３ＤＣＡＤデータを受信する通信部である。
【００２０】
この組立順序生成装置１００のハードウェア構成は、これに限定されるものではないが、例えば以下の通りである。制御部１１０は、ＣＰＵ（中央処理装置）、ＲＯＭ（リードオンリメモリ）やＲＡＭ（ランダムアクセスメモリ）などの記憶装置を含んで構成される。記憶部１３０は、ハードディスク装置などの外部記憶装置により構成される。入力部１４０は、例えばキーボード、マウスなどを用いる。その他、タッチパネル、専用のスイッチやセンサあるいは音声認識装置を用いてもよい。表示部１５０は、例えばディスプレイ、プロジェクタ、ヘッドマウントディスプレイなど画面やスクリーンに情報を表示する装置を用いる。さらに、表示部１５０に表示された情報を用紙に出力するプリンタ（図示しない）を組立順序生成装置１００に接続してもよい。
【００２１】
なお、これらのハードウェア構成は、専用装置である必要はなく、パーソナルコンピュータ等の一般的なコンピュータシステムを利用することができる。これらの制御部１１０に含まれる各機能部１１１〜１１７は、制御部１１０において、ＣＰＵにより記憶装置に記憶されたプログラムを実行することによって実現される。すなわち、これらの各機能部は、ソフトウェアにより構築される機能である。
【００２２】
（１）組立順序生成方法の手順
次に、図１に示した組立順序生成装置１００における組立順序生成方法の手順について、図２〜図１５を用いて説明する。図２は、組立順序生成装置１００において、３ＤＣＡＤデータを基に組立順序を生成し、計算結果を出力する処理までの手順の一例を説明するフローチャートである。
【００２３】
（２）３ＤＣＡＤモデルの情報取得処理
図２のステップＳ１０の３ＤＣＡＤモデルの情報取得処理は、３ＤＣＡＤモデル情報取得部１１１で実行される。この３ＤＣＡＤモデルの情報取得処理では、３ＤＣＡＤ装置２００より入手した３ＤＣＡＤデータ（評価対象モデル：組立品）を読み込み、組立品の部品構成、各部品の配置、モデル名や寸法、部品中心位置や部品重心位置などの部品属性、部品間の隣接関係の情報を取得して、図３に示す形式の３ＤＣＡＤモデル情報１３１を作成して記憶部１３０に格納する。なお、このファイルは、分類、項目を要素、属性の名称として定義したＸＭＬ形式で出力するとよい。
【００２４】
図３は、記憶部１３０に格納された３ＤＣＡＤモデル情報１３１のテーブルの一例を示す図である。この３ＤＣＡＤモデル情報１３１のテーブルは、分類、項目、データの各欄を有する。分類には、部品属性、形状特徴、部品配置、部品構成、部品間隣接関係などがあり、それぞれに各項目がある。なお、図３では、省略している項目もある。
分類の欄の部品属性や形状特徴とは、部品ＩＤ、階層番号、モデル名、部品図番、部品タイトル、部品の体積、表面積、材質、比重、質量、最大長、重心、バウンディングボックス（部品を外包する境界となる直方体の８頂点の座標）、主慣性モーメント、慣性主軸、などが抽出される。
部品配置とは、ワールド座標系に配置されたアセンブリモデル上での各部品の位置および姿勢であり、各部品のパート座標系のＸ、Ｙ、Ｚの３軸と部品原点から構成する。部品構成とは、３ＤＣＡＤモデルの部組品と部品との親子関係を示す情報であり、そのデータ項目としては、親部品ＩＤ、子部品ＩＤ、サブアセンブリを示すフラグ、対象外を示すフラグ（３ＤＣＡＤモデル上では非表示や抑制を示す情報）がある。
【００２５】
部品間隣接関係とは、アセンブリモデルをモデリングする際に設定するアセンブリ拘束情報であり、拘束要素種別、拘束要素を含む部品ＩＤ、拘束された部品ＩＤ（被拘束部品ＩＤ）、拘束面を表す拘束面法線、拘束面原点から構成する。また、アセンブリ拘束情報は、モデリングする際に設計者が設定した情報だけではなく、アセンブリモデルをもとに部品と部品のクリアランス解析によって取得する方式がよい。
【００２６】
ここで、クリアランス解析の一方式としては、設定した閾値をもとにモデリングされた部品の各面からクリアランス距離内にある別のモデルを探索し、探索の結果、得られた隣接部品の面（平面、円筒面、円錐面など）の位置、姿勢の情報を作成する方式が挙げられる。なお、アセンブリ拘束とクリアランス解析の情報で得た拘束面情報は、平面の場合は、そのモデルの外側に向いた拘束面法線ベクトルと面上の点を拘束面原点に取得し、円筒面の場合は、その円筒の軸方向を拘束面法線ベクトルとして軸上の点を拘束面原点とする。なお、図２のフローチャートには、３ＤＣＡＤモデルのモデリング操作および解析対象としたモデルを指定する操作は省略した。
【００２７】
（３）部品種別の分類処理
図２のステップＳ２０の部品種別の分類処理は、部品種別分類部１１２で実行される。この部品種別の分類処理では、記憶部１３０の部品種別情報１３２を読み込み、指定されたモデル名の条件（例：先頭文字が指定された文字列など）や指定された部品寸法（例：指定された寸法以下など）にて、ステップＳ１０で取得した３ＤＣＡＤモデル情報１３１に格納された各構成部品の部品種別を判定する。 
図４は、記憶部１３０に格納された部品種別情報１３２のテーブルの一例を示す図であり、上記のステップＳ２０の判定で利用する。この部品種別情報１３２のテーブルは、部品種別の名称、締結部品フラグ、３ＤＣＡＤモデルの部品属性の判定条件の各欄を有する。部品種別情報１３２は、部品種別を引き当てるための情報として３ＤＣＡＤの部品属性（モデル名、部品図番、部品名のタイトル）と３ＤＣＡＤの形状特徴(寸法条件など)の判定条件の項目を持ち、各行ごとの引き当て条件である部品種別名称で識別する構成とする。締結部品フラグは、締結部品である場合は１、被締結部品である場合は０を入力する。
なお、図４の例では、各行の引き当て条件において、空白以外の項目を条件として検索する。ここで、部品図番、部品名のタイトルは、３ＤＣＡＤのパートモデルあるいはアセンブリモデルにユーザが任意に定義したテキスト情報である。また、３ＤＣＡＤモデル名、部品名のタイトルなどの文字列の部品属性においては、すべての文字列の完全一致だけではなく、部分一致で引き当てる場合もある。そこで、任意の文字を示すワイルドカード文字（＊など）を含む文字列を格納する。なお、文字列条件カラムを追加して、完全一致、前方一致、後方一致などの条件を定義してもよい。また、形状特徴としては、寸法条件の例のほか、パートモデルにおけるバウンディングボックス頂点、重心、主慣性モーメントなど、３ＤＣＡＤモデルを計算することで取得できる質量特性を格納してもよい。また、数値での判定においては、等しい、以下、より大きいなどの範囲を示す条件とし、またこれら条件のＡＮＤおよびＯＲ条件にて設定可能とする。抽出した部品種別情報は、記憶部１３０に格納された３ＤＣＡＤモデル情報１３１の部品属性の部品種別名称に格納される。
【００２８】
（４）ユニット構成抽出処理
図２のステップＳ３０のユニット構成抽出処理は、ユニット構成抽出部１１３で実行される。図５にユニット構成表の一例を示す。ユニット構成表は、ユニットＩＤ欄と構成部品欄からなり、構成部品には一つの被締結部品と締結部品とが含まれる。ユニット構成抽出処理では、記憶部１３０の部品種別情報１３２の締結部品フラグを参照して、締結部品と被締結部品に分類する方法や、部品種別の分類処理Ｓ２０で抽出した部品種別情報１３２を参照する方法を用いることができる。
【００２９】
まず、ユニット構成表のユニットＩＤを被締結部品数分採番し、ユニットＩＤ一つに、被締結部品一つを関連付けて、被締結部品の部品ＩＤを格納する。次に、締結部品が連結する被締結部品を抽出し、抽出した被締結部品と関連付けられているユニットＩＤと関連付けて締結部品の部品ＩＤを格納する。締結部品が連結する被締結部品の特定方法は、例えば、締結部品と被締結部品は接触関係にあることから、ネジ頭からネジ軸方向に３Ｄモデル上で光線を走査して、その光線がはじめに交差した面を検出し、その面情報として被締結部品の部品ＩＤを取得することができる。また、記憶部１３０の３ＤＣＡＤモデル情報１３１の部品間隣接関係を用いても、締結部品が連結する被締結部品を特定し、その部品ＩＤを取得することもできる。
【００３０】
（５）結合優先関係表の生成処理
図２のステップＳ４０の結合優先関係表の生成処理は、結合優先関係生成部１１４で実行される。結合優先関係表１３５の一例を図７に示す。結合優先関係表１３５は、評価対象モデル(組立品)を構成する各ユニットに、分解動作をさせたときに干渉する対象のユニットIDを関連付けた表である。
【００３１】
各ユニットの分解動作は、評価対象モデル(組立品)を構成する任意の一つのユニットを分解動作させることを検証するものであるため、内部のユニットを分解させようとするならば、外周部のユニットとの干渉が発生して、分解動作が出来ないことを判定する。
各ユニットの分解動作方向は、例えば特許文献２に開示される方法により、分解順序ｉ(ここではｉ=1である。)の対象ユニットＵ(i)について近接ユニットの平面との干渉をチェックする前の分解運動ベクトル集合ｖ(i)の候補を算出する。
【００３２】
分解順序ｉの対象ユニットＵ(i)と、近接ユニットの平面との干渉の有無は、例えば、対象ユニットＵ(i)の各構成部品の外包直方体（バウンディングボックス）の頂点から分解移動方向ｖ(i)に光線を走査して、その光線が交差した面を検出し、その面情報を干渉対象ユニットとして、そのユニットＩＤとその面までの距離を取得する方法がある。本処理は、３ＤＣＡＤのＡＰＩ（Application Programming Interface）の光線トレースやレイトレーシングというコマンドを利用するとよい。光線の発光開始点と方向を指定することで、交差した面情報とその面までの距離を取得することができる。
【００３３】
また、分解運動ベクトルｖ(i)と垂直な面に全部品を投影し、移動させようとしているユニットと重なるユニットを抽出する方法でも干渉の有無を確認できる。その他、分解移動方向に移動させるときの干渉の有無を評価する方法は、一般的な技術を用いることができる。
【００３４】
以上の結合優先関係表の生成処理(ステップＳ４０)により、評価対象モデル(組立品)の全ての構成ユニットを単一にそれぞれ分解動作をさせようとした時に、干渉するユニットをリストアップして対応させた表が結合優先関係表１３５である。
【００３５】
（６）部品属性考慮分解順序生成処理
図２のステップＳ５０の部品属性考慮分解順序生成処理は、部品属性考慮分解順序生成部１１５で実行される。図９〜図１５を用いて部品属性考慮分解順序生成部１１５で実行される手順を示す。本実施例は、２本腕を装着するロボットを想定したアルゴリズムを記述しているが、腕の本数は1本または３本以上と、２本に限定されるものではなく、ＸＹＺの駆動軸を持つ機械などロボットに限定されるものではない。また、本実施例では一方の腕を締結部品用、もう一方を被締結部品用という前提でフローチャートを記述しているが、これに限定されるものではない。
【００３６】
図９は、組立順序生成装置１００の部品属性考慮分解順序生成部１１５において、分解順序を生成する手順の一例を説明するフローチャートである。まず、分解順序iを１に初期化するステップＳ１０１を実施し、ハンド同時選択Ｓ１０２(詳細を後述する。)を実施する。図６に、記憶部１３０のハンド対応表１３７に格納されている情報の一例を示す。ハンド対応表には、ハンドＩＤとそのハンドを使用する部品種別名称が関連付けて格納されている。
ステップＳ１０３で分解順序ｉが最終順番(評価対象モデルから作成した結合優先関係表に記録されたユニット総数)を超えていなければ、ステップＳ１０４を実行し、超えていれば、ステップＳ１０８を実行する。
ステップＳ１０４では、分解優先ユニット・ハンド選択処理(詳細を後述する。)を実行して、次に分解すべきユニットの選択、及びハンド交換の決定を行う。
ステップＳ１０５で、前記ステップＳ１０４で選択したユニットの分解順序をiに設定する。
ステップＳ１０６で、結合優先関係表１３５から選択したユニット情報を削除する。
ステップＳ１０７において、次の分解順序であるｉ＋１に処理を進めて、ステップＳ１０３に戻る。
ステップＳ１０３で、分解順序ｉが最終順番を超えている場合は、ステップＳ１０８を実行する。ステップＳ１０８では、図８に示すように、導出した全てのユニットの分解順序データを導出する。
【００３７】
（７）ハンド同時選択処理
図９のステップＳ１０２のハンド同時選択処理の詳細について、生成手順の一例を説明するフローチャートを図１０に示す。本フローチャートは、締結部品の把持で使用するハンドの交換頻度を少なくすることを優先したフローチャートの一例を示している。
まず、ステップＳ２０１で部品種別毎のカウンタを０に初期化し、ステップＳ２０２でユニット番号ｍを１に初期化する。
次に、ステップＳ２０３で、ユニット番号ｍが結合優先関係表１３５に登録されているユニット総数より大きい場合は、ステップＳ２０９を実行し、そうでない場合はステップＳ２０４を実行する。
【００３８】
ステップＳ２０４では、結合優先関係表１３５を参照し、ユニット番号ｍのユニットに干渉するユニットが存在しない場合はステップＳ２０５を実行し、存在する場合はステップＳ２０８を実行する。ユニット番号ｍのユニットと干渉するユニットが存在するかどうかは、結合優先関係表１３５で、干渉ユニットＩＤが空欄であれば、干渉するユニットが存在せず、ユニットＩＤが格納されていれば、干渉ユニットが存在することが分かる。
次に、ステップＳ２０５でユニット構成表１３６を参照し、ユニット番号ｍを連結する締結部品ＩＤを取得する。
次に、ステップＳ２０６では、取得した締結部品ＩＤの部品種別名称を３ＤＣＡＤモデル情報１３１を参照して取得し、ステップＳ２０７でその部品種別名称のカウンタに１を加算する。
次に、ステップＳ２０８により次のユニット番号であるｍ＋１に処理を進めて、ステップＳ２０３に戻る。
【００３９】
ステップＳ２０３において、ユニット番号ｍが結合優先関係表１３５に登録されているユニット数より大きい場合は、ステップＳ２０９を実行する。
ステップＳ２０９では、集計したカウンタ数が最も多かった部品種別名称を選択し、変数ｐ２に格納した後、ステップＳ２１０で選択した部品種別名称(ｐ２)に対応するハンドＩＤを、ハンド対応表１３７を参照して取得し、ハンド番号ｈ２に格納する。
【００４０】
次に、ステップＳ２１１で、部品種別毎のカウンタを０に初期化後、ステップＳ２１２でユニット番号ｍを１に初期化する。
次に、ステップＳ２１３で、ユニット番号ｍが結合優先関係表１３５に登録されているユニット総数より大きい場合は、ステップＳ２１９を実行し、そうでない場合はステップＳ２１４を実行する。
ステップＳ２１４では、ユニット番号ｍに干渉するユニットがなく、かつ、ユニット構成表１３６からユニット番号ｍに含まれる締結部品名称にｐ２と同じ締結部品が存在する場合には、ステップＳ２１５を実行し、そうでない場合は、ステップＳ２１８を実行する。
【００４１】
ステップＳ２１５では、ユニット構成表１３６からユニット番号ｍに含まれる被締結部品ＩＤを取得し、ステップＳ２１６では、取得した被締結部品ＩＤの部品種別名称を３ＤＣＡＤモデル情報１３１から取得する。
次に、ステップ２１７で、取得した被締結部品種別名称のカウンタに１を加算する。次に、ステップＳ２１８により次のユニット番号であるｍ＋１に処理を進めて、ステップＳ２１３に戻る。
【００４２】
ステップＳ２１３において、ユニット番号ｍが結合優先関係表１３５に登録されているユニット数より大きい場合は、ステップＳ２１９を実行する。
ステップＳ２１９では、集計したカウンタ数が最も多かった部品種別名称を選択して、変数ｐ１に格納した後、ステップＳ２２０で選択した部品種別名称(ｐ１)に対応するハンドＩＤをハンド対応表１３７を参照して取得し、ハンド番号ｈ１に格納する。
【００４３】
ハンド同時選択処理の詳細について、生成手順の一例を説明する別のフローチャートを図１１に示す。本フローチャートは、被締結部品の把持で使用するハンドの交換頻度を少なくすることを優先した例を示している。
【００４４】
また、被締結部品と締結部品を把持するハンドの交換頻度の合計を少なくする例を説明する別のフローチャートを図１２に示す。
まず、ステップＳ４０１で部品種別毎のカウンタを０に初期化し、ステップＳ４０２でユニット番号ｍを１に初期化する。
次に、ステップＳ４０３で、ユニット番号ｍが結合優先関係表１３５に登録されているユニット数より大きい場合は、ステップＳ４１０を実行し、そうでない場合はステップＳ４０４を実行する。
ステップ４０４では、ユニット番号ｍと干渉するユニットが存在しない場合にはステップＳ４０５を実行し、存在する場合はステップＳ４０９を実行する。
【００４５】
ステップＳ４０５では、ユニット番号ｍに含まれる被締結部品ＩＤと締結部品ＩＤをユニット構成表１３６を参照して取得する。
次に、ステップＳ４０６で、取得した被締結部品ＩＤの部品種別名称を３ＤＣＡＤモデル情報１３１から取得し、部品種別名称ｐ１に格納する。
次に、ステップＳ４０７で、取得した締結部品ＩＤの部品種別名称を３ＤＣＡＤモデル情報１３１から取得し、部品種別名称ｐ２に格納する。
次に、ステップＳ４０８で、二次元配列（ｐ１，ｐ２）のカウンタに１を加算する。次に、ステップＳ４０９により次のユニット番号であるｍ＋１に処理を進めて、ステップＳ４０３に戻る。
【００４６】
ステップＳ４０３において、ユニット番号ｍが結合優先関係表１３５に登録されているユニット数より大きい場合は、ステップＳ４１０を実行する。
ステップＳ４１０では、集計したカウンタ数が最も多かった部品種別名称（ｐ１，ｐ２）を選択した後、ステップＳ４１１で、選択した部品種別名称ｐ１に対応するハンドＩＤをハンド対応表１３７を参照して取得し、ハンド番号ｈ１に格納する。
次に、ステップＳ４１２で、選択した部品種別名称ｐ２に対応するハンドＩＤをハンド対応表１３７を参照して取得し、ハンド番号ｈ２に格納する。
【００４７】
（８）分解優先ユニット・ハンド選択処理
図９のステップＳ１０４で実行する分解優先ユニット・ハンド選択処理の詳細について説明するフローチャートの一例を図１３に示す。
ステップＳ５０１で、ユニット番号ｍを１に初期化する。
次に、ステップＳ５２３で、分解順序候補リストをクリアする。
次に、ステップ５０２で、ユニット番号ｍが結合優先関係表１３５に登録されているユニット総数より大きい場合はステップ５２２を実行し、そうでない場合はステップＳ５０３を実行する。
【００４８】
ステップＳ５０３では、ユニット番号ｍと干渉するユニットが無く、かつ、ユニット番号ｍがハンド番号ｈ１を使用する被締結部品を含み、かつ、ユニット番号ｍがハンド番号ｈ２を使用する締結部品を含む場合は、ステップＳ５２１により、候補リストにユニット番号ｍを格納する。そうでない場合は、ステップＳ５０５により次のユニット番号であるｍ＋１に処理を進めて、ステップＳ５０２に戻る。
【００４９】
ステップＳ５０２において、ユニット番号ｍが結合優先関係表１３５に登録されているユニット数より大きい場合は、ステップＳ５２２を実行する。
ステップＳ５２２では、分解順序候補リストにユニット番号が一つ以上格納されている場合にはステップＳ５０４を実行し、格納されていない場合はステップＳ５０６を実行する。
ステップＳ５０４では、分解順序候補リストに格納されているユニット番号の中から、記憶部１３０に格納されている分解順序条件１３４に従って、分解優先ユニットを一つ選択する。
分解順序条件１３４には、例えば、「上方向に配置された部品を優先する」、「左に配置された部品を優先する」、「奥に配置された部品を優先する」、「被締結部品を把持するハンドを装着した腕に近い部品を優先する」といった分解順序を決定するための条件ルールを予め定義しておき、その分解順序条件に基づいて分解優先ユニットを一つ選択する。
【００５０】
ステップＳ５２２において、候補リストにユニット番号が格納されていない場合は、ステップＳ５０６を実行する。ステップＳ５０６では、干渉ユニットがなく、かつ、ハンド番号ｈ１を使用する被締結部品を含むユニットが存在する場合は、ステップＳ５０７でハンド番号ｈ２選択を実施し、存在しない場合は、ステップＳ５０８を実行する。
ステップＳ５０８では、干渉ユニットがなく、かつ、ハンド番号ｈ２を使用する締結部品を含むユニットが存在する場合は、ステップＳ５０９でハンド番号ｈ１選択を実施し、存在しない場合は、ステップＳ５１０でハンド同時選択を実行する。
ステップＳ５０７、ステップＳ５０９、又はステップＳ５１０を実行後、ステップＳ５０１に戻る。
【００５１】
（９）ハンド番号ｈ１，ｈ２選択処理
図１３のハンド番号ｈ２選択処理の詳細について説明するフローチャートの一例を、図１４を用いて説明する。
まず、ステップＳ６０１で部品種別毎のカウンタを０に初期化し、ステップＳ６０２でユニット番号ｍを１に初期化する。
次に、ステップＳ６０３で、ユニット番号ｍが結合優先関係表１３５に登録されているユニット総数より大きい場合はステップＳ６０９を実行し、そうでない場合はステップＳ６０４を実行する。
【００５２】
ステップＳ６０４では、結合優先関係表１３５を参照し、ユニット番号ｍのユニットに干渉するユニットが存在しない場合はステップＳ６０５を実行し、存在する場合はステップＳ６０８を実行する。
次に、ステップＳ６０５でユニット構成表１３６を参照し、ユニット番号ｍを連結する締結部品の部品ＩＤを取得する。
次に、ステップＳ６０６では、取得した締結部品ＩＤの部品種別名称を３ＤＣＡＤモデル情報１３１を参照して取得して締結部品種別名称ｐ２に格納後、ステップＳ６０７でその部品種別名称のカウンタに１を加算する。
次に、ステップＳ６０８により次のユニット番号であるｍ＋１に処理を進めて、ステップＳ６０３に戻る。
【００５３】
ステップＳ６０３において、ユニット番号ｍが結合優先関係表１３５に登録されているユニット数より大きい場合は、ステップＳ６０９を実行する。ステップＳ６０９では、集計したカウンタ数が最も多かった部品種別名称を選択して、ｐ２に格納した後、ステップＳ６１０で選択した部品種別名称に対応するハンドＩＤをハンド対応表１３７を参照して取得し、ハンド番号ｈ２に格納する。
【００５４】
ハンド番号ｈ１選択処理の詳細について説明するフローチャートの一例を、図１５に示す。ハンド番号ｈ２選択処理と同様に、本フローチャートにより、ハンド番号ｈ１を選択することができる。
【００５５】
（１０）組立順序生成処理
図２のステップＳ６０の組立順序生成処理は、組立順序生成部１１６で実行される。ステップＳ６０の組立順序生成処理は、ステップＳ５０の部品属性考慮分解順序生成処理で生成した分解順序データ(図８参照)を、逆順にすることで、組立順序を生成する。生成した組立順序は、組立順序データ１３８に格納される。
【００５６】
（１１）ユニット分解・組立順序再生成処理
図２のステップＳ７０のユニット分解・組立順序再生成処理は、ユニット分解・組立順序再生成部１１７で実行される。ステップＳ７０のユニット分解・組立順序再生成処理は、ステップＳ６０の組立順序生成処理で生成したユニット単位の組立順序から、ユニットを被締結部品と締結部品に分解し、ユニット毎に、被締結部品、締結部品の順に組み立てるよう、組立順序を再生成する。
【００５７】
（１２）組立順序生成例
図１６(a)に組立順序生成手順を説明する組立品の概要図を示す。ベース部品であるｕｎｉｔ１の上に部品を積み重ねた構造となっており、ネジ穴を除いた外形が同一形状の被締結部品ｕｎｉｔ２，３，４，５と、別の被締結部品ｕｎｉｔ９、別の被締結部品ｕｎｉｔ６，７、別の被締結部品ｕｎｉｔ８がある。各被締結部品を連結している締結部品は、ｕｎｉｔ２，３はＭ４ネジ４本ずつ、ｕｎｉｔ４，５はＭ３ネジ４本ずつ、ｕｎｉｔ６、９はＭ４ネジ２本、ｕｎｉｔ７はＭ３ネジ２本、ｕｎｉｔ８はＭ４ネジ１本で連結されている。ユニット構成表１３６は図５、結合優先関係表１３５は図１６(b)、ハンド対応表１３７は図６を使用する。本説明では、ねじ締め用工具の交換頻度を優先的に低減するアルゴリズム、すなわち、図９、図１０、図１２〜図１５に示すフローチャートを使用して組立順序を生成する手順について説明する。
【００５８】
まず、初期のハンドを選定するためにステップＳ１０２を実施する。図１６(b)に示すように、干渉がないユニットは干渉ユニットＩＤ欄が空白のユニットであり、ｕｎｉｔ６，７，８，９である。このうち、Ｍ４ネジで締結されている部品は、ｕｎｉｔ６，８，９の３ユニット、Ｍ３ネジで締結されている部品は、ｕｎｉｔ７の１ユニットである。最もカウント数が多くなる部品は、Ｍ４ネジで締結されている部品であり、ｕｎｉｔ６，８，９である。
【００５９】
分解順序条件１３４に、「上の部品を優先的に分解する」：優先度１、「左から右へ分解する」：優先度２、「奥から手前へ分解する」：優先度３と記載されていた場合、上の層にあるｕｎｉｔ６，８を優先する。さらに、ｕｎｉｔ６を分解した結果、ｕｎｉｔ２が分解可能な状態となり、下層のｕｎｉｔ２，９の分解順序を分解順序条件１３４に従うと、ｕｎｉｔ２，９の順に分解順序を決めることができる。ｕｎｉｔ９まで分解した状態の、組立品概要図を図１７(a)、結合優先関係表１３５を図１７(b)、既に分解された順序データが記入された分解順序データを図１７(c)に記載する。ｕｎｉｔ６，８，２，９は既に除去されているため、結合優先関係表１３５からこれらユニットの情報を削除している。
【００６０】
ここで、分解可能であるＭ４ネジを使用するユニットが存在しなくなったので、ネジ用ハンドの交換を検討する。図１７(b)を参照すると、干渉部品がないユニットは、ｕｎｉｔ５と７である。ｕｎｉｔ５，７とも、締結部品はＭ３ネジであり、どちらも分解候補ユニットである。分解順序条件１３４に従い、上層の部品を優先して分解すると、まず、ｕｎｉｔ７を分解する順序となる。ｕｎｉｔ７を分解した段階で、Ｍ３ネジで締結されているｕｎｉｔ４も分解可能な状態になる。そこで、次に分解順序条件１３４に従い、ｕｎｉｔ４、ｕｎｉｔ５の順に分解する。
【００６１】
ｕｎｉｔ５を分解した状態を図１８(a)に示す。干渉がないユニットはｕｎｉｔ３のみであるため、Ｍ４用ハンドに交換し、ｕｎｉｔ３を分解後、ベースであるｕｎｉｔ１を分解して、分解順序生成を終了する。
【００６２】
次に、図２のステップＳ６０を実行して、分解順序を逆にして、ユニット単位の組立順序とする。さらに、ステップ７０を実行して、ユニットを被締結部品と締結部品に分解後、ユニット単位の組立順序を、各ユニットを被締結部品、締結部品の順に部品を組み立てるよう詳細な組立順序を再生成する。
生成した組立順序とハンド交換順序の例を図１９に示す。本例では、ベース部品であるｐａｒｔ１は、あらかじめ治具に固定されて供給されているとした。ハンド交換回数は、６回であった。
【００６３】
図２０は、分解順序条件１３４とハンド交換条件１３９を入力する入力画面１００１の一例を示す概略図である。本画面は、表示部１５０に表示され、入力部１４０で操作することにより、入力することができる。入力画面１００１には、表示項目１００２が表示され、リストから選択することで、優先順位を決定することができる。決定ボタン１００４を押下することで、選択したデータが記憶部１３０に格納される。
【００６４】
図２１は、格納される分解順序条件１３４とハンド交換条件１３９の格納データ情報の一例である。データ情報として、例えば、ライブラリ番号１１０１とライブラリ第一項目１１０２、ライブラリ第二項目１１０３が含まれる。ライブラリ第一項目として、分解順序条件１３４を入力し、ライブラリ第二項目として、ハンド交換条件１３９を入力する。
【００６５】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、様々な変形例が含まれ、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。例えば、上記した実施の形態は、本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施の形態、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００６６】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【符号の説明】
【００６７】
１００  組立順序生成装置
１１０  制御部
１１１  ３ＤＣＡＤモデル情報取得部
１１２  部品種別分類部
１１３  ユニット構成抽出部
１１４  結合優先関係生成部
１１５  部品属性考慮分解順序生成部
１１６  組立順序生成部
１１７  ユニット分解・組立順序再生成部
１３０  記憶部
１３１  ３ＤＣＡＤモデル情報
１３２  部品種別情報
１３３  解析計算プログラム・計算条件
１３４  分解順序条件
１３５  結合優先関係表
１３６  ユニット構成表
１３７  ハンド対応表
１３８  組立順序データ
１３９  ハンド交換条件
１４０  入力部
１５０  表示部
１６０  通信部
２００  ３ＤＣＡＤ装置
２１０  ネットワーク
１００１  入力画面
１００２  表示項目
１００４  決定ボタン
１１０１  ライブラリ番号
１１０２  ライブラリ第一項目
１１０３  ライブラリ第二項目
【図１】
2015153237.tif 000003
【図２】
2015153237.tif 000004
【図３】
2015153237.tif 000005
【図４】
2015153237.tif 000006
【図５】
2015153237.tif 000007
【図６】
2015153237.tif 000008
【図７】
2015153237.tif 000009
【図８】
2015153237.tif 000010
【図９】
2015153237.tif 000011
【図１０】
2015153237.tif 000012
【図１１】
2015153237.tif 000013
【図１２】
2015153237.tif 000014
【図１３】
2015153237.tif 000015
【図１４】
2015153237.tif 000016
【図１５】
2015153237.tif 000017
【図１６】
2015153237.tif 000018
【図１７】
2015153237.tif 000019
【図１８】
2015153237.tif 000020
【図１９】
2015153237.tif 000021
【図２０】
2015153237.tif 000022
【図２１】
2015153237.tif 000023