計算機システム、及び組立アニメーション生成方法
【課題】作業指示アニメーションにおける対象部品の動作が見えるカメラ姿勢を自動的に生成するための技術を提供する。
【解決手段】組立品を構成する複数の部品の慣性テンソル情報から組立品の第一慣性主軸を算出する。また、複数の部品間の近接関係を示す近接関係情報を取得し、複数の部品の近接関係情報に基づいて、複数の部品のそれぞれが近接する部品と干渉しないような、組立シーケンス及び複数の部品の組み付け方向を示す組立運動ベクトルを生成する。さらに、第一慣性主軸の周りに、それぞれカメラ軸を有し、組立アニメーション生成の際の作業視野の候補となる複数のカメラ視点を配置し、複数の部品のそれぞれについて、対象部品の組立運動ベクトルに最も方向が合致するカメラ視点を選択し、当該選択されたカメラ視点を対象部品の作業視野として設定する。そして、設定された作業視野から組立品の組立アニメーションを生成する。
【解決手段】組立品を構成する複数の部品の慣性テンソル情報から組立品の第一慣性主軸を算出する。また、複数の部品間の近接関係を示す近接関係情報を取得し、複数の部品の近接関係情報に基づいて、複数の部品のそれぞれが近接する部品と干渉しないような、組立シーケンス及び複数の部品の組み付け方向を示す組立運動ベクトルを生成する。さらに、第一慣性主軸の周りに、それぞれカメラ軸を有し、組立アニメーション生成の際の作業視野の候補となる複数のカメラ視点を配置し、複数の部品のそれぞれについて、対象部品の組立運動ベクトルに最も方向が合致するカメラ視点を選択し、当該選択されたカメラ視点を対象部品の作業視野として設定する。そして、設定された作業視野から組立品の組立アニメーションを生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計算機システム、及び組立アニメーション生成方法に関し、例えば、コンピュータを用い、組立品を組み立てるシーケンスを示す組立シーケンスに基づいて、組立品の組立の動作を示す組立アニメーションを生成するための技術に関するものである。
【背景技術】
【0002】
複数の部品を組み立てて完成品を作成する場合、組立動作をアニメーションとして示すことができると組立作業上非常に便利である。例えば、特許文献1には、組立順序とその運動方向を算出し、組立アニメーションを生成する方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008-46924号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1で示される従来のアニメーション作成技術においては、アニメーション作成時に必要となるカメラ姿勢については考慮されていない。したがって、組立動作のアニメーションを生成してもカメラは初期姿勢のままであり、作業者に見せたい対象部品の動作が他の部品に妨げられて見えなくなる恐れがある。
【0005】
本発明はこのような状況に鑑みてなされたものであり、作業指示アニメーションにおける対象部品の動作が見えるカメラ姿勢を自動的に生成するための技術を提供するものである。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明では、対象ワークの設置面であり作業者(オペレータ、ユーザと言うこともできる)の立ち位置である水平面を推算することにより、現実の作業に則した作業視野を自動的に生成するようにする。
【0007】
即ち、本発明では、組立品を構成する複数の部品の慣性テンソル情報を取得し、当該慣性テンソル情報から組立品の第一慣性主軸を算出する。また、複数の部品間の近接関係を示す近接関係情報を取得し、複数の部品の近接関係情報に基づいて、複数の部品のそれぞれが近接する部品と干渉しないような、組立シーケンス及び複数の部品の組み付け方向を示す組立運動ベクトルを生成する。さらに、第一慣性主軸の周りに、それぞれカメラ軸を有し、組立アニメーション生成の際の作業視野の候補となる複数のカメラ視点を配置し、複数の部品のそれぞれについて、対象部品の組立運動ベクトルに最も方向が合致するカメラ視点を選択し、当該選択されたカメラ視点を対象部品の作業視野として設定する。そして、設定された作業視野から組立品の組立アニメーションを生成する。
【0008】
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、本発明の態様は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される特許請求の範囲の様態により達成され実現される。
【0009】
本明細書の記述は典型的な例示に過ぎず、本発明の特許請求の範囲又は適用例を如何なる意味に於いても限定するものではないことを理解する必要がある。
【発明の効果】
【0010】
本発明によれば、組立の対象となるアセンブリモデルから組立作業におけるワークの設置姿勢と作業者との位置関係を推算し、作業視野を自動的に生成することが可能となり、組立作業指示の工数の低減効果を得られる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態によるコンピュータシステムの概略構成を示す図である。
【図2】本発明の実施形態による組立アニメーション生成処理の概要を説明するためのフローチャートである。
【図3】本発明の実施形態による部品の近接関係(例)を説明するための図である。
【図4】本発明の実施形態による組立単位の設定の例を示す図である。
【図5】本発明の実施形態による組立運動ベクトル生成処理の詳細を説明するためのフローチャートである。
【図6】本発明の実施形態による分解運動(例)を説明するための図である。
【図7】本発明の実施形態による組立アニメーションデータの構成を示すデータリストの図である。
【図8】本発明の実施形態による組立アニメーションを表示した画面例を示す図(画面正面図)である。
【図9】本発明の実施形態による作業支持図を表示した画面例を示す図(画面正面図)である。
【図10】本発明の実施形態による組立単位の設置姿勢算出に関する情報例を示す図である。
【図11】本発明の実施形態による複数台のカメラの設定例を示す図である。
【図12】本発明の実施形態による組立運動を捕らえるのに適したカメラを選択する例を説明するための図である。
【発明を実施するための形態】
【0012】
本発明は、作業者による現実の組立品の組立作業に則した作業視野(作業者がまさに見ているような感覚となる視野)、その作業視野に基づいた組立アニメーションや組立作業指示図を自動生成するための技術を提供する。
【0013】
以下、添付図面を参照して本発明の実施形態について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面は本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
【0014】
本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
【0015】
更に、本発明の実施形態は、後述されるように、汎用コンピュータ上で稼動するソフトウェアで実装しても良いし専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装しても良い。従って、各取得部、算出部、及び生成部は、取得プログラム、算出プログラム、及び生成プログラムと読み替えることができる。
【0016】
<コンピュータシステムの構成>
図1は、本発明を実現するコンピュータシステム(「組立視点生成システム」ともいう)の概略構成を示す図である。
【0017】
コンピュータシステム1は、ROM(Read Only Memory)8に格納された各種プログラムを読み出してRAM(Random Access Memory)9に展開し、各種プログラムに従った処理を実行する処理手段2と、取得したデータ及び処理結果を格納するための記憶手段3と、ユーザが情報や必要な指示を入力するための入力手段4と、処理結果や作成したアニメーションを出力する出力手段5と、少なくともCADデータを格納するCAD7と、少なくとも各種プログラムを格納するROM8と、少なくとも処理手段2の作業領域を提供するRAM9と、を有し、それらは接続線6を介して接続されている。
【0018】
処理手段2は、例えばCPUなどのプロセッサである。記憶手段3は、例えばHDDや半導体メモリである。入力手段4は、例えばキーボードやマウス(ポインティングデバイス)である。出力手段5は、例えばディスプレイやプリンタである。接続線6は、例えば接続コードやネットワークである。
【0019】
処理手段2は、例えばROM8に記憶されたプログラム読み出して実行することによって、部品配置・近接関係取得部201と、組立単位設定・設置姿勢算出部202と、組立シーケンス生成部203と、作業視野付き組立アニメーション生成部204と、作業指示図生成部205として機能する。
【0020】
部品重心・慣性テンソル取得部200は、ユーザ(オペレータ)によって指定された部品の重心情報及び慣性テンソル(慣性主軸:慣性モーメントの軸)情報をCAD7から取得し、記憶手段3の部品重心・慣性テンソルデータ格納部300に格納する。
【0021】
部品配置・近接関係取得部201は、ユーザによって指定された部品の配置に関する情報及び各部品間の近接関係(例えば、組立品の中で部品1と2が隣接している等)の情報を、CAD7から取得し、記憶手段3の部品配置・近接関係データ格納部302に格納する。なお、これらの情報は、ユーザによって指定することも可能であり、その場合には、部品配置・近接関係取得部201は、ユーザによって指定入力された情報を記憶手段3の部品配置・近接関係データ格納部302に格納する。
【0022】
組立単位設定・設置姿勢算出部202は、ユーザによって指示された組立単位を、部組や同時組立部品として設定する。また、組立単位設定・設置姿勢算出部202は、部組や同時組立部品ごとに部品重心・慣性テンソルデータ300に基づいて部品を設置する姿勢を算出する。例えば、部組を組み立てるときには、最終的な組立品の姿勢とは異なる姿勢のほうが組み立て易いこともある。そこで、ここでは、部組や同時組立部品における組み立てやすい安定的な姿勢が、慣性テンソル情報を用いて算出される。そして、組立単位設定・設置姿勢算出部202は、算出した部品の姿勢データを出力手段5(ディスプレイ)の画面上に表示し、オペレータの確認に応答して、組立単位・設置姿勢データ格納部303に格納する。オペレータによる修正指示があれば、組立単位設定・姿勢算出部202は、修正指示に応答して修正を施してから、組立単位・設置姿勢データ格納部303に格納する。
【0023】
組立シーケンス生成部203は、部品配置・近接関係データ及び組立単位のデータを用いて、完成品の組立シーケンスを生成する。
【0024】
作業視野付組立アニメーション生成部204は、組立シーケンス生成部203によって生成された組立シーケンスに基づいて、完成品の作業視野付組立アニメーションデータを生成する。
【0025】
作業指示図生成部205は、作業視野付組立アニメーションデータに基づいて、当該アニメーショ動画におけるポイント箇所(オペレータが指定可能)の時系列の静止画像を作業指示図として作成する。オペレータ(作業者)によっては、一連のアニメーション画像よりも、所定の組立のポイントの前後の画像だけでも良い場合があり、このような場合に対応するために、作業指示図が作成される。作業指示図の例として、ある部品の処理(例えば、組み付け)前後の静止画像が挙げられる。
【0026】
記憶手段3は、CAD7からダウンロードされた組立モデルデータを格納する組立モデルデータ格納部301と、CAD7から取得した対象部品についての部品重心・慣性テンソルデータを格納する部品重心・慣性テンソルデータ格納部300と、CAD7から取得した各部品の部品配置及び近接関係のデータを格納する部品配置・近接関係データ格納部302と、オペレータによって指定された完成品の組立単位及び算出して得られた設置姿勢データを格納する組立単位・設置姿勢データ格納部303と、生成した組立シーケンスデータを格納する組立シーケンスデータ格納部304と、組立シーケンスデータに基づいて生成された組立アニメーションデータを格納する組立アニメデータ格納部305と、組立アニメーションから作成された作業指示図(作業指示書ということも可能である)を格納する作業指示図データ格納部306と、を有している。
【0027】
<コンピュータシステムの処理概要>
図2は、コンピュータシステム1の処理概要を説明するためのフローチャートである。
【0028】
ステップS20では、処理手段2が、完成品の構成部品のリストをCAD7から取得(ダウンロード)して出力手段5の画面上に表示する。この部品リストは、組立シーケンス及び組立アニメーションを生成しようとする組立モデルに関連する部品をリストアップしたものである。オペレータが、この部品リストが表示された画面上で組立シーケンスの対象となる部品を選択すると、処理手段2は、選択された組立シーケンスの対象となる部品のデータを登録して、記憶手段3の組立モデルデータ格納部301に記憶する。
【0029】
ステップS21では、部品重心・慣性テンソル取得部200が、部品リストからオペレータの選択によって抽出され組立モデルデータ格納部301に記憶された組立モデルデータから、選択された各部品の重心データ及び慣性テンソルデータを取得し、記憶手段3の部品重心・慣性テンソルデータ格納部300に格納する。
【0030】
ステップS22では、部品配置・近接関係取得部201が、部品リストから抽出されて組立モデルデータ格納部301に記憶された組立モデルデータから、各部品の配置及び部品間の近接関係を評価して、部品配置・近接関係データを取得し、記憶手段3の部品配置・近接関係データ格納部302に格納する。
【0031】
ステップS23では、まず、処理手段2が、組立モデルデータ格納部301に記憶された組立モデルデータを出力手段5の画面上に表示する。オペレータが画面上に表示された組立モデルデータに対して、入力手段4を用いて組立を行う組立単位(部組)を設定すると、組立単位設定・設置姿勢算出部202が、入力された部組として動かす部品群や同時の組み立て動作で組み立てる部品群を、組立単位データとして組立単位・設置姿勢データ格納部303に格納する。また、ステップS23では、組立単位設定・設置姿勢算出部202が、組立単位ごとに部品重心・慣性テンソルデータ格納部300から部品重心データ及び慣性テンソルデータを読み出し、当該データに基づいて、設置する部品の姿勢を算出する。そして、組立単位設定・設置姿勢算出部202が、算出した設置部品の姿勢情報を出力手段5の画面に表示し、オペレータによる確認や修正処理を経て、確定した姿勢情報を組立単位・設置姿勢データ格納部303に格納する。
【0032】
ステップS24では、組立シーケンス生成部203が、部品配置・近接関係データ格納部302及び組立単位・設置姿勢データ格納部303のそれぞれから、部品配置・近接関係データ及び組立単位・設置姿勢データを読み出し、これらを用いて組立シーケンスデータを生成し、組立シーケンスデータ格納部304に格納する。
【0033】
ステップS25では、作業視野付き組立アニメーション生成部204が、組立シーケンスデータ格納部304から対応する組立シーケンスデータを読み出し、これを用いて視点付組立アニメーションデータを生成し、組立アニメデータ格納部305に格納する。
【0034】
ステップS26では、作業指示図生成部205が、作成された作業視野付組立アニメーションデータを組立アニメデータ格納部305から読み出して、作業指示図を作成する。
【0035】
以下において、図2のS22乃至S26の各ステップの詳細について説明する。
<ステップS22:部品配置・近接関係の取得処理の詳細>
ステップS22では、部品配置・近接関係取得部201は、まず、オペレータによって指定された組立品(完成品)及び、その構成部品の配置情報として、組立品または構成部品を内包する最小の直方体の8頂点のCADのワールド座標における座標を取得する。
【0036】
次に、ステップS22のもう1つの機能である部品間近接関係の取得について説明する。
今、例えば、図3に示されるような組立品30を考える。当該組立品30を構成する部品31は、周辺の部品32及び部品33と近接して配置されている。部品31と部品32は同軸の円筒面311で近接しており、部品31と部品33は平面312で近接している。
【0037】
そこで、部品配置・近接関係取得部201は、近接するサーフェスの種類と幾何情報を以下のように取得する。
(i)円筒面:近接する面が円筒面の場合、円筒軸の方向ベクトル34と円筒底面の円の中心の座標値と半径が、近接関係を表す情報となる。
(ii)平面:近接する面が平面の場合、ソリッド外向き法線ベクトル35と、平面上の直行2軸36及び37と、原点座標が、近接関係を表す情報となる。
(iii)円錐面:近接する面が円錐面の場合、円錐軸の方向ベクトルと円錐底面の円の中心の座標値と半径が、近接関係を表す情報となる。
【0038】
なお、2つの部品のサーフェスが近接するか否かの判断は、あるサーフェス間の距離が、ユーザが指定する閾値以下か否かによって行われ、閾値以下であれば、これらの部品の2つのサーフェスは近接すると判断するようにすれば良い。
【0039】
<ステップS23:組立単位の設定と設置姿勢の算出処理の詳細>
図4は、組立単位設定・設置姿勢算出部202が実行するステップS23の組立単位の設定について説明するための図である。
【0040】
ステップS20においてロードされる組立モデルは、図4Bに示すように、設計者が構成した部品単位41となる。このため、組立モデルにおける部品単位41は、図4Aに示すような一つのユニット40を組み立てるときの組立単位と異なる場合が多い。つまり、それらは1対1に対応しない場合が多い。
【0041】
そこで、ステップS23では、組立シーケンスの部品単位42の設定は、組立シーケンス生成の対象(アニメーション生成の対象)となる部品43の設定と、部組品として組立てる部品群44の設定と、部組品ではないが同時に組み立て動作を行う部品(同時組立部品:部組品ではないが、例えば、ある部品に対して同じ方向に同時に取り付けられるような部品)45の設定とに分けられる。なお、部品Part8は土台であるため、部品単位の設定対象から除くことが可能となっている。
【0042】
図4の例では、図4Bに示すように、設計上の部品単位41は8つであるが、図4Cに示すように、組立シーケンスの部品単位42は4つ(Part部品8を除く、部品単位44及び45、Part4及び5)に設定されている。以後の説明での組立シーケンス生成における部品とは、ステップS23で設定された図4Cに示すような構成の部品単位を指すものとする。
【0043】
ステップS23では、組立単位40が設定されると、その組立単位の設置姿勢が算出される。図10を用いて、設置姿勢について説明する。図10の例では、組立単位40において最大の慣性モーメントを有する慣性主軸(第一慣性主軸)1001が重力1002と平行となるように、組立単位40の設置姿勢を取るとき、組立単位40は重力に対して安定する設置姿勢となっている。
【0044】
また、組立単位40の重心1003が、組立単位を構成する部品の各重心の情報を積算することにより得られる。そして、当該重心1003が、組立単位を包含する最小の直方体である最少外包直方体1000の対角線の交点1004より重力方向に沿って下側となる方向に、組立単位40が設置される。これにより、水平方向の外乱に対し安定する姿勢となる。例えば、重心1003が交点1004よりも上にある場合には、設置姿勢を逆にした方が安定する。なお、慣性主軸1001は、組立品を構成する各部品において、原点を共通化し、各部品の慣性テンソル情報を用いて、所定の行列演算により求められる。ただし、この段階では、軸の方向が上向きか下向きか確定することができない。そこで、前述のように、交点1004と重心1003の位置関係により、慣性主軸1001の方向が決定される。図10の例では、重力方向が1002のとき、重心1003は中心1004の下にあるため、慣性主軸1001は上向きに決定される。一方、重心1003が中心1004より上にある場合には、慣性主軸1001は下向きに決定され、より安定する姿勢(上下方向の姿勢)が設定される。
【0045】
以上の方法を用いると、例えば、組立単位40の設置姿勢の鉛直軸方向が慣性主軸1001であると算出される。そして、組立単位設定・設置姿勢算出部202は、これを3次元ベクトルのZとして出力手段5に表示する。
【0046】
次に、オペレータが慣性主軸1001と直交する正面方向を入力手段4により設定する。例えば、組立単位40において、正面方向が矢印1005に設定されたとする。これを3次元ベクトルXとする。S23では、ZとXの外積演算Z×Xにより、残る直交ベクトルYを算出し、3次元直交ベクトル(X、Y、Z)が組立単位40の設置姿勢とされる。
【0047】
<ステップS24:組立シーケンス生成処理の詳細>
組立シーケンスは、CADの組立モデルから分解シーケンスを生成し、分解シーケンスの分解順序を逆順にし、分解運動ベクトルの符号を反転することにより生成することができる。このような処理手順について図5を参照しながら説明する。図5は、分解シーケンスの生成と分解シーケンスから組立シーケンスを生成する処理を説明するためのフローチャートである。
【0048】
ステップS51では、組立シーケンス生成部203は、部品配置・近接関係データ格納部302の部品配置・近接関係データを参照し、各対象部品を内包する最小直方体の8頂点から最小直方体の6つの構成平面を構成し、以下のような部品の分解順序案((i)又は(ii)、或いは、それらの組み合わせ)を生成する。
(i)構成部品うち、最小直方体の6つの構成平面のいずれかが、鉛直方向で高い順に構成部品の順序を並べる。
(ii)同軸で構成される組立品の組立シーケンスを生成する場合、ユーザにより指定された方向軸に対し、最小直方体の4つの構成面が平行な部品群について、該当する4つの構成面に対し、部品間で内包関係が成立する部品群を、内側からあるいは外側からの順序に並べる。
【0049】
ここで、(ii)の処理において互いに内包・外包関係にあたらない2部品については、順位が決定できない。その場合、(i)の処理を用いて部品間の順序に序列をつけることにより、全ての部品間に序列を付けることが可能である。(i)の処理を用いれば単独で全ての部品間に序列をつけることができるが、同じ順位となる部品については、例えば、最小直方体の6つの構成平面のいずれかが左側の部品を高い順位にするなどのように条件を付加することも可能である。
【0050】
ステップS52では、組立シーケンス生成部203は、ステップS51で生成した分解順序の順番iを初期化する。
【0051】
ステップS53では、組立シーケンス生成部203は、順番iが分解順序の最終順番に達したか否かを判断する。達していないと判断した場合(S53でNoの場合)、処理はステップS54に移行する。一方、達していると判断した場合(S53でYesの場合)、処理はステップS58に移行する。
【0052】
ステップS54では、組立シーケンス生成部203は、分解順序iの対象部品p(i)について、後述する方法(図6参照)により分解運動ベクトル集合v(i)を算出する。
【0053】
ステップS55では、組立シーケンス生成部203は、分解運動ベクトルが生成されたか否かを判定する。例えば、組立品の真ん中にある部品などは組立品から外そうとしても外すことができず(動かない)、このとき「分解運動ベクトルがない」とすることができる。動くか動かないかは、部品の近接関係の情報により判断することができる。近接部品との干渉で分解運動が生成されない場合(S55でNoの場合)、処理はステップS56に移行する。分解運動が生成された場合(S55でYesの場合)、処理はステップS57に移行する。
【0054】
ステップS56では、組立シーケンス生成部203は、対象部品p(i)の順序をi+1に先送りして処理をステップS53に移行させる。つまり、分解運動ベクトルがないため、当該部品を外す順序を後回しにされる。
【0055】
ステップS57では、組立シーケンス生成部203は、次の順序であるi+1に処理対象とし、処理をステップS53に移行させる。
【0056】
ステップS58では、組立シーケンス生成部203は、分解順序を逆順にして組立順序として格納する。
【0057】
ステップS59では、組立シーケンス生成部203は、組立順序の全ての順番iについて分解運動v(i)のベクトル符号を反転して組立運動ベクトル集合u(i)とし、当該組立運動ベクトル集合u(i)を組立シーケンスデータ格納部304に格納する。分解運動ベクトルの逆が組立運動ベクトルとなる。
【0058】
<ステップS54:分解運動の算出処理の詳細>
図6は、ステップS54の分解運動の算出処理の詳細を説明するための構成モデルを示す図である。
【0059】
まず、ここでは分解運動算出の対象部品p(i)をaとする。図6の例では61が部品a、部品62が部品aと円筒面611で近接し、部品63が部品aと平面612で近接している。部品aと近接するサーフェスjについて、サーフェスjの種類が円筒面及び円錐面の場合、分解運動ベクトルの集合は、円筒面の中心軸eiを用いて式1のように算出することができる。つまり、円筒面の場合には、分解運動ベクトルは上下方向のベクトルとなる。
【0060】
【数1】
【0061】
また、例えば、サーフェスjの種類が平面の場合、運動ベクトルの集合は、部品63の平面のソリッド外向き法線と平面上の直交ベクトルから式2のように算出することができる。つまり、平面の場合には、分解運動ベクトルは、上方向、及びXY方向のベクトルとなる。
【0062】
【数2】
【0063】
部品aに複数の近接サーフェスが在る場合は、サーフェスごとの運動ベクトル集合の和集合を部品aの分解運動ベクトル集合は、式3のように表すことができる。
【0064】
【数3】
【0065】
ここで対象部品aは、近接平面により運動の動作領域が制限され、部品aは近接平面jと干渉する可能性がある。
【0066】
近接平面jの運動領域集合は、以下の式4のように算出する。例えば、図6において、部品a(部品61)については、上方向にしか動かせないからである。
【0067】
【数4】
【0068】
運動ベクトル集合Maに属する運動ベクトルmiに対し、動作領域集合Daの要素ベクトルdjによる制限を加味した補正運動ベクトルを式5により算出する。
【0069】
【数5】
【0070】
次に、近接平面jの運動領域の制限を加味した補正運動ベクトルが、近接平面j以外の近接平面k(k≠j)と干渉する場合、補正運動ベクトルは部品aの分解運動ベクトルとならないので、式6の処理により補正運動ベクトルを再補正して再補正運動ベクトルを算出する。
【0071】
【数6】
【0072】
零ベクトル以外の再補正運動ベクトルを要素として、部品aの分解運動ベクトル集合V(i)とすると、V(i)は式7で表される。なお、式7では、干渉成分が取り除かれたものとなっており、V(i)は、取り外す方向(分解運動ベクトル)の候補の集合となっている。
【0073】
【数7】
【0074】
以上の処理により部品aについて近接面と干渉しない複数の分解運動ベクトルが生成され、このベクトルの符号を反転して式8で表されるベクトルを組立運動ベクトル集合U(i)とし、これが組立順序とともに組立シーケンスデータとして組立シーケンスデータ格納部304に格納される。
【0075】
【数8】
【0076】
<ステップS25:カメラ視点付組立アニメーション生成処理の詳細>
ステップS24までの処理により、部品の動き(組立運動ベクトル)が求められる。ステップS25では、カメラの配置位置が設定される。
【0077】
ステップS25は、ステップS24で作成された組立シーケンスデータ13から組立アニメーションデータを生成し、組立アニメデータ格納部305に格納する処理である。
【0078】
組立アニメーションデータは、例えば、図7に示すように、動かす対象の部品名701と動かす方向である組立運動ベクトル702と、カメラ視点703のデータによって構成される。これらのデータは、総組710の単位で部組品720ごとに関連付けられて、組立アニメデータ格納部305に、組立アニメーションデータとして格納されている。
【0079】
次に、カメラ視点を設定するためのカメラ姿勢の算出方法について説明する。S23で算出した組立単位の設置姿勢のXY平面を地平面として、鉛直上方向であるZ軸周りに均等に複数台のカメラを置いて、以下の方法で組立動作を捕らえるのに適したカメラに自動的に切り換える。
【0080】
まず、複数台のカメラ姿勢の算出方法を示す。オペレータが入力手段4から設定したカメラ台数をNとする。組立単位の設置姿勢座標系を[X,Y,Z]とする。Z軸は必ず上向きとなっている。なお、設置姿勢座標系は、ステップS23で求められた、組立単位が安定した姿勢での座標系である。
【0081】
図11に示すように、式9により第一カメラ1101の姿勢[Xc1,Yc1,Zc1]を算出する。式9によって、カメラZc1軸を組立単位の正面方向Xに、カメラYc(1)軸を組立単位の鉛直上方向Zに設定する。式9により、カメラの座標を設置姿勢座標系に併せている。
【0082】
【数9】
【0083】
第kカメラ1102(k=1,…,N)の姿勢[Xck,Yck,Zck]は、式10で算出する。第kカメラのZck軸は組立単位の正面方向ベクトルXを鉛直上方向ベクトルZ周りに2π・(k−1)/N回転させたものである。これにより、Z軸周りにN個のカメラが所定間隔で配置される。
【0084】
【数10】
【0085】
さらに、第kカメラ(k=1,…,N)の姿勢[Xck,Yck,Zck]を正面ベクトルX周りに上向きに角度α(例えば、予め設定された正の定数)だけ回転させたカメラを第k1カメラ1103[Xck1,Yck1,Zck1]、下向きに角度−αだけ回転させたカメラを第k2カメラ1104[Xck2,Yck2,Zck2]とする。
【0086】
次に、組立運動を捕らえるのに適したカメラの選択方法について示す。組立順序の順番iで組み立てる部品p(i)の組立運動ベクトルをui1201とする。そして、式11の条件を満たすカメラkmが選択される。
【0087】
【数11】
【0088】
式11により組立運動ベクトルとカメラのZc軸が最も平行で方向は反対のカメラが選択される。つまり、組立運動ベクトル(組み付け方向)と並行に近いカメラ軸が選択される。これにより、作業視野として見やすい方向が決定される。図12の例では組立運動ベクトルui1201に対し、第2カメラ1202が選ばれることになる。なお、組み付け方向は部品ごとに異なるため、カメラの方向(カメラ軸)は部品ごとに選択され、アニメーション生成に用いられる。
【0089】
この算出したカメラ姿勢から組立品のアセンブリモデルを観察している状態で、部品p(i)が組立運動ベクトルuiで移動して組立品のアセンブリモデルに組みつけられる様子をアニメーションとして作成する。
【0090】
次に、カメラ姿勢を調整する方法について説明する。算出したカメラ姿勢から見た組立品の三次元モデルを出力手段4の画面上に、例えば図8のように画面800上の三次元モデル表示領域801にアニメーション画像802を表示する。オペレータはこの画面800上で、表示されたアニメーション画像802を直接操作(上下、左右、回転、拡大、縮小)して、カメラ姿勢(位置も含む)を調整することができる。
【0091】
カメラ姿勢調整は、アセンブリモデルに組み付ける順番に組立品毎に行われ、変更した順番以降のカメラ姿勢が全て変更されるようになっている。
【0092】
例えば、a(aは任意の自然数)番目まである組立順番においてn(n≦a)番でカメラ姿勢をAに変更したならば、n以上a以下までの組立順番に対してカメラ姿勢Aが反映される。あらかじめm(n<m≦a)の組立順番でカメラ姿勢をBに変更している場合はn以上(m−1)以下までの組立順番に対してカメラ姿勢Aが反映される。逆に後からm番の組立順番でカメラ姿勢をBに変更すればm以上a以下の組立順番に対してカメラ姿勢Bが反映される。これにより、自動生成した姿勢であってもオペレータの好みによって姿勢を変更することが可能となる。
【0093】
組立順番通りに三次元モデルを組立てる様子を、設定したカメラ姿勢で表示するアニメーションを見て、組立順番とカメラ姿勢を確認することができる。
【0094】
また、組立アニメーションは、任意の順番から再生することができ、また、任意の順番で終了することができる。アニメーションの再生スピードを変更することや、一つのブロックが一フレームを構成するようなフレーム単位でフレーム送りやフレーム戻しを行うことができ、作業者は自分に合ったスピードでアニメーションを見て確認することができる。
【0095】
アニメーションを見る場合は、オペレータは、図8の「アニメーション再生」ボタン812を押せば良い。アニメーション再生ボタン812を押すと、三次元モデル表示領域801に表示されている三次元モデル802が動き出し、該当する組立品の組み立てる様子を表すアニメーションを見ることが可能となる。このとき、アニメーションの開始位置を予め設定しておくことにより、指定した組立順番から組立てアニメーションを見ることが可能になる。アニメーション再生を途中で終了する場合は、再生中にボタン812が「アニメーション停止」ボタンに変わっているので、このボタンを押してアニメーションを停止する。組立順番とカメラ姿勢の確認が終わり、作成したアニメーションを保存する場合は「アニメーション保存」ボタン813を押して編集したアニメーションを保存し、「終了」ボタン815を押すことでアニメーション編集作業を終了する。
【0096】
<ステップS26:作業指示図作成処理の詳細>
次に、この作成・編集したアニメーションに基づいて、作業指示図(作業指示書ともいう)を作成する処理について説明する。
【0097】
図8の画面において、オペレータが「作業指示図作成」ボタン814を押すと、図9に示すような作業指示書の画面に変わる。
【0098】
図9では、作業指示図表示領域901にハイライト部品として部品902の作業指示書が表示されている場合について示している。903の欄には、ハイライト部品902に関する品質確認情報として、部品名や図番、員数などの情報が表示される。904の欄には、ハイライト部品902を組み付ける作業をする上での注意事項が表示される。
【0099】
画面右下の「次へ」ボタン911をクリックすると、現在表示されているハイライト部品902の次に組み付ける部品に関する情報が作業指示図表示領域901に表示される。また、「戻る」ボタン912をクリックすると、現在表示されているハイライト部品902の前に組み付ける部品に関する情報が作業指示図表示領域901に表示される。
各部品の作業指示書の確認が終わると、「終了」ボタン815をクリックして作業を終了する。
【0100】
<まとめ>
本発明の実施形態では、各部品の慣性テンソル情報から組立品の第一慣性主軸を算出する。また、複数の部品間の近接関係を示す近接関係情報に基づいて、組立シーケンス及び複数の部品の組み付け方向を示す組立運動ベクトルを生成する。このときの組立シーケンス及び組立運動ベクトルは、複数の部品のそれぞれが近接する部品と干渉しないように算出される。そして、第一慣性主軸の周りに、それぞれカメラ軸を有する複数のカメラ視点を配置する。このカメラ視点が、組立アニメーション生成の際の作業視野の候補となる。さらに、複数の部品のそれぞれについて、対象部品の組立運動ベクトルに最も方向が合致するカメラ視点を選択する。この選択されたカメラ視点が対象部品の作業視野となる。この作業視野から組立品の組立アニメーションが生成される。このようにすることにより、現実の作業に則した作業視野を自動生成することが可能となる。つまり、従来のような、部品の組立動作ベクトルにカメラ軸を平行にする方式では、ワークの設置面を考慮していなかったので、実際取りえない作業者の姿勢による視野を生成していたが、本発明によれば、この課題は解消される。なお、作業視野は、ユーザによって指定された組立単位(例えば、部組)で生成されるようにすると良い。これにより、よりアニメーション生成の効率が良くなる。
【0101】
また、本発明では、組立アニメーションの画像に基づいて、指定された部品の組立前後の静止画像を含む作業指示図を生成する。このようにすることにより、組立動作の全体の様子まで必要のないユーザに対して、必要な部分のみの組立情報を提供することができるので、このようなユーザの作業効率をより高くすることができるようになる。
【0102】
本発明では、第一主軸が垂線となる平面に対して所定角度をなすように複数のカメラ視点を配置するようにしても良い。このとき、それぞれの部品の組み立て運動ベクトルと所定角度(α、−α)をなすカメラ視点が対象部品の作業視野の候補となる。そして、第一主軸が法線となる平面上でカメラ視点を見たときには上記選択されたカメラ視点は、組立運動ベクトルの方向と最も一致したものとなるが、第一主軸の方向からみると、所定角度をなしている。このようにすることにより、部品の真正面から組立動作を見るよりも、少しずらして(所定角度分だけ)作業視野を作成することができ、ユーザによってより見やすい作業視野を提供することが可能となる。
【0103】
なお、組立運動ベクトルは、複数の部品の分解順序を決定し、当該分解順序で複数の部品のそれぞれの分解運動ベクトルを生成し、当該分解運動ベクトルの符号を反転させて生成する。また、組立シーケンスは、分解順序の逆を組立順序とする。このようにすることにより、組立品から容易に組立運動ベクトル及び組立シーケンスを生成することが可能となる。
【0104】
また、選択されたカメラ視点におけるカメラ姿勢を調整するための調整用インタフェースを画面上に表示するようにしても良い。これにより、よりユーザの好みに適したカメラ視点を提供することが可能となる。
【0105】
本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0106】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【0107】
さらに、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【0108】
最後に、ここで述べたプロセス及び技術は本質的に如何なる特定の装置に関連することはなく、コンポーネントの如何なる相応しい組み合わせによってでも実装できることを理解する必要がある。更に、汎用目的の多様なタイプのデバイスがここで記述した教授に従って使用可能である。ここで述べた方法のステップを実行するのに、専用の装置を構築するのが有益であることが判るかもしれない。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。本発明は、具体例に関連して記述したが、これらは、すべての観点に於いて限定の為ではなく説明の為である。本分野にスキルのある者には、本発明を実施するのに相応しいハードウェア、ソフトウェア、及びファームウエアの多数の組み合わせがあることが解るであろう。例えば、記述したソフトウェアは、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0109】
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。
【0110】
加えて、本技術分野の通常の知識を有する者には、本発明のその他の実装がここに開示された本発明の明細書及び実施形態の考察から明らかになるである。記述された実施形態の多様な態様及び/又はコンポーネントは、データを管理する機能を有するコンピュータ化ストレージシステムに於いて、単独又は如何なる組み合わせでも使用することが出来る。明細書と具体例は典型的なものに過ぎず、本発明の範囲と精神は後続する請求範囲で示される。
【符号の説明】
【0111】
1・・・コンピュータシステム
2・・・処理手段(プロセッサ)
3・・・記憶手段
4・・・入力手段
5・・・出力手段
6・・・接続線
7・・・CAD
200・・・部品重心・慣性テンソル取得部(部品重心・慣性テンソル取得プログラム)
201・・・部品配置・近接関係取得部(部品配置・近接関係取得プログラム)
202・・・組立単位設定・設置姿勢算出部(組立単位設定・設置姿勢算出プログラム)
203・・・組立シーケンス生成部(組立シーケンス生成プログラム)
204・・・作業視野付き組立アニメーション生成部(作業視野付き組立アニメーション生成プログラム)
205・・・作業指示図生成部(作業指示図生成プログラム)
301・・・組立モデルデータ格納部
300・・・部品重心・慣性テンソルデータ格納部
302・・・部品配置・近接関係データ格納部
303・・・組立単位・設置姿勢データ格納部
304・・・組立シーケンスデータ格納部
305・・・組立アニメデータ格納部
306・・・作業指示図データ格納部
【技術分野】
【0001】
本発明は、計算機システム、及び組立アニメーション生成方法に関し、例えば、コンピュータを用い、組立品を組み立てるシーケンスを示す組立シーケンスに基づいて、組立品の組立の動作を示す組立アニメーションを生成するための技術に関するものである。
【背景技術】
【0002】
複数の部品を組み立てて完成品を作成する場合、組立動作をアニメーションとして示すことができると組立作業上非常に便利である。例えば、特許文献1には、組立順序とその運動方向を算出し、組立アニメーションを生成する方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008-46924号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1で示される従来のアニメーション作成技術においては、アニメーション作成時に必要となるカメラ姿勢については考慮されていない。したがって、組立動作のアニメーションを生成してもカメラは初期姿勢のままであり、作業者に見せたい対象部品の動作が他の部品に妨げられて見えなくなる恐れがある。
【0005】
本発明はこのような状況に鑑みてなされたものであり、作業指示アニメーションにおける対象部品の動作が見えるカメラ姿勢を自動的に生成するための技術を提供するものである。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明では、対象ワークの設置面であり作業者(オペレータ、ユーザと言うこともできる)の立ち位置である水平面を推算することにより、現実の作業に則した作業視野を自動的に生成するようにする。
【0007】
即ち、本発明では、組立品を構成する複数の部品の慣性テンソル情報を取得し、当該慣性テンソル情報から組立品の第一慣性主軸を算出する。また、複数の部品間の近接関係を示す近接関係情報を取得し、複数の部品の近接関係情報に基づいて、複数の部品のそれぞれが近接する部品と干渉しないような、組立シーケンス及び複数の部品の組み付け方向を示す組立運動ベクトルを生成する。さらに、第一慣性主軸の周りに、それぞれカメラ軸を有し、組立アニメーション生成の際の作業視野の候補となる複数のカメラ視点を配置し、複数の部品のそれぞれについて、対象部品の組立運動ベクトルに最も方向が合致するカメラ視点を選択し、当該選択されたカメラ視点を対象部品の作業視野として設定する。そして、設定された作業視野から組立品の組立アニメーションを生成する。
【0008】
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、本発明の態様は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される特許請求の範囲の様態により達成され実現される。
【0009】
本明細書の記述は典型的な例示に過ぎず、本発明の特許請求の範囲又は適用例を如何なる意味に於いても限定するものではないことを理解する必要がある。
【発明の効果】
【0010】
本発明によれば、組立の対象となるアセンブリモデルから組立作業におけるワークの設置姿勢と作業者との位置関係を推算し、作業視野を自動的に生成することが可能となり、組立作業指示の工数の低減効果を得られる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態によるコンピュータシステムの概略構成を示す図である。
【図2】本発明の実施形態による組立アニメーション生成処理の概要を説明するためのフローチャートである。
【図3】本発明の実施形態による部品の近接関係(例)を説明するための図である。
【図4】本発明の実施形態による組立単位の設定の例を示す図である。
【図5】本発明の実施形態による組立運動ベクトル生成処理の詳細を説明するためのフローチャートである。
【図6】本発明の実施形態による分解運動(例)を説明するための図である。
【図7】本発明の実施形態による組立アニメーションデータの構成を示すデータリストの図である。
【図8】本発明の実施形態による組立アニメーションを表示した画面例を示す図(画面正面図)である。
【図9】本発明の実施形態による作業支持図を表示した画面例を示す図(画面正面図)である。
【図10】本発明の実施形態による組立単位の設置姿勢算出に関する情報例を示す図である。
【図11】本発明の実施形態による複数台のカメラの設定例を示す図である。
【図12】本発明の実施形態による組立運動を捕らえるのに適したカメラを選択する例を説明するための図である。
【発明を実施するための形態】
【0012】
本発明は、作業者による現実の組立品の組立作業に則した作業視野(作業者がまさに見ているような感覚となる視野)、その作業視野に基づいた組立アニメーションや組立作業指示図を自動生成するための技術を提供する。
【0013】
以下、添付図面を参照して本発明の実施形態について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面は本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
【0014】
本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
【0015】
更に、本発明の実施形態は、後述されるように、汎用コンピュータ上で稼動するソフトウェアで実装しても良いし専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装しても良い。従って、各取得部、算出部、及び生成部は、取得プログラム、算出プログラム、及び生成プログラムと読み替えることができる。
【0016】
<コンピュータシステムの構成>
図1は、本発明を実現するコンピュータシステム(「組立視点生成システム」ともいう)の概略構成を示す図である。
【0017】
コンピュータシステム1は、ROM(Read Only Memory)8に格納された各種プログラムを読み出してRAM(Random Access Memory)9に展開し、各種プログラムに従った処理を実行する処理手段2と、取得したデータ及び処理結果を格納するための記憶手段3と、ユーザが情報や必要な指示を入力するための入力手段4と、処理結果や作成したアニメーションを出力する出力手段5と、少なくともCADデータを格納するCAD7と、少なくとも各種プログラムを格納するROM8と、少なくとも処理手段2の作業領域を提供するRAM9と、を有し、それらは接続線6を介して接続されている。
【0018】
処理手段2は、例えばCPUなどのプロセッサである。記憶手段3は、例えばHDDや半導体メモリである。入力手段4は、例えばキーボードやマウス(ポインティングデバイス)である。出力手段5は、例えばディスプレイやプリンタである。接続線6は、例えば接続コードやネットワークである。
【0019】
処理手段2は、例えばROM8に記憶されたプログラム読み出して実行することによって、部品配置・近接関係取得部201と、組立単位設定・設置姿勢算出部202と、組立シーケンス生成部203と、作業視野付き組立アニメーション生成部204と、作業指示図生成部205として機能する。
【0020】
部品重心・慣性テンソル取得部200は、ユーザ(オペレータ)によって指定された部品の重心情報及び慣性テンソル(慣性主軸:慣性モーメントの軸)情報をCAD7から取得し、記憶手段3の部品重心・慣性テンソルデータ格納部300に格納する。
【0021】
部品配置・近接関係取得部201は、ユーザによって指定された部品の配置に関する情報及び各部品間の近接関係(例えば、組立品の中で部品1と2が隣接している等)の情報を、CAD7から取得し、記憶手段3の部品配置・近接関係データ格納部302に格納する。なお、これらの情報は、ユーザによって指定することも可能であり、その場合には、部品配置・近接関係取得部201は、ユーザによって指定入力された情報を記憶手段3の部品配置・近接関係データ格納部302に格納する。
【0022】
組立単位設定・設置姿勢算出部202は、ユーザによって指示された組立単位を、部組や同時組立部品として設定する。また、組立単位設定・設置姿勢算出部202は、部組や同時組立部品ごとに部品重心・慣性テンソルデータ300に基づいて部品を設置する姿勢を算出する。例えば、部組を組み立てるときには、最終的な組立品の姿勢とは異なる姿勢のほうが組み立て易いこともある。そこで、ここでは、部組や同時組立部品における組み立てやすい安定的な姿勢が、慣性テンソル情報を用いて算出される。そして、組立単位設定・設置姿勢算出部202は、算出した部品の姿勢データを出力手段5(ディスプレイ)の画面上に表示し、オペレータの確認に応答して、組立単位・設置姿勢データ格納部303に格納する。オペレータによる修正指示があれば、組立単位設定・姿勢算出部202は、修正指示に応答して修正を施してから、組立単位・設置姿勢データ格納部303に格納する。
【0023】
組立シーケンス生成部203は、部品配置・近接関係データ及び組立単位のデータを用いて、完成品の組立シーケンスを生成する。
【0024】
作業視野付組立アニメーション生成部204は、組立シーケンス生成部203によって生成された組立シーケンスに基づいて、完成品の作業視野付組立アニメーションデータを生成する。
【0025】
作業指示図生成部205は、作業視野付組立アニメーションデータに基づいて、当該アニメーショ動画におけるポイント箇所(オペレータが指定可能)の時系列の静止画像を作業指示図として作成する。オペレータ(作業者)によっては、一連のアニメーション画像よりも、所定の組立のポイントの前後の画像だけでも良い場合があり、このような場合に対応するために、作業指示図が作成される。作業指示図の例として、ある部品の処理(例えば、組み付け)前後の静止画像が挙げられる。
【0026】
記憶手段3は、CAD7からダウンロードされた組立モデルデータを格納する組立モデルデータ格納部301と、CAD7から取得した対象部品についての部品重心・慣性テンソルデータを格納する部品重心・慣性テンソルデータ格納部300と、CAD7から取得した各部品の部品配置及び近接関係のデータを格納する部品配置・近接関係データ格納部302と、オペレータによって指定された完成品の組立単位及び算出して得られた設置姿勢データを格納する組立単位・設置姿勢データ格納部303と、生成した組立シーケンスデータを格納する組立シーケンスデータ格納部304と、組立シーケンスデータに基づいて生成された組立アニメーションデータを格納する組立アニメデータ格納部305と、組立アニメーションから作成された作業指示図(作業指示書ということも可能である)を格納する作業指示図データ格納部306と、を有している。
【0027】
<コンピュータシステムの処理概要>
図2は、コンピュータシステム1の処理概要を説明するためのフローチャートである。
【0028】
ステップS20では、処理手段2が、完成品の構成部品のリストをCAD7から取得(ダウンロード)して出力手段5の画面上に表示する。この部品リストは、組立シーケンス及び組立アニメーションを生成しようとする組立モデルに関連する部品をリストアップしたものである。オペレータが、この部品リストが表示された画面上で組立シーケンスの対象となる部品を選択すると、処理手段2は、選択された組立シーケンスの対象となる部品のデータを登録して、記憶手段3の組立モデルデータ格納部301に記憶する。
【0029】
ステップS21では、部品重心・慣性テンソル取得部200が、部品リストからオペレータの選択によって抽出され組立モデルデータ格納部301に記憶された組立モデルデータから、選択された各部品の重心データ及び慣性テンソルデータを取得し、記憶手段3の部品重心・慣性テンソルデータ格納部300に格納する。
【0030】
ステップS22では、部品配置・近接関係取得部201が、部品リストから抽出されて組立モデルデータ格納部301に記憶された組立モデルデータから、各部品の配置及び部品間の近接関係を評価して、部品配置・近接関係データを取得し、記憶手段3の部品配置・近接関係データ格納部302に格納する。
【0031】
ステップS23では、まず、処理手段2が、組立モデルデータ格納部301に記憶された組立モデルデータを出力手段5の画面上に表示する。オペレータが画面上に表示された組立モデルデータに対して、入力手段4を用いて組立を行う組立単位(部組)を設定すると、組立単位設定・設置姿勢算出部202が、入力された部組として動かす部品群や同時の組み立て動作で組み立てる部品群を、組立単位データとして組立単位・設置姿勢データ格納部303に格納する。また、ステップS23では、組立単位設定・設置姿勢算出部202が、組立単位ごとに部品重心・慣性テンソルデータ格納部300から部品重心データ及び慣性テンソルデータを読み出し、当該データに基づいて、設置する部品の姿勢を算出する。そして、組立単位設定・設置姿勢算出部202が、算出した設置部品の姿勢情報を出力手段5の画面に表示し、オペレータによる確認や修正処理を経て、確定した姿勢情報を組立単位・設置姿勢データ格納部303に格納する。
【0032】
ステップS24では、組立シーケンス生成部203が、部品配置・近接関係データ格納部302及び組立単位・設置姿勢データ格納部303のそれぞれから、部品配置・近接関係データ及び組立単位・設置姿勢データを読み出し、これらを用いて組立シーケンスデータを生成し、組立シーケンスデータ格納部304に格納する。
【0033】
ステップS25では、作業視野付き組立アニメーション生成部204が、組立シーケンスデータ格納部304から対応する組立シーケンスデータを読み出し、これを用いて視点付組立アニメーションデータを生成し、組立アニメデータ格納部305に格納する。
【0034】
ステップS26では、作業指示図生成部205が、作成された作業視野付組立アニメーションデータを組立アニメデータ格納部305から読み出して、作業指示図を作成する。
【0035】
以下において、図2のS22乃至S26の各ステップの詳細について説明する。
<ステップS22:部品配置・近接関係の取得処理の詳細>
ステップS22では、部品配置・近接関係取得部201は、まず、オペレータによって指定された組立品(完成品)及び、その構成部品の配置情報として、組立品または構成部品を内包する最小の直方体の8頂点のCADのワールド座標における座標を取得する。
【0036】
次に、ステップS22のもう1つの機能である部品間近接関係の取得について説明する。
今、例えば、図3に示されるような組立品30を考える。当該組立品30を構成する部品31は、周辺の部品32及び部品33と近接して配置されている。部品31と部品32は同軸の円筒面311で近接しており、部品31と部品33は平面312で近接している。
【0037】
そこで、部品配置・近接関係取得部201は、近接するサーフェスの種類と幾何情報を以下のように取得する。
(i)円筒面:近接する面が円筒面の場合、円筒軸の方向ベクトル34と円筒底面の円の中心の座標値と半径が、近接関係を表す情報となる。
(ii)平面:近接する面が平面の場合、ソリッド外向き法線ベクトル35と、平面上の直行2軸36及び37と、原点座標が、近接関係を表す情報となる。
(iii)円錐面:近接する面が円錐面の場合、円錐軸の方向ベクトルと円錐底面の円の中心の座標値と半径が、近接関係を表す情報となる。
【0038】
なお、2つの部品のサーフェスが近接するか否かの判断は、あるサーフェス間の距離が、ユーザが指定する閾値以下か否かによって行われ、閾値以下であれば、これらの部品の2つのサーフェスは近接すると判断するようにすれば良い。
【0039】
<ステップS23:組立単位の設定と設置姿勢の算出処理の詳細>
図4は、組立単位設定・設置姿勢算出部202が実行するステップS23の組立単位の設定について説明するための図である。
【0040】
ステップS20においてロードされる組立モデルは、図4Bに示すように、設計者が構成した部品単位41となる。このため、組立モデルにおける部品単位41は、図4Aに示すような一つのユニット40を組み立てるときの組立単位と異なる場合が多い。つまり、それらは1対1に対応しない場合が多い。
【0041】
そこで、ステップS23では、組立シーケンスの部品単位42の設定は、組立シーケンス生成の対象(アニメーション生成の対象)となる部品43の設定と、部組品として組立てる部品群44の設定と、部組品ではないが同時に組み立て動作を行う部品(同時組立部品:部組品ではないが、例えば、ある部品に対して同じ方向に同時に取り付けられるような部品)45の設定とに分けられる。なお、部品Part8は土台であるため、部品単位の設定対象から除くことが可能となっている。
【0042】
図4の例では、図4Bに示すように、設計上の部品単位41は8つであるが、図4Cに示すように、組立シーケンスの部品単位42は4つ(Part部品8を除く、部品単位44及び45、Part4及び5)に設定されている。以後の説明での組立シーケンス生成における部品とは、ステップS23で設定された図4Cに示すような構成の部品単位を指すものとする。
【0043】
ステップS23では、組立単位40が設定されると、その組立単位の設置姿勢が算出される。図10を用いて、設置姿勢について説明する。図10の例では、組立単位40において最大の慣性モーメントを有する慣性主軸(第一慣性主軸)1001が重力1002と平行となるように、組立単位40の設置姿勢を取るとき、組立単位40は重力に対して安定する設置姿勢となっている。
【0044】
また、組立単位40の重心1003が、組立単位を構成する部品の各重心の情報を積算することにより得られる。そして、当該重心1003が、組立単位を包含する最小の直方体である最少外包直方体1000の対角線の交点1004より重力方向に沿って下側となる方向に、組立単位40が設置される。これにより、水平方向の外乱に対し安定する姿勢となる。例えば、重心1003が交点1004よりも上にある場合には、設置姿勢を逆にした方が安定する。なお、慣性主軸1001は、組立品を構成する各部品において、原点を共通化し、各部品の慣性テンソル情報を用いて、所定の行列演算により求められる。ただし、この段階では、軸の方向が上向きか下向きか確定することができない。そこで、前述のように、交点1004と重心1003の位置関係により、慣性主軸1001の方向が決定される。図10の例では、重力方向が1002のとき、重心1003は中心1004の下にあるため、慣性主軸1001は上向きに決定される。一方、重心1003が中心1004より上にある場合には、慣性主軸1001は下向きに決定され、より安定する姿勢(上下方向の姿勢)が設定される。
【0045】
以上の方法を用いると、例えば、組立単位40の設置姿勢の鉛直軸方向が慣性主軸1001であると算出される。そして、組立単位設定・設置姿勢算出部202は、これを3次元ベクトルのZとして出力手段5に表示する。
【0046】
次に、オペレータが慣性主軸1001と直交する正面方向を入力手段4により設定する。例えば、組立単位40において、正面方向が矢印1005に設定されたとする。これを3次元ベクトルXとする。S23では、ZとXの外積演算Z×Xにより、残る直交ベクトルYを算出し、3次元直交ベクトル(X、Y、Z)が組立単位40の設置姿勢とされる。
【0047】
<ステップS24:組立シーケンス生成処理の詳細>
組立シーケンスは、CADの組立モデルから分解シーケンスを生成し、分解シーケンスの分解順序を逆順にし、分解運動ベクトルの符号を反転することにより生成することができる。このような処理手順について図5を参照しながら説明する。図5は、分解シーケンスの生成と分解シーケンスから組立シーケンスを生成する処理を説明するためのフローチャートである。
【0048】
ステップS51では、組立シーケンス生成部203は、部品配置・近接関係データ格納部302の部品配置・近接関係データを参照し、各対象部品を内包する最小直方体の8頂点から最小直方体の6つの構成平面を構成し、以下のような部品の分解順序案((i)又は(ii)、或いは、それらの組み合わせ)を生成する。
(i)構成部品うち、最小直方体の6つの構成平面のいずれかが、鉛直方向で高い順に構成部品の順序を並べる。
(ii)同軸で構成される組立品の組立シーケンスを生成する場合、ユーザにより指定された方向軸に対し、最小直方体の4つの構成面が平行な部品群について、該当する4つの構成面に対し、部品間で内包関係が成立する部品群を、内側からあるいは外側からの順序に並べる。
【0049】
ここで、(ii)の処理において互いに内包・外包関係にあたらない2部品については、順位が決定できない。その場合、(i)の処理を用いて部品間の順序に序列をつけることにより、全ての部品間に序列を付けることが可能である。(i)の処理を用いれば単独で全ての部品間に序列をつけることができるが、同じ順位となる部品については、例えば、最小直方体の6つの構成平面のいずれかが左側の部品を高い順位にするなどのように条件を付加することも可能である。
【0050】
ステップS52では、組立シーケンス生成部203は、ステップS51で生成した分解順序の順番iを初期化する。
【0051】
ステップS53では、組立シーケンス生成部203は、順番iが分解順序の最終順番に達したか否かを判断する。達していないと判断した場合(S53でNoの場合)、処理はステップS54に移行する。一方、達していると判断した場合(S53でYesの場合)、処理はステップS58に移行する。
【0052】
ステップS54では、組立シーケンス生成部203は、分解順序iの対象部品p(i)について、後述する方法(図6参照)により分解運動ベクトル集合v(i)を算出する。
【0053】
ステップS55では、組立シーケンス生成部203は、分解運動ベクトルが生成されたか否かを判定する。例えば、組立品の真ん中にある部品などは組立品から外そうとしても外すことができず(動かない)、このとき「分解運動ベクトルがない」とすることができる。動くか動かないかは、部品の近接関係の情報により判断することができる。近接部品との干渉で分解運動が生成されない場合(S55でNoの場合)、処理はステップS56に移行する。分解運動が生成された場合(S55でYesの場合)、処理はステップS57に移行する。
【0054】
ステップS56では、組立シーケンス生成部203は、対象部品p(i)の順序をi+1に先送りして処理をステップS53に移行させる。つまり、分解運動ベクトルがないため、当該部品を外す順序を後回しにされる。
【0055】
ステップS57では、組立シーケンス生成部203は、次の順序であるi+1に処理対象とし、処理をステップS53に移行させる。
【0056】
ステップS58では、組立シーケンス生成部203は、分解順序を逆順にして組立順序として格納する。
【0057】
ステップS59では、組立シーケンス生成部203は、組立順序の全ての順番iについて分解運動v(i)のベクトル符号を反転して組立運動ベクトル集合u(i)とし、当該組立運動ベクトル集合u(i)を組立シーケンスデータ格納部304に格納する。分解運動ベクトルの逆が組立運動ベクトルとなる。
【0058】
<ステップS54:分解運動の算出処理の詳細>
図6は、ステップS54の分解運動の算出処理の詳細を説明するための構成モデルを示す図である。
【0059】
まず、ここでは分解運動算出の対象部品p(i)をaとする。図6の例では61が部品a、部品62が部品aと円筒面611で近接し、部品63が部品aと平面612で近接している。部品aと近接するサーフェスjについて、サーフェスjの種類が円筒面及び円錐面の場合、分解運動ベクトルの集合は、円筒面の中心軸eiを用いて式1のように算出することができる。つまり、円筒面の場合には、分解運動ベクトルは上下方向のベクトルとなる。
【0060】
【数1】
【0061】
また、例えば、サーフェスjの種類が平面の場合、運動ベクトルの集合は、部品63の平面のソリッド外向き法線と平面上の直交ベクトルから式2のように算出することができる。つまり、平面の場合には、分解運動ベクトルは、上方向、及びXY方向のベクトルとなる。
【0062】
【数2】
【0063】
部品aに複数の近接サーフェスが在る場合は、サーフェスごとの運動ベクトル集合の和集合を部品aの分解運動ベクトル集合は、式3のように表すことができる。
【0064】
【数3】
【0065】
ここで対象部品aは、近接平面により運動の動作領域が制限され、部品aは近接平面jと干渉する可能性がある。
【0066】
近接平面jの運動領域集合は、以下の式4のように算出する。例えば、図6において、部品a(部品61)については、上方向にしか動かせないからである。
【0067】
【数4】
【0068】
運動ベクトル集合Maに属する運動ベクトルmiに対し、動作領域集合Daの要素ベクトルdjによる制限を加味した補正運動ベクトルを式5により算出する。
【0069】
【数5】
【0070】
次に、近接平面jの運動領域の制限を加味した補正運動ベクトルが、近接平面j以外の近接平面k(k≠j)と干渉する場合、補正運動ベクトルは部品aの分解運動ベクトルとならないので、式6の処理により補正運動ベクトルを再補正して再補正運動ベクトルを算出する。
【0071】
【数6】
【0072】
零ベクトル以外の再補正運動ベクトルを要素として、部品aの分解運動ベクトル集合V(i)とすると、V(i)は式7で表される。なお、式7では、干渉成分が取り除かれたものとなっており、V(i)は、取り外す方向(分解運動ベクトル)の候補の集合となっている。
【0073】
【数7】
【0074】
以上の処理により部品aについて近接面と干渉しない複数の分解運動ベクトルが生成され、このベクトルの符号を反転して式8で表されるベクトルを組立運動ベクトル集合U(i)とし、これが組立順序とともに組立シーケンスデータとして組立シーケンスデータ格納部304に格納される。
【0075】
【数8】
【0076】
<ステップS25:カメラ視点付組立アニメーション生成処理の詳細>
ステップS24までの処理により、部品の動き(組立運動ベクトル)が求められる。ステップS25では、カメラの配置位置が設定される。
【0077】
ステップS25は、ステップS24で作成された組立シーケンスデータ13から組立アニメーションデータを生成し、組立アニメデータ格納部305に格納する処理である。
【0078】
組立アニメーションデータは、例えば、図7に示すように、動かす対象の部品名701と動かす方向である組立運動ベクトル702と、カメラ視点703のデータによって構成される。これらのデータは、総組710の単位で部組品720ごとに関連付けられて、組立アニメデータ格納部305に、組立アニメーションデータとして格納されている。
【0079】
次に、カメラ視点を設定するためのカメラ姿勢の算出方法について説明する。S23で算出した組立単位の設置姿勢のXY平面を地平面として、鉛直上方向であるZ軸周りに均等に複数台のカメラを置いて、以下の方法で組立動作を捕らえるのに適したカメラに自動的に切り換える。
【0080】
まず、複数台のカメラ姿勢の算出方法を示す。オペレータが入力手段4から設定したカメラ台数をNとする。組立単位の設置姿勢座標系を[X,Y,Z]とする。Z軸は必ず上向きとなっている。なお、設置姿勢座標系は、ステップS23で求められた、組立単位が安定した姿勢での座標系である。
【0081】
図11に示すように、式9により第一カメラ1101の姿勢[Xc1,Yc1,Zc1]を算出する。式9によって、カメラZc1軸を組立単位の正面方向Xに、カメラYc(1)軸を組立単位の鉛直上方向Zに設定する。式9により、カメラの座標を設置姿勢座標系に併せている。
【0082】
【数9】
【0083】
第kカメラ1102(k=1,…,N)の姿勢[Xck,Yck,Zck]は、式10で算出する。第kカメラのZck軸は組立単位の正面方向ベクトルXを鉛直上方向ベクトルZ周りに2π・(k−1)/N回転させたものである。これにより、Z軸周りにN個のカメラが所定間隔で配置される。
【0084】
【数10】
【0085】
さらに、第kカメラ(k=1,…,N)の姿勢[Xck,Yck,Zck]を正面ベクトルX周りに上向きに角度α(例えば、予め設定された正の定数)だけ回転させたカメラを第k1カメラ1103[Xck1,Yck1,Zck1]、下向きに角度−αだけ回転させたカメラを第k2カメラ1104[Xck2,Yck2,Zck2]とする。
【0086】
次に、組立運動を捕らえるのに適したカメラの選択方法について示す。組立順序の順番iで組み立てる部品p(i)の組立運動ベクトルをui1201とする。そして、式11の条件を満たすカメラkmが選択される。
【0087】
【数11】
【0088】
式11により組立運動ベクトルとカメラのZc軸が最も平行で方向は反対のカメラが選択される。つまり、組立運動ベクトル(組み付け方向)と並行に近いカメラ軸が選択される。これにより、作業視野として見やすい方向が決定される。図12の例では組立運動ベクトルui1201に対し、第2カメラ1202が選ばれることになる。なお、組み付け方向は部品ごとに異なるため、カメラの方向(カメラ軸)は部品ごとに選択され、アニメーション生成に用いられる。
【0089】
この算出したカメラ姿勢から組立品のアセンブリモデルを観察している状態で、部品p(i)が組立運動ベクトルuiで移動して組立品のアセンブリモデルに組みつけられる様子をアニメーションとして作成する。
【0090】
次に、カメラ姿勢を調整する方法について説明する。算出したカメラ姿勢から見た組立品の三次元モデルを出力手段4の画面上に、例えば図8のように画面800上の三次元モデル表示領域801にアニメーション画像802を表示する。オペレータはこの画面800上で、表示されたアニメーション画像802を直接操作(上下、左右、回転、拡大、縮小)して、カメラ姿勢(位置も含む)を調整することができる。
【0091】
カメラ姿勢調整は、アセンブリモデルに組み付ける順番に組立品毎に行われ、変更した順番以降のカメラ姿勢が全て変更されるようになっている。
【0092】
例えば、a(aは任意の自然数)番目まである組立順番においてn(n≦a)番でカメラ姿勢をAに変更したならば、n以上a以下までの組立順番に対してカメラ姿勢Aが反映される。あらかじめm(n<m≦a)の組立順番でカメラ姿勢をBに変更している場合はn以上(m−1)以下までの組立順番に対してカメラ姿勢Aが反映される。逆に後からm番の組立順番でカメラ姿勢をBに変更すればm以上a以下の組立順番に対してカメラ姿勢Bが反映される。これにより、自動生成した姿勢であってもオペレータの好みによって姿勢を変更することが可能となる。
【0093】
組立順番通りに三次元モデルを組立てる様子を、設定したカメラ姿勢で表示するアニメーションを見て、組立順番とカメラ姿勢を確認することができる。
【0094】
また、組立アニメーションは、任意の順番から再生することができ、また、任意の順番で終了することができる。アニメーションの再生スピードを変更することや、一つのブロックが一フレームを構成するようなフレーム単位でフレーム送りやフレーム戻しを行うことができ、作業者は自分に合ったスピードでアニメーションを見て確認することができる。
【0095】
アニメーションを見る場合は、オペレータは、図8の「アニメーション再生」ボタン812を押せば良い。アニメーション再生ボタン812を押すと、三次元モデル表示領域801に表示されている三次元モデル802が動き出し、該当する組立品の組み立てる様子を表すアニメーションを見ることが可能となる。このとき、アニメーションの開始位置を予め設定しておくことにより、指定した組立順番から組立てアニメーションを見ることが可能になる。アニメーション再生を途中で終了する場合は、再生中にボタン812が「アニメーション停止」ボタンに変わっているので、このボタンを押してアニメーションを停止する。組立順番とカメラ姿勢の確認が終わり、作成したアニメーションを保存する場合は「アニメーション保存」ボタン813を押して編集したアニメーションを保存し、「終了」ボタン815を押すことでアニメーション編集作業を終了する。
【0096】
<ステップS26:作業指示図作成処理の詳細>
次に、この作成・編集したアニメーションに基づいて、作業指示図(作業指示書ともいう)を作成する処理について説明する。
【0097】
図8の画面において、オペレータが「作業指示図作成」ボタン814を押すと、図9に示すような作業指示書の画面に変わる。
【0098】
図9では、作業指示図表示領域901にハイライト部品として部品902の作業指示書が表示されている場合について示している。903の欄には、ハイライト部品902に関する品質確認情報として、部品名や図番、員数などの情報が表示される。904の欄には、ハイライト部品902を組み付ける作業をする上での注意事項が表示される。
【0099】
画面右下の「次へ」ボタン911をクリックすると、現在表示されているハイライト部品902の次に組み付ける部品に関する情報が作業指示図表示領域901に表示される。また、「戻る」ボタン912をクリックすると、現在表示されているハイライト部品902の前に組み付ける部品に関する情報が作業指示図表示領域901に表示される。
各部品の作業指示書の確認が終わると、「終了」ボタン815をクリックして作業を終了する。
【0100】
<まとめ>
本発明の実施形態では、各部品の慣性テンソル情報から組立品の第一慣性主軸を算出する。また、複数の部品間の近接関係を示す近接関係情報に基づいて、組立シーケンス及び複数の部品の組み付け方向を示す組立運動ベクトルを生成する。このときの組立シーケンス及び組立運動ベクトルは、複数の部品のそれぞれが近接する部品と干渉しないように算出される。そして、第一慣性主軸の周りに、それぞれカメラ軸を有する複数のカメラ視点を配置する。このカメラ視点が、組立アニメーション生成の際の作業視野の候補となる。さらに、複数の部品のそれぞれについて、対象部品の組立運動ベクトルに最も方向が合致するカメラ視点を選択する。この選択されたカメラ視点が対象部品の作業視野となる。この作業視野から組立品の組立アニメーションが生成される。このようにすることにより、現実の作業に則した作業視野を自動生成することが可能となる。つまり、従来のような、部品の組立動作ベクトルにカメラ軸を平行にする方式では、ワークの設置面を考慮していなかったので、実際取りえない作業者の姿勢による視野を生成していたが、本発明によれば、この課題は解消される。なお、作業視野は、ユーザによって指定された組立単位(例えば、部組)で生成されるようにすると良い。これにより、よりアニメーション生成の効率が良くなる。
【0101】
また、本発明では、組立アニメーションの画像に基づいて、指定された部品の組立前後の静止画像を含む作業指示図を生成する。このようにすることにより、組立動作の全体の様子まで必要のないユーザに対して、必要な部分のみの組立情報を提供することができるので、このようなユーザの作業効率をより高くすることができるようになる。
【0102】
本発明では、第一主軸が垂線となる平面に対して所定角度をなすように複数のカメラ視点を配置するようにしても良い。このとき、それぞれの部品の組み立て運動ベクトルと所定角度(α、−α)をなすカメラ視点が対象部品の作業視野の候補となる。そして、第一主軸が法線となる平面上でカメラ視点を見たときには上記選択されたカメラ視点は、組立運動ベクトルの方向と最も一致したものとなるが、第一主軸の方向からみると、所定角度をなしている。このようにすることにより、部品の真正面から組立動作を見るよりも、少しずらして(所定角度分だけ)作業視野を作成することができ、ユーザによってより見やすい作業視野を提供することが可能となる。
【0103】
なお、組立運動ベクトルは、複数の部品の分解順序を決定し、当該分解順序で複数の部品のそれぞれの分解運動ベクトルを生成し、当該分解運動ベクトルの符号を反転させて生成する。また、組立シーケンスは、分解順序の逆を組立順序とする。このようにすることにより、組立品から容易に組立運動ベクトル及び組立シーケンスを生成することが可能となる。
【0104】
また、選択されたカメラ視点におけるカメラ姿勢を調整するための調整用インタフェースを画面上に表示するようにしても良い。これにより、よりユーザの好みに適したカメラ視点を提供することが可能となる。
【0105】
本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0106】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【0107】
さらに、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【0108】
最後に、ここで述べたプロセス及び技術は本質的に如何なる特定の装置に関連することはなく、コンポーネントの如何なる相応しい組み合わせによってでも実装できることを理解する必要がある。更に、汎用目的の多様なタイプのデバイスがここで記述した教授に従って使用可能である。ここで述べた方法のステップを実行するのに、専用の装置を構築するのが有益であることが判るかもしれない。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。本発明は、具体例に関連して記述したが、これらは、すべての観点に於いて限定の為ではなく説明の為である。本分野にスキルのある者には、本発明を実施するのに相応しいハードウェア、ソフトウェア、及びファームウエアの多数の組み合わせがあることが解るであろう。例えば、記述したソフトウェアは、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0109】
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。
【0110】
加えて、本技術分野の通常の知識を有する者には、本発明のその他の実装がここに開示された本発明の明細書及び実施形態の考察から明らかになるである。記述された実施形態の多様な態様及び/又はコンポーネントは、データを管理する機能を有するコンピュータ化ストレージシステムに於いて、単独又は如何なる組み合わせでも使用することが出来る。明細書と具体例は典型的なものに過ぎず、本発明の範囲と精神は後続する請求範囲で示される。
【符号の説明】
【0111】
1・・・コンピュータシステム
2・・・処理手段(プロセッサ)
3・・・記憶手段
4・・・入力手段
5・・・出力手段
6・・・接続線
7・・・CAD
200・・・部品重心・慣性テンソル取得部(部品重心・慣性テンソル取得プログラム)
201・・・部品配置・近接関係取得部(部品配置・近接関係取得プログラム)
202・・・組立単位設定・設置姿勢算出部(組立単位設定・設置姿勢算出プログラム)
203・・・組立シーケンス生成部(組立シーケンス生成プログラム)
204・・・作業視野付き組立アニメーション生成部(作業視野付き組立アニメーション生成プログラム)
205・・・作業指示図生成部(作業指示図生成プログラム)
301・・・組立モデルデータ格納部
300・・・部品重心・慣性テンソルデータ格納部
302・・・部品配置・近接関係データ格納部
303・・・組立単位・設置姿勢データ格納部
304・・・組立シーケンスデータ格納部
305・・・組立アニメデータ格納部
306・・・作業指示図データ格納部
【特許請求の範囲】
【請求項1】
組立品を組み立てるシーケンスを示す組立シーケンスに基づいて、前記組立品の組立の動作を示す組立アニメーションを生成する計算機システムであって、
前記組立アニメーションを生成するプロセッサと、
前記生成された組立アニメーションの情報を格納するメモリと、
前記プロセッサの制御に応答して、前記組立アニメーションを表示するディスプレイと、を有し、
前記プロセッサは、
前記組立品を構成する複数の部品の慣性テンソル情報を取得し、当該慣性テンソル情報から前記組立品の第一慣性主軸を算出し、
前記複数の部品間の近接関係を示す近接関係情報を取得し、
前記複数の部品の近接関係情報に基づいて、前記複数の部品のそれぞれが近接する部品と干渉しないような、前記組立シーケンス及び前記複数の部品の組み付け方向を示す組立運動ベクトルを生成し、
前記第一慣性主軸の周りに、それぞれカメラ軸を有し、前記組立アニメーション生成の際の作業視野の候補となる複数のカメラ視点を配置し、
前記複数の部品のそれぞれについて、対象部品の前記組立運動ベクトルに最も方向が合致するカメラ視点を選択し、当該選択されたカメラ視点を前記対象部品の作業視野として設定し、
前記作業視野から前記組立アニメーションを生成することを特徴とする計算機システム。
【請求項2】
請求項1において、
前記プロセッサは、前記組立アニメーションの画像に基づいて、指定された部品の組立前後の静止画像を含む作業指示図を生成することを特徴とする計算機システム。
【請求項3】
請求項1において、
前記プロセッサは、前記第一主軸が垂線となる平面に対して所定角度をなすように前記複数のカメラ視点を配置し、前記それぞれの部品の前記組み立て運動ベクトルと所定角度をなす前記カメラ視点を前記対象部品の作業視野の候補とすることを特徴とする計算機システム。
【請求項4】
請求項1において、
前記プロセッサは、前記複数の部品の分解順序を決定し、当該分解順序で前記複数の部品のそれぞれの分解運動ベクトルを生成し、当該分解運動ベクトルの符号を反転させて前記組立運動ベクトルを生成することを特徴とする計算機システム。
【請求項5】
請求項4において、
前記プロセッサは、前記分解順序の逆を組立順序として、前記組立シーケンスを生成することを特徴とする計算機システム。
【請求項6】
請求項1において、
前記プロセッサは、指示入力に応答して、前記組立品を構成する複数の部品のうち同時に組立を行う部品の集合である組立単位を設定し、当該組立単位の前記第一慣性主軸に基づいて安定的な設置姿勢を決定し、当該安定的な設置姿勢の前記組立単位における各部品に対して、前記作業視野を設定することを特徴とする計算機システム。
【請求項7】
請求項1において、
前記プロセッサは、前記選択されたカメラ視点におけるカメラ姿勢を調整するための調整用インタフェースを画面上に表示するように前記ディスプレイを制御することを特徴とする計算機システム。
【請求項8】
計算機システムを用い、組立品を組み立てるシーケンスを示す組立シーケンスに基づいて、前記組立品の組立の動作を示す組立アニメーションを生成する組立アニメーション生成方法であって、
前記計算機システムが有するプロセッサが、前記組立品を構成する複数の部品の慣性テンソル情報を取得し、当該慣性テンソル情報から前記組立品の第一慣性主軸を算出するステップと、
前記プロセッサが、前記複数の部品間の近接関係を示す近接関係情報を取得ステップと、
前記プロセッサが、前記複数の部品の近接関係情報に基づいて、前記複数の部品のそれぞれが近接する部品と干渉しないような、前記組立シーケンス及び前記複数の部品の組み付け方向を示す組立運動ベクトルを生成するステップと、
前記プロセッサが、前記第一慣性主軸の周りに、それぞれカメラ軸を有し、前記組立アニメーション生成の際の作業視野の候補となる複数のカメラ視点を配置するステップと、
前記プロセッサが、前記複数の部品のそれぞれについて、対象部品の前記組立運動ベクトルに最も方向が合致するカメラ視点を選択し、当該選択されたカメラ視点を前記対象部品の作業視野として設定するステップと、
前記プロセッサが、前記作業視野から前記組立アニメーションを生成し、ディスプレイ画面上に表示するステップと、
を有することを特徴とする組立アニメーション生成方法。
【請求項9】
請求項8において、
さらに、前記プロセッサが、前記組立アニメーションの画像に基づいて、指定された部品の組立前後の静止画像を含む作業指示図を生成するステップを有することを特徴とする組立アニメーション生成方法。
【請求項10】
請求項8において、
前記選択されたカメラ視点を前記対象部品の作業視野として設定するステップにおいて、前記プロセッサは、前記第一主軸が垂線となる平面に対して所定角度をなすように前記複数のカメラ視点を配置し、前記それぞれの部品の前記組み立て運動ベクトルと所定角度をなす前記カメラ視点を前記対象部品の作業視野の候補とすることを特徴とする組立アニメーション生成方法。
【請求項11】
請求項8において、
前記組立運動ベクトルを生成するステップにおいて、前記プロセッサは、前記複数の部品の分解順序を決定し、当該分解順序で前記複数の部品のそれぞれの分解運動ベクトルを生成し、当該分解運動ベクトルの符号を反転させて前記組立運動ベクトルを生成することを特徴とする組立アニメーション生成方法。
【請求項12】
請求項11において、
前記プロセッサは、前記分解順序の逆を組立順序として、前記組立シーケンスを生成することを特徴とする組立アニメーション生成方法。
【請求項13】
請求項8において、
さらに、前記プロセッサが、指示入力に応答して、前記組立品を構成する複数の部品のうち同時に組立を行う部品の集合である組立単位を設定するステップと、
前記プロセッサが、当該組立単位の前記第一慣性主軸に基づいて安定的な設置姿勢を決定するステップと、を有し、
前記前記選択されたカメラ視点を前記対象部品の作業視野として設定するステップにおいて、前記プロセッサは、前記安定的な設置姿勢の前記組立単位における各部品に対して、前記作業視野を設定することを特徴とする組立アニメーション生成方法。
【請求項14】
請求項8において、
さらに、前記プロセッサが、前記選択されたカメラ視点におけるカメラ姿勢を調整するための調整用インタフェースを画面上に表示するように前記ディスプレイを制御するステップを有することを特徴とする組立アニメーション生成方法。
【請求項1】
組立品を組み立てるシーケンスを示す組立シーケンスに基づいて、前記組立品の組立の動作を示す組立アニメーションを生成する計算機システムであって、
前記組立アニメーションを生成するプロセッサと、
前記生成された組立アニメーションの情報を格納するメモリと、
前記プロセッサの制御に応答して、前記組立アニメーションを表示するディスプレイと、を有し、
前記プロセッサは、
前記組立品を構成する複数の部品の慣性テンソル情報を取得し、当該慣性テンソル情報から前記組立品の第一慣性主軸を算出し、
前記複数の部品間の近接関係を示す近接関係情報を取得し、
前記複数の部品の近接関係情報に基づいて、前記複数の部品のそれぞれが近接する部品と干渉しないような、前記組立シーケンス及び前記複数の部品の組み付け方向を示す組立運動ベクトルを生成し、
前記第一慣性主軸の周りに、それぞれカメラ軸を有し、前記組立アニメーション生成の際の作業視野の候補となる複数のカメラ視点を配置し、
前記複数の部品のそれぞれについて、対象部品の前記組立運動ベクトルに最も方向が合致するカメラ視点を選択し、当該選択されたカメラ視点を前記対象部品の作業視野として設定し、
前記作業視野から前記組立アニメーションを生成することを特徴とする計算機システム。
【請求項2】
請求項1において、
前記プロセッサは、前記組立アニメーションの画像に基づいて、指定された部品の組立前後の静止画像を含む作業指示図を生成することを特徴とする計算機システム。
【請求項3】
請求項1において、
前記プロセッサは、前記第一主軸が垂線となる平面に対して所定角度をなすように前記複数のカメラ視点を配置し、前記それぞれの部品の前記組み立て運動ベクトルと所定角度をなす前記カメラ視点を前記対象部品の作業視野の候補とすることを特徴とする計算機システム。
【請求項4】
請求項1において、
前記プロセッサは、前記複数の部品の分解順序を決定し、当該分解順序で前記複数の部品のそれぞれの分解運動ベクトルを生成し、当該分解運動ベクトルの符号を反転させて前記組立運動ベクトルを生成することを特徴とする計算機システム。
【請求項5】
請求項4において、
前記プロセッサは、前記分解順序の逆を組立順序として、前記組立シーケンスを生成することを特徴とする計算機システム。
【請求項6】
請求項1において、
前記プロセッサは、指示入力に応答して、前記組立品を構成する複数の部品のうち同時に組立を行う部品の集合である組立単位を設定し、当該組立単位の前記第一慣性主軸に基づいて安定的な設置姿勢を決定し、当該安定的な設置姿勢の前記組立単位における各部品に対して、前記作業視野を設定することを特徴とする計算機システム。
【請求項7】
請求項1において、
前記プロセッサは、前記選択されたカメラ視点におけるカメラ姿勢を調整するための調整用インタフェースを画面上に表示するように前記ディスプレイを制御することを特徴とする計算機システム。
【請求項8】
計算機システムを用い、組立品を組み立てるシーケンスを示す組立シーケンスに基づいて、前記組立品の組立の動作を示す組立アニメーションを生成する組立アニメーション生成方法であって、
前記計算機システムが有するプロセッサが、前記組立品を構成する複数の部品の慣性テンソル情報を取得し、当該慣性テンソル情報から前記組立品の第一慣性主軸を算出するステップと、
前記プロセッサが、前記複数の部品間の近接関係を示す近接関係情報を取得ステップと、
前記プロセッサが、前記複数の部品の近接関係情報に基づいて、前記複数の部品のそれぞれが近接する部品と干渉しないような、前記組立シーケンス及び前記複数の部品の組み付け方向を示す組立運動ベクトルを生成するステップと、
前記プロセッサが、前記第一慣性主軸の周りに、それぞれカメラ軸を有し、前記組立アニメーション生成の際の作業視野の候補となる複数のカメラ視点を配置するステップと、
前記プロセッサが、前記複数の部品のそれぞれについて、対象部品の前記組立運動ベクトルに最も方向が合致するカメラ視点を選択し、当該選択されたカメラ視点を前記対象部品の作業視野として設定するステップと、
前記プロセッサが、前記作業視野から前記組立アニメーションを生成し、ディスプレイ画面上に表示するステップと、
を有することを特徴とする組立アニメーション生成方法。
【請求項9】
請求項8において、
さらに、前記プロセッサが、前記組立アニメーションの画像に基づいて、指定された部品の組立前後の静止画像を含む作業指示図を生成するステップを有することを特徴とする組立アニメーション生成方法。
【請求項10】
請求項8において、
前記選択されたカメラ視点を前記対象部品の作業視野として設定するステップにおいて、前記プロセッサは、前記第一主軸が垂線となる平面に対して所定角度をなすように前記複数のカメラ視点を配置し、前記それぞれの部品の前記組み立て運動ベクトルと所定角度をなす前記カメラ視点を前記対象部品の作業視野の候補とすることを特徴とする組立アニメーション生成方法。
【請求項11】
請求項8において、
前記組立運動ベクトルを生成するステップにおいて、前記プロセッサは、前記複数の部品の分解順序を決定し、当該分解順序で前記複数の部品のそれぞれの分解運動ベクトルを生成し、当該分解運動ベクトルの符号を反転させて前記組立運動ベクトルを生成することを特徴とする組立アニメーション生成方法。
【請求項12】
請求項11において、
前記プロセッサは、前記分解順序の逆を組立順序として、前記組立シーケンスを生成することを特徴とする組立アニメーション生成方法。
【請求項13】
請求項8において、
さらに、前記プロセッサが、指示入力に応答して、前記組立品を構成する複数の部品のうち同時に組立を行う部品の集合である組立単位を設定するステップと、
前記プロセッサが、当該組立単位の前記第一慣性主軸に基づいて安定的な設置姿勢を決定するステップと、を有し、
前記前記選択されたカメラ視点を前記対象部品の作業視野として設定するステップにおいて、前記プロセッサは、前記安定的な設置姿勢の前記組立単位における各部品に対して、前記作業視野を設定することを特徴とする組立アニメーション生成方法。
【請求項14】
請求項8において、
さらに、前記プロセッサが、前記選択されたカメラ視点におけるカメラ姿勢を調整するための調整用インタフェースを画面上に表示するように前記ディスプレイを制御するステップを有することを特徴とする組立アニメーション生成方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−221416(P2012−221416A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−89386(P2011−89386)
【出願日】平成23年4月13日(2011.4.13)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願日】平成23年4月13日(2011.4.13)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]