IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許7188057情報処理装置、判定プログラム及び判定方法
<>
  • 特許-情報処理装置、判定プログラム及び判定方法 図1
  • 特許-情報処理装置、判定プログラム及び判定方法 図2
  • 特許-情報処理装置、判定プログラム及び判定方法 図3
  • 特許-情報処理装置、判定プログラム及び判定方法 図4
  • 特許-情報処理装置、判定プログラム及び判定方法 図5
  • 特許-情報処理装置、判定プログラム及び判定方法 図6
  • 特許-情報処理装置、判定プログラム及び判定方法 図7
  • 特許-情報処理装置、判定プログラム及び判定方法 図8
  • 特許-情報処理装置、判定プログラム及び判定方法 図9
  • 特許-情報処理装置、判定プログラム及び判定方法 図10
  • 特許-情報処理装置、判定プログラム及び判定方法 図11
  • 特許-情報処理装置、判定プログラム及び判定方法 図12
  • 特許-情報処理装置、判定プログラム及び判定方法 図13
  • 特許-情報処理装置、判定プログラム及び判定方法 図14
  • 特許-情報処理装置、判定プログラム及び判定方法 図15
  • 特許-情報処理装置、判定プログラム及び判定方法 図16
  • 特許-情報処理装置、判定プログラム及び判定方法 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-05
(45)【発行日】2022-12-13
(54)【発明の名称】情報処理装置、判定プログラム及び判定方法
(51)【国際特許分類】
   G06F 30/10 20200101AFI20221206BHJP
   G06F 30/20 20200101ALI20221206BHJP
