(57)【要約】  より適切な組立順序を生成することができる。  組立品の組立順序を生成する組立順序生成装置であって、演算部を備え、前記演算部は、組立品の中から分解可能な構成部品を特定し、分解可能な前記構成部品をノードとして、幾何学的拘束関係にある該ノード間にエッジを張り、前記ノードおよび前記エッジの各々に評価値を付与した分解グラフを生成し、前記分解グラフを用いて組立品の分解順序を決定し、該分解順序に基づいて組立順序を生成する。
2015177855.tif 000002
【特許請求の範囲】
【請求項１】
組立品の組立順序を生成する組立順序生成装置であって、
演算部を備え、
前記演算部は、
組立品の中から分解可能な構成部品を特定し、
分解可能な前記構成部品をノードとして、幾何学的拘束関係にある該ノード間にエッジを張り、
前記ノードおよび前記エッジの各々に評価値を付与した分解グラフを生成し、
前記分解グラフを用いて組立品の分解順序を決定し、該分解順序に基づいて組立順序を生成する
ことを特徴とする組立順序生成装置。
【請求項２】
請求項１に記載の組立順序生成装置であって、
所定の評価要素ごとにパラメータ値が設定された設定パラメータ情報が格納された記憶部をさらに備え、
前記演算部は、
前記設定パラメータ情報のパラメータ値を用いて、前記ノードの評価値を算出する
ことを特徴とする組立順序生成装置。
【請求項３】
請求項１に記載の組立順序生成装置であって、
前記エッジの評価値は、
前記エッジが張られたノード間のエッジ数である
ことを特徴とする組立順序生成装置。
【請求項４】
請求項１に記載の組立順序生成装置であって、
前記演算部は、
前記ノードおよび前記エッジの評価値を用いて、ダイクストラ法により、前記組立品の分解順序を探索する
ことを特徴とする組立順序生成装置。
【請求項５】
請求項１に記載の組立順序生成装置であって、
前記演算部は、
分解可能な前記構成部品を取り外した組立品から再度、分解可能な構成部品を特定し、特定した該構成部品をノードとして、幾何学的拘束関係にある該ノード間にエッジを張り、該ノードおよび該エッジの評価値を付与した分解グラフを再度生成し直し、該分解グラフを用いて組立品の分解順序を決定する
ことを特徴とする組立順序生成装置。
【請求項６】
請求項１に記載の組立順序生成装置であって、
前記演算部は、
組立品の構成部品の分解ベクトルを算出し、
前記分解ベクトルの軸上の所定位置に仮想のカメラ視点を置いて描画した前記構成部品の形状と、
前記分解ベクトルの軸上であって、前記分解ベクトルの長さだけ前記構成部品から離れた距離に前記カメラ視点を置いて描画した前記構成部品の形状と、を比較し、
前記２つの形状が一致する場合、前記構成部品を分解可能であると判定する
ことを特徴とする組立順序生成装置。
【請求項７】
請求項１に記載の組立順序生成装置であって、
前記演算部は、
組立順序および分解順序を示すアニメーション情報を生成する
ことを特徴とする組立順序生成装置。
【請求項８】
コンピュータが実行する組立品の組立順序生成方法であって、
前記コンピュータは、
組立品の中から分解可能な構成部品を特定するステップと、
分解可能な前記構成部品をノードとして、幾何学的拘束関係にある該ノード間にエッジを張るステップと、
前記ノードおよび前記エッジの各々に評価値を付与した分解グラフを生成するステップと、
前記分解グラフを用いて組立品の分解順序を決定し、該分解順序に基づいて組立順序を生成するステップと、を実行する
ことを特徴とする組立順序生成方法。
【請求項９】
コンピュータを、組立品の組立順序を生成する装置として機能させる組立順序生成プログラムであって、
前記コンピュータを、
組立品の中から分解可能な構成部品を特定し、
分解可能な前記構成部品をノードとして、幾何学的拘束関係にある該ノード間にエッジを張り、
前記ノードおよび前記エッジの各々に評価値を付与した分解グラフを生成し、
前記分解グラフを用いて組立品の分解順序を決定し、該分解順序に基づいて組立順序を生成する演算部として機能させる
ことを特徴とする組立順序生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組立順序生成装置、組立順序生成方法および組立順序生成プログラムに関する。
【背景技術】
【０００２】
特許文献１には、複数の部品のそれぞれの配置と他の部品との近接関係の情報をＣＡＤから取得する部品配置・近接関係取得部と、複数の部品の組立単位を設定する組立単位設定部と、部品配置・近接関係取得部で取得した部品配置、部品近接関係と組立関係取得部で設定した組立単位とから、複数の部品の組立シーケンスを近接する部品と干渉しないようにして生成する組立シーケンス生成部と、組立シーケンス生成部で生成した組立シーケンスから複数の部品の組立の動作とこの組立の動作を観察するカメラ視点とを生成する組立アニメ生成部とを備えた組立シーケンス生成システムが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１４５６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の組立シーケンス生成システムは、予め定めたルールに従った順番で部品を分解していく。そのため、途中で部品を分解できない場合が生じる。また、そのような場合には、分解する部品を異なる部品と入れ替えて組立順序を生成し直す必要が生じる。また、同文献の組立シーケンス生成システムでは、接触している部品を考慮して分解運動を算出しているが、非接触の部品との間で干渉が生じるかどうかは考慮していない。【０００５】
そこで、本発明は、より確実に組立順序を生成することができる組立順序生成装置の提供を目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係る組立順序生成装置は、組立品の組立順序を生成する組立順序生成装置であって、演算部を備え、前記演算部は、組立品の中から分解可能な構成部品を特定し、分解可能な前記構成部品をノードとして、幾何学的拘束関係にある該ノード間にエッジを張り、前記ノードおよび前記エッジの各々に評価値を付与した分解グラフを生成し、前記分解グラフを用いて組立品の分解順序を決定し、該分解順序に基づいて組立順序を生成する。
【発明の効果】
【０００７】
本発明に係る組立順序生成装置によれば、より適切な組立順序を生成することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る組立順序生成装置の機能構成の一例を示した機能ブロック図である。
【図２】図２（ａ）は、組立品および構成部品の一例を示した図である。図２（ｂ）は、描画した２つの構成部品の形状を示した図である。
【図３】図３（ａ）は、組立品および構成部品の他の例を示した図である。図３（ｂ）は、図３（ａ）に示すネジの分解ベクトル軸上の異なる位置から描画した２つの構成部品の形状を示した図である。
【図４】本発明の一実施形態に係る設定パラメータ情報の一例を示した図である。
【図５】本発明の一実施形態に係る組立順序生成装置のハードウェア構成の一例を示した図である。
【図６】本発明の一実施形態に係る組立順序生成処理の流れを示したフロー図である。
【図７】本発明の一実施形態に係る組立順序生成処理の対象となる組立品の一例を示した図である。
【図８】図７に示す組立品の隣接グラフを示した図である。
【図９】本発明の一実施形態に係る評価値情報の一例を示した図である。
【図１０】図１０（ａ）は、分解グラフの一例を示した図である。図１０（ｂ）は、選択された起点ノードとの間の評価値が付与された分解グラフを示した図である。
【図１１】本発明の一実施形態に係る隣接グラフ（分解順序が決定したノードを取り除いた組立品の隣接グラフ）の一例を示した図である。
【図１２】図１２（ａ）は、図１１の隣接グラフに基づいて生成された分解グラフの一例を示した図である。図１２（ｂ）は、組立順序情報の一例を示した図である。
【発明を実施するための形態】
【０００９】
以下、本発明の一実施形態に係る組立順序生成装置について説明する。
【００１０】
図１は、本実施形態に係る組立順序生成装置１００の機能構成の一例を示した機能ブロック図である。組立順序生成装置１００は、組立品および構成部品の３次元形状を示す組立品モデル情報１５０を用いて組立品の分解順序を求め、かかる分解順序から組立順序を生成する。
【００１１】
図１に示すように、組立順序生成装置１００は、演算部１０１と、記憶部１０２と、表示部１０３とを有している。また、演算部１０１は、入力受付部１１１と、分解可能部品特定部１１２と、隣接グラフ生成部１１３と、分解グラフ生成部１１４と、分解順序生成部１１５と、組立順序生成部１１６と、アニメーション情報生成部１１７と、ノード評価部１１８とを有している。
【００１２】
入力受付部１１１は、組立順序生成装置１００のユーザから様々な指示入力を受け付ける機能部である。具体的には、入力受付部１１１は、組立順序の生成指示やパラメータ値の入力をユーザから受け付ける。また、入力受付部１１１は、受け付けた指示などを対応する機能部に受け渡す。
【００１３】
分解可能部品特定部１１２は、分解可能な構成部品を特定する機能部である。具体的には、分解可能部品特定部１１２は、構成部品の隣接する２面間の幾何学的拘束関係を特定し、構成部品の分解できる方向および分解に必要な構成部品の移動長さを示す分解ベクトルを算出する。また、分解可能部品特定部１１２は、算出した分解ベクトルの軸上に仮想のカメラ視点を置き、幾何学的拘束関係にない非接触の構成部品と干渉するか否かを判定することにより、分解可能部品を特定する。なお、分解ベクトルの算出方法については、公知の技術（例えば、特開２０１２−１４５６９号公報には、互いに接している物の移動可能方向から分解ベクトルを求めることが記載されている）が用いられれば良い。
【００１４】
図２（ａ）は、組立品および構成部品の一例を示した図である。分解可能部品特定部１１２は、組立品モデル情報１５０を用いて組立品および構成部品の３次元形状を特定し、構成部品同士の幾何学的拘束関係を特定する。同図に示す組立品の場合、分解可能部品特定部１１２は、ネジ先端（ネジ頭）の底面が部品Ａと平面拘束関係にあり、ネジの軸が部品Ａと円筒拘束関係にあることを特定する。また、分解可能部品特定部１１２は、これらの拘束関係から、構成部品（図２（ａ）の場合にはネジ）の分解ベクトルを算出する。なお、分解可能部品特定部１１２は、質量またはサイズの小さい方の構成部品を特定し、かかる構成部品の分解ベクトルを求めれば良い。
【００１５】
また、分解可能部品特定部１１２は、分解する構成部品の分解ベクトル軸上の所定位置（ネジからの距離＜ベクトル長さｄ）に仮想のカメラ視点を置き、構成部品の画像（図２では、ネジ頭の平面全体）を描画する。また、分解可能部品特定部１１２は、分解ベクトルの軸上であって、かつ、構成部品からベクトル長さｄだけ離した位置にカメラ視点を移動し、描画した構成部品の大きさが同じになる倍率で構成部品（ネジ）の画像を描画する。また、分解可能部品特定部１１２は、描画した２つの形状を比較し、両者が一致する場合には、かかる構成部品が分解可能であると判定する。図２（ｂ）は、描画した２つの構成部品の形状を示した図である。この場合、両者の形状が一致するため、分解可能部品特定部１１２は、ネジが分解可能部品であると判定する。
【００１６】
図３（ａ）は、組立品および構成部品の他の例を示した図である。また、図３（ｂ）は、図３（ａ）に示すネジの分解ベクトル軸上の異なる位置から描画した２つの構成部品の形状を示した図である。図示するように、構成部品から分解ベクトルのベクトル長さｄだけ離した位置から描画したネジの形状は部品Ｂの一部に遮られており、分解ベクトル軸上の所定位置（ネジからの距離＜ベクトル長さｄ）から描画した形状と一致しない。この場合、分解可能部品特定部１１２は、ネジが分解可能部品であると判定しない。
【００１７】
なお、分解可能部品特定部１１２は、描画した構成部品の形状比較ではなく、描画した構成部品の２つの画像各々に単色で着色し、そのピクセル値を比較することにより、分解時に非接触部品と干渉するか否かを判定するようにしても良い。
【００１８】
図１に戻って説明する。隣接グラフ生成部１１３は、隣接グラフを生成する機能部である。具体的には、隣接グラフ生成部１１３は、構成部品をノードとし、幾何学的拘束関係にある構成部品のノード間にエッジを張った隣接グラフを生成する。また、隣接グラフ生成部１１３は、最初に分解可能と判定された構成部品を起点ノードとして特定する。なお、隣接グラフの詳細は後述する。
【００１９】
分解グラフ生成部１１４は、分解グラフを生成する機能部である。具体的には、分解グラフ生成部１１４は、複数ある構成部品のうち、分解可能な構成部品をノード（起点ノードを含む）とし、ノード間に張ったエッジに評価値を付与した分解グラフを生成する。なお、分解グラフの詳細については後述する。
【００２０】
分解順序生成部１１５は、構成部品の分解順序を生成する機能部である。具体的には、分解順序生成部１１５は、分解グラフのノードおよびエッジの評価値を用いて、所定の方法（例えば、ダイクストラ法など）により構成部品の分解順序を探索する。また、分解順序生成部１１５は、起点ノード全てについて分解順序を探索し、探索結果に基づいて分解順序を生成する。
【００２１】
組立順序生成部１１６は、構成部品の組立順序を生成する機能部である。具体的には、組立順序生成部１１６は、分解順序生成部１１５により生成された構成部品の分解順序を逆の順番に並べ替えることにより組立順序を生成する。
【００２２】
アニメーション情報生成部１１７は、組立アニメーション情報および分解アニメーション情報を生成する機能部である。具体的には、アニメーション情報生成部１１７は、組立順序および分解順序に従って、構成部品を組み立てるアニメーション情報および組立品を分解するアニメーション情報を生成する。
【００２３】
ノード評価部１１８は、ノードの評価値を算出する機能部である。具体的には、ノード評価部１１８は、所定の評価要素と、記憶部１０２に予め格納されている設定パラメータ情報２００とを用いて、各ノードの評価値を算出する。
【００２４】
記憶部１０２は、組立品モデル情報１５０と、設定パラメータ情報２００と、組立順序情報２１０と、分解順序情報２２０とを有している。なお、組立順序情報２１０および分解順序情報２２０は、いずれも演算部１０１により生成され、記憶部１０２に格納される。
【００２５】
組立品モデル情報１５０は、組立品およびその構成部品の３次元形状を表したＳＴＬ（Ｓｔａｎｄａｒｄ  Ｔｒｉａｎｇｕｌａｔｅｄ  Ｌａｎｇｕａｇｅ）情報である。なお、ＳＴＬ情報には、ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）情報などが含まれる。
【００２６】
設定パラメータ情報２００は、各ノードや起点ノードから次のノードまでの評価値の算出に用いられる情報である。図４は、設定パラメータ情報２００の一例を示した図である。設定パラメータ情報２００は、ノードの評価指数、質量、荷重、重心位置、エッジ数、エッジの評価指数、隣接グラフ上の距離、重心ユーグリット距離などの各パラメータ項目と、各項目のパラメータ値とを有している。なお、質量、荷重、重心位置およびエッジ数は、各ノードに付与される評価値の算出に用いられる評価要素であり、全て足しあわせて１．０となるようにパラメータ値が設定されている。すなわち、これらのパラメータ値は、各ノードの評価値における各評価要素の評価割合を示したものである。また、ノードの評価指数およびエッジの評価指数のパラメータ値は、構成部品の分解順序を探索する処理において、選択された起点ノードから次のノードまでの評価値を算出する際に用いられ、両方を足し合せて１．０となるように設定される。すなわち、これらのパラメータ値は、起点ノードから次のノードまでの評価値におけるノードおよびエッジの評価割合を示したものである。なお、これらのパラメータ値は、組立順序生成装置１００のユーザにより予め設定される。
【００２７】
組立順序情報２１０は、構成部品の組立順序を示した情報である。分解順序情報２２０は、組立品の分解順序を示した情報である。これらの情報は、演算部１０１が実行する組立順序生成処理によって生成される。なお、組立順序生成処理の詳細は後述する。
【００２８】
表示部１０３は、所定の画面情報を表示する機能部である。具体的には、表示部１０３は、構成部品の組立順序、組立品の分解順序およびこれらの順序を示すアニメーション情報を表示する。
【００２９】
以上、組立順序生成装置１００の機能ブロックについて説明した。
【００３０】
図５は、組立順序生成装置１００のハードウェア構成の一例を示した図である。組立順序生成装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０４とを有する演算処理装置３０１と、記憶装置３０５と、入力装置３０６と、表示装置３０７と、各々の装置を相互に接続するバス３０８とを有している。
【００３１】
記憶装置３０５は、例えば、ハードディスク装置やフラッシュメモリなどの不揮発性記憶装置である。
【００３２】
入力装置３０６は、例えば、タッチパネル、キーボードおよびマウスなどユーザからの指示入力を受け付ける装置である。
【００３３】
表示装置３０７は、液晶ディスプレイなどの画像情報を表示する装置である。
【００３４】
なお、組立順序生成装置１００の演算部１０１は、ＣＰＵ３０２に処理を行わせる所定のプログラム（例えば、最適順序生成プログラムやアニメーション情報生成プログラムなど）によって実現される。このようなプログラムは、ＲＡＭ３０３またはＲＯＭ３０４に格納され、実行にあたってＲＡＭ３０３上にロードされ、ＣＰＵ３０２により実行される。
【００３５】
なお、前述の記憶部１０２は、ＲＡＭ３０３、ＲＯＭ３０４および記憶装置３０５により実現される。また、前述の表示部１０３は、表示装置３０７により実現される。
【００３６】
［動作の説明］
図６は、組立順序生成処理の流れを示したフロー図である。図７は、本実施形態に係る組立順序生成処理の対象となる組立品の一例を示した図である。組立順序生成処理は、例えば、入力受付部１１１が入力装置３０６を介して組立順序生成処理の実行指示をユーザから受け付けると開始される。
【００３７】
組立順序生成処理が開始されると、入力受付部１１１は、組立品モデル情報１５０および設定パラメータ情報２００を記憶部１０２から取得する（ステップＳ００１）。
【００３８】
次に、隣接グラフ生成部１１３は、隣接グラフを生成する（ステップＳ００２）。具体的には、隣接グラフ生成部１１３は、組立品モデル情報１５０を用いて、図７の組立品Ｔとその構成部品１〜７の３次元形状を特定する。また、隣接グラフ生成部１１３は、組立品Ｔの構成部品をノードとし、幾何学的拘束関係にある構成部品のノード間にエッジを張った隣接グラフを生成する。図８は、図７の組立品の隣接グラフを示した図である。図示するように、隣接グラフは、組立品の構成部品１〜７を示すノード１〜７と、幾何学的拘束関係にあることを示すエッジとを有している。なお、ノードの数値は、対応する構成部品の番号を示すものである。
【００３９】
次に、分解可能部品特定部１１２は、分解可能部品を特定する（ステップＳ００３）。具体的には、分解可能部品特定部１１２は、組立品モデル情報１５０を用いて特定された各構成部品の幾何学的拘束関係に基づき、現時点で分解できる構成部品を特定し、その分解ベクトルを算出する。なお、本例では、分解ベクトルを算出できる構成部品として構成部品４〜７が特定され、これらの構成部品４〜７の分解ベクトルが算出されたものとする。
【００４０】
また、分解可能部品特定部１１２は、構成部品４〜７について、分解ベクトル軸上の所定位置および分解ベクトルの長さだけ離した位置から構成部品の画像をグラフィックボード上のＲＡＭ３０３に描画する。また、分解可能部品特定部１１２は、描画した２つの形状を比較し、両者が一致する場合に、かかる構成部品を分解可能部品として特定する。なお、本例では、構成部品４〜７は、いずれも描画した２つの形状が一致するものとし、分解可能部品特定部１１２は、構成部品４〜７を分解可能であると判定したものとする。
【００４１】
次に、表示部１０３は、起点ノード候補を表示する（ステップＳ００４）。具体的には、表示部１０３は、ステップＳ００３で分解可能部品として特定された構成部品を分解の起点ノード候補とし、それらの起点ノード候補を所定の色で着色した組立品Ｔの３次元形状を表示装置３０７に表示する。このような処理により、例えば、図７に示す組立品Ｔの３次元形状を示した画像情報が表示装置３０７に表示される。
【００４２】
次に、分解可能部品特定部１１２は、組立品Ｔの構成部品から起点ノードを選択する（ステップＳ００５）。本例では、分解可能部品特定部１１２は、分解可能部品である起点ノード４〜７を選択する。
【００４３】
次に、分解順序生成部１１５は、全ての起点ノードについて分解順序が決定したか否かを判定する（ステップＳ００６）。そして、分解順序が決定していない起点ノードがある場合（ステップＳ００６でＮｏ）、分解順序生成部１１５は、処理をステップＳ００７に移行する。一方で、全ての起点ノードについて分解順序が決定している場合（ステップＳ００６でＹｅｓ）、分解順序生成部１１５は、処理をステップＳ０１２に移行する。
【００４４】
ステップＳ００７では、ノード評価部１１８は、各ノードの評価値を算出する。具体的には、ノード評価部１１８は、ユーザにより予め設定されている所定の評価要素と、設定パラメータ情報２００とを用いてノードの評価値を含む評価値情報を生成する。
【００４５】
図９は、評価値情報４００の一例を示した図である。評価値情報４００は、構成部品ＩＤ欄４０１と、部品名欄４０２と、質量欄４０３と、エッジ数欄４０４と、評価値欄４０５とを有している。本例では、構成部品の質量およびエッジ数が評価要素として予め設定されているものとする。なお、評価要素は設定パラメータ情報２００の各項目に対応しており、質量およびエッジ数以外にも、例えば、構成部品の荷重、重心位置、隣接グラフ上の距離、重心ユーグリット距離などの評価要素がある。また、評価要素は、これらに限定されるものではなく、ユーザによって予め設定されていれば良い。
【００４６】
評価値の算出にあたり、ノード評価部１１８は、組立品モデル情報１５０を用いて構成部品１〜７の質量を特定する。なお、構成部品の質量は、組立品モデル情報１５０によって特定されても良いし、予め記憶部１０２に格納されている組立品モデル情報１５０以外の情報によって特定されても良い。
【００４７】
また、ノード評価部１１８は、構成部品１〜７の質量の中から最も大きい質量を特定し、かかる質量で他の構成部品の質量を割った値を対応する質量欄４０３に登録する。また、ノード評価部１１８は、各構成部品のエッジ数を対応するエッジ数欄４０４に登録する。
【００４８】
また、ノード評価部１１８は、各評価要素の値と設定パラメータ情報２００の対応するパラメータ値とを用いて、所定の評価式により各ノードの評価値を算出する。具体的には、ノード評価部１１８は、設定パラメータ情報２００を参照し、質量とエッジ数のパラメータ値を取得する。また、ノード評価部１１８は、取得したパラメータ値と、これに対応する評価要素とを掛け合わせ、それらを加算することによりノードの評価値を算出する。本例の構成部品１（ケース）の場合、ノード評価部１１８は、パラメータ値（質量）＝０．１と、質量（１００／１００）とを掛け合わせた値（０．１）と、パラメータ値（エッジ数）＝０．５と、エッジ数＝４とを掛け合わせた値（２．０）とを加算し、ノード１の評価値２．１を得る。
【００４９】
また、例えば、構成部品２（ブロック）の場合、ノード評価部１１８は、パラメータ値（質量）＝０．１と、質量（２０／１００）とを掛け合わせた値（０．０２）と、パラメータ値（エッジ数）＝０．５と、エッジ数＝３とを掛け合わせた値（１．５）とを加算し、ノード２の評価値１．５２を得る。また、ノード評価部１１８は、他の構成部品の評価値についても同様の方法で算出する。
【００５０】
なお、評価値を算出する評価式は上記のものに限定されず、ユーザによって適宜設定されれば良い。
【００５１】
隣接グラフ生成部１１３は、このようにして算出した評価値を対応するノードに付与する。
【００５２】
なお、ノードの評価値は、後述の分解グラフ生成部１１４が分解グラフの生成時に算出しても良い。
【００５３】
次に、分解グラフ生成部１１４は、分解グラフを生成する（ステップＳ００８）。ここで、ステップＳ００５で選択された起点ノードは、分解可能ノードとして置き換えられる。具体的には、分解グラフ生成部１１４は、隣接グラフを用いて、分解可能ノードおよび分解可能ノード間のエッジを特定する。また、分解グラフ生成部１１４は、特定した分解可能ノードおよび分解可能ノード間にエッジを張った分解グラフを生成する。図１０（ａ）は、分解グラフの一例を示した図である。分解グラフは、図９に示す隣接グラフで特定されたノード４〜７を分解可能ノードとし、各分解可能ノード間にエッジを張った分解グラフを生成する。
【００５４】
また、分解グラフ生成部１１４は、エッジの評価値を算出する。具体的には、分解グラフ生成部１１４は、次の分解可能ノードまでの距離（エッジ数）をエッジの評価値として算出する。例えば、分解可能ノード５から分解可能ノード４までの間には、最短距離で２つのエッジが存在するため、分解可能ノード５および分解可能ノード４の間に張られたエッジの評価値は２となる。また、例えば、分解可能ノード４と分解可能ノード７までの間には、最短距離で３つのエッジが存在するため、分解可能ノード４と分解可能ノード７との間に張られたエッジの評価値は３となる。このようにして、分解グラフ生成部１１４は、分解可能ノード間のエッジの評価値を算出する。
【００５５】
次に、分解順序生成部１１５は、分解順序を探索する（ステップＳ００６）。分解順序の探索にあたり、分解順序生成部１１５は、評価値が少ない順に分解可能ノードを１つ選択する。なお、評価値が同じ分解可能ノードが複数ある場合、分解順序生成部１１５は、ノード番号が小さい方を選択する。本例では、分解可能ノード５および分解可能ノード７の評価値が最少であり、ノード番号が小さい方の分解可能ノード５が選択される。そして、分解順序生成部１１５は、分解可能ノード５（構成部品５）の次に分解する構成部品を探索する。具体的には、分解順序生成部１１５は、分解グラフのノードおよびエッジの評価値を用いて、所定の方法（例えば、ダイクストラ法）により分解順序を探索する。
【００５６】
分解順序の探索にあたり、分解順序生成部１１５は、分解可能ノード５との間にエッジが張られているノードおよびエッジの評価値と、設定パラメータ情報２００に含まれる前述のノードの評価指数およびエッジの評価指数とを用いて、次のノードまでの評価値を算出する。例えば、分解可能ノード５と分解可能ノード４との間の評価値は、分解可能ノード４の評価値（１．００５）にノードの評価指数（０．６）を掛け合わせた値（０．６０３）と、エッジの評価値（２）にエッジの評価指数（０．４）を掛け合わせ値（０．８）とを足し合わせた１．４０３となる。また、例えば、分解可能ノード５と分解可能ノード６との間の評価値は、分解可能ノード６の評価値（１．００５）にノードの評価指数（０．６）を掛け合わせた値（０．６０３）と、エッジの評価値（３）にエッジの評価指数（０．４）を掛け合わせ値（１．２）とを足し合わせた１．８０３となる。また、例えば、分解可能ノード５と分解可能ノード７との間の評価値は、分解可能ノード７の評価値（０．５０５）にノードの評価指数（０．６）を掛け合わせた値（０．３０３）と、エッジの評価値（４）にエッジの評価指数（０．４）を掛け合わせ値（１．６）とを足し合わせた１．９０３となる。このようにして、分解順序生成部１１５は、選択された分解可能ノード５との間の評価値を算出する。図１０（ｂ）は、選択された分解可能ノードとの間の評価値が付与された分解グラフを示した図である。
【００５７】
また、分解順序生成部１１５は、選択された分解可能ノードとの間の評価値がより小さいノードを次に分解するノードとして特定する。図１０（ｂ）に示すように、分解順序生成部１１５は、より小さい評価値を有する分解可能ノード４を次に分解する構成部品のノードとして特定する。また、分解順序生成部１１５は、次に分解する分解可能ノードを特定すると、起点となったノードの分解順序を決定する。すなわち、分解順序生成部１１５は、次に分解する構成部品としてノード４を特定すると共に、分解可能ノード５の分解順序を１番目として決定する。
【００５８】
次に、分解順序生成部１１５は、全ての構成部品について分解順序が決定したか否かを判定する（ステップＳ０１０）。本例では、７つある構成部品の全てについて分解順序が決定したか否かを判定し、未決定の構成部品がある場合（ステップＳ０１０でＮｏ）、分解順序生成部１１５は、処理をステップＳ０１１に移行する。
【００５９】
ステップＳ０１１の処理では、分解可能部品特定部１１２は、既に分解順序が決定しているノード（本例では、ノード５）を取り除いた組立品から分解可能部品を特定する。本例では、分解可能部品特定部１１２は、ノード５に相当する構成部品５を組立品から取り除いた状態における分解可能部品を特定する。その結果、新たに構成部品２が分解可能部品として特定されたものとする。また、隣接グラフ生成部１１３は、ノード５が組立品から取り除かれ、新たに構成部品２に相当するノード２が分解可能部品として特定された状態の隣接グラフを更新し、処理をステップＳ００７に戻す。
【００６０】
ステップＳ００７では、ノード評価部１１８は、評価値情報を新たに生成し、各ノードに評価値を付与する。なお、本例では、ノード５が取り除かれたことにより、ノード２のエッジ数が１つ減ることになる。そのため、新たに生成された評価値情報では、ノード２の評価値が１．５２から１．０２に変化することになる。
【００６１】
図１１は、分解順序が決定したノードを取り除いた組立品の隣接グラフの一例を示した図である。また、図１２（ａ）は、図１１の隣接グラフに基づいて生成された分解グラフの一例を示した図である。分解順序生成部１１５は、前述と同様に、かかる分解グラフを用いて構成部品の分解順序を探索し、全ての構成部品について分解順序が決定するまでステップＳ００７〜ステップＳ０１１の処理を繰り返し実行する。
【００６２】
また、前述のステップＳ０１０において、全ての構成部品について分解順序が決定したと判定された場合（ステップＳ０１０でＹｅｓ）、分解順序生成部１１５は、処理をステップＳ００６に戻し、全ての起点ノードについて分解順序が決定するまでステップＳ００６〜ステップＳ０１１の処理を繰り返し実行する。
【００６３】
また、全ての起点ノードについて分解順序を生成したと判定された場合（ステップＳ００６でＹｅｓ）、分解順序生成部１１５は、起点ノードごとの分解順序を特定した分解順序情報２２０を生成し、これを記憶部１０２に格納する（ステップＳ０１２）。図１２（ｃ）は、分解順序情報２２０の一例を示した図である。分解順序情報２２０は、起点ノードごとに複数の分解順序案を有している。具体的には、分解順序情報２２０には、分解順序案を特定するＩＤと、起点ノードに特定された構成部品と、分解順序とが登録されている。
【００６４】
次に、組立順序生成部１１６は、分解順序情報２２０を用いて、起点ノードごとに組立順序を生成する（ステップＳ０１３）。具体的には、組立順序生成部１１６は、分解順序を逆の順番に並べ替えることにより組立順序情報２１０を生成する。また、組立順序生成部１１６は、組立順序情報２１０を記憶部１０２に格納する。図１２（ｂ）は、組立順序情報２１０の一例を示した図である。組立順序情報２１０は、起点ノードごとに複数の組立順序案を有している。具体的には、組立順序情報２１０には、組立順序案を特定するＩＤと、起点ノードに特定された構成部品と、組立順序とが登録されている。
【００６５】
次に、アニメーション情報生成部１１７は、組立アニメーション情報および分解アニメーション情報を生成する（ステップＳ０１４）。具体的には、アニメーション情報生成部１１７は、組立順序情報２１０および分解順序情報２２０で特定される組立順序および分解順序に従って、構成部品の組立アニメーション情報および組立品の分解アニメーション情報を生成する。また、これらのアニメーション情報を生成すると、組立順序生成処理を終了する。
【００６６】
なお、入力受付部１１１を介してアニメーション情報の表示指示をユーザから受け付けると、表示部１０３は、記憶部１０２から組立アニメーション情報または分解アニメーション情報を取得し、これを表示装置３０７に表示させる。
【００６７】
このような組立順序生成装置によれば、より適切な組立順序を生成することができる。特に、組立順序生成装置は、非接触の構成部品との干渉についても考慮して分解可能部品を特定しているため、分解ベクトルを算出できても実際に分解できない構成部品を分解可能部品として特定することを防止できる。また、組立順序生成装置は、分解可能部品として特定した構成部品を取り除く度に、分解可能部品を特定し直すため、分解できない構成部品を探索する無駄を排除できる。
【００６８】
また、組立順序生成装置は、分解可能部品として特定された構成部品の中から、その評価値に基いて次に取り外す構成部品を特定するため、より確実かつ効率的に分解順序を生成することができる。また、分解グラフのノード数はその時点で分解できる部品数であり、例えば、ダイクストラ法により分解順序を探索しても、組立順序の生成は部品数の２乗規模となる。したがって、組立順序生成装置による分解順序の探索は、充分に小さいグラフの探索となり、例えば、千点規模の組立品の探索も実現可能である。
【００６９】
なお、前述の実施形態に係る組立順序生成装置１００は、弾性変形および塑性変形を含まない部品の分解順序の生成に適用することができる。
【００７０】
また、前述の実施形態では、設定パラメータ情報２００を用いてノードおよびエッジの評価値を算出したが、これらの評価値の算出にあたり、必ずしも設定パラメータ情報２００を用いる必要はない。また、パラメータの項目は、前述の実施形態で説明したものに限定されるものではない。
【００７１】
また、前述の実施形態では、次に分解するノードを特定する際に、ノードの評価値およびエッジの評価値に各々、ノードの評価指数およびエッジの評価指数を乗算したが、必ずしも評価指数を用いなくても良く、例えば、ノードおよびエッジの評価値を各々加算するだけであっても良い。
【００７２】
また、前述の実施形態では、組立順序生成装置１００が組立順序情報２１０および分解順序情報２２０を用いて組立アニメーション情報および分解アニメーション情報を生成したが、本発明はこのような実施形態に限定されず、例えば、アニメーション情報の生成は、別の外部装置で実施されても良い。その場合、組立順序生成装置１００は、図示しない通信装置を用いて、インターネットなどの所定のネットワーク網により、組立順序情報２１０および分解順序情報２２０を外部装置に送信する。また、外部装置は、かかる情報を取得すると、所定のアニメーション生成プログラムを用いて、組立アニメーション情報および分解アニメーション情報を生成する。
【００７３】
また、組立順序生成装置１００の機能ブロックは、本実施形態において実現される組立順序生成装置１００の機能を理解容易にするために、主な処理内容に応じて分類したものであり、各機能の分類の仕方やその名称によって、本発明が制限されることはない。また、組立順序生成装置１００の各構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、一つの構成要素がさらに多くの処理を実行するように分類することもできる。
【００７４】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
【００７５】
また、上記説明では、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えて良い。
【符号の説明】
【００７６】
１００・・・組立順序生成装置、１０１・・・演算部、１０２・・・記憶部、
１０３・・・表示部、１１１・・・入力受付部、１１２・・・分解可能部品特定部、
１１３・・・隣接グラフ生成部、１１４・・・分解グラフ生成部、
１１５・・・分解順序生成部、１１６・・・組立順序生成部、
１１７・・・アニメーション情報生成部、１１８・・・ノード評価部、
１２１・・・組立品モデル情報、
１２２・・・設定パラメータ情報、１２３・・・組立順序情報、
１２４・・・分解順序情報、３０１・・・演算処理装置、３０２・・・ＣＰＵ、
３０３・・・ＲＡＭ、３０４・・・ＲＯＭ、３０５・・・記憶装置、
３０６・・・入力装置、３０７・・・表示装置
【図１】
2015177855.tif 000003
【図２】
2015177855.tif 000004
【図３】
2015177855.tif 000005
【図４】
2015177855.tif 000006
【図５】
2015177855.tif 000007
【図６】
2015177855.tif 000008
【図７】
2015177855.tif 000009
【図８】
2015177855.tif 000010
【図９】
2015177855.tif 000011
【図１０】
2015177855.tif 000012
【図１１】
2015177855.tif 000013
【図１２】
2015177855.tif 000014
【国際調査報告】
2015177855.tif 000015
2015177855.tif 000016