(57)【要約】【課題】より効率の良い作業指示を生成することができる。【解決手段】  組立品の構成部品および構造に関する幾何情報である３Ｄモデル情報と、前記構成部品の部品種別の分類条件および前記構成部品の組合せである部組を定義した部品種別情報とを記憶する記憶部と、前記３Ｄモデル情報および前記部品種別情報を用いて、前記構成部品および前記部組の部品種別を分類する部品種別分類部と、前記３Ｄモデル情報および前記部品種別情報を用いて、前記構成部品に部組を設定する部組化設定部と、前記部品種別に応じた所定の解析方法を用いて前記構成部品の隣接関係を解析し、前記部品種別ごとの部品間隣接関係を示すアセンブリグラフを生成する部品間隣接関係生成部と、前記アセンブリグラフを用いて前記構成部品の組立順序を生成する組立シーケンス生成部と、を備える。【選択図】図１
2019209446.tif 000002
【特許請求の範囲】
【請求項１】
組立品の構成部品および構造に関する幾何情報である３Ｄモデル情報と、前記構成部品の部品種別の分類条件および前記構成部品の組合せである部組を定義した部品種別情報とを記憶する記憶部と、
前記３Ｄモデル情報および前記部品種別情報を用いて、前記構成部品および前記部組の部品種別を分類する部品種別分類部と、
前記３Ｄモデル情報および前記部品種別情報を用いて、前記構成部品に部組を設定する部組化設定部と、
前記部品種別に応じた所定の解析方法を用いて前記構成部品の隣接関係を解析し、前記部品種別ごとの部品間隣接関係を示すアセンブリグラフを生成する部品間隣接関係生成部と、
前記アセンブリグラフを用いて前記構成部品の組立順序を生成する組立シーケンス生成部と、を備える
ことを特徴とする作業指示生成装置。
【請求項２】
請求項１に記載の作業指示生成装置であって、
前記構成部品の隣接関係を示す部品構成ツリーを用いて、前記構成部品を組立単位の親子関係に整理する計算用部品構成ツリー生成部をさらに備え、
前記計算用部品構成ツリー生成部は、
同じ隣接関係の前記構成部品を集約し、
前記部品構成ツリーにおいて、前記構成部品のうち子部品の隣接関係が特定の一つの親部品の階層にのみ属する場合、当該子部品を当該親部品の階層化へ編入することにより前記部品構成ツリーを整理した計算用部品構成ツリーを生成する
ことを特徴とする作業指示生成装置。
【請求項３】
請求項２に記載の作業指示生成装置であって、
前記組立シーケンス生成部は、
前記計算用部品構成ツリーに対応する前記アセンブリグラフを用いて、前記構成部品の組立順序を生成する
ことを特徴とする作業指示生成装置。
【請求項４】
請求項３に記載の作業指示生成装置であって、
前記組立シーケンス生成部は、
前記構成部品の組立順序に関する制約を定義した順序制約情報を用いて、前記構成部品の組立順序を生成する
ことを特徴とする作業指示生成装置。
【請求項５】
請求項４に記載の作業指示生成装置であって、
前記組立シーケンス生成部は、
前記部品間隣接関係に基づき前記構成部品の分解可能方向を導出し、前記分解可能方向に対して前記構成部品同士の干渉判定を行う
ことを特徴とする作業指示生成装置。
【請求項６】
請求項５に記載の作業指示生成装置であって、
前記組立シーケンス生成部は、
前記順序制約情報で定義された順序制約と、前記干渉判定とに矛盾が生じた場合、当該矛盾を解消する新たな部組化案を生成し、
前記部組化設定部は、
前記部組化案を新たな部組として設定する
ことを特徴とする作業指示生成装置。
【請求項７】
請求項６に記載の作業指示生成装置であって、
前記構成部品の組立順序を３次元のアニメーションで示した３Ｄアニメーション情報を生成する３Ｄアニメーション生成部をさらに備える
ことを特徴とする作業指示生成装置。
【請求項８】
請求項７に記載の作業指示生成装置であって、
少なくとも、前記計算用部品構成ツリーと、前記３Ｄアニメーション情報と、作業内容を示すテキスト情報とを含む工程別３Ｄ作業指示情報を生成する作業指示生成部をさらに備える
ことを特徴とする作業指示生成装置。
【請求項９】
請求項８に記載の作業指示生成装置であって、
出力装置に表示する画面情報を生成する出力処理部をさらに備え、
前記出力処理部は、
前記工程別３Ｄ作業指示情報の画面情報を生成し、前記出力装置に表示する
ことを特徴とする作業指示生成装置。
【請求項１０】
請求項１に記載の作業指示生成装置であって、
前記部品間隣接関係生成部は、
前記構成部品の隣接関係を解析する場合、柔軟性のある前記構成部品と、柔軟性のない前記構成部品との解析方法を異ならせる
ことを特徴とする作業指示生成装置。
【請求項１１】
請求項１に記載の作業指示生成装置であって、
前記構成部品には、少なくとも、ネジ部品と、配線部品とが含まれる
ことを特徴とする作業指示生成装置。
【請求項１２】
作業指示生成装置が行う作業指示生成方法であって、
前記作業指示生成装置は、
組立品の構成部品および構造に関する幾何情報である３Ｄモデル情報と、前記構成部品の部品種別の分類条件および前記構成部品の組合せである部組を定義した部品種別情報とを記憶するステップと、
前記３Ｄモデル情報および前記部品種別情報を用いて、前記構成部品および前記部組の部品種別を分類する部品種別分類ステップと、
前記３Ｄモデル情報および前記部品種別情報を用いて、前記構成部品に部組を設定する部組化設定ステップと、
前記部品種別に応じた所定の解析方法を用いて前記構成部品の隣接関係を解析し、前記部品種別ごとの部品間隣接関係を示すアセンブリグラフを生成する部品間隣接関係生成ステップと、
前記アセンブリグラフを用いて前記構成部品の組立順序を生成する組立シーケンス生成ステップと、を行う
ことを特徴とする作業指示生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業指示生成装置および作業指示生成方法に関する。
【背景技術】
【０００２】
特許文献１には、組立装置に関し、「ここでＣＡＤデータとは、組立作業計画に必要な情報を付加した３次元ＣＡＤデータを意味する。３次元ＣＡＤデータを入力とし、タスクプランナにより組立作業計画を行い、組立ロボットのプログラムをオフラインで短時間に自動生成する。組立作業はペトリネットによりモデル化し、最適経路を探索する。得られたプログラムをロボットにダウンロードし、実際の作業を行わせる。ここで、シミュレータ内の仮想空間と現実空間の誤差はＬＲＦによって補正される。」と記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−２６３９５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術では、組み付け順序の情報を用いて組立ロボットの組み付け作業の作業手順を整理し、作業コストを計算して効率の良い最適経路を探索する技術が開示されている。しかしながら、上記文献の技術では、部品種別が考慮されていないため、組立作業計画に有用な部品間の接続情報を得ることができないという問題がある。
【０００５】
本発明は、上記課題に鑑みてなされたものであり、より効率の良い作業指示を生成することができる作業指示生成装置の提供を目的とする。
【課題を解決するための手段】
【０００６】
本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。上記の課題を解決する本発明の一態様に係る作業指示生成装置は、組立品の構成部品および構造に関する幾何情報である３Ｄモデル情報と、前記構成部品の部品種別の分類条件および前記構成部品の組合せである部組を定義した部品種別情報とを記憶する記憶部と、前記３Ｄモデル情報および前記部品種別情報を用いて、前記構成部品および前記部組の部品種別を分類する部品種別分類部と、前記３Ｄモデル情報および前記部品種別情報を用いて、前記構成部品に部組を設定する部組化設定部と、前記部品種別に応じた所定の解析方法を用いて前記構成部品の隣接関係を解析し、前記部品種別ごとの部品間隣接関係を示すアセンブリグラフを生成する部品間隣接関係生成部と、前記アセンブリグラフを用いて前記構成部品の組立順序を生成する組立シーケンス生成部とを備える。
【発明の効果】
【０００７】
本発明に係る作業指示生成装置によれば、より効率の良い作業指示を生成することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る作業指示生成装置の機能構成を含む作業指示生成システムの概略構成の一例を示した図である。
【図２】本発明の一実施形態に係る３Ｄモデル情報の一例を示した図である。
【図３】本発明の一実施形態に係る部品種別情報の一例を示した図である。
【図４】本発明の一実施形態に係る作業指示生成装置のハードウェア構成の一例を示した図である。
【図５】本発明の一実施形態に係る工程別３Ｄ作業指示生成処理の一例を示した図である。
【図６】本発明の一実施形態に係る３ＤＣＡＤデータに含まれる組立品の３Ｄモデル（「その他一般部品」）の一例を示した図である。
【図７】図６に示す組立品のアセンブリグラフを示した図である。
【図８】図７の部組をノードとしてグラフ表現したアセンブリグラフを示した図である。
【図９】本発明の一実施形態に係る３ＤＣＡＤデータに含まれる３Ｄモデル（「ネジ」）の断面図の一例を示した図である。
【図１０】図９に示す「ネジ」のアセンブリグラフを示した図である。
【図１１】本発明の一実施形態に係る３ＤＣＡＤデータに含まれる３Ｄモデル（「配線」）の断面図の一例を示した図である。
【図１２】図１１に示す「配線」のアセンブリグラフを示した図である。
【図１３】本発明の一実施形態に係る計算用部品構成ツリーの生成処理の詳細を示したフロー図である。
【図１４】本発明の一実施形態に係る３ＤＣＡＤ部品構成ツリーの一例と、３ＤＣＡＤ部品構成ツリーに対応する３Ｄモデルの一例と、３Ｄモデルのアセンブリグラフとを示した図である。
【図１５】ステップＳ５２０の処理後の３ＤＣＡＤ部品構成ツリーを示した図である。
【図１６】図１６（ａ）〜（ｃ）は各々、Ｐａｒｔｓ８、Ｐａｒｔｓ９およびＰａｒｔｓ７を隣接関係がある階層下へ編入した場合のアセンブリグラフを示した図である。
【図１７】図１４の３ＤＣＡＤ部品構成ツリーと、親子関係が整理された計算用部品構成ツリーとを示した図である。
【図１８】本発明の一実施形態に係る組立シーケンス生成処理の詳細を示したフロー図である。
【図１９】本発明の一実施形態に係るベース部品と作業ステップの表現を追加したアセンブリグラフの一例を示した図である。
【図２０】順序制約と干渉判定から矛盾が生じた場合の説明図である。
【図２１】工程別３Ｄ作業指示の一例を示した画面例である。
【発明を実施するための形態】
【０００９】
一般に、製造業では製品の組立順序を作業者に分かり易く示す必要がある。このような組立順序の指示においては、２次元の組立図面よりも３次元モデルを利用する方が部品の位置関係や組み付け方向が視覚的に分かり易い。例えば、３次元アニメーションのように一連の組立順序を動画で示す作業指示方法や、３次元モデルをもとに組立順序に沿って作成した斜視図を利用した説明図で示す作業指示方法などが利用されている。
【００１０】
また、製品の組立順序は大きく分けると２つの工程がある。最終組立を行う総組の工程と、総組の工程以前に複数の部品を一つのユニット（アセンブリあるいはサブアセンブリ）として組み立てる部組の工程である。これら複数の工程が段階的に階層として繋げられて工程のフローとされる。作業指示を行う際には、この工程フローにおいて、各々の工程ごとの具体的な組立順序などを示して指示することが多い。
【００１１】
一方で、３次元ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）データの部品構成ツリーは組立順序ではなく、また工程ごとにまとまった部品構成ツリーとなっていないことが多い。そのため、３Ｄ作業指示の作成においては、３次元ＣＡＤデータをもとに工程となる作業の纏まりと、工程間および工程内の組立順序をよく検討し、３次元ＣＡＤの部品構成ツリーを参照しながら編集する作業が必要となる。また、その編集した結果をもとに各部品の動きを設定し、アニメーションを作成し、その工程ごとの組立順序の説明図を作成するといった作業が必要となる。したがって、３Ｄ作業指示の作成には膨大な時間とコストがかかる。
【００１２】
なお、３Ｄ作業指示の作成を補助する情報処理技術（例えば、分解定義情報に基本工程および中間工程の移動座標系、その座標系に沿った部品や部品群および工程用部品グループの移動位置を付加することで、分解アルゴリズムを生成する技術など）も存在するが、数千の部品から成る部品数の多い製品の場合には、相当の作業工数を要することになる。
【００１３】
本発明に係る作業指示生成装置は、上記のような課題を解決するものであり、以下では本実施形態に係る作業指示生成装置について各図を用いて説明する。
【００１４】
図１は、本実施形態に係る作業指示生成装置１００の機能構成を含む作業指示生成システムの概略構成の一例を示した図である。図示するように、作業指示生成システムは、作業指示生成装置１００と、３ＤＣＡＤ（ｔｈｒｅｅ−ｄｉｍｅｎｓｉｏｎａｌ  Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ）装置２００とを有している。なお、作業指示生成装置１００は、例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）あるいはインターネット等の所定のネットワークＮを介して３ＤＣＡＤ装置２００と相互通信可能に接続されている。
【００１５】
なお、３ＤＣＡＤ装置２００は、例えば３ＤＣＡＤプログラムを実行可能なパーソナルコンピュータ等の情報処理装置である。ただし、３ＤＣＡＤ装置２００は、独立した装置に限らず、作業指示生成装置１００の一部機能として動作するものであっても良い。
【００１６】
作業指示生成装置１００は、３次元（３Ｄ）による組立工程ごとの作業指示を生成する装置である。図示するように、作業指示生成装置１００は、記憶部１１０と、演算部１２０と、通信部１４０とを有している。
【００１７】
記憶部１１０は、様々な情報を記憶する機能部である。具体的には、記憶部１１０は、３Ｄモデル情報１１１と、部品種別情報１１２と、解析計算プログラム１１３と、順序制約情報１１４と、計算条件情報１１５と、組立順序作成済みの事例情報１１６とを記憶している。
【００１８】
図２は、３Ｄモデル情報１１１の一例を示した図である。３Ｄモデル情報１１１は、部品を組み付けることにより完成する組立完成品を３Ｄモデル化し、その構成部品とその構造とを特定する情報である。具体的には、３Ｄモデル情報１１１は、識別子１１１ａと、分類１１１ｂと、項目１１１ｃと、値１１１ｄとが対応付けられたレコードを有している。なお、３Ｄモデル情報１１１は、３ＤＣＡＤ装置２００から取得した３ＤＣＡＤデータを用いて作業指示生成装置１００が生成する情報である。
【００１９】
識別子１１１ａは、３Ｄモデルの構成情報を格納したレコードを識別する情報である。分類１１１ｂは、３Ｄモデルで表される構成部品に関連する項目のカテゴリを示す情報である。分類１１１ｂには、例えば部品属性、形状特徴、部品座標系、部品構成ツリーおよび部品間隣接関係などがあるが、これらに限定されるものではない。
【００２０】
項目１１１ｃは、対応付けられた分類１１１ｂに関連する項目を示す情報である。例えば、部品属性に対応付けられた項目１１１ｃには、例えば部品ＩＤ、階層番号、モデル名、モデル形状ファイルパス、部品種別、ベース部品（フラグ）および材質等がある。なお、部品種別に関する情報は、後述の工程別３Ｄ作業指示生成処理におけるステップＳ２０の処理で特定される。また、分類に対応付けられた項目１１１ｃには、これら以外にも部品図番、注記、材質に応じた比重等が含まれても良い。
【００２１】
なお、モデル形状ファイルパスとは、３ＤＣＡＤ装置２００から取得される部品単位でのモデル形状ファイルのファイルパスを示す情報である。なお、モデル形状ファイルは、例えば、ＳＴＬ（Ｓｔａｎｄａｒｄ  Ｔｒｉａｎｇｕｌａｔｅｄ  Ｌａｎｇｕａｇｅ）や、その他ＳＴＥＰ、ＰＡＲＡＳＯＬＩＤ、ＪＴ、ＸＶＬなど３ＤＣＡＤ装置２００から変換可能な３次元形状データファイルフォーマットである。モデル形状ファイルは、３Ｄモデル形状を用いた解析、３Ｄモデル形状の確認および計算結果の表示などを行う際に利用される。
【００２２】
また、形状特徴に対応付けられた項目１１１ｃには、例えば体積、表面積、最大長、重心およびバウンディングボックス（部品を外包する境界となる直方体の８頂点の座標）等の形状特徴に関する情報がある。なお、形状特徴に対応付けられた項目１１１ｃには、これら以外にも他質量、主慣性モーメント、慣性主軸等の項目が含まれても良い。
【００２３】
また、部品座標系に対応付けられた項目１１１ｃには、部品の原点およびＸＹＺ軸上の座標等が含まれる。なお、部品座標系とは、組立完成品の最終位置での部品の位置・姿勢を示すものである。
【００２４】
また、部品構成ツリーに対応付けられた項目１１１ｃには、３ＤＣＡＤ装置２００から取得した３ＤＣＡＤモデルツリー（以下、「３ＤＣＡＤ部品構成ツリー」という場合がある）やＣＡＤ部品構成ツリーを組立単位に変換した計算用部品構成ツリーあるいはその一部を抜粋したサブアセンブリの計算用部品構成ツリーなど、部品構成ツリーの種別、親部品ＩＤ、親部品を部組（サブアセンブリ）として扱うのか否かを示す親部品ＩＤの種別および親部品ＩＤの階層内に含まれる子部品ＩＤ等がある。
【００２５】
また、部品間隣接関係に対応付けられた項目１１１ｃには、部品種別ごとに解析した拘束の種別、抽出した隣接関係に対する各拘束の要素種別、拘束の要素を含む部品ＩＤ、拘束要素のベクトルおよび拘束要素の原点等の部品間隣接関係に関する情報がある。なお、部品間隣接関係に対応付けられた各項目に関する情報は、後述の工程別３Ｄ作業指示生成処理におけるステップＳ４０の処理で特定される。
【００２６】
また、部品間隣接関係とは、アセンブリモデルをモデリングする際に設定するアセンブリ拘束情報である。なお、部品間隣接関係は、アセンブリモデルを用いたクリアランス解析によって取得した情報であってもよい。例えば、クリアランス解析の一方式としては、設定した閾値をもとにモデリングされた部品の各面からクリアランス距離内にある別のモデルを探索し、探索の結果得られた隣接部品の面（平面対平面、円筒面対円筒面、円錐面対円錐面および平面対円筒面など）の位置、姿勢などの情報を作成する方式が挙げられる。
【００２７】
また、アセンブリ拘束とクリアランス解析の情報で得た拘束要素の情報としては、例えば平面の場合、そのモデルの外側に向いた拘束面の法線を拘束要素のベクトルとし、拘束面上の点を拘束面原点として取得する。また、例えば円筒面の場合、その円筒の軸方向を拘束要素のベクトルとし、軸上の点を拘束要素の原点とすることが望ましい。
【００２８】
値１１１ｄは、対応付けられた項目ごとの具体的な値を示す情報である。
【００２９】
なお、３Ｄモデルの対象となる対象部品は、１つの部品モデルではなく、複数の部品から構成される組立品であるアセンブリモデルを含むものとする。また、３Ｄモデル情報１１１は、データベースにより構成されていてもよいし、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）により構成されていてもよい。
【００３０】
図３は、部品種別情報１１２の一例を示した図である。部品種別情報１１２は、部品種別の判定に用いられる所定の判定条件などを定義した情報である。具体的には、部品種別情報１１２は、ＩＤ１１２ａと、部品種別名称１１２ｂと、３ＤＣＡＤモデルの部品属性および形状特徴の判定条件１１２ｃと、計算対象の設定種別１１２ｄとが対応付けられたレコードを有している。なお、部品種別情報１１２は、作業指示生成装置１００の記憶部１１０に予め格納されている情報である。
【００３１】
ＩＤ１１２ａは、部品種別および判定条件が格納されたレコードを識別する情報である。部品種別名称１１２ｂは、部品種別の名称を特定する情報である。３ＤＣＡＤモデルの部品属性および形状特徴の判定条件１１２ｃは、部品種別を判定するための判定条件であって、３Ｄモデル情報１１１の部品属性および形状特徴に対応している。具体的には、３ＤＣＡＤモデルの部品属性の判定条件としては、モデル名１１２ｅ、部品図番１１２ｆおよび部品名のタイトル１１２ｇがあり、形状特徴の判定条件としては、寸法条件１１２ｈがある。
【００３２】
なお、部品図番１１２ｆおよび部品名のタイトル１１２ｇは、３ＤＣＡＤデータのパートモデルあるいはアセンブリモデルにユーザが任意に定義したテキスト情報に対応する。また、モデル名１１２ｅや部品名のタイトル１１２ｇなど文字列の部品属性については、すべての文字列の完全一致だけではなく、部分一致で引き当てる場合もあることから、任意の文字を示すワイルドカード文字（アスタリスク記号など）を含む文字列（例えば、正規表現等により表される文字列）に対応している。
【００３３】
また、３ＤＣＡＤモデルの形状特徴は、寸法条件に限らず、例えばパートモデルにおけるバウンディングボックスの頂点、重心および主慣性モーメントなど３ＤＣＡＤモデルを計算することで取得できる質量特性を含むようにしても良い。また、数値による判定を考慮し、「等しい」、「以上（以下）」、「＊＊より大きい」などの範囲を条件付けても良く、条件の論理積（ＡＮＤ）および論理和（ＯＲ）等の条件を含めた条件付けを含むものであっても良い。
【００３４】
また、親フラグ１１２ｉは、対応付けられた部品種別名称１１２ｂの部品に対して親部品であること設定するフラグ情報である。計算対象の設定種別１１２ｄは、対応付けられた部品種別名称１１２ｂの部品に対して組立順序の生成過程において計算対象外とするか、分解不要とするか、あるいは部組（アセンブリ）として扱うか等を設定するための情報である。例えば、ＩＤ８の行は、「溶接」と判定した部品に対して組立順序の「計算対象外」とすることを示している。また、ＩＤ９の行は、「コンデンサ」と判定した部品（親部品）が購入品のアセンブリモデルであり、ＣＡＤモデリング上では複数の部品からなるアセンブリモデルとしてモデリングしたものの、組立順序の計算においてはこれ以上分解する必要はないため、「分解不要（購入品）」とすることを示している。
【００３５】
また、例えばＩＤ１０およびＩＤ１１の行は各々、「Ａユニット」および「Ｂユニット」と判定した部品（親部品）を部品構成ツリー内で部組（サブアセンブリ）として取り扱うことを示している。
【００３６】
なお、「部組（サブアセンブリ）」は、その上位の部品構成ツリーで組立順序を計算した後に、その部組の階層下の組立順序を計算することになる。かかる処理の詳細は後述する。
【００３７】
図１に戻って説明する。記憶部１１０の解析計算プログラム１１３は、後述する工程別３Ｄ作業指示生成処理の実行にあたり、作業指示生成装置１００で読み込まれるプログラム情報である。
【００３８】
順序制約情報１１４は、構成部品の組付け順序に関する制約を定義した情報である。具体的には、順序制約情報１１４には、部品種別ごとに先に組み付ける部品とその後で組み付ける部品とが定義されている。例えば、部品種別がネジであり、そのネジとそのネジで締め付けられる部品とが隣接関係にある場合、順序制約情報１１４には、ネジよりも先にネジ隣接部品を組み付ける、という順序制約が定義されている。
【００３９】
計算条件情報１１５は、組立品のグラフネットワーク（以下では、「アセンブリグラフ」という場合がある）を用いて分解順序（組立順序）を探索する際、次の分解候補を選択する条件などについて定義した情報である。例えば、計算条件情報１１５には、「他の部品との隣接数が少ないほど分解し易い」、「隣接関係にある他の部品等から受ける荷重が少ない部品ほど分解し易い」、「前に分解した部品と同じ方向で分解できる部品は作業性が良い」など、分解順序を計算する際の優先条件が定義されている。
【００４０】
組立順序作成済みの事例情報１１６は、過去に作成した組立順序の事例に関する情報である。例えば、組立順序作成済みの事例情報１１６は、過去に作業指示生成装置１００で作成された組立シーケンス生成結果をもとに、工程ごとの作業ステップと、作業ステップ内の組立順序とを編集した複数の事例情報を有している。なお、かかる事例情報は、作業指示生成装置１００の入力情報を用いて計算した組立シーケンスを編集したものが望ましい。
【００４１】
次に、演算部１２０について説明する。演算部１２０は、作業指示生成装置１００の様々な処理を行う機能部である。具体的には、演算部１２０は、入力受付部１２１と、出力処理部１２２と、３Ｄモデル情報生成部１２３と、部品種別分類部１２４と、部組化設定部１２５と、部品間隣接関係生成部１２６と、計算用部品構成ツリー生成部１２７と、順序制約設定部１２８と、組立シーケンス生成部１２９と、３Ｄアニメーション生成部１３０と、作業指示生成部１３１とを有している。
【００４２】
入力受付部１２１は、作業指示生成装置１００が備える入力装置を介してユーザから指示入力を受け付ける機能部である。
【００４３】
出力処理部１２２は、作業指示生成装置１００が備える出力装置に表示する画面情報を生成する機能部である。
【００４４】
３Ｄモデル情報生成部１２３は、３ＤＣＡＤ装置２００から取得した３ＤＣＡＤデータを用いて、組立品の構成部品に関する３Ｄモデル情報１１１を生成する機能部である。
【００４５】
部品種別分類部１２４は、３ＤＣＡＤデータに含まれる組立品の構成部品について、その部品種別を分類する機能部である。
【００４６】
部組化設定部１２５は、組立品の構成部品について、複数の部品から構成される部組を設定する機能部である。
【００４７】
部品間隣接関係生成部１２６は、部品間隣接関係を解析し、アセンブリグラフを生成する機能部である。具体的には、部品間隣接関係生成部１２６は、３Ｄモデル情報１１１および部品種別情報１１２を用いて、部品種別に応じた所定の解析方法で部品の配置関係や隣接関係を解析し、部品と部品間の隣接関係を各々、ノードおよびエッジで表したアセンブリグラフを生成する。
【００４８】
計算用部品構成ツリー生成部１２７は、３ＤＣＡＤデータに含まれる３ＤＣＡＤ部品構成ツリーを編集し、かかるＣＡＤモデルツリーを組立単位に変換した計算用の部品構成ツリーおよびその一部を抜粋したサブアセンブリ計算用の部品構成ツリーなどの部品構成ツリーを生成する機能部である。
【００４９】
順序制約設定部１２８は、順序制約情報１１４を用いて、組立品の構成部品について組立順序の順序制約を設定する機能部である。例えば、部品種別がネジの場合、そのネジと隣接関係にある部品（ネジ隣接部品）は、そのネジで締め付けられる部品である。そのため、順序制約設定部１２８は、順序制約情報１１４を用いて、ネジよりも先にネジ隣接部品を組み付けるという順序制約を設定する。また、部品種部が配線の場合、その配線と隣接関係にある部品（配線接続部品）は、その配線の接続先となる部品である。そのため、順序制約設定部１２８は、順序制約情報１１４を用いて、配線よりも先に配線接続部品を組み付けるという順序制約を設定する。
【００５０】
組立シーケンス生成部１２９は、組立品の組立順序を生成する機能部である。具体的には、組立シーケンス生成部１２９は、計算用部品構成ツリー生成部１２７が生成した計算用の部品構成ツリーや部品間隣接関係を示すアセンブリグラフなどを用いて、組立品の分解順序を生成する。また、組立シーケンス生成部１２９は、分解順序を逆変換することにより組立品の組立順序を生成する。
【００５１】
３Ｄアニメーション生成部１３０は、３Ｄアニメーションを生成する機能部である。具体的には、３Ｄアニメーション生成部１３０は、組立シーケンス生成部１２９により生成された組立シーケンスなどの所定情報を用いて、組立順序に沿った組立動作を示す３Ｄアニメーションを生成する。
【００５２】
作業指示生成部１３１は、工程別の３Ｄ作業指示を生成する機能部である。具体的には、作業指示生成部１３１は、工程別に生成された組立シーケンスや３Ｄアニメーションを含む作業指示情報を生成する。
【００５３】
以上、作業指示生成装置１００の機能構成（機能ブロック）について説明した。
【００５４】
図４は、作業指示生成装置１００のハードウェア構成の一例を示した図である。図示するように、作業指示生成装置１００は、例えばサーバ装置などの高性能な情報処理装置により実現されるが、高性能なパーソナルコンピューターによって実現されても良い。
【００５５】
図示するように、作業指示生成装置１００は、入力装置３０１と、出力装置３０２と、外部記憶装置３０３と、演算装置３０４と、主記憶装置３０５と、通信装置３０６とを有している。
【００５６】
入力装置３０１は、キーボードやマウス、タッチパネルなどのポインティングデバイスである。出力装置３０２は、例えば液晶ディスプレイや有機ディスプレイなどである。
【００５７】
外部記憶装置３０３は、デジタル情報を記憶可能ないわゆるハードディスク（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）あるいはフラッシュメモリなどの不揮発性記憶装置である。
【００５８】
演算装置３０４は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。主記憶装置３０５は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などのメモリ装置である。
【００５９】
通信装置３０６は、ネットワークケーブルを介して有線通信を行う有線の通信装置またはアンテナを介して無線通信を行う無線通信装置である。通信装置３０６は、例えばネットワークＮに接続されている３ＤＣＡＤ装置２００との間で情報通信を行う。
【００６０】
なお、作業指示生成装置１００の演算部１２０は、演算装置３０４に処理を行わせるプログラム（例えば、解析計算プログラム１１３）によって実現される。このプログラムは、主記憶装置３０５あるいは外部記憶装置３０３に記憶され、プログラムの実行にあたって主記憶装置３０５上にロードされ、演算装置３０４により実行される。また、記憶部１１０は、主記憶装置３０５または外部記憶装置３０３あるいはこれらの組合せにより実現される。また、通信部１４０は、通信装置３０６により実現される。
【００６１】
また、作業指示生成装置１００の上記の各構成、機能、処理部および処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現しても良い。また、上記構成、機能は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現しても良い。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、ＳＳＤ等の記憶装置またはＩＣカード、ＳＤカードおよびＤＶＤ等の記録媒体に置くことができる。
【００６２】
また、作業指示生成装置１００のハードウェア構成はこれらに限られるものではなく、その他のハードウェアを用いて構成されるものであっても良い。例えば、インターネットを介して入出力を受け付ける装置であっても良い。なお、作業指示生成装置１００は、図示しないが、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、ミドルウェア、アプリケーションなどの公知の要素を有し、特にディスプレイなどの出力装置３０２にＧＵＩ画面を表示するための既存の処理機能を備える。
【００６３】
以上、作業指示生成装置１００のハードウェア構成について説明した。
【００６４】
［動作の説明］
図５は、作業指示生成装置１００で実行される工程別３Ｄ作業指示生成処理の一例を示した図である。かかる処理は、例えば入力受付部１２１が工程別３Ｄ作業指示生成処理の実行指示をユーザから受け付けると開始される。
【００６５】
処理が開始されると、３Ｄモデル情報生成部１２３は、通信部１４０を介して３ＤＣＡＤデータを３ＤＣＡＤ装置２００から取得する（ステップＳ１０）。また、３Ｄモデル情報生成部１２３は、取得した３ＤＣＡＤデータから組立品の各構成部品に関する部品属性や形状特徴などの情報を抽出し、３Ｄモデル情報１１１を生成する。なお、３Ｄモデル情報１１１の部品種別は、後述のステップＳ２０の処理により特定される。また、３Ｄモデル情報１１１の部品間隣接関係は、後述のステップＳ４０の処理により解析される。
【００６６】
次に、部品種別分類部１２４は、３Ｄモデル情報１１１を用いて部品種別を分類する（ステップＳ２０）。具体的には、部品種別分類部１２４は、３Ｄモデル情報１１１から各構成部品のモデル名、部品図番および部品名のタイトルといった部品属性に関する情報および形状特徴を抽出する。また、部品種別分類部１２４は、抽出したこれらの情報と、部品種別情報１１２の「３ＤＣＡＤモデルの部品属性の判定条件」とを照合することにより、３Ｄモデル情報１１１の各構成部品について部品種別を分類する。
【００６７】
次に、部組化設定部１２５は、構成部品の部組化を設定する（ステップＳ３０）。具体的には、部組化設定部１２５は、３Ｄモデル情報１１１に含まれる各構成部品が分解不要か否か、あるいはアセンブリであるか否かを判定し、該当する場合には部組として設定する。より具体的には、部組化設定部１２５は、３Ｄモデル情報１１１から各構成部品の部品種別を特定する。また、部組化設定部１２５は、特定した部品種別が対応付けられている部品種別情報１１２のレコードを特定する。また、部組化設定部１２５は、特定したレコードの計算対象の設定種別１１２ｄに「分解不要（購入品）」、「部組（アセンブリ）」が格納されている場合、その構成部品を部組として設定する。なお、部組化設定部１２５は、特定したレコードの計算対象の設定種別１１２ｄに「計算対象外」が格納されている場合、部組化設定部１２５は、対応付けられている部品種別の部品について、「計算対象外」の部組であることを設定する。
【００６８】
次に、部品間隣接関係生成部１２６は、部品種別ごとに部品間隣接関係を解析し、部品種別ごとのアセンブリグラフを生成する（ステップＳ４０）。具体的には、部品間隣接関係生成部１２６は、３Ｄモデル情報１１１に含まれる各構成部品について、部品種別に応じた所定の解析手法および解析条件により部品間隣接関係を解析する。
【００６９】
以下、部品種別が「ネジ」、「配線」および「その他一般部品」である場合の各々の部品間隣接関係の解析およびアセンブリグラフの生成について説明する。
【００７０】
図６は、「その他一般部品」の部品間隣接関係を説明する図であって、３ＤＣＡＤデータに含まれる組立品の３Ｄモデルの一例を示した図である。図示するように、組立品は、底板５０１および天板５０６を繋ぐ右前柱５０２と、右後柱５０３と、左前柱５０４と、左後柱５０５とから成るフレームに、左側面板５２１と、裏側面板５３１と、上面板５１１とを組み付けた構成を備える。
【００７１】
また、左側面板５２１には、部品または部組である左側下部品５２２と、左側中央部品５２３と、左側上部品５２４とが組み付けられている。また、裏側面板５３１には、部品または部組である裏側下部品５３２と、裏側中央部品５３３と、裏側上部品５３４とが組み付けられている。また、裏側中央部品５３３には、裏側中央部品５３５と、裏側左部品５３６とが組み付けられている。また、上面板５１１には、部品または部組である上側右部品５１２と、上側左部品５１３とが組み付けられている。なお、図６においては、説明簡略化するために、組付けに必要な「ネジ」、「配線」などの図示は省略している。
【００７２】
図７は、図６に示す組立品のアセンブリグラフを示した図である。アセンブリグラフとは、部品間の隣接関係をグラフ表現したものであり、図７に示すアセンブリグラフは、図６で示した３Ｄモデルの各部品をノード（節）で表し、隣接関係がある部品間をエッジ（弧）で繋いでいる。
【００７３】
なお、部品間の隣接関係とは、部品同士の接合に関して、各種の拘束関係をまとめた概念である。例えば、部品間の隣接関係には、部品の一部の面である平面と他の部品の一部の面である平面の法線が許容寸法範囲内にあり、その平面間の距離が許容寸法以内で隣接している場合の「平面拘束」、円筒と円筒が許容寸法以内で同軸関係にあり、その円筒の径の差が許容寸法以内にある場合の「円筒拘束」、平面の法線と円筒の軸が許容寸法範囲内で垂直関係にあって、円筒の軸から平面までの距離と円筒の半径が許容寸法範囲内にある場合の「円筒平面拘束」などがある。
【００７４】
また、図７のアセンブリグラフは、部組化設定部１２５により設定された部組を点線で示している。かかるアセンブリグラフは、３ＤＣＡＤデータに含まれる３ＤＣＡＤ部品構成ツリーにおいて、底板５０１と、天板５０６と、右前柱５０２と、右後柱５０３と、左前柱５０４と、左後柱５０５とが親部品５０１Ｓの子部品として構成されており、その親部品５０１Ｓが部組化設定部１２５により部組（サブアセンブリ）として設定されている場合を示している。
【００７５】
また、図７のアセンブリグラフは、３ＤＣＡＤ部品構成ツリーにおいて、上面板５１１と、上側右部品５１２と、上側左部品５１３とが親部品５１１Ｓの子部品として構成されており、その親部品５１１Ｓが部組化設定部１２５により部組（サブアセンブリ）として設定されている場合を示している。また、同図は、左側面板５２１と、左側下部品５２２と、左側中央部品５２３と、左側上部品５２４とが親部品５２１Ｓの子部品として構成されており、その親部品５２１Ｓが部組化設定部１２５により部組（サブアセンブリ）として設定されている場合を示している。また、同図は、裏側中央部品５３３と、裏側中央部品５３５と、裏側左部品５３６とが親部品５３３Ｓの子部品として構成されており、その親部品５３３Ｓが部組化設定部１２５により部組（サブアセンブリ）として設定されている場合を示している。なお、部組内の構成は、総組の作業工程以前に組み立てられる。
【００７６】
図８は、図７の部組をノードとしてグラフ表現したアセンブリグラフを示した図である。図示するように、アセンブリグラフは、各部組をノードとして表現しているため、図７のアセンブリグラフに比べてグラフ表現が縮約されている。このように、部組を一つのノードとして表現すると、各部組について、各々別の工程で組み立てる作業として区分することができる。そのため、別の工程で組み立てられた部組を一つの部品と同様に取り扱うことにより、アセンブリグラフを大幅に縮約および簡素化することができる。その結果、例えば分解順序の探索などの計算処理を容易化することができる。
【００７７】
また、前述の部品種別の分類（前述のステップＳ２０）により、構成部品の計算対象の設定種別が事前に特定されているため、工程別に計算する対象ノードを限定することができる。例えば、前述のステップＳ２０の処理において部組５３３Ｓが購入品であって計算対象外であることが特定されている場合、後述の組立シーケンス生成の計算対象外とすることができる。この場合、以下のような計算処理上の利点がある。
【００７８】
例えば、図６の３Ｄモデルについて、図８のアセンブリグラフが総組の組立工程を表現しているとすると、後述する工程別の組立シーケンス生成処理ではかかるアセンブリグラフを用いた組立シーケンス生成処理が行われる。また、総組の組立シーケンス生成処理の実行後、部組として扱った部組５１１Ｓ、部組５２１Ｓ、部組５３３Ｓについて、順に組立シーケンス生成処理が行われる。このとき、部組５３３Ｓが購入品であって計算対象外と把握できている場合には、部組５３３Ｓの計算をスキップし、次の部組の計算を行うことができるため、無駄な計算を省略することができる。
【００７９】
次に、部品種別が「ネジ」の場合について説明する。
図９は、「ネジ」の部品間隣接関係を説明する図であって、３ＤＣＡＤデータに含まれる３Ｄモデルの断面図の一例を示した図である。ネジ６０１は、部品６０４にネジ穴があり、部品６０２および部品６０３をその間で共に締結している。
【００８０】
図１０は、図９に示す「ネジ」のアセンブリグラフを示した図である。「ネジ」の場合の部品間隣接関係の解析方法は、基本的には「その他一般部品」と同様の方法が採用される。具体的には、部品間の隣接関係には、部品の一部の面である平面と他の部品の一部の面である平面の法線が許容寸法範囲内にあり、その平面間の距離が許容寸法以内で隣接している「平面拘束」（図上のエッジにＰと記載）、円筒と円筒が許容寸法以内で同軸関係にあり、その円筒の径の差が許容寸法以内にある「円筒拘束」（図上のエッジにＣと記載）、平面の法線と円筒の軸が許容寸法範囲内で垂直関係にあって、円筒の軸から平面までの距離と円筒の半径が許容寸法範囲内にある「円筒平面拘束」等がある。なお、平面拘束と円筒拘束の両方が存在するエッジには、図上でＰ＆Ｃと記載した。
【００８１】
図１０のとおり、ネジ６０１は、部品６０２の穴と円筒拘束があり、平面で隣接しているため、Ｐ＆Ｃの隣接関係がある。また、ネジ６０１は、部品６０４のネジ穴と円筒拘束Ｃの隣接関係があり、部品６０３とは、部品６０３の穴と円筒拘束Ｃの隣接関係がある。また、部品６０３は、部品６０２および部品６０４と平面で隣接しているため平面拘束Ｐの隣接関係がある。これらの隣接関係は、部品種別「ネジ」の隣接関係の解析用に設定した許容寸法範囲の設定値にもとづき解析した結果である。
【００８２】
なお、図７、図８のアセンブリグラフの例において、図１０と同様にエッジにＰやＣを付記する場合、図７、図８の例ではすべて平面拘束であり、すべてのエッジにＰを付記することになる。
【００８３】
このように、部品間隣接関係を解析することにより、各構成部品の分解可能な方向を導出することができる。例えば、図９のネジ６０１は、部品６０２、部品６０３および部品６０４と円筒拘束（Ｃの隣接関係）があり、その拘束要素のベクトルは、それらの穴の円筒軸方向である。また、ネジ６０１は、部品６０２と平面拘束（Ｐの隣接関係）の関係があり、その拘束要素のベクトルは、その隣接した平面の法線方向である。このような解析結果から、ネジ６０１は、円筒軸方向でかつ隣接平面の法線方向に向かって分解する動作を導出することができる。
【００８４】
次に、部品種別が「配線」の場合について説明する。
図１１は、「配線」の部品間隣接関係を説明する図であって、３ＤＣＡＤデータに含まれる３Ｄモデルの断面図の一例を示した図である。配線７０１は、部品７０３および部品７０４を接続する配線部品である。配線７０２は、部品７０３および部品７０６を接続する部品であり、その配線経路上において部品７０５が配線に固定される。
【００８５】
図１２は、図１１に示す「配線」のアセンブリグラフを示した図である。「配線」の場合、その形状の柔軟さが「その他一般部品」や「ネジ」とは異なるため、それらの隣接関係の解析とは異なる解析手法が採用される。具体的には、部品種別を「配線」と分類した部品を構成する面に対し、その近傍で設定した許容寸法範囲内にある面を抽出する。また、その面を含む部品の中で最も近くにある面（以下、「近接面」という場合がある）を「配線」との間で隣接関係がある対象として特定する。このような「配線」の解析手法および解析条件に基づき、図１２のアセンブリグラフのエッジにＷと記載した隣接関係を得る。
【００８６】
図１２に示すように、部品７０３および部品７０４は所定寸法範囲内で配線７０１と近接する面があるため、「配線」との間で隣接関係がある対象部品である（図上のエッジにＷと記載）。また、部品７０３、部品７０５および部品７０６は、所定寸法範囲内で配線７０２と近接する面がある部品があるため、「配線」との間で隣接関係がある対象部品である（図上のエッジにWと記載）。なお、部品７０４および部品７０５には平面拘束があるため（「その他一般部品」の部品間隣接関係の解析方法により判明しているものとする）、図上のエッジにＰと記載した。なお、「配線」の隣接関係においては、各々の近接面の法線方向が配線の分解方向と捉えられるため、逆転させて配線作業時の接続方向として把握することができる。
【００８７】
ここで、例えば部品種別が「配線」である部品について「その他一般部品」の解析手法を用いて部品間隣接関係を解析した場合について考察する。この場合、配線７０１と配線７０２との間に平面または円筒の隣接関係があると解析されることがある。しかしながら、これらの隣接関係からその法線方向を分解方向として捉えたとしても、その方向は組立順序を導出するために有用な情報にはならない。したがって、このように部品種別が「配線」である部品など、その形状を柔軟に変形できる部品種別においては、前述した「配線」の部品間隣接関係の解析手法を用い、その「部品種別」に応じた寸法許容値を設定することで、組立作業の解析および組立順序の生成に有用な隣接関係を取得することができる。
【００８８】
以上、ステップＳ４０の処理について説明した。なお、３Ｄモデル情報生成部１２３は、ステップＳ４０で解析した部品種別ごとの各構成部品の部品間隣接関係を、３Ｄモデル情報１１１の「部品間隣接関係」に対応付けられている各項目（拘束の種別、拘束の要素種別など）に格納する。
【００８９】
次に、計算用部品構成ツリー生成部１２７は、計算用の部品構成ツリーを生成する（ステップＳ５０）。本処理は、３ＤＣＡＤ部品構成ツリーで生成したアセンブリグラフについて、各構成部品を組立単位の親子関係に整理する処理である。例えば、前述のステップＳ４０では、３ＤＣＡＤ部品構成ツリー等を用いてアセンブリグラフを生成し、部組を点線枠で示した。しかしながら、３ＤＣＡＤ部品構成ツリーでは、必ずしも組立単位を考慮することなく、親部品を作成し、その下に任意の子部品を配置することができるため、親部品の階層下に属する子部品全てに部品間隣接関係があるとは限らない。そのため、計算用部品構成ツリー生成部１２７は、計算用の部品構成ツリーを生成し、各構成部品を隣接関係のある親子関係に整理する。
【００９０】
図１３は、計算用部品構成ツリーの生成処理の詳細を示したフロー図である。かかる処理が開始されると、計算用部品構成ツリー生成部１２７は、同じ隣接関係の同名部品を集約する（ステップＳ５１０）。具体的には、計算用部品構成ツリー生成部１２７は、３ＤＣＡＤ部品構成ツリーから同じ名称の部品を抽出し、その部品に隣接した部品が同じ組合せであって、その平面拘束の方向ベクトルが同じか否かを判定する。
【００９１】
また、計算用部品構成ツリー生成部１２７は、その部品に隣接した部品が同じ組み合わせであって、平面拘束の方向ベクトルが同じと判定した場合、その部品は同じ組付け作業であると判定する。その場合、計算用部品構成ツリー生成部１２７は、３ＤＣＡＤ部品構成ツリーにおいて、その同名部品を集約するための親部品のノードを新規作成し、その親ノードの階層下にそれらの集約すべき部品を配置する。なお、既に３ＤＣＡＤ部品構成ツリーをもとにした部組化が設定された親部品の階層下の部品については、親部品間の階層を跨いだ処理は行わない。
【００９２】
次に、計算用部品構成ツリー生成部１２７は、親部品ごとに末端側の階層から上位側の階層へと順にステップＳ５２０〜ステップＳ５４０の処理を行う。また、計算用部品構成ツリー生成部１２７は、上位側の階層から末端側の階層へと順にステップＳ５５０の処理を行う。以下では、これらの処理について、図１４〜図１７を用いて詳細に説明する。
【００９３】
図１４は、３ＤＣＡＤ部品構成ツリーの一例と、３ＤＣＡＤ部品構成ツリーに対応する３Ｄモデルの一例と、３Ｄモデルのアセンブリグラフとを示した図である。なお、アセンブリグラフの点線枠は、３ＤＣＡＤ部品構成ツリーによる親子関係を示している。
【００９４】
ここで、計算用部品構成ツリー生成部１２７は、部品間の隣接関係に基づき、孤立した部品の階層を繰り上げる（ステップＳ５２０）。具体的には、計算用部品構成ツリー生成部１２７は、末端側の階層である「ＳｕｂＡｓｍ５６」において、孤立した部品があるか否かを判定する。この場合、孤立した部品がないため、計算用部品構成ツリー生成部１２７は、上位側の階層である「ＳｕｂＡｓｍ３４５６７」に孤立した部品があるか否かを判定する。この場合、Ｐａｒｔｓ３が孤立しているため、計算用部品構成ツリー生成部１２７は、Ｐａｒｔｓ３の階層を繰り上げる処理を行う。
【００９５】
図１５は、ステップＳ５２０の処理後の３ＤＣＡＤ部品構成ツリーを示した図である。図示するように、Ｐａｒｔｓ３の階層が繰り上げられ、かかる部品はＴｏｐＡｓｓｙの階層下に配置されている。
【００９６】
次に、計算用部品構成ツリー生成部１２７は、２つ以上サブグラフ（部分的なアセンブリグラフ）がある場合、その親部品の階層化に親部品を新規生成し、サブグラフごとに構成部品を配置する（ステップＳ５３０）。なお、サブグラフがある場合とは、例えば図１５において、Ｐａｒｔｓ３とこれに隣接する別の隣接部品とがある場合である。なお、本例では２つ以上のサブグラフはないため、計算用部品構成ツリー生成部１２７は、処理をステップＳ５４０に移行する。
【００９７】
ステップＳ５４０では、計算用部品構成ツリー生成部１２７は、処理対象の親部品の階層下に子部品がなくなった場合には、その親部品を削除する。階層下に子部品のない階層を残しておく意味がないからである。
【００９８】
次に、計算用部品構成ツリー生成部１２７は、子部品の隣接関係が一つの親部品のみの場合、その親部品の階層下へ子部品を編入する（ステップＳ５５０）。例えば、図１５の３ＤＣＡＤ部品構成ツリーにおいて、ＴｏｐＡｓｓｙの階層下にあるＰａｒｔｓ８は、ＳｕｂＡｓｍ５６に対してのみ隣接関係があるため、計算用部品構成ツリー生成部１２７は、Ｐａｒｔｓ８を唯一の隣接関係があるＳｕｂＡｓｍ５６の階層下へ編入する。なお、この編入により、図１５のＳｕｂＡｓｍ５６は、ＳｕｂＡｓｍ５６８となり、ＳｕｂＡｓｍ４５６７は、ＳｕｂＡｓｍ４５６７８となる。
【００９９】
また、図１５の３ＤＣＡＤ部品構成ツリーにおいて、ＴｏｐＡｓｓｙの階層下にあるＰａｒｔｓ９は、ＳｕｂＡｓｍ４５６７８に対してのみ隣接関係があるため、計算用部品構成ツリー生成部１２７は、Ｐａｒｔｓ９を隣接関係があるＳｕｂＡｓｍ４５６７８の階層下へ編入する。なお、この編入により、図１５のＳｕｂＡｓｍ４５６７８は、ＳｕｂＡｓｍ４５６７８９となる。
【０１００】
また、図１５の３ＤＣＡＤ部品構成ツリーにおいて、ＴｏｐＡｓｓｙの階層下にあるＰａｒｔｓ７は、ＳｕｂＡｓｍ５６８に対してのみ隣接関係があるため、計算用部品構成ツリー生成部１２７は、Ｐａｒｔｓ７を隣接関係があるＳｕｂＡｓｍ５６８の階層下へ編入する。なお、この編入により、図１５のＳｕｂＡｓｍ５６８は、ＳｕｂＡｓｍ５６７８となる。
【０１０１】
図１６（ａ）〜（ｃ）は各々、Ｐａｒｔｓ８、Ｐａｒｔｓ９およびＰａｒｔｓ７を隣接関係がある階層下へ編入した場合のアセンブリグラフを示した図である。
【０１０２】
図１７は、図１４の３ＤＣＡＤ部品構成ツリーと、親子関係が整理された計算用部品構成ツリーとを示した図である。
【０１０３】
このように、計算用部品構成ツリー生成部１２７は、ステップＳ５２０〜ステップＳ５５０の処理を行うことにより、３ＤＣＡＤ部品構成ツリーの親子関係を整理することで、後述の組立シーケンス処理に用いられる計算用部品構成ツリーを生成する。計算用部品構成ツリー生成部１２７は、ステップＳ５５０の処理を終了すると、処理をステップＳ６０（図５）に移行する。
【０１０４】
図５に戻って説明する。ステップＳ６０では、順序制約設定部１２８は、順序制約の設定を行う。ここで、部品種別が「ネジ」の場合の部品間隣接関係を示した図９および図１０を用いて順序制約について説明する。ネジ６０１は、部品６０２と平面の隣接関係がある。このネジ６０１は、組付け順序として、この部品６０２よりも先に組み付けられることは想定されない。そのため、順序制約設定部１２８は、このような順序制約を定義した順序制約情報１１４を用いて、「部品６０２の後にネジ６０１を組み付ける」という順序制約を設定する。これにより、ネジと平面拘束の隣接関係にある部品を先に組み付け、それよりも後で「ネジ」を組み付ける、という順序制約が設定される。
【０１０５】
また、部品種別が「配線」の場合の部品間隣接関係を示した図１１、図１２では、配線７０１および配線７０２は、それらの近接部品よりも先に組み付けることは想定されない。そのため、順序制約設定部１２８は、このような順序制約を定義した順序制約情報１１４を用いて、「配線の近接部品を先に組み付け、それよりも後で配線を組み付ける」という順序制約を設定する。なお、一例として「ネジ」と「配線」の例を示したが、他の部品種別においても、隣接および近接した部品との組付け順序が明らかな場合は同様に順序制約を設定するとよい。
【０１０６】
次に、組立シーケンス生成部１２９は、組立シーケンスを生成する（ステップＳ７０）。
図１８は、組立シーケンス生成処理の詳細を示したフロー図である。なお、組立シーケンス生成部１２９は、例えば特開２０１２−１４５６９号公報あるいはＷＯ２０１５／１７７８５５Ａ１公報に開示される組立シーケンスの生成方法を採用し、ステップＳ４０で生成した部品種別ごとのアセンブリグラフを用いて分解可能な方向を特定しながら分解方向および分解順序を生成する。また、組立シーケンス生成部１２９は、分解順序、分解方向の逆変換を行い、組立順序、組立方向を生成する。また、組立シーケンス生成部１２９は、この組立シーケンスの生成において、部品および部組ごとに評価値を計算し、評価値に応じて組み立ての順序を決定する。なお、組立順序は、過去に類似の部組の組み立てを行った際の組立順序に沿うことが効率的である。そのため、組立シーケンス生成部１２９は、評価値に過去の類似部品の組み立てを行った際の順序に応じた重み付けを行う。以下では、組立シーケンス生成処理の詳細について説明する。
【０１０７】
組立シーケンス生成部１２９は、計算用部品構成ツリーを用いて、工程ごと（部組ごと）にステップＳ７１０〜ステップＳ７９０の処理を繰り返し処理する。具体的には、組立シーケンス生成部１２９は、階層ごとに当該階層に含まれる部品あるいは部組を特定し、階層ごとに組立シーケンスを生成する。より具体的には、組立シーケンス生成部１２９は、製品の最上位階層にあたる総組の組立工程についての組立シーケンスを生成する。
【０１０８】
また、組立シーケンス生成部１２９は、順次その部品構成内で扱っている部組を選択し、その部組自体を計算対象の部品構成として、対応するアセンブリグラフを用いて組立シーケンスを生成する。なお、組立シーケンス生成部１２９は、より上位の階層から下位の階層に向かって順次組立シーケンスを生成することとし、また組立シーケンス生成済みの部組のＩＤ、名称は記憶しておく。
【０１０９】
まず、組立シーケンス生成部１２９は、選択している部組について、計算対象の部組か否かを判定する（ステップＳ７１０）。具体的には、組立シーケンス生成部１２９は、当該部組が部組化の設定処理（ステップＳ３０）において計算対象外に設定されているか否かについて判定する。そして、計算対象外の部組と判定した場合（ステップＳ７１０でＹｅｓ）、組立シーケンス生成部１２９は、その組立シーケンスの生成をスキップし、次の部組の計算を行う。一方で、計算対象外の部組ではないと判定した場合（ステップＳ７１０にてＮｏ）、組立シーケンス生成部１２９は、処理をステップＳ７２０に移行する。なお、総組の組立工程、すなわち最上位の階層においては、ステップＳ７１０の判定処理を省略してもよい。
【０１１０】
次に、組立シーケンス生成部１２９は、選択している部組について計算済みの部組であるか否かを判定する（ステップＳ７２０）。具体的には、組立シーケンス生成部１２９は、選択している部組が、既にステップＳ７１０〜Ｓ７９０の処理を行った部組と同じ名称か否かを判定する。そして、計算済みの部組と判定した場合（ステップＳ７２０でＹｅｓ）、組立シーケンス生成部１２９は、その組立シーケンスの生成をスキップし、次の部組の計算を行う。一方で、計算済みの部組ではないと判定した場合（ステップＳ７２０でＮｏ）、組立シーケンス生成部１２９は、処理をステップＳ７３０に移行する。なお、総組の組立工程、すなわち最上位の階層においては、ステップＳ７２０の判定処理を省略してもよい。
【０１１１】
次に、組立シーケンス生成部１２９は、ベース部品を設定する（ステップＳ７３０）。具体的には、組立シーケンス生成部１２９は、３Ｄモデル情報１１１のベース部品（フラグ）を参照し、選択している部組を構成する部品の中でベース部品のフラグがあるものを抽出してベース部品とする。なお、ベース部品のフラグが選択している部組のいずれの部品にも指定されていない場合、組立シーケンス生成部１２９は、「３Ｄモデル情報１１１の部品属性の体積、表面積および最大長の大きい部品を優先する」あるいは「部品間隣接関係の隣接関係が多い部品を優先する」といった所定の計算条件情報１１５に基づきベース部品を設定する。
【０１１２】
次に、組立シーケンス生成部１２９は、作業ステップを設定する（ステップＳ７４０）。ここで、作業ステップの設定について、図６の３Ｄモデルおよび図７のアセンブリグラフをもとに、ベース部品と作業ステップの表現を追加したアセンブリグラフの例として作成した図１９を用いて説明する。
【０１１３】
図１９は、ベース部品と作業ステップの表現を追加したアセンブリグラフの一例を示した図である。図示するように、図７のアセンブリグラフに対し、底板５０１と、天板５０６と、右前柱５０２と、右後柱５０３と、左前柱５０４と、左後柱５０５と、が一つの部組５０１Ｓとされ、裏側中央部品５３３と、裏側中央部品５３５と、裏側左部品５３６と、が部組５３３Ｓとされている。
【０１１４】
ステップＳ７４０では、組立シーケンス生成部１２９は、３Ｄモデル情報１１１の部品属性や部品間隣接関係の情報を用いて、部組５０１Ｓをベース部品として選定するものとする。また、組立シーケンス生成部１２９は、ベース部品が組み立ての際に最初に配置する部品であるため、ベース部品を最初の作業ステップとして設定する。また、その他の作業ステップについては、組立シーケンス生成部１２９は、設定したベース部品に対しての部品間隣接関係および部品属性などをもとに割付ける。
【０１１５】
図１９の例では、組立シーケンス生成部１２９は、部品間の隣接関係を参照し、その位置上の纏まりやベース部品に対する隣接方向（Ｘ軸方向、Ｙ軸方向、Ｚ軸方向）から作業ステップを設定する。この作業ステップの設定において、組立シーケンス生成部１２９は、３Ｄモデル情報１１１を参照し、部品数、部品の総体積、部品全体での重心および部品全体でのバウンディングボックスなどの配置関係の優先順位を特定し、作業ステップを付番する。例えば、組立シーケンス生成部１２９は、全体の体積が大きく重心が下側に配置されたものを優先して組立作業の順番とし、作業ステップに付番する。
【０１１６】
次に、順序制約設定部１２８は、順序制約を設定する（ステップＳ７５０）。具体的には、順序制約設定部１２８は、ステップＳ６０の処理において部品種別ごとの隣接関係に基づき設定された順序制約を設定する。
【０１１７】
そして、組立シーケンス生成部１２９は、ノード評価値を算出する（ステップＳ７６０）。ここで、ノード評価値とは、例えばＷＯ２０１５／１７７８５５Ａ１公報に開示される組立シーケンス生成方法において用いられるノード評価値と同様の指標である。そのノード評価値の一要素としては、ベース部品の作業ステップを付加する。作業ステップを付加することで、計算対象のアセンブリグラフの優先順位を限定することができ、大規模なモデルを対象とした組立シーケンス生成処理において計算を容易にすることができる。
【０１１８】
なお、前述の組立シーケンス生成方法においては、まず分解順序を探索するため、設定した作業ステップの逆順となる分解順序をノード評価値として付加し、後述の分解順序・分解可能部品の探索を行う。
【０１１９】
次に、組立シーケンス生成部１２９は、分解順序探索・分解可能部品判定を行う（ステップＳ７７０）。具体的には、組立シーケンス生成部１２９は、アセンブリグラフおよび３Ｄモデル情報１１１を用いて、分解動作における部品間の干渉有無を判定する。また、組立シーケンス生成部１２９は、干渉のない分解運動ベクトルを導出することにより分解順序探索・分解可能部品判定を行う。この処理においては、図６〜図１２で説明したように、部品種別ごとの隣接関係の解析から得た拘束要素の方向ベクトルに基づき、その部品の分解可能な方向ベクトルを導出し、その分解方向において干渉する部品の有無を導出する。
【０１２０】
なお、組立シーケンス生成部１２９は、部品種別ごとに設定した干渉判定の閾値が許容値以内であれば、その干渉は除外する。また部品種別ごとに設定した、その部品種別において干渉を除外してもよい部品種別との干渉は除外する。例えば、部品種別が「配線」の場合においては、「配線」同士はそれぞれ柔軟に形状を変形できるため、その干渉は無視する。
【０１２１】
また、組立シーケンス生成部１２９は、部品間隣接関係から得たすべての分解方向ベクトルにおいて、その分解方向ベクトルごとに干渉判定を行う。なお、かかる干渉判定は、事前に設定した順序制約やベース部品の設定条件を満足することが必要である。そのため、組立シーケンス生成部１２９は、干渉判定結果と順序制約条件に矛盾が生じた場合、その矛盾を解決するための部組化の案を生成する。
【０１２２】
図２０は、順序制約と干渉判定から矛盾が生じた場合の説明図である。ここで、部品８１０はベース部品であり、最後に分解する部品として予め設定されている。このとき、ネジ８０１およびネジ８０２は、図の左方向に分解可能と判定される。また、ネジ８０１およびネジ８０２には、部品８２１との間に順序制約がある。また、部品８２２は、ネジと平面の隣接関係はなく、図の右方向に分解可能である。また、部品８２２の分解後に部品８２１を分解可能な方向は、干渉判定から図の右方向と判定されるが、「部品８２１を分解する前に、ネジ８０１、ネジ８０２を分解（組付けの逆の表現）」という順序制約がある場合、部品８２１を分解することができないという矛盾が発生する。
【０１２３】
このような矛盾が発生した場合、組立シーケンス生成部１２９は、その矛盾が生じた順序制約のある部品を抽出し、その順序制約の部品を含めた部品間の隣接関係に基づいて、関係した部品全てを一つの纏まりとした部組化案を生成する。
【０１２４】
具体的には、部品８２１を分解しようとした際に、干渉判定による分解案と順序制約で矛盾が生じているため、組立シーケンス生成部１２９は、部品８２１に関する順序制約を抽出する。これにより、組立シーケンス生成部１２９は、「部品８２１とネジ８０１、ネジ８０２との順序制約」について把握する。そして、組立シーケンス生成部１２９は、抽出した順序制約の部品を含めた部品８２１とネジ８０１、ネジ８０２との隣接関係を分析し、ネジ部品と部品８２２との隣接関係を把握する。そして、組立シーケンス生成部１２９は、分析結果に基づき、部品８２１、部品８２２、ネジ８０１およびネジ８０２を一つの纏めた部組化案を生成する。
【０１２５】
なお、かかる部組化案の親ノード（１２２Ｓ）について、再度、部品間の隣接関係と順序制約から分解可能な方向を計算すると、矛盾なく図の右方向に分解可能と判定できる。なお、組立シーケンス生成部１２９は、問題となった干渉及び順序制約と、矛盾を解決するために生成した部組化案と、分解可能となった分解結果とをユーザに画面提示しても良い。
【０１２６】
次に、組立シーケンス生成部１２９は、組立順序・動作への変換を行う（ステップＳ７８０）。具体的には、組立シーケンス生成部１２９は、生成された分解順序を逆順にして組立順序に変換し、分解運動ベクトルの符号を反転することにより組立動作に変換した組立順序・動作を生成する。なお、計算条件情報１１５に従い、複数の組立順序案が導出されるようにしてもよい。
【０１２７】
次に、組立シーケンス生成部１２９は、全ての工程の計算が完了したか否か判定する（ステップＳ７９０）。そして、全ての工程の計算が完了していないと判定した場合（ステップＳ７９０でＮｏ）、組立シーケンス生成部１２９は、未処理の工程（部組）についてステップＳ７１０の処理を行う。一方で、全ての工程（部組）の計算が完了したと判定した場合（ステップＳ７９０でＹｅｓ）、組立シーケンス生成部１２９は、本フローの処理を終了し、処理をステップＳ８０（図５）に移行する。
【０１２８】
以上、組立シーケンス生成処理について説明した。このような組立シーケンス生成処理によれば、計算用部品構成ツリーの最も上位の階層からその階層下にある部組を順次展開し、設定したベース部品および作業ステップを考慮した組立シーケンスを工程別に生成することができる。
【０１２９】
図５に戻って説明する。次に、３Ｄアニメーション生成部１３０は、３Ｄアニメーションを生成する（ステップＳ８０）。具体的には、３Ｄアニメーション生成部１３０は、ステップＳ７０において生成された組立シーケンスを用いて、組立品における工程別の組立順序を示す３Ｄモデルのアニメーションを生成する。
【０１３０】
次に、作業指示生成部１３１は、工程別３Ｄ作業指示を出力する（ステップＳ９０）。具体的には、作業指示生成部１３１は、出力処理部１２２を介して、組立順序を含む部品構成ツリーと、組立品の３Ｄモデルと、テキストによる作業指示とを含む工程別３Ｄ作業指示の画面情報を出力装置３０２に表示する。
【０１３１】
図２１は、工程別３Ｄ作業指示の一例を示した画面例９００である。図示するように、工程別３Ｄ作業指示は、所定の操作メニューを表示した操作メニュー表示欄９０１と、工程別の組立順序を部品構成ツリーの形式で表示した組立順序表示欄９０２と、組立品の３Ｄモデルを表示した３Ｄモデル表示欄９０３と、作業指示の内容をテキスト表示した指示内容表示欄９０４とを有している。
【０１３２】
操作メニュー表示欄９０１は、所定の操作メニューを表示する欄である。操作メニューには、例えばファイル９０１ａと、３Ｄモデル選択９０１ｂと、工程選択９０１ｃと、アニメーション再生操作ボタン９０１ｄとがある。なお、入力受付部１２１は、操作メニュー表示欄への操作入力を受け付けると、対応する所定の機能部に対して操作に応じた指示を出力する。
【０１３３】
例えば、ファイル９０１ａへの操作入力は、例えば所定のファイルを選択および展開したり、画面上で編集したファイルを保存する操作などを可能にする。かかる操作入力を受け付けると、入力受付部１２１は、選択されたファイルを画面表示するための表示情報の生成指示を出力処理部１２２に出力する。また、操作入力によりファイルの保存指示を受け付けると、入力受付部１２１は、指定されたファイルを記憶部１１０に保存する指示を図示しない所定の機能部に出力する。
【０１３４】
また、３Ｄモデル選択９０１ｂへの操作入力は、例えば部品構成ツリー上の部品が選択された際に、３Ｄモデル表示欄９０３に表示した組立品の３Ｄモデル上における対応部品をハイライト表示することを可能にする。また、かかる操作入力は、例えば部品構成ツリー上で選択された部品のみを３Ｄモデル表示欄９０３に表示する、あるいは、選択された部品以外のみを３Ｄモデル表示欄９０３に表示する。かかる操作入力を受け付けると、入力受付部１２１は、３Ｄモデル表示欄９０３に表示された組立品の該当する部品をハイライト表示あるいは該当する部品のみ（または、該当しない部品のみ）を表示するよう出力処理部１２２に指示する。
【０１３５】
また、工程選択９０１ｃへの操作入力は、組立順序表示欄９０２に表示した部品構成ツリーにおいて、選択された組立工程の表示切り替えを可能とする。かかる操作入力を受け付けると、入力受付部１２１は、選択された組立工程に関する情報を表示する。
【０１３６】
また、アニメーション再生操作ボタン９０１ｄへの操作入力は、組立動作を示す３Ｄアニメーション情報を再生、停止、逆再生などを可能とする。かかる操作入力を受け付けると、入力受付部１２１は、操作に応じた３Ｄアニメーションの動作を制御するよう出力処理部１２２に指示する。なお、出力処理部１２２は、３Ｄアニメーションで動作している部品に該当する部品構成ツリー上の部品をハイライト表示しても良い。また、出力処理部１２２は、動作する部品の軌跡や動作方向を示す矢印などを３Ｄアニメーションと共に表示しても良い。
【０１３７】
組立順序表示欄９０２は、工程別の組立順序を示す部品構成ツリーの表示欄である。具体的には、作業指示生成部１３１は、出力処理部１２２を介して、ステップＳ５０で生成された計算用の部品構成ツリーの表示情報を生成し、組立順序表示欄９０２に表示する。
【０１３８】
３Ｄモデル表示欄９０３は、組立品の３Ｄモデルを組み立てる３Ｄアニメーション情報の表示欄である。具体的には、作業指示生成部１３１は、出力処理部１２２を介して、ステップＳ８０で生成された３Ｄアニメーション情報をかかる表示欄に表示する。
【０１３９】
指示内容表示欄９０４は、テキスト情報による作業指示の内容を表示する表示欄である。例えば、作業指示生成部１３１は、選択されている部品構成ツリー上の部品や、３Ｄアニメーション上で動作している部品と、その部品の組み付け先部品などを計算用部品構成ツリーや３Ｄモデル情報１１１を用いて特定する。また、作業指示生成部１３１は、選択あるいは動作している部品名および組み付け先部品名を含む作業内容のテキスト情報を生成する。また、作業指示生成部１３１は、出力処理部１２２を介して、生成したテキスト情報を指示内容表示欄９０４に表示する。
【０１４０】
以上、本実施形態に係る作業指示生成装置について説明した。このような作業指示生成装置によれば、より効率の良い作業指示を生成することができる。特に、作業生成装置によれば、部品種別ごとに部品間の隣接関係を解析するため、組立順序を生成する際に必要となる情報を的確に取得することができる。また、複数部品からなる部組を設定することによりグラフネットワーク（アセンブリグラフ）を簡略化でき、その結果、組立順序の探索処理にかかる計算処理の迅速化を図ることができる。
【０１４１】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
【０１４２】
また、上記説明では、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えて良い。
【符号の説明】
【０１４３】
１００・・・作業指示生成装置、２００・・・３ＤＣＡＤ装置、Ｎ・・・ネットワーク、１１０・・・記憶部、１１１・・・３Ｄモデル情報、１１２・・・部品種別情報、１１３・・・解析計算プログラム、１１４・・・順序制約情報、１１５・・・計算条件情報、１１６・・・組立順序作成済みの事例情報、１２０・・・演算部、１２１・・・入力受付部、１２２・・・出力処理部、１２３・・・３Ｄモデル情報生成部、１２４・・・部品種別分類部、１２５・・・部組化設定部、１２６・・・部品間隣接関係生成部、１２７・・・計算用部品構成ツリー生成部、１２８・・・順序制約設定部、１２９・・・組立シーケンス生成部、１３０・・・３Ｄアニメーション生成部、１３１・・・作業指示生成部、１４０・・・通信部、３０１・・・入力装置、３０２・・・出力装置、３０３・・・外部記憶装置、３０４・・・演算装置、３０５・・・主記憶装置、３０６・・・通信装置
【図１】
2019209446.tif 000003
【図２】
2019209446.tif 000004
【図３】
2019209446.tif 000005
【図４】
2019209446.tif 000006
【図５】
2019209446.tif 000007
【図６】
2019209446.tif 000008
【図７】
2019209446.tif 000009
【図８】
2019209446.tif 000010
【図９】
2019209446.tif 000011
【図１０】
2019209446.tif 000012
【図１１】
2019209446.tif 000013
【図１２】
2019209446.tif 000014
【図１３】
2019209446.tif 000015
【図１４】
2019209446.tif 000016
【図１５】
2019209446.tif 000017
【図１６】
2019209446.tif 000018
【図１７】
2019209446.tif 000019
【図１８】
2019209446.tif 000020
【図１９】
2019209446.tif 000021
【図２０】
2019209446.tif 000022
【図２１】
2019209446.tif 000023