【FI】
G06F30/10 100
G06F30/20
【請求項の数】 6
(21)【出願番号】P 2018239190
(22)【出願日】2018-12-21
(65)【公開番号】P2020101965
(43)【公開日】2020-07-02
【審査請求日】2021-09-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100087480
【弁理士】
【氏名又は名称】片山 修平
(72)【発明者】
【氏名】吉岡 幸治
(72)【発明者】
【氏名】尾崎 行雄
【審査官】合田 幸裕
(56)【参考文献】
【文献】特開平10-312208(JP,A)
【文献】特開平07-239866(JP,A)
【文献】特開2014-182557(JP,A)
【文献】特開2014-100773(JP,A)
【文献】国際公開第2014/199461(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/10
G06F 30/20
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
第1部品と前記第1部品内の第1位置に存在する第2部品それぞれのデータから、前記第1部品の外形上の特徴点である第1特徴点の座標データと、前記第2部品の外形上の特徴点である第2特徴点の座標データと、を算出する算出部と、
前記第特徴点と前記第特徴点の位置関係に基づいて前記第1部品と前記第2部品とが干渉しない前記第2部品の分解可能方向と移動距離とを特定する特定部と、
前記特定部が前記第2部品の分解可能方向と移動距離を特定できた場合に、前記第1位置を基準として特定した前記分解可能方向に前記移動距離だけ離れた位置を新たな第1位置とし、前記特定部が前記第2部品の分解可能方向と移動距離を特定できなかった場合に、直前の第1位置を新たな第1位置とする処理部と、
前記新たな第1位置において前記第2部品が前記第1部品の外部に存在するときに、前記第1部品から前記第2部品を分解可能又は前記第1部品に前記第2部品を組み付け可能と判定する判定部と、
を備える情報処理装置。
【請求項2】
前記判定部が分解可能又は組み付け可能と判定した場合の前記第1位置の遷移履歴に基づいて、前記第2部品の分解経路又は組み付け経路を決定する決定部を更に備える請求項1に記載の情報処理装置。
【請求項3】
前記第1特徴点及び前記第2特徴点は、頂点を含む、ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記特定部は、前記第特徴点と前記第特徴点の組のうち、所定方向に関する距離が最も短い組を特定し、前記第2部品を特定した前記組の距離だけ前記所定方向に移動したときに、前記第1部品と前記第2部品とが干渉しなければ、前記所定方向を前記分解可能方向と特定し、前記組の距離を前記移動距離として特定する、ことを特徴とする請求項1~3のいずれか一項に記載の情報処理装置。
【請求項5】
第1部品と前記第1部品内の第1位置に存在する第2部品それぞれのデータから、前記第1部品の外形上の特徴点である第1特徴点の座標データと、前記第2部品の外形上の特徴点である第2特徴点の座標データと、を算出し、
前記第特徴点と前記第特徴点の位置関係に基づいて前記第1部品と前記第2部品とが干渉しない前記第2部品の分解可能方向と移動距離とを特定し、
前記特定する処理で前記第2部品の分解可能方向と移動距離を特定できた場合に、前記第1位置を基準として特定した前記分解可能方向に前記移動距離だけ離れた位置を新たな第1位置とし、前記特定する処理で前記第2部品の分解可能方向と移動距離を特定できなかった場合に、直前の第1位置を新たな第1位置とし、
前記新たな第1位置において前記第2部品が前記第1部品の外部に存在するときに、前記第1部品から前記第2部品を分解可能又は前記第1部品に前記第2部品を組み付け可能と判定する、
処理をコンピュータに実行させるための判定プログラム。
【請求項6】
第1部品と前記第1部品内の第1位置に存在する第2部品それぞれのデータから、前記第1部品の外形上の特徴点である第1特徴点の座標データと、前記第2部品の外形上の特徴点である第2特徴点の座標データと、を算出し、
前記第特徴点と前記第特徴点の位置関係に基づいて前記第1部品と前記第2部品とが干渉しない前記第2部品の分解可能方向と移動距離とを特定し、
前記特定する処理で前記第2部品の分解可能方向と移動距離を特定できた場合に、前記第1位置を基準として特定した前記分解可能方向に前記移動距離だけ離れた位置を新たな第1位置とし、前記特定する処理で前記第2部品の分解可能方向と移動距離を特定できなかった場合に、直前の第1位置を新たな第1位置とし、
前記新たな第1位置において前記第2部品が前記第1部品の外部に存在するときに、前記第1部品から前記第2部品を分解可能又は前記第1部品に前記第2部品を組み付け可能と判定する、
処理をコンピュータが実行することを特徴とする判定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、判定プログラム及び判定方法に関する。
【背景技術】
【0002】
近年、三次元CADシステムを使用して製品設計を行なうことが多くなってきている。設計対象の製品が部品点数の多い複雑な製品の場合、製品を組み立てるための組立操作も複雑となるため、熟練者であっても設計段階で部品同士が干渉して組み立て不可になるのを見落としてしまう事態が生じるおそれがある。
【0003】
これに対し、実際に試作を行うことなく、設計した製品が実際に組立可能、分解可能であるか否かをシミュレートするシステムが知られている(例えば非特許文献1、2等参照)。
【先行技術文献】
【非特許文献】
【0004】
【文献】Geometric reasoning about mechanical assembly,Randall H.Wilson Jean-ClaudeLatombe,Stanford University, Artifical Inteligence 71(2), Dec 1994
【文献】An Efficient System For Geometric Assembly Sequence Generation And Evaluation, Bruce Romney, Stanford University, Proc.1995 ASME. Intl Computers in Engineering Conf., pp.699-712
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の組立、分解の可否をシミュレートするシステムでは、経路探索を行う際の処理量が膨大であり、処理に長時間を要していた。
【0006】
1つの側面では、本発明は、部品の分解又は組立の可否を判定する際の処理を軽減することが可能な情報処理装置、判定プログラム及び判定方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
一つの態様では、情報処理装置は、第1部品と前記第1部品内の第1位置に存在する第2部品それぞれのデータから、前記第1部品の外形上の特徴点である第1特徴点の座標データと、前記第2部品の外形上の特徴点である第2特徴点の座標データと、を算出する算出部と、前記第特徴点と前記第特徴点の位置関係に基づいて前記第1部品と前記第2部品とが干渉しない前記第2部品の分解可能方向と移動距離とを特定する特定部と、前記特定部が前記第2部品の分解可能方向と移動距離を特定できた場合に、前記第1位置を基準として特定した前記分解可能方向に前記移動距離だけ離れた位置を新たな第1位置とし、前記特定部が前記第2部品の分解可能方向と移動距離を特定できなかった場合に、直前の第1位置を新たな第1位置とする処理部と、前記新たな第1位置において前記第2部品が前記第1部品の外部に存在するときに、前記第1部品から前記第2部品を分解可能又は前記第1部品に前記第2部品を組み付け可能と判定する判定部と、を備えている。
【発明の効果】
【0008】
部品の分解又は組立の可否を判定する際の処理を軽減することができる。
【図面の簡単な説明】
【0009】
図1】一実施形態に係る情報処理装置のハードウェア構成を示す図である。
図2】情報処理装置の機能ブロック図である。
図3図3(a)、図3(b)は、変曲点について説明するための図である。
図4】情報処理装置の処理を示すフローチャートである。
図5図4のステップS12の処理を示すフローチャートである。
図6】対象部品とアセンブリとの関係を模式的に示す図である。
図7図7(a)は、対象部品の各変曲点の座標値を示す図であり、図7(b)は、アセンブリの各変曲点の座標値を示す図である。
図8図8(a)は、図5のステップS54の処理を説明するための図(その1)であり、図8(b)は、図5のステップS58の処理を説明するための図(その1)である。
図9図9(a)~図9(d)は、図5のステップS62において、対象部品とアセンブリが干渉しないと判定される場合を説明するための図である。
図10図10(a)~図10(c)は、分解可否テーブルを示す図(その1)である。
図11図11(a)は、図5のステップS54の処理を説明するための図(その2)であり、図11(b)は、図5のステップS58の処理を説明するための図(その2)である。
図12図12(a)~図12(e)は、図5のステップS62において、対象部品とアセンブリが干渉すると判定される場合を説明するための図である。
図13図13(a)~図13(d)は、図4のステップS16における対象部品の移動について説明するための図(その1)である。
図14図14(a)、図14(b)は、分解可否テーブルを示す図(その2)である。
図15図15(a)、図15(b)は、分解可能方向がなくなった場合の処理を説明するための図である。
図16図16(a)、図16(b)は、図4のステップS16における対象部品の移動について説明するための図(その2)である。
図17】分解経路を示す図である。
【発明を実施するための形態】
【0010】
以下、情報処理装置の一実施形態について、図1図17に基づいて詳細に説明する。本実施形態の情報処理装置10は、ある部品(対象部品と呼ぶ)が別の部品(アセンブリと呼ぶ)に組み込まれている場合に、三次元CADデータに基づいて、対象部品をアセンブリから分解可能か否かを判定する装置である。また、情報処理装置10は、分解可能と判定された場合に、分解経路及び分解経路を逆に辿った組立経路を決定する装置である。なお、本実施形態では、アセンブリが第1部品であり、対象部品が第1部品内に位置する第2部品であるといえる。
【0011】
図1には、本実施形態の情報処理装置10のハードウェア構成が示されている。図1に示すように、情報処理装置10は、CPU(Central Processing Unit)90、ROM(Read Only Memory)92、RAM(Random Access Memory)94、記憶部(ここではHDD(Hard Disk Drive))96、ネットワークインタフェース97、表示部93、入力部95及び可搬型記憶媒体用ドライブ99等を備えている。表示部93は液晶ディスプレイ等を含み、入力部95は、キーボード、マウス、タッチパネル等を含む。これら情報処理装置10の構成各部は、バス98に接続されている。情報処理装置10では、ROM92あるいはHDD96に格納されているプログラム(判定プログラムを含む)、或いは可搬型記憶媒体用ドライブ99が可搬型記憶媒体91から読み取ったプログラム(判定プログラムを含む)をCPU90が実行することにより、図2に示す各部の機能が実現されている。なお、図2の各部の機能は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0012】
図2には、情報処理装置10の機能ブロック図が示されている。図2に示すように、情報処理装置10では、CPU90がプログラムを実行することにより、算出部としての変曲点算出部20、特定部としての方向算出部22、処理部及び判定部としての処理・判定部24、決定部としての経路決定部26、として機能する。なお、図2には、HDD96等に格納されている分解可否テーブル30、及び経路テーブル32についても図示されている。
【0013】
変曲点算出部20は、三次元CADデータから、対象部品とアセンブリのデータを取得し、各部品の特徴点として変曲点の座標を算出する。ここで、変曲点は、図3(a)、図3(b)において白丸(〇)で示すような、各部品の複数辺が接した点(頂点)や、図3(b)において黒丸(●)で示すような、曲面における頂点に相当する点(例えば接線の傾きが所定以上変化する点)などを含む。なお、変曲点の定義は、管理者等が設定することができるものとする。変曲点算出部20は、算出した変曲点の座標データを、方向算出部22に受け渡す。
【0014】
方向算出部22は、変曲点算出部20から受け渡された変曲点の座標データに基づいて、対象部品を確実に移動できる方向(分解可能方向)と分解可能方向に確実に移動できる距離(移動量)とを算出する。方向算出部22は、算出結果を、分解可否テーブル30に格納する。分解可否テーブル30の詳細については後述する。
【0015】
処理・判定部24は、分解可否テーブル30を参照して、対象部品をアセンブリの内部において移動する処理を実行する。また、処理・判定部24は、新たな位置に対象部品を移動させたときに対象部品がアセンブリの外部に出ていなければ、対象部品が新たな位置に存在する状態で、変曲点算出部20及び方向算出部22に処理を実行させる。そして、処理・判定部24は、対象部品がアセンブリの外部に出た段階で、対象部品をアセンブリから分解可能(すなわち、アセンブリに対して対象部品を組立可能)と判定する。
【0016】
経路決定部26は、処理・判定部24が対象部品を分解可能と判定した場合に、処理・判定部24による対象部品の移動履歴(対象部品の位置の遷移履歴)を参照して、分解経路を決定する。なお、分解経路を逆に辿った場合、組立経路になるため、経路決定部26は、組立経路を決定しているともいえる。経路決定部26は、決定した分解経路を経路テーブル32に格納する。
【0017】
(情報処理装置10の処理について)
次に、情報処理装置10の処理について、図4図5のフローチャートに沿って、その他図面を適宜参照しつつ詳細に説明する。
【0018】
図4の処理では、まず、ステップS10において、変曲点算出部20が、対象部品とアセンブリの三次元CADデータを取得する。本実施形態では、一例として、図6に模式的に示すように、対象部品KがアセンブリAの内部(第1位置)に組み込まれているものとする。したがって、変曲点算出部20は、対象部品KとアセンブリAの三次元CADデータを取得する。なお、図6においては、図示の便宜上、アセンブリAの紙面手前側及び奥側が開放されているようにも見えるが、実際には、アセンブリAの紙面手前側及び奥側は閉塞しているものとする。したがって、対象部品KはアセンブリAの開口部40からのみ取り出すことができるようになっている。
【0019】
次いでステップS12では、変曲点算出部20及び方向算出部22が、分解可能方向算出処理のサブルーチンを実行する。このステップS12の処理は、対象部品Kを確実に移動できる方向(分解可能方向)と対象部品Kを分解可能方向に確実に移動できる距離(移動量)を算出する処理である。具体的には、図5のフローチャートに沿った処理が実行される。
【0020】
図5の処理では、まずステップS50において、変曲点算出部20が、対象部品KとアセンブリAの変曲点の座標を抽出する。ここでは、一例として、図6に示すように、対象部品Kの変曲点の座標として、符号a~fで示す点の座標が抽出され、アセンブリAの変曲点の座標として、符号1~12で示す点の座標が抽出されたものとする。図7(a)には、対象部品Kの各変曲点の座標値が示され、図7(b)には、アセンブリAの各変曲点の座標値が示されている。なお、実際には、紙面奥側に位置する変曲点の座標も抽出されるが、説明及び図示の便宜上、図6図7(a)、図7(b)ではその記載を省略している。
【0021】
図5に戻り、次のステップS52では、方向算出部22が、対象部品の分解可否判定方向を1つ取得する。本実施形態において、分解可否判定方向は、例えば、+X方向、-X方向、+Y方向、-Y方向、+Z方向、-Z方向の6方向であるものとする。ここでは、一例として、方向算出部22が+X方向を取得したものとする。
【0022】
次いで、ステップS54では、方向算出部22が、取得した分解可否判定方向に対して、対象部品Kの各変曲点とアセンブリAの各変曲点との距離を算出する。例えば、図8(a)において、対象部品Kの変曲点aに着目した場合、変曲点aの-X側に位置するアセンブリAの変曲点3、4、7、8(二点鎖線で囲む変曲点)を除外して、変曲点aとアセンブリAの変曲点とのX軸方向に関する距離を算出する。具体的には、図8(a)に示す、変曲点aと変曲点5、6との距離L1、変曲点aと変曲点11、12との距離L2、変曲点aと変曲点9、10との距離L3、変曲点aと変曲点1、2との距離L4が算出される。また、方向算出部22は、対象部品Kの変曲点b~fに順次着目し、同様の処理を実行する。
【0023】
次いで、ステップS56では、方向算出部22が、算出結果から、距離が最小の変曲点の組を選択する。ここでは、一例として変曲点a(又はb)と変曲点5(又は6)の組(図8(a)における距離L1の組)が選択されたものとする。
【0024】
次いで、ステップS58では、方向算出部22が、分解可否判定方向に対して、選択した変曲点の組の座標が一致するように、対象部品Kを移動する。この場合、方向算出部22は、図8(b)に示すように、対象部品Kを+X方向に距離L1だけ移動する。
【0025】
次いで、ステップS60では、方向算出部22が、対象部品KとアセンブリAとの干渉有無を判定する。この干渉有無の判定において、方向算出部22は、分解可否判定方向に対して垂直な断面(図8(b)のD-D線断面)を撮影した画像を用いることとする。この場合、方向算出部22は、対象部品KがアセンブリAに組み付けられた状態の画像(図9(a))を取得し、取得した画像のうち、対象部品Kを白色、それ以外を黒色に二値化した画像を生成する(図9(b))。また、方向算出部22は、対象部品Kのみの画像(図9(c)のように図9(a)からアセンブリAを除外した画像)を取得し、取得した画像のうち、対象部品Kを白色、それ以外を黒色に二値化した画像を生成する(図9(d))。そして、方向算出部22は、生成した図9(b)、図9(d)に示す2つの画像を比較して、同一の画像であれば、対象部品KとアセンブリAとが干渉していないと判断する。一方、方向算出部22は、生成した2つの画像が異なる場合には、対象部品KとアセンブリAとが干渉していると判断する(この点については後述する)。
【0026】
次いで、ステップS62では、方向算出部22が、干渉するか否かを判断する。このステップS62の判断が否定された場合(干渉しない場合)には、ステップS66に移行し、方向算出部22は、分解可否テーブル30において、分解可否判定方向に対し、「分解可」であることと、移動量を記録する。ここで、分解可否テーブル30は、図10(a)に示すようなデータ構造を有する。「状態No.」の欄には、対象部品KとアセンブリAの位置関係の識別番号が格納される。本実施形態では、図6の位置関係であるときの「状態No.」を「1」としている。また、分解可否テーブル30には、各方向に対して、「分解可否」、「移動量(mm)」、「移動済」を記録できるようになっている。「分解可否」の欄には、ステップS62の判断が否定された場合に「〇」、肯定された場合に「×」が格納される。「移動量(mm)」の欄には、「分解可否」が〇の場合に、ステップS54で算出された距離が格納される。「移動済」の欄には、後述するステップS16(図4)で移動を行った場合に「〇」が格納される。なお、「分解可否」の欄に「〇」が格納された方向を「分解可能方向」と呼ぶものとする。
【0027】
なお、ステップS62の判断が肯定された場合には、ステップS64に移行し、方向算出部22は、分解可否判定方向に対して、分解不可であることを記録する。この場合、方向算出部22は、「分解可否」の欄に「×」を記録し、「移動量(mm)」、「移動済」の欄には何も記録しない。
【0028】
上記のようにしてステップS64又はステップS66の処理が行われた後は、ステップS68に移行し、方向算出部22が、対象部品Kを元の位置に戻す。
【0029】
次いで、ステップS70では、方向算出部22が、全ての分解可否判定方向を判定したか否かを判断する。ここでは、まだ+X方向しか判定していないため、ステップS70の判断は否定され、方向算出部22は、ステップS72に移行する。
【0030】
ステップS72に移行すると、方向算出部22は、判定していない分解可否判定方向を1つ取得する。例えば、方向算出部22は、+Z方向を取得したものとする。その後は、方向算出部22は、ステップS54に戻る。
【0031】
ステップS54に戻ると、方向算出部22は、上述した+X方向の場合と同様にして、+Z方向に関する処理を実行する。この場合、方向算出部22は、図11(a)に示すように、対象部品Kの変曲点aに着目すると、変曲点aの-Z側に位置するアセンブリAの変曲点(二点鎖線で囲む変曲点)を除外し、変曲点aとアセンブリAの変曲点とのZ軸方向の距離を算出する。具体的には、方向算出部22は、図11(a)に示す、変曲点aと変曲点10、11との距離L5、変曲点aと変曲点1、12との距離L6、変曲点aと変曲点6、7との距離L7、変曲点aと変曲点4、5との距離L8を算出する。また、方向算出部22は、対象部品Kの変曲点b~fに順次着目し、同様の処理を実行する(S54)。そして、方向算出部22は、距離が最小の変曲点の組を選択する(S56)。ここでは、一例として変曲点a(又はf)と変曲点10(又は11)の組(図11における距離L5の組)が選択されたものとする。その後は、方向算出部22は、対象部品Kを図11(b)に示すように、+Z方向に距離L5だけ移動し(S58)、干渉有無を判定する(S60)。この場合、方向算出部22は、分解可否判定方向に対して垂直な断面(図11(b)のE-E線断面)を撮影した画像を用いる。なお、この場合にも、図9(a)~図9(d)の場合と同様、干渉がないと判定される。この場合、ステップS62の判断は否定されるため、方向算出部22は、図10(b)に示すように分解可否テーブル30を更新する(S66)とともに、対象部品Kを元の位置に戻す(S68)。そして、ステップS70の判断が否定されると、方向算出部22は、ステップS72において、判定していない分解可否判定方向を1つ取得する。
【0032】
以下同様に、方向算出部22は、残りの方向について、上記処理を行い、ステップS70の判断が肯定された段階(分解可否テーブル30に図11(c)のような情報が記録された段階)で、図5の全処理を終了し、図4のステップS14に移行する。
【0033】
なお、ステップS60の処理において対象部品KとアセンブリAとが干渉する場合とは、例えば、図6の状態で、分解可否判定方向として-X方向が取得された場合である。この場合、距離が最小の変曲点の組として、変曲点c(又はd)と変曲点3(又は4)の組が選択されたとすると、方向算出部22は、ステップS58において、図12(a)に示すように対象部品Kを移動する。この場合、方向算出部22は、ステップS60において干渉有無を判定する際に、分解可否判定方向に対して垂直な断面(図12(a)のF-F線断面)を撮影した画像を用いる。なお、図12(a)においては、対象部品Kの変曲点c、dが存在する面と、アセンブリAの変曲点3、4が存在する面とが一致しているが、このように面が一致している場合には、対象部品Kは画像に写らないものとする。この場合、方向算出部22は、F-F断面の画像(図12(b))を取得し、取得した画像のうち、対象部品Kを白色、それ以外を黒色に二値化した画像を生成する(図12(c))。また、方向算出部22は、対象部品KのみのF-F断面の画像(図12(d)のように図12(b)からアセンブリAを除外した画像)を取得し、取得した画像のうち、対象部品Kを白色、それ以外を黒色に二値化した画像を生成する(図12(e))。そして、方向算出部22は、生成した図12(c)、図12(e)に示す2つの画像を比較する。この場合、図12(c)、図12(e)の画像は同一の画像でないため、方向算出部22は、対象部品KとアセンブリAとが干渉していると判断する。
【0034】
図4に戻り、ステップS14に移行すると、処理・判定部24は、分解可能方向があるか否かを判断する。図10(c)の場合、分解可能方向がある(+X方向、+Y方向、+Z方向、-Y方向)ため、ステップS14の判断は肯定されて、ステップS16に移行する。
【0035】
ステップS16に移行すると、処理・判定部24は、分解可否テーブル30から、分解可能方向と移動量を取得して、対象部品Kを移動する。ここでは、一例として、処理・判定部24が、分解可能方向及び移動量として、+X方向及び30mmを取得したものとする。この場合、処理・判定部24は、対象部品Kを、取得した分解可能方向(+X方向)に、取得した移動量(30mm)だけ移動する。これにより、図13(a)の状態から図13(b)の状態となる。なお、この移動の際に、処理・判定部24は、分解可否テーブル30(図10(c))の「状態No.」=1の「方向」=+Xの「移動済」の欄を「〇」に更新する。
【0036】
なお、本実施形態においては、説明及び図示の煩雑化を避けるため、分解可能方向に+Y方向と-Y方向が含まれる場合であっても、処理・判定部24は、これらの方向を取得しないものとする。すなわち、本実施形態では、+Y方向と-Y方向を分解可能方向から除外するものとする。
【0037】
次いで、ステップS30では、処理・判定部24は、対象部品KがアセンブリAの外形の領域外まで移動したか否かを判断する。すなわち、処理・判定部24は、対象部品K全体が、図13(b)の破線枠(バウンディングボックス)外に出たか否かを判断する。ここでの判断が否定された場合には、ステップS10に戻る。
【0038】
ステップS10に戻ると、変曲点算出部20は、移動後の対象部品KとアセンブリAのデータを取得する。次いで、ステップS12では、再度、図5の処理が実行される。この場合、図13(b)の状態を「状態No.」=2として、図5の処理を実行することで、分解可否テーブル30は、図14(a)に示すように更新される。なお、「状態No.」=2以降においては、移動元に戻る方向の「分解可否」の欄(図14(a)の「状態No.」=2であれば、-X方向の「分解可否」の欄)は、無条件で「×」となるものとする。
【0039】
そして、ステップS14に移行すると、処理・判定部24は、分解可能方向があるか否かを判断する。図14(a)の場合、分解可能方向がある(+X、+Y、+Z、-Y方向)ため、ステップS14の判断は肯定されて、ステップS16に移行する。
【0040】
ステップS16に移行すると、処理・判定部24は、分解可能方向と移動量を取得して、対象部品を移動する。ここでは、一例として、処理・判定部24が、分解可能方向及び移動量として、+X方向及び15mmを取得したものとする。この場合、処理・判定部24は、対象部品Kを、取得した分解可能方向(+X方向)に、取得した移動量(15mm)だけ移動する。これにより、図13(b)の状態から図13(c)の状態となる。なお、処理・判定部24は、移動後において、分解可否テーブル30(図14(a))の「状態No.」=2の「方向」=+Xに対応する「移動済」の欄に「〇」を記録する。
【0041】
次いで、ステップS30では、処理・判定部24は、対象部品KがアセンブリAの外形の領域外まで移動したか否かを判断する。ここでの判断が否定された場合には、処理・判定部24は、ステップS10に戻る。
【0042】
ステップS10に戻ると、変曲点算出部20は、移動後の対象部品KとアセンブリAのデータを取得する。そして、ステップS12では、再度、図5の処理が実行される。この場合、図13(b)の状態を「状態No.」=3として、図5の処理を実行することで、分解可否テーブル30は、図14(b)に示すように更新される。
【0043】
その後、ステップS14に移行すると、処理・判定部24は、分解可能方向があるか否かを判断する。図14(b)の場合、分解可能方向がある(+X、+Y、+Z、-Y方向)ため、ステップS14の判断は肯定されて、ステップS16に移行する。
【0044】
ステップS16に移行すると、処理・判定部24は、分解可能方向と移動量を取得して、対象部品を移動する。ここでは、一例として、処理・判定部24が、分解可能方向及び移動量として、+X方向及び20mmを取得したものとする。この場合、処理・判定部24は、対象部品Kを、取得した分解可能方向(+X方向)に、取得した移動量(20mm)だけ移動する。これにより、図13(c)の状態から図13(d)の状態となる。なお、処理・判定部24は、移動後に、分解可否テーブル30(図14(b))の「状態No.」=3の「方向」=+Xに対応する「移動済」の欄に「〇」を記録する。
【0045】
次いで、ステップS30では、処理・判定部24は、対象部品KがアセンブリAの外形の領域外まで移動したか否かを判断する。ここでの判断が否定された場合には、ステップS10に戻る。
【0046】
その後、同様の処理を繰り返し、対象部品Kが図15(a)に示す位置まで到達したとする。そして、図15(a)の位置で分解可能方向を算出したところ(S12)、分解可能方向が無かったとする。この場合、ステップS14の判断は否定され、処理・判定部24は、ステップS18に移行する。
【0047】
ステップS18に移行すると、処理・判定部24は、分解可否テーブル30を参照して、まだ対象部品Kを移動させていない分解可能方向が存在する直近の位置を探索する。すなわち、分解可否テーブル30において、「分解可否」の欄に〇が入力されているにも関わらず、「移動済」の欄に〇が入力されていないものがある直近の位置(状態No.)を探索する。図15(a)の例では、図15(b)に示す位置において、未だ+Z方向に移動していないことが探索されたものとする。
【0048】
次いで、ステップS20では、処理・判定部24が、発見できたか否かを判断する。このステップS20の判断が否定された場合、すなわち、発見できなかった場合には、処理・判定部24は、ステップS36において、対象部品KはアセンブリAから分解不可と判断し、図4の全処理を終了する。一方、図15(b)のように、発見できた場合には、処理・判定部24は、ステップS22に移行する。
【0049】
ステップS22に移行すると、処理・判定部24は、発見した位置まで対象部品Kを戻す。すなわち、処理・判定部24は、対象部品Kを図15(a)の位置から図15(b)の位置まで戻す。
【0050】
次いで、ステップS24では、処理・判定部24が、まだ移動させていない分解可能方向と移動量を取得して、対象部品Kを移動する。この場合、処理・判定部24は、例えば、分解可能方向として+Z方向、移動量として10mmを取得し、図16(a)に示すように対象部品Kを移動したとする。その後は、ステップS30に移行し、処理・判定部24は、対象部品KがアセンブリAの外形の領域外まで移動したか否かを判断する。このステップS30の判断が否定されると、処理・判定部24は、ステップS10に戻る。
【0051】
以降は、上記と同様の処理が繰り返され、対象部品Kを+Z方向に順次移動させた結果、図16(b)に示すように対象部品KがアセンブリAの外形の領域外に出た段階で、ステップS30の判断が肯定されることになる。
【0052】
ステップS30の判断が肯定され、ステップS32に移行すると、処理・判定部24は、対象部品Kは分解可能であると判断する。処理・判定部24の判断結果は経路決定部26に受け渡される。なお、処理・判定部24が対象部品KをアセンブリAから分解できると判断することは、対象部品KをアセンブリAに組み付けできる(組立可能)と判断しているとも言える。
【0053】
そして、次のステップS34では、経路決定部26が、分解経路を記録する。この場合、経路決定部26は、対象部品Kの移動履歴から冗長な移動経路(重複部分や交差が生じた部分)を除外したものを分解経路として経路テーブル32に記録する。本実施形態では、図17において太線矢印で示すような分解経路が経路テーブル32に記録されることになる。なお、分解経路は、逆に辿れば組立経路となるため、経路テーブル32には、組立経路が記録されたともいえる。
【0054】
ステップS34の処理が行われた後は、図4の全処理を終了する。
【0055】
以上、詳細に説明したように、本実施形態によると、変曲点算出部20は、アセンブリAとアセンブリA内に存在する対象部品Kそれぞれの三次元CADデータから、アセンブリAと対象部品Kの変曲点の座標データを抽出する(S50)。また、方向算出部22は、アセンブリAと対象部品Kの変曲点の位置関係に基づいてアセンブリAと対象部品Kとが干渉しない対象部品Kの分解可能方向と移動量とを算出する(S52~S72)。そして、処理・判定部24は、方向算出部22が対象部品Kの分解可能方向と移動量を算出できた場合(S14:肯定)に、対象部品Kを算出した分解可能方向に算出した移動量だけ移動する(S16)。また、処理・判定部24は、分解可能方向と移動量を算出できなかった場合(S14:否定)に、まだ移動させていない分解可能方向が存在する直近の位置に対象部品Kを戻す(S22)。そして、処理・判定部24は、新たな位置において対象部品KがアセンブリAの外部に存在すれば(S30:肯定)、アセンブリAから対象部品Kを分解可能(又は組立可能)と判断する(S32)。このように、本実施形態では、アセンブリAと対象部品Kの変曲点の位置関係から算出した分解可能方向と移動量に基づいて対象部品Kを移動して、対象部品Kの分解可否(又は組立可否)を判断する。したがって、対象部品Kをわずかに移動させて干渉チェックを行い、干渉が無ければ再度対象部品Kをわずかに移動させ…という処理を繰り返すような場合と比べて、処理量を低減することができる。また、処理に要する時間を短縮することができる。
【0056】
また、本実施形態では、経路決定部26は、分解可能(又は組立可能)と判定した場合に、対象部品Kの移動履歴(対象部品Kの位置の遷移履歴)に基づいて、対象部品Kの分解経路(又は組立経路)を決定する。これにより、分解経路又は組立経路の決定に要する処理量を低減し、処理時間を短縮することができる。
【0057】
また、本実施形態では、方向算出部22は、アセンブリAの変曲点と対象部品Kの変曲点の組のうち、分解可否判定方向に関する距離が最小の組を選択する(S56)。そして、方向算出部22は、対象部品Kを分解可否判定方向に選択した組の距離だけ移動したときに、アセンブリAと対象部品Kとが干渉しなければ(S62:否定)、分解可否判定方向を分解可能方向とし、組の距離を移動量とする(S66)。これにより、本実施形態では、分解可能方向と移動量を適切に決定することができる。
【0058】
なお、上記実施形態では、対象部品KとアセンブリAの干渉有無を判定する際に、図9(a)~図9(d)や図12(b)~図12(e)に示すような画像を用いる場合について説明したが、これに限られるものではない。干渉有無の判定には、種々の方法を用いることができる。例えば、特開平7-134735号公報、特開平8-77210号公報、特開平9-27046号公報等に記載の方法により、干渉有無の判定を行うこととしてもよい。
【0059】
なお、上記実施形態では、図5の処理において、全ての分解可能方向を特定する場合について説明したが、これに限られるものではない。すなわち、図5の処理においては、分解可能方向を1方向のみ特定してもよい。この場合、図15(a)に示すように分解可能方向が1つも特定できなくなったときには、図15(b)に示すように直近の位置に戻り、その位置において未特定の別の分解可能方向を新たに特定すればよい。
【0060】
なお、上記実施形態では、ステップS52で取得する分解可否判定方向が±X方向、±Y方向、±Z方向の6方向のいずれかである場合について説明したが、これに限られるものではない。分解可否判定方向として取得可能な方向は、6方向よりも少なくてもよいし、6方向よりも多くてもよい。
【0061】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記憶媒体(ただし、搬送波は除く)に記録しておくことができる。
【0062】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD-ROM(Compact Disc Read Only Memory)などの可搬型記憶媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0063】
プログラムを実行するコンピュータは、例えば、可搬型記憶媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記憶媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0064】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【0065】
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
(付記1) 第1部品と前記第1部品内の第1位置に存在する第2部品それぞれのデータから、前記第1部品の外形上の特徴点の座標データと、前記第2部品の外形上の特徴点の座標データと、を算出する算出部と、
前記第1部品の前記特徴点と前記第2部品の前記特徴点の位置関係に基づいて前記第1部品と前記第2部品とが干渉しない前記第2部品の分解可能方向と移動距離とを特定する特定部と、
前記特定部が前記第2部品の分解可能方向と移動距離を特定できた場合に、前記第1位置を基準として特定した前記分解可能方向に前記移動距離だけ離れた位置を新たな第1位置とし、前記特定部が前記第2部品の分解可能方向と移動距離を特定できなかった場合に、直前の第1位置を新たな第1位置とする処理部と、
前記新たな第1位置において前記第2部品が前記第1部品の外部に存在するときに、前記第1部品から前記第2部品を分解可能又は前記第1部品に前記第2部品を組み付け可能と判定する判定部と、
を備える情報処理装置。
(付記2) 前記判定部が分解可能又は組み付け可能と判定した場合の前記第1位置の遷移履歴に基づいて、前記第2部品の分解経路又は組み付け経路を決定する決定部を更に備える付記1に記載の情報処理装置。
(付記3) 前記外形上の特徴点は、頂点を含む、ことを特徴とする付記1又は2に記載の情報処理装置。
(付記4) 前記特定部は、前記第1部品の前記特徴点と前記第2部品の前記特徴点の組のうち、所定方向に関する距離が最も短い組を特定し、前記第2部品を特定した前記組の距離だけ前記所定方向に移動したときに、前記第1部品と前記第2部品とが干渉しなければ、前記所定方向を前記分解可能方向と特定し、前記組の距離を前記移動距離として特定する、ことを特徴とする付記1~3のいずれかに記載の情報処理装置。
(付記5) 第1部品と前記第1部品内の第1位置に存在する第2部品それぞれのデータから、前記第1部品の外形上の特徴点の座標データと、前記第2部品の外形上の特徴点の座標データと、を算出し、
前記第1部品の前記特徴点と前記第2部品の前記特徴点の位置関係に基づいて前記第1部品と前記第2部品とが干渉しない前記第2部品の分解可能方向と移動距離とを特定し、
前記特定する処理で前記第2部品の分解可能方向と移動距離を特定できた場合に、前記第1位置を基準として特定した前記分解可能方向に前記移動距離だけ離れた位置を新たな第1位置とし、前記特定する処理で前記第2部品の分解可能方向と移動距離を特定できなかった場合に、直前の第1位置を新たな第1位置とし、
前記新たな第1位置において前記第2部品が前記第1部品の外部に存在するときに、前記第1部品から前記第2部品を分解可能又は前記第1部品に前記第2部品を組み付け可能と判定する、
処理をコンピュータに実行させるための判定プログラム。
(付記6) 前記判定する処理において分解可能又は組み付け可能と判定した場合の前記第1位置の遷移履歴に基づいて、前記第2部品の分解経路又は組み付け経路を決定する、処理を前記コンピュータに更に実行させることを特徴とする付記5に記載の判定プログラム。
(付記7) 前記外形上の特徴点は、頂点を含む、ことを特徴とする付記5又は6に記載の判定プログラム。
(付記8) 前記特定する処理において、前記第1部品の前記特徴点と前記第2部品の前記特徴点の組のうち、所定方向に関する距離が最も短い組を特定し、前記第2部品を特定した前記組の距離だけ前記所定方向に移動したときに、前記第1部品と前記第2部品とが干渉しなければ、前記所定方向を前記分解可能方向と特定し、前記組の距離を前記移動距離として特定する、ことを特徴とする付記5~7のいずれかに記載の判定プログラム。
(付記9) 第1部品と前記第1部品内の第1位置に存在する第2部品それぞれのデータから、前記第1部品の外形上の特徴点の座標データと、前記第2部品の外形上の特徴点の座標データと、を算出し、
前記第1部品の前記特徴点と前記第2部品の前記特徴点の位置関係に基づいて前記第1部品と前記第2部品とが干渉しない前記第2部品の分解可能方向と移動距離とを特定し、
前記特定する処理で前記第2部品の分解可能方向と移動距離を特定できた場合に、前記第1位置を基準として特定した前記分解可能方向に前記移動距離だけ離れた位置を新たな第1位置とし、前記特定する処理で前記第2部品の分解可能方向と移動距離を特定できなかった場合に、直前の第1位置を新たな第1位置とし、
前記新たな第1位置において前記第2部品が前記第1部品の外部に存在するときに、前記第1部品から前記第2部品を分解可能又は前記第1部品に前記第2部品を組み付け可能と判定する、
処理をコンピュータが実行することを特徴とする判定方法。
【符号の説明】
【0066】
10 情報処理装置
20 変曲点算出部(算出部)
22 方向算出部(特定部)
24 処理・判定部(処理部、判定部)
26 経路決定部(決定部)
A アセンブリ(第1部品)
K 対象部品(第2部品)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17