JP5141218B2 - 軌跡干渉検証プログラム、方法及び装置 - Google Patents

軌跡干渉検証プログラム、方法及び装置 Download PDF

Info

Publication number
JP5141218B2
JP5141218B2 JP2007311413A JP2007311413A JP5141218B2 JP 5141218 B2 JP5141218 B2 JP 5141218B2 JP 2007311413 A JP2007311413 A JP 2007311413A JP 2007311413 A JP2007311413 A JP 2007311413A JP 5141218 B2 JP5141218 B2 JP 5141218B2
Authority
JP
Japan
Prior art keywords
trajectory
model
time
interference
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007311413A
Other languages
English (en)
Other versions
JP2008234622A (ja
Inventor
朗 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007311413A priority Critical patent/JP5141218B2/ja
Priority to US12/032,127 priority patent/US8024165B2/en
Publication of JP2008234622A publication Critical patent/JP2008234622A/ja
Application granted granted Critical
Publication of JP5141218B2 publication Critical patent/JP5141218B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、複数の物体の移動又は回転軌跡の干渉の有無を仮想的に検証するための技術に関する。
例えば特開2004−348452号公報には、部分的な変更等によって仮決めされた組付け順序が妥当であるか否かを検証するとともに、許容される組付け順序を容易に作成することが可能な組付け順序検証技術が開示されている。具体的には、組付け順序検証部は、複数の部品を組み立てる組立過程の組付け順序の妥当性を検証するものである。データ部には、部品形状データ、部品組付け軌跡データ、組付け順序データ、作業制約データが保管されている。組付け順序検証部には、制約判断部と干渉判断部とが設けられ、制約判断部によって作業制約違反の有無が判断され、干渉判断部によって干渉の有無が判断される。そして、制約判断部によって制約違反があると判断されるか、あるいは、干渉判断部によって干渉があると判断された場合、警告表示部によって警告表示が表示される。この公報記載の技術は、今回取り付ける1つの部品と既に取り付けられている部品との干渉をチェックするものであって、複数の部品を同時に取り付ける際の問題については触れられていない。
特開2004−348452号公報
例えば複数のロボットを用いて複数の部品の組み立てを同時並列的に行う場合に、組み立てた後の部品同士に干渉はなくとも、組み立て作業における部品の移動中に干渉が生ずる場合がある。このような問題を解消しなければ、複数の部品の組み立てを同時並列的にロボットに行わせることができない。一方、このような問題を解消すれば、同時並列的に複数の部品の組付けを行うことができるので、生産性を飛躍的に向上させることができる。しかし、実際に部品を移動させて組み立てるような作業を行うことによって検証していては、時間もかかって効率的ではない。
また、部品の組み立てだけではなく、複数の機械によって物体を移動又は回転するなどの作業についても、同様の問題がある。
従って、本発明の目的は、複数の物体の移動又は回転における干渉の有無を仮想的に検証するための技術を提供することである。
また、本発明の他の目的は、複数の物体の同時移動又は回転の可能性を広げるための技術を提供することである。
本発明の軌跡干渉検証方法は、解析対象の複数の物体を移動又は回転させる際に生じる軌跡についてのデータの入力を受け付け、軌跡データ格納部に格納するステップと、軌跡データ格納部に格納されている各物体の上記軌跡についてのデータに従って、複数の物体の各々についてモデルデータを格納するモデルデータ格納部に格納された各物体のモデルデータを仮想的に移動させることによって、少なくともサイズが最大となる段階までの軌跡モデルを生成し、軌跡モデルデータ格納部に格納する軌跡モデル生成ステップと、軌跡モデルデータ格納部に格納されている軌跡モデルの全ての組み合わせについて積演算を実施して、物体の移動又は回転における干渉を示す、軌跡モデル同士の重複モデル(例えば実施の形態における干渉モデル)の有無を判断するステップとを含む。
このように軌跡モデルを総当たりで積演算して重複モデルが検出されなければ、例えば同時組み立てが可能となる。
なお、本発明において、軌跡モデル同士の重複モデルが存在すると判断された場合には、警告を出力するステップをさらに含むようにしてもよい。これに応じて、ユーザは、例えば同時組み立ての部品組み合わせを変更したり、軌跡を変更したりすることになる。
また、上で述べた軌跡モデル生成ステップは、上記軌跡についてのデータに従って、各物体のモデルデータを単位時間毎に仮想的に移動させることによって、単位時間毎の軌跡モデル群を生成し、軌跡モデルデータ格納部に格納するステップを含むようにしてもよい。そして、本発明において、軌跡モデル同士の重複モデルが存在すると判断された場合には、当該重複モデルを生成させた軌跡モデルに係る第1及び第2の特定物体を特定するステップと、軌跡モデルデータ格納部に格納されている、第1及び第2の特定物体の単位時間毎の軌跡モデル群とを用いて、第1及び第2の特定物体について重複モデルとの干渉が開始する時間と重複モデルとの干渉が終了する時間を特定する干渉時間特定ステップと、第1及び第2の特定物体について上記干渉が開始する時間と上記干渉が終了する時間から、第1及び第2の特定物体のいずれかの移動開始時間の調整時間を算出する調整時間算出ステップとをさらに含むようにしてもよい。このようにすれば、例えば複数の物体の同時移動又は回転の可能性を広げることができるようになる。
なお、上で述べた干渉時間特定ステップが、第1の特定物体の軌跡モデル群と重複モデルとの積演算を実施することによって、第1の特定物体について重複モデルとの干渉が開始する時間と重複モデルとの干渉が終了する時間を特定するステップと、第2の特定物体の軌跡モデル群と重複モデルとの積演算を実施することによって、第2の特定物体について重複モデルとの干渉が開始する時間と重複モデルとの干渉が終了する時間を特定するステップとを含むようにしてもよい。
また、上で述べた調整時間算出ステップが、干渉が終了する時間が早い方の物体を特定するステップと、干渉が終了する時間が遅い方の物体の調整時間を、上記干渉が終了する時間が早い方の物体の当該干渉が終了する時間から上記干渉が終了する時間が遅い方の物体の上記干渉が開始する時間を差し引き、さらに単位時間を加えることによって算出するステップとを含むようにしてもよい。これによって最小の時間差にて組み立てなどを行うことができる。
なお、本方法をコンピュータに実行させるためのプログラムを作成することができ、このプログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークなどを介してデジタル信号として配信される場合もある。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
本発明によれば、複数の物体の移動又は回転における干渉の有無を仮想的に検証することができるようになる。
また、本発明の他の側面によれば、複数の物体の同時移動又は回転の可能性を広げることができるようになる。
[実施の形態1]
本発明の第1の実施の形態に係る組み立て検証装置の機能ブロック図を図1に示す。組み立て検証装置は、解析対象の部品のモデルデータを格納する部品データ格納部1と、部品の移動軌跡についての入力を受け付け、軌跡モデルデータを生成する移動軌跡生成部3と、軌跡モデルデータを格納する軌跡データ格納部5と、移動軌跡生成部3と連係し、軌跡データ格納部5に格納されているデータを用いて干渉チェック処理を実施する干渉チェック部13と、移動軌跡生成部3と連係し、軌跡データ格納部5に格納されているデータを用いて移動開始時間調整処理を実施する移動開始時間調整部11と、軌跡データ格納部5に格納されているデータを用いて組立手順書等の生成処理を実施する組立手順書生成部7と、組立手順書生成部7の処理結果を格納する組立手順データ格納部9と、上で述べた各処理部と連係し、上で述べた各データ格納部のデータを表示可能なデータ入出力部15とを有する。なお、干渉チェック部13についても組立手順書生成部7と連係して動作する。
なお、部品データ格納部1に格納されるデータの一例を図2(a)及び(b)を用いて説明する。例えば図2(a)に示すような直方体が部品である場合には、図2(b)に示すようなデータが、部品データ格納部1に格納される。すなわち、部品名(部品の識別データ)と、基準座標(X,Y,Z)と、ベクトルX1のX,Y,Z成分と、ベクトルY1のX,Y,Z成分と、ベクトルZ1のX,Y,Z成分と、縦(Z1方向)の長さと、横(X1方向)の長さと、高さ(Y1方向)の長さとが格納されている。部品データ格納部1には、解析対象となる部品のモデルデータが複数セット格納されているものとする。
次に、図1に示した組み立て検証装置の処理内容について図3乃至図21を用いて説明する。まず、ユーザは、データ入出力部15に指示を与えて、例えば部品データ格納部1に格納されている部品のモデルデータを表示装置に表示させ、そのうち解析対象とする部品を選択する。データ入出力部15は、ユーザからの部品の選択入力を受け付け(図3:ステップS1)、選択された部品の識別データを移動軌跡生成部3に出力する。
移動軌跡生成部3は、データ入出力部15から部品の識別データを受け取り、当該部品の識別データを部品データ格納部1から読み出し、移動情報入力処理を実施する(ステップS3)。この移動情報入力処理については、図4乃至図6を用いて説明する。まず、図4を用いて、部品組み立て時の部品の移動軌跡について説明する。部品名A01は、まずフェーズ1として、その移動基準1を基準点として方向ベクトル1に沿って距離1だけ平行移動される。その後フェーズ2として、回転基準1を基準点として90度回転される。さらにフェーズ3として、移動基準1を基準点として方向ベクトル2に沿って距離2だけ平行移動される。そしてフェーズ4として、回転基準2を中心として、ここでは移動方向を90度変えるように回転させる。なお、例えば移動基準1が距離3だけ移動するように回転される。そしてフェーズ5として、移動基準2を基準点として方向ベクトル4に沿って距離4だけ平行移動される。このように部品を移動させる場合の軌跡データは、図5に示すような処理フローに沿って入力される。
まず、移動軌跡生成部3は、データ入出力部15に、平行移動、軸回りの回転及び通常の回転のいずれかをユーザに選択させるような画面を表示させ、ユーザにいずれかを選択させる。ユーザにより平行移動が選択されると(ステップS21:Yesルート)、移動軌跡生成部3は、データ入出力部15に、移動基準点の入力を促す表示を行わせ、ユーザからの移動基準点の入力を受け付け、軌跡データ格納部5に格納する(ステップS23)。また、方向ベクトルの入力を促す表示を行わせ、ユーザからの方向ベクトルの入力を受け付け、軌跡データ格納部5に格納する(ステップS25)。さらに、距離及び当該距離を移動するために要する時間の入力を促す表示を行わせ、ユーザからの距離及び時間の入力を受け付け、軌跡データ格納部5に格納する(ステップS27)。そして、このフェーズまでの累積距離を算出し、軌跡データ格納部5に格納する(ステップS43)。
そして、入力を終了するか否かをユーザに問い合わせ、ユーザが入力終了を指示した場合には(ステップS45:Yesルート)、元の処理に戻る。一方、ユーザが入力終了を指示しなかった場合には(ステップS45:Noルート)、次フェーズに切り替え(すなわち、データ格納テーブルにおいて行替えし)(ステップS47)、端子Bを介してステップS21に戻る。
また、ユーザが平行移動ではなく(ステップS21:Noルート)、軸回りの回転を選択すると(ステップS29:Yesルート)、移動軌跡生成部3は、データ入出力部15に、回転基準点の入力を促す表示を行わせ、ユーザからの回転基準点の入力を受け付け、軌跡データ格納部5に格納する(ステップS31)。さらに、回転軸の入力を促す表示を行わせ、ユーザからの回転軸の入力を受け付け、軌跡データ格納部5に格納する(ステップS33)。そして、回転に要する時間の入力を促す表示を行わせ、ユーザからの時間の入力を受け付け、軌跡データ格納部5に格納する(ステップS35)。そしてステップS43に移行する。
さらに、ユーザが軸回りの回転ではなく(ステップS29:Noルート)、通常の回転を選択すると(ステップS29;Noルート)、移動軌跡生成部3は、データ入出力部15に、回転基準点の入力を促す表示を行わせ、ユーザからの回転基準点の入力を受け付け、軌跡データ格納部5に格納する(ステップS37)。さらに、距離の入力を促す表示を行わせ、ユーザからの距離の入力を受け付け、軌跡データ格納部5に格納する(ステップS39)。そして、回転に要する時間の入力を促す表示を行わせ、ユーザからの時間の入力を受け付け、軌跡データ格納部5に格納する(ステップS41)。そしてステップS43に移行する。
このような処理を実施すれば図6に示すようなテーブルが生成され、軌跡データ格納部5に格納される。図6は、図4に示した移動例に対応するテーブルである。フェーズ1では、平行移動なので、移動基準点と、方向ベクトルと、距離と、累積距離と、時間とが登録される。フェーズ2では、軸回りの回転であるから、回転基準点と、回転軸と、時間とが登録される。フェーズ3では、平行移動なので、移動基準点と、方向ベクトルと、距離と、累積距離と、時間とが登録される。フェーズ4では、通常の回転なので、距離と、回転基準点と、累積距離と、時間とが登録される。フェーズ5では、平行移動なので、移動基準点と、方向ベクトルと、距離と、累積距離と、時間とが登録される。
以下でも説明するが、干渉チェックでは干渉するか否かを簡易に判定するため、軸回りの回転では、回転軸回りの外接円柱を軌跡形状として生成してしまい、回転角は登録しない。また、通常の回転では、回転基準点を中心とする外接球を軌跡モデルデータとして生成するため、回転角は登録しない。
図3の処理の説明に戻って、次に、移動軌跡生成部3は、軌跡データ格納部5に格納されているデータ及び部品データ格納部1に格納されているデータを用いて、軌跡形状生成処理を実施する(ステップS5)。この軌跡形状生成処理の詳細については図7乃至図10を用いて説明する。
まず、移動軌跡生成部3は、ユーザによって指示された値又はシステムのデフォルト値に従って軌跡形状生成時間単位及び移動開始時間を設定する(ステップS51)。例えば軌跡形状生成時間単位には1秒を設定する。そして、nを1に初期化し(ステップS53)、n時間単位後の位置に部品を移動又は回転させることによって、初期位置から移動後の位置までの軌跡形状(すなわち軌跡モデルデータ)を生成し、当該軌跡モデルデータを例えばメインメモリなどの記憶装置に格納する(ステップS55)。
例えば図8(a)のような直方体の場合、図8(b)乃至(e)のようなデータが軌跡データ格納部5に格納される。図8(a)は、図2(a)に示した直方体と同じであり、図8(b)に示したベースとなる部品のモデルデータについては、移動開始時間及び最下行に追加された軌跡形状名(又は軌跡モデルデータへのポインタ)以外は、図2(b)と同じである。また、図8(c)には、第1の軌跡モデルデータを示している。第1の軌跡モデルデータは、初期位置から例えば1秒後の移動先位置までの軌跡形状を表す。図8(c)の例では、軌跡形状名、形状を表すデータ(基準座標、ベクトルX1,Y1,Z1の成分値、縦の長さ、横の長さ、高さ)、タイムスライスナンバー(すなわち軌跡モデルの順番)、到達時間が登録されるようになっている。形状を表すデータについては、必要に応じて複雑なデータ構造となる場合もある。図8(d)には、第2の軌跡モデルデータを示している。第2の軌跡モデルデータは、初期位置から例えば2秒後の移動先位置までの軌跡形状を表す。データ構造は図8(c)と同じであり、タイムスライスナンバーが「2」にインクリメントされており、到達時間についても2秒後に更新されている。図8(c)には、第3の軌跡モデルデータを示している。第3の軌跡モデルデータは、初期位置から例えば3秒後の移動先位置までの軌跡形状を表す。データ構造は図8(c)と同じであり、タイムスライスナンバーが「3」にインクリメントされており、到達時間についても3秒後に更新されている。
上でも触れたが、干渉の有無をチェックするため、精密な軌跡形状が必要なわけではない。すなわち、軸回りの回転の場合には回転角度までは考慮せず、図4において回転基準1を中心に方向ベクトル1の回りに回転する場合には、図9に示すように、その外接円柱を軌跡形状として採用する。また、図4において回転基準2を中心に回転する場合には、図10のY軸方向から見た図のように、外接球を軌跡形状として採用する。このようにすれば、軌跡形状を容易に生成することができ、干渉の有無についても充分マージンをもって考慮することができる。
図7の説明に戻って、移動軌跡生成部3は、nが最終時間単位であるか判断する(ステップS57)。最終時間単位は、ユーザによって予め与えられる組み立て完了予定時間に基づき決定される。例えば、部品を保持するロボットが初期位置に戻るまでの時間に基づき決定される。そして、nが最終時間単位でないと判断された場合にはnを1インクリメントして(ステップS59)、ステップS55に戻る。一方、nが最終時間単位であると判断された場合には、処理を終了する。
このような処理を実施すれば、解析対象部品毎に時間単位毎の軌跡モデルデータが蓄積されることとなる。
図3の説明に戻って、移動軌跡生成部3は、データ入出力部15を介して、メインメモリなどの記憶装置に格納されている軌跡モデルデータを用いて、ユーザに対して軌跡形状を提示する(ステップS7)。図4に示したような画面が、ユーザに入力を確認してもらうために、表示装置に表示される。
そして、移動軌跡生成部3は、データ入出力部15に、修正を行うかを確認する表示を行わせ(ステップS9)、修正が指示されれば、メインメモリなどの記憶装置に格納されている軌跡形状(すなわち軌跡モデルデータ)を削除する(ステップS11)。そしてステップS3に戻る。
一方、修正なしが指示されれば、軌跡形状(すなわち軌跡モデルデータ)を、軌跡データ格納部5に保存する(ステップS13)。そして、移動軌跡生成部3は、データ入出力部15を介して、ユーザに対して全ての部品について軌跡形状を生成したか確認する(ステップS15)。もし、さらに解析対象部品を指定して処理する必要がある場合には、ユーザが次の部品を指定する旨の指示をデータ入出力部15に入力し、処理はステップS1に戻る。一方、全ての解析対象部品について軌跡形状を生成し終わった場合には、ユーザは干渉チェック処理を開始する旨の指示をデータ入出力部15に入力し、処理は端子Aを介して図11の処理に移行する。
次に、移動軌跡生成部3は、軌跡形状が生成された部品のうち干渉チェック対象部品の選択を促す表示をデータ入出力部15に行わせ、ユーザから干渉チェック対象部品の選択入力を受け付ける(図11:ステップS61)。そして、移動軌跡生成部3は、ユーザにより選択され且つ軌跡データ格納部5に格納されている干渉チェック対象部品をデータ入出力部15に表示させる(ステップS63)。そして、移動軌跡生成部3は、干渉チェック部13に、干渉チェック処理を実施させる(ステップS65)。この干渉チェック処理については、図12乃至図14を用いて説明する。
まず、干渉チェック部13は、干渉判別処理を実施する(ステップS81)。この干渉判別処理については、図13及び図14を用いて説明する。
まず、干渉チェック部13は、干渉チェック対象部品全てについて最大軌跡形状を特定する(ステップS91)。例えば、部品の組み立てを行うロボットが、組み立てまでと組み立て終了後とで同じ軌跡を通過する場合には、初期位置から組み立てまでの軌跡モデルデータを採用すればよい。部品の組み立てを行うロボットが、組み立てまでと組み立て終了毎で同じ軌跡を通過しない特殊な場合には、最も大きい軌跡形状を特定する。
そして、干渉チェック部13は、干渉チェック対象部品の最大軌跡形状の全ての組み合わせについて積演算を実施する(ステップS93)。例えば、図14に簡単な積演算の一例を示す。図14の例では、形状1と形状2の積演算を実施すると、干渉が存在すれば形状3(すなわち干渉形状)が得られる。なお、干渉が存在しなければ干渉形状は得られない。
重なり部分、すなわち干渉形状が存在すれば(ステップS95:Yesルート)、「干渉あり」及び干渉モデル名を元の処理に返す(ステップS97)。干渉モデル名は、後の処理のために元となる2つの軌跡形状の名称から生成する。例えば、図14の例では、形状1*形状2とする。また、干渉モデル名及び干渉形状(すなわち干渉モデルデータ)については、軌跡データ格納部5に格納しておく。そして元の処理に戻る。
一方、重なり部分、すなわち干渉形状が存在しない場合には(ステップS95:Noルート)、「干渉なし」を元の処理に返す(ステップS99)。そして元の処理に戻る。
このような処理を実施することで、いずれの部品の組み立て経路上に問題が存在するのかを特定することができる。
図12の説明に戻って、干渉チェック部13は、干渉ありか判断する(ステップS83)。干渉が存在すれば、軌跡データ格納部5に格納されている干渉モデル名称及び干渉形状などを、データ入出力部15に表示させる(ステップS85)。そして元の処理に戻る。一方、干渉が存在しなければ、元の処理に戻る。
このような処理を行うことによって、干渉が存在していれば、ユーザは、自らが入力した軌跡データに問題が存在しているということを認識することができる。
図11に戻って、移動軌跡生成部3は、干渉チェック部13によって干渉ありと判定されたか否かを判断する(ステップS67)。干渉が存在していれば、移動軌跡生成部3は、軌跡形状を生成し直すか、干渉が生じた部品の移動開始時間を変更させるかを、ユーザに選択するよう促す表示をデータ入出力部15に行わせる。ユーザが軌跡形状を生成し直すという選択を行った場合には(ステップS69:Yesルート)、生成し直す軌跡形状又はそれに係る部品を選択させるような表示をデータ入出力部15に行わせ、ユーザからの指示に従って生成し直す軌跡形状を軌跡データ格納部5から削除する(ステップS71)。そして端子Cを介して図3のステップS1に戻る。
一方、ユーザが干渉部品の移動開始時間を変更させるという選択を行った場合(ステップS69:Noルート)、移動開始時間調整部11は、干渉部品の移動開始時間変更処理を実施する(ステップS73)。干渉部品の移動開始時間変更処理については、図15乃至図19を用いて説明する。
移動開始時間調整部11は、まず、干渉形状のモデル名から干渉を生じている2つの部品を特定する(図15:ステップS101)。上で述べたように、干渉形状のモデル名は、軌跡形状名*軌跡形状名と設定されているので、軌跡形状名が特定され、この軌跡形状名から部品名を特定する。そして、2つの部品のうち第1の部品について第1タイムスライスナンバー特定処理を実施する(ステップS103)。第1タイムスライスナンバー特定処理については、図16を用いて説明する。
移動開始時間調整部11は、まずnを1に初期化する(ステップS111)。そして、軌跡データ格納部5に格納されている第nタイムスライスの軌跡形状のモデルデータと干渉形状のモデルデータとを読み出し、第nタイムスライスの軌跡形状名と干渉形状との積演算を実施する(ステップS113)。ステップS93と同じように干渉チェックのため積演算を行う。ステップS113では積演算を行ったことによって、干渉があれば干渉形状と同じ形状が得られる。干渉が生じていない場合には(ステップS115:Noルート)、nを1インクリメントし(ステップS117)、ステップS113に戻る。このように、部品を1時間単位毎に移動させて、どのタイミングで干渉部品の位置まで移動するかを特定する。すなわち、干渉が存在する場合には(ステップS115:Yesルート)、変数BONにnを設定する(ステップS119)。
そして、nを1インクリメントし(ステップS121)、軌跡データ格納部5に格納されている第nタイムスライスの軌跡形状のモデルデータを読み出し、第nタイムスライスの軌跡形状と干渉形状との積演算を実施する(ステップS123)。ステップS113と同様である。そして干渉が存在する場合には(ステップS125:Yesルート)、ステップS121に戻る。一方、干渉が生じなくなった場合(ステップS125:Noルート)、変数SENにn−1を設定する(ステップS127)。このように、干渉形状の位置までロボットのアームが戻った時間が特定され、変数SENに設定される。そして、処理は元の処理に戻る。
この処理について図17及び図18を用いて説明しておく。図17では、部品Aと部品Bとを部品Cに組み立てる際の動作を模式的に示している。部品Aに連なる点線ブロックは、1秒間に部品Aが進む位置を表しており、部品Bに連なる点線ブロックは、1秒間に部品Bが進む位置を表している。図17の例では、部品Aも部品Bも干渉形状と最初に重なるのは4秒目である。
また、図18に示すように、部品Aを組み立てたロボットのアームが干渉形状の位置まで戻るのに10秒、干渉形状との干渉が生じなくなるまでに11秒かかる。部品Bを組み立てたロボットのアームが干渉形状の位置まで戻るのに10秒、干渉形状との干渉が生じなくなるまでに11秒かかる。
従って、部品Aについても部品Bについても、SEN=10であり、BON=4となる。
図15の説明に戻って、移動開始時間調整部11は、第2の部品について第1タイムスライスナンバー特定処理を実施する(ステップS105)。第1タイムスライスナンバー特定処理については図16に示した処理と同じである。そして、第2タイムスライスナンバー特定処理を実施する(ステップS107)。第2タイムスライスナンバー特定処理については、図19を用いて説明する。
移動開始時間調整部11は、第1の部品のSENの値と、第2の部品のSENの値を比較する(ステップS131)。第1の部品のSENの値≧第2の部品のSENの値である場合には(ステップS133:Yesルート)、(第1の部品のSEN−第2の部品のBON+1)を第2の部品の調整時間として特定する(ステップS135)。そして、軌跡データ格納部5に登録されている第2の部品の移動開始時間及び各軌跡形状における到達時間を調整時間だけ後ろに変更する(ステップS137)。そして元の処理に戻る。
また、第1の部品のSENの値≧第2の部品のSENの値でない場合には(ステップS133:Noルート)、(第2の部品のSEN−第1の部品のBON+1)を第1の部品の調整時間として特定する(ステップS139)。そして、軌跡データ格納部5に登録されている第1の部品の移動開始時間及び各軌跡形状における到達時間を調整時間だけ後ろに変更する(ステップS141)。そして元の処理に戻る。
このような処理を行うことによって、いずれの部品の移動開始時間をどの程度後ろにずらすことによって、最も早く且つ干渉なしに部品を組み立てることができるか特定できる。
なお、図17及び図18で示した例では、同じになるので、部品Aと部品Bのいずれの移動開始時間を変更しても良い。但し、上記式では、(10−4+1)=7秒だけ移動開始時間を後ろにずらす必要がある。
図15の処理に戻って、移動開始時間調整部11は、移動開始時間を変更すべき部品の部品名と調整時間(又は変更後の移動開始時間)を、データ入出力部15を介してユーザに提示する(ステップS109)。そして元の処理に戻る。
これにて干渉部品の移動開始時間変更処理が終了したので、図11の説明に戻って、移動軌跡生成部3は、移動開始時間変更処理の結果を許容するか否かについて入力するように促す表示をデータ入出力部15に行わせる。そして、移動軌跡生成部3は、データ入出力部15を介して、許容するか否かを表すユーザからの入力を受け付ける。移動開始時間変更処理の結果を許容しない場合には(ステップS75:Noルート)、ステップS71に移行する。すなわち、軌跡データの修正を行う。
一方、移動開始時間変更処理の結果を許容する場合には(ステップS75:Yesルート)、ステップS77に移行する。
ステップS77では、対象部品を選択するステップS1に戻る指示がユーザーによってなされたか判断し、このような指示がなされていれば端子Cを介してステップS1に戻る。それ以外の場合は処理を終了する。
このようにして、単に干渉の有無を判断するだけではなく、干渉が存在する場合には干渉が存在しなくなるまで軌跡データを修正するようにしても良いし、移動開始時間を適切に変更して干渉を回避するようにしても良い。
ここまでの処理は、例えば一人のユーザによって、当該ユーザの担当部品について行われる。
次に、図20及び図21を用いて、複数のユーザが担当した部品について干渉を確認する場合の処理について説明する。組立手順書生成部7は、軌跡データ格納部5に登録されている部品をデータ入出力部15を介してユーザに対して提示して、同時組立部品を選択するように促す。ユーザは、複数のユーザが担当した部品を選択するものとする。組立手順書生成部7は、データ入出力部15を介して、ユーザから同時組立部品の選択入力を受け付ける(ステップS151)。そして、組立手順書生成部7は、軌跡データ格納部5に格納されている同時組立部品の軌跡モデルデータを読み出し、データ入出力部15を介してユーザに提示する(ステップS153)。その後、同時組立部品について干渉チェック処理を実施する(ステップS155)。干渉チェック処理については図12を用いて説明した処理と同様であるから、ここでは説明を省略する。
そして、組立手順書生成部7は、ステップS155の処理結果として干渉ありと判断された場合には(ステップS157:Yesルート)、干渉チェック処理の処理結果として出力される干渉形状及び干渉形状名などを、データ入出力部15を介して出力する(ステップS159)。そして処理を終了する。ユーザは、干渉形状及び干渉形状名から、変更すべき軌跡データなどを特定し、処置を行った後に再度本処理を実施する。
一方、ステップS155の処理結果として干渉なしと判断された場合には(ステップS157:Noルート)、選択された同時組立部品の名称及び軌跡データ格納部5に格納されている当該同時組立部品の移動開始時間を用いて同時組立可能部品表及び組立手順データを生成し、組立手順データ格納部9に格納すると共に、データ入出力部15を介してユーザに提示する(ステップS161)。
例えば図21に示すようなデータテーブルが生成され、組立手順データ格納部9に格納される。図21(a)は、同時組立可能部品表を示しており、この例では4つの部品が同時に組立可能であることを示している。また、図21(b)は、組立手順書を示しており、4つの部品について移動開始時間、組立順、及び部品名が含まれるようになっている。組立順については、移動開始時間に基づき決定される。すなわち、最も早い時間に移動開始時間が設定される部品から順番に番号が付与される。図21(b)の例では、部品名XX2は、移動開始時間変更処理(図15)において移動開始時間が調整された部品であるため、組立順が「2」となっている。
以上のようなデータが生成されれば、複数のユーザが担当する部品についても同時に組立を行うことができることが確認される。また、干渉ありと判定された場合には、ユーザ間で調整すべき部品を決定して軌跡データを変更するなどの処理を行うこととなる。
以上のような処理を実施することにより、複数の部品を同時に組み立てることが可能であるかを、実際に部品の組立を行う前に容易に判断することができるようになり、生産コストを削減し、生産開始までの時間を短縮することができるようになる。
また、単純な同時だけではなく移動開始時間を調整することも可能となり、同時に組み立てることができる部品の範囲を広げることができるようになる。
以上本発明の第1の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば図1に示した機能ブロック図は一例であって、必ずしもプログラムモジュール構成と一致するわけではない。
また、処理フローについても同様の処理結果を得られれば、ステップの順番入れ替え又は並列処理も可能な場合もある。
[実施の形態1の変形例]
第1の実施の形態では、回転軸回りの回転については回転角度を一律360°として軌跡形状を生成する例を示したが、これでは軌跡形状が大きくなってしまい、干渉する場合が増加するおそれがある。また、第1の実施の形態では、図10に示すように、回転軸回りの回転についても円柱でもなく球として軌跡形状を生成する場合もあった。そこで、第1の実施の形態の変形例として、以下に示すような処理フローによって、回転軸回りの回転については回転角度を設定し、軌跡形状を小さくして干渉の発生を抑制する。
具体的には、図5の処理フローに代わって図22の処理フローを実施する。図5との差は、軸回りの回転の場合におけるステップS234及びS235が追加された部分である。すなわち、移動軌跡生成部3は、データ入出力部15に、回転角度の入力を促す表示を行わせ、ユーザからの回転角度の入力を受け付け、軌跡データ格納部5に格納する(ステップS234)。そして、データ入出力部15に、距離の入力を促す表示を行わせ、ユーザからの距離の入力を受け付け、軌跡データ格納部5に格納する(ステップS235)。
図22のような処理を実施し、図10ではなく図23及び図24のような軌跡を入力する場合には、図25に示すようなデータが軌跡データ格納部5に格納される。図23では、図10と同様にY軸方向から見た移動軌跡を示しており、球ではなく、回転基準2(X,Y,Z)を通る回転軸(方向ベクトル3)回りで90°回転させた回転体を軌跡形状として採用する。図24は、回転を模式的に示す斜視図である。第1の実施の形態の説明では、図5の処理フローではステップS37乃至S41で軌跡データを入力していたが、本変形例では、ステップS231乃至S236で軌跡データを入力する。
軌跡データ格納部5に格納されるデータのうち変化する部分は、図25に示すように、フェーズ2において、回転角度が360°となる部分である。より正確な回転角度を入力しても良いが、このように回転体として円柱を想定するようにしても良い。また、フェーズ4において、回転軸として方向ベクトル3が指定され、且つ回転角度が90°として指定される部分が異なる。
[実施の形態2]
第1の実施の形態は、部品の組み立てについての実施の形態であったが、本発明は、部品の組み立てだけではなく、図26に示すような、複数のクレーンを用いた貨物(箱とも呼ぶ)の積み卸しなどにも適用可能である。
例えば、図27に示すようなクレーンによる箱の移動について、図22のような処理を行って移動軌跡のデータを入力する。第1の実施の形態では、組み付ける部品のみについて移動軌跡のデータを入力していて、それで十分であったが、本実施の形態では、クレーンの一部及び箱を含む複数の部品について軌跡データを入力する必要がある。具体的には、箱を掴むアームaと、箱bと、クレーンの頭cとについて移動軌跡のデータを入力して、軌跡形状を生成する。図27の例では、(1)アームaを下ろして箱bを掴む、(2)箱bを持ち上げる、(3)クレーンを回転させる、(4)箱bを回転させる、(5)箱bを下ろす、(6)アームaを上げる、(7)クレーンを元の位置に回転させる、という操作を行うものとする。
以下、図28乃至図34を用いて、3つの物体の移動軌跡のデータ及び軌跡形状について説明する。まず、アームaは、図28(a)に示すように、所定のサイズの直方体として近似する。そして、図28(b)に示すように、フェーズ1では一旦箱bまで下ろされ、フェーズ2では上方に引き上げられ、フェーズ3では回転基準11及び回転軸(Z軸。方向ベクトル13)を中心に所定の回転角度(本例では90°)だけ回転させられ、フェーズ4では回転基準12及び回転軸(Z軸。方向ベクトル13)を中心に所定の角度(本例では360°)だけ回転させられ、フェーズ5では箱bが着地するまで下ろされる。図28(b)には示されていないが、アームaは、フェーズ5の逆の操作としてフェーズ6では引き上げられ、フェーズ3の逆の操作としてフェーズ7では回転基準11及び回転軸(方向ベクトル13)を中心に所定の回転角度(本例では−90°)だけ回転させられる。このような移動及び回転をアームaに対して実施する場合には、移動軌跡データ格納部5には、図29に示すようなデータ(但し、フェーズ5まで)が格納されるようにする。
箱bは、図30(a)に示すように、所定のサイズの直方体として近似する。まず、箱bは、図30(b)に示すように、フェーズ1では何もせず、フェーズ2では上方に引き上げられ、フェーズ3では回転基準11及び回転軸(Z軸。方向ベクトル13)を中心に所定の回転角度(本例では90°)だけ回転させられ、フェーズ4では回転基準12及び回転軸(Z軸。方向ベクトル13)を中心に所定の角度(本例では360°)だけ回転させられ、フェーズ5では着地するまで下ろされる。フェーズ4では、図30(b)に示すように、360°回転であるから外接円柱が軌跡形状として生成される。このような移動及び回転を箱bに対して実施する場合には、移動軌跡データ格納部5には、図31に示すようなデータが格納されるようになる。
クレーンの頭cは、図32(a)に示すように、所定のサイズの四角柱として近似する。そして、クレーンの頭cは、図32(b)に示すように、フェーズ1及び2では何もせず、フェーズ3では回転基準11及び回転軸(Z軸。方向ベクトル13)を中心に所定の回転角度(本例では90°)だけ回転させられ、フェーズ4及び5では何もしない。図32(b)では図示されていないが、フェーズ7ではフェーズ3とは逆に回転基準11及び回転軸(方向ベクトル13)を中心に所定の回転角度(本例では−90°)だけ回転させられる。このような回転をクレーンの頭cに対して実施する場合には、移動軌跡データ格納部5には、図33に示すようなデータ(但し、フェーズ5まで)が格納されるようにする。
そして、移動軌跡生成部3は、移動軌跡データ格納部5に格納されているデータを用いて、3つの物体の軌跡形状を生成する。生成された軌跡形状の模式図を図34に示す。図34では太線で示した形状が、3つの物体の軌跡形状の和となる。アームaの軌跡形状の一部は箱bの軌跡形状と重なるので、表に現れない部分もある。
このように、クレーンで貨物の積み卸しを行うような場合においても、複数の部品について軌跡形状を生成するだけで、他の処理については第1の実施の形態及びその変形例と同様である。
その他クレーンで貨物の積み卸しを行うだけではなく、複数の物品を近隣で同時に移動させるような場面に適用することができる。
なお、組み立て検証装置は、例えばコンピュータ装置であって、図35に示すように当該コンピュータ装置においては、メモリ2501(記憶部)とCPU2503(処理部)とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS)及びWebブラウザを含むアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。このようなコンピュータは、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
組み立て検証装置として動作するコンピュータ装置は、スタンドアロン型のコンピュータであっても良いし、クライアント・サーバ・システムとして実施するようにしても良い。
(付記1)
解析対象の複数の物体を移動又は回転させる際に生じる軌跡についてのデータの入力を受け付け、軌跡データ格納部に格納するステップと、
前記軌跡データ格納部に格納されている各前記物体の前記軌跡についてのデータに従って、前記複数の物体の各々についてモデルデータを格納するモデルデータ格納部に格納された各前記物体のモデルデータを仮想的に移動させることによって、少なくともサイズが最大となる段階までの軌跡モデルを生成し、軌跡モデルデータ格納部に格納する軌跡モデル生成ステップと、
前記軌跡モデルデータ格納部に格納されている前記軌跡モデルの全ての組み合わせについて積演算を実施して、前記物体の移動又は回転における干渉を示す、前記軌跡モデル同士の重複モデルの有無を判断するステップと、
をコンピュータに実行させるための軌跡干渉検証プログラム。
(付記2)
前記軌跡モデル同士の重複モデルが存在すると判断された場合には、警告を出力するステップ
をさらにコンピュータに実行させるための付記1記載の軌跡干渉検証プログラム。
(付記3)
前記軌跡モデル生成ステップが、
前記軌跡についてのデータに従って、各前記物体のモデルデータを単位時間毎に仮想的に移動させることによって、前記単位時間毎の軌跡モデル群を生成し、前記軌跡モデルデータ格納部に格納するステップ
を含み、
前記軌跡モデル同士の重複モデルが存在すると判断された場合には、当該重複モデルを生成させた前記軌跡モデルに係る第1及び第2の特定物体を特定するステップと、
前記軌跡モデルデータ格納部に格納されている、前記第1及び第2の特定物体の前記単位時間毎の軌跡モデル群とを用いて、前記第1及び第2の特定部品について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定する干渉時間特定ステップと、
前記第1及び第2の特定物体について前記干渉が開始する時間と前記干渉が終了する時間から、前記第1及び第2の特定部品のいずれかの移動開始時間の調整時間を算出する調整時間算出ステップと、
をさらにコンピュータに実行させるための付記1記載の軌跡干渉検証プログラム。
(付記4)
前記干渉時間特定ステップが、
前記第1の特定物体の前記軌跡モデル群と前記重複モデルとの積演算を実施することによって、前記第1の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定するステップと、
前記第2の特定物体の前記軌跡モデル群と前記重複モデルとの積演算を実施することによって、前記第2の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定するステップと、
を含む付記3記載の軌跡干渉検証プログラム。
(付記5)
前記調整時間算出ステップが、
前記干渉が終了する時間が早い方の物体を特定するステップと、
前記干渉が終了する時間が遅い方の物体の調整時間を、前記干渉が終了する時間が早い方の物体の当該干渉が終了する時間から前記干渉が終了する時間が遅い方の物体の前記干渉が開始する時間を差し引き、さらに単位時間を加えることによって算出するステップと、
を含む付記3記載の軌跡干渉検証プログラム。
(付記6)
解析対象の複数の物体を移動又は回転させる際に生じる軌跡についてのデータの入力を受け付け、軌跡データ格納部に格納するステップと、
前記軌跡データ格納部に格納されている各前記物体の前記軌跡についてのデータに従って、前記複数の物体の各々についてモデルデータを格納するモデルデータ格納部に格納された各前記物体のモデルデータを仮想的に移動させることによって、少なくともサイズが最大となる段階までの軌跡モデルを生成し、軌跡モデルデータ格納部に格納する軌跡モデル生成ステップと、
前記軌跡モデルデータ格納部に格納されている前記軌跡モデルの全ての組み合わせについて積演算を実施して、前記物体の移動又は回転における干渉を示す、前記軌跡モデル同士の重複モデルの有無を判断するステップと、
を含み、コンピュータに実行される軌跡干渉検証方法。
(付記7)
解析対象の複数の物体を移動又は回転させる際に生じる軌跡についてのデータの入力を受け付け、軌跡データ格納部に格納する手段と、
前記軌跡データ格納部に格納されている各前記物体の前記軌跡についてのデータに従って、前記物体の部品の各々についてモデルデータを格納するモデルデータ格納部に格納された各前記物体のモデルデータを仮想的に移動させることによって、少なくとも組み立てまでの軌跡モデルを生成し、軌跡モデルデータ格納部に格納する軌跡モデル生成手段と、
前記軌跡モデルデータ格納部に格納されている前記軌跡モデルの全ての組み合わせについて積演算を実施して、前記物体の移動又は回転における干渉を示す、前記軌跡モデル同士の重複モデルの有無を判断する手段と、
を有する軌跡干渉検証装置。
(付記8)
前記軌跡モデル同士の重複モデルが存在すると判断された場合には、警告を出力する手段
をさらに含む付記7記載の軌跡干渉検証装置。
(付記9)
前記軌跡モデル生成手段が、
前記軌跡についてのデータに従って、各前記物体のモデルデータを単位時間毎に仮想的に移動させることによって、前記単位時間毎の軌跡モデル群を生成し、前記軌跡モデルデータ格納部に格納し、
前記軌跡モデル同士の重複モデルが存在すると判断された場合には、当該重複モデルを生成させた前記軌跡モデルに係る第1及び第2の特定物体を特定する手段と、
前記軌跡モデルデータ格納部に格納されている、前記第1及び第2の特定物体の前記単位時間毎の軌跡モデル群と、前記重複モデルとの積演算を実施することによって、前記第1及び第2の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定する干渉時間特定手段と、
前記第1及び第2の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間から、前記第1及び第2の特定物体のいずれかの移動開始時間の調整時間を算出する調整時間算出手段と、
をさらに有する付記7記載の軌跡干渉検証装置。
(付記10)
前記干渉時間特定手段が、
前記第1の特定物体の前記軌跡モデル群と前記重複モデルとの積演算を実施することによって、前記第1の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定し、
前記第2の特定物体の前記軌跡モデル群と前記重複モデルとの積演算を実施することによって、前記第2の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定する、
付記9記載の軌跡干渉検証装置。
(付記11)
前記調整時間算出手段が、
前記干渉が終了する時間が早い方の物体を特定する手段と、
前記干渉が終了する時間が遅い方の物体の調整時間を、前記干渉が終了する時間が早い方の物体の当該干渉が終了する時間から前記干渉が終了する時間が遅い方の物体の前記干渉が開始する時間を差し引き、さらに単位時間を加えることによって算出する手段と、
を有する付記9記載の軌跡干渉検証装置。
本発明の実施の形態に係るシステム概要を示す図である。 (a)は、部品の一例を示す図であり、(b)は、部品データ格納部に格納されているデータの一例を示す図である。 本発明の実施の形態に係るメインの処理フローの第1の部分を示す図である。 軌跡データ及び軌跡形状を説明するための図である。 移動情報入力処理の処理フローを示す図である。 軌跡データ格納部に格納されるデータの一例を示す図である。 軌跡形状生成処理の処理フローを示す図である。 (a)は、部品の一例を示す図であり、(b)は、部品のデータの一例を示す図であり、(c)乃至(e)は、軌跡モデルデータの一例を示す図である。 軸回りの回転の場合における軌跡形状を説明するための図である。 軌跡形状の一例の上面図である。 本発明の実施の形態に係るメインの処理フローの第2の部分を示す図である。 干渉チェック処理の処理フローを示す図である。 干渉判別処理の処理フローを示す図である。 干渉形状を説明するための図である。 干渉部品の移動開始時間変更処理の処理フローを示す図である。 第1タイムスライスナンバー特定処理の処理フローを示す図である。 移動開始時間変更処理を説明するための図である。 移動開始時間変更処理を説明するための図である。 第2スライスナンバー特定処理の処理フローを示す図である。 同時組立部品についての検証を行う処理フローを示す図である。 (a)は同時組立可能部品表の一例を示す図であり、(b)は組立手順書の一例を示す図である。 本発明の第1の実施の形態の変形例における移動情報入力処理の変形例を示す図である。 本発明の第1の実施の形態の変形例における軌跡形状を説明するための上面図である。 本発明の第1の実施の形態の変形例における軌跡形状を説明するための斜視図である。 本発明の第1の実施の形態の変形例における軌跡データの一例を示す図である。 本発明の第2の実施の形態における例を説明するための図である。 本発明の第2の実施の形態における物体の移動軌跡の模式図である。 (a)は、アームの形状を示す模式図、(b)は、アームの移動軌跡を模式的に示す図である。 アームの軌跡データの一例を示す図である。 (a)は、箱の形状を示す模式図、(b)は、箱の移動軌跡を模式的に示す図である。 箱の軌跡データの一例を示す図である。 (a)は、クレーンの頭の形状を示す模式図、(b)は、クレーンの頭の移動軌跡を模式的に示す図である。 クレーンの頭の軌跡データの一例を示す図である。 本発明の第2の実施の形態における全体の軌跡形状を表す模式図である。 コンピュータの機能ブロック図である。
符号の説明
1 部品データ格納部 3 移動軌跡生成部 5 軌跡データ格納部
7 組立手順書生成部 9 組立手順データ格納部
11 移動開始時間調整部 13 干渉チェック部
15 データ入出力部

Claims (6)

  1. 解析対象の複数の物体を移動又は回転させる際に生じる軌跡についてのデータの入力を受け付け、軌跡データ格納部に格納するステップと、
    前記軌跡データ格納部に格納されている各前記物体の前記軌跡についてのデータに従って、前記複数の物体の各々についてモデルデータを格納するモデルデータ格納部に格納された各前記物体のモデルデータを単位時間毎に仮想的に移動させることによって、サイズが最大となる段階までの最大軌跡モデルを含む前記単位時間毎の軌跡モデル群を生成し、軌跡モデルデータ格納部に格納する軌跡モデル生成ステップと、
    前記軌跡モデルデータ格納部に格納されている前記最大軌跡モデルの全ての組み合わせについて積演算を実施して、前記物体の移動又は回転における干渉を示す、前記最大軌跡モデル同士の重複モデルの有無を判断するステップと、
    前記最大軌跡モデル同士の重複モデルが存在すると判断された場合には、当該重複モデルを生成させた前記最大軌跡モデルに係る第1及び第2の特定物体を特定するステップと、
    前記軌跡モデルデータ格納部に格納されている、前記第1及び第2の特定物体の前記単位時間毎の軌跡モデル群を用いて、前記第1及び第2の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定する干渉時間特定ステップと、
    前記第1及び第2の特定物体のいずれか一方の特定物体の前記干渉が終了する時間から他方の特定物体の前記干渉が開始する時間を差し引き、更に単位時間を加えることによって、前記第1及び第2の特定物体のいずれかの移動開始時間の調整時間を算出する調整時間算出ステップと、
    をコンピュータに実行させるための軌跡干渉検証プログラム。
  2. 前記最大軌跡モデル同士の重複モデルが存在すると判断された場合には、警告を出力するステップ
    をさらにコンピュータに実行させるための請求項1記載の軌跡干渉検証プログラム。
  3. 前記干渉時間特定ステップが、
    前記第1の特定物体の前記軌跡モデル群と前記重複モデルとの積演算を実施することによって、前記第1の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定するステップと、
    前記第2の特定物体の前記軌跡モデル群と前記重複モデルとの積演算を実施することによって、前記第2の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定するステップと、
    を含む請求項1又は2記載の軌跡干渉検証プログラム。
  4. 前記複数の物体は、組立対象となる複数の部品と、アームとを含む、
    請求項1乃至3いずれか1つ記載の軌跡干渉検証プログラム。
  5. 解析対象の複数の物体を移動又は回転させる際に生じる軌跡についてのデータの入力を受け付け、軌跡データ格納部に格納するステップと、
    前記軌跡データ格納部に格納されている各前記物体の前記軌跡についてのデータに従って、前記複数の物体の各々についてモデルデータを格納するモデルデータ格納部に格納された各前記物体のモデルデータを単位時間毎に仮想的に移動させることによって、サイズが最大となる段階までの最大軌跡モデルを含む前記単位時間毎の軌跡モデル群を生成し、軌跡モデルデータ格納部に格納する軌跡モデル生成ステップと、
    前記軌跡モデルデータ格納部に格納されている前記最大軌跡モデルの全ての組み合わせについて積演算を実施して、前記物体の移動又は回転における干渉を示す、前記最大軌跡モデル同士の重複モデルの有無を判断するステップと、
    前記最大軌跡モデル同士の重複モデルが存在すると判断された場合には、当該重複モデルを生成させた前記最大軌跡モデルに係る第1及び第2の特定物体を特定するステップと、
    前記軌跡モデルデータ格納部に格納されている、前記第1及び第2の特定物体の前記単位時間毎の軌跡モデル群を用いて、前記第1及び第2の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定する干渉時間特定ステップと、
    前記第1及び第2の特定物体のいずれか一方の特定物体の前記干渉が終了する時間から他方の特定物体の前記干渉が開始する時間を差し引き、更に単位時間を加えることによって、前記第1及び第2の特定物体のいずれかの移動開始時間の調整時間を算出する調整時間算出ステップと、
    を含み、コンピュータに実行される軌跡干渉検証方法。
  6. 解析対象の複数の物体を組み立てる軌跡についてのデータの入力を受け付け、軌跡データ格納部に格納する手段と、
    前記軌跡データ格納部に格納されている各前記物体の前記軌跡についてのデータに従って、前記複数の物体の各々についてモデルデータを格納するモデルデータ格納部に格納された各前記物体のモデルデータを単位時間毎に仮想的に移動させることによって、サイズが最大となる段階までの最大軌跡モデルを含む前記単位時間毎の軌跡モデル群を生成し、軌跡モデルデータ格納部に格納する軌跡モデル生成手段と、
    前記軌跡モデルデータ格納部に格納されている前記最大軌跡モデルの全ての組み合わせについて積演算を実施して、前記物体の移動又は回転における干渉を示す、前記最大軌跡モデル同士の重複モデルの有無を判断する手段と、
    前記最大軌跡モデル同士の重複モデルが存在すると判断された場合には、当該重複モデルを生成させた前記最大軌跡モデルに係る第1及び第2の特定物体を特定する手段と、
    前記軌跡モデルデータ格納部に格納されている、前記第1及び第2の特定物体の前記単位時間毎の軌跡モデル群を用いて、前記第1及び第2の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定する干渉時間特定手段と、
    前記第1及び第2の特定物体のいずれか一方の特定物体の前記干渉が終了する時間から他方の特定物体の前記干渉が開始する時間を差し引き、更に単位時間を加えることによって、前記第1及び第2の特定物体のいずれかの移動開始時間の調整時間を算出する調整時間算出手段と、
    を有する組み立て検証装置。
JP2007311413A 2007-02-19 2007-11-30 軌跡干渉検証プログラム、方法及び装置 Active JP5141218B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007311413A JP5141218B2 (ja) 2007-02-19 2007-11-30 軌跡干渉検証プログラム、方法及び装置
US12/032,127 US8024165B2 (en) 2007-02-19 2008-02-15 Locus-interference verification method, apparatus, and recording medium storing locus-interference verification program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007037294 2007-02-19
JP2007037294 2007-02-19
JP2007311413A JP5141218B2 (ja) 2007-02-19 2007-11-30 軌跡干渉検証プログラム、方法及び装置

Publications (2)

Publication Number Publication Date
JP2008234622A JP2008234622A (ja) 2008-10-02
JP5141218B2 true JP5141218B2 (ja) 2013-02-13

Family

ID=39707358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007311413A Active JP5141218B2 (ja) 2007-02-19 2007-11-30 軌跡干渉検証プログラム、方法及び装置

Country Status (2)

Country Link
US (1) US8024165B2 (ja)
JP (1) JP5141218B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5381208B2 (ja) * 2009-03-23 2014-01-08 富士通株式会社 進入禁止空間分析プログラム、進入禁止空間分析装置、および進入禁止空間分析方法
US10410124B1 (en) 2013-01-21 2019-09-10 Link-Belt Cranes, L.P., Lllp Display for displaying lifting capacity of a lifting machine and related methods
JP6604039B2 (ja) * 2015-06-08 2019-11-13 富士通株式会社 設計プログラム、情報処理装置、および設計方法
US11656753B2 (en) 2020-01-31 2023-05-23 Canon Kabushiki Kaisha Information processing device and method displaying at least two apparatuses for virtually checking interference

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2850851B2 (ja) * 1995-05-31 1999-01-27 日本電気株式会社 映像表示方法および映像表示装置
JP2001067381A (ja) * 1999-08-30 2001-03-16 Canon Inc 干渉チェック装置、方法、及び記憶媒体
JP2004348452A (ja) 2003-05-22 2004-12-09 Toyota Motor Corp 組付け順序検証方法およびその装置
US7599762B2 (en) * 2005-08-24 2009-10-06 Rockwell Automatino Technologies, Inc. Model-based control for crane control and underway replenishment

Also Published As

Publication number Publication date
US20080201004A1 (en) 2008-08-21
JP2008234622A (ja) 2008-10-02
US8024165B2 (en) 2011-09-20

Similar Documents

Publication Publication Date Title
EP3363604B1 (en) Robot simulator, robot system and simulation method
JP6144845B2 (ja) ショーを協調的に演じている複数のロボットの動きを定義するためのシステム及び方法
JP7095262B2 (ja) プログラミング支援装置、ロボットシステム及びプログラム生成方法
JP5965859B2 (ja) 溶接線情報設定装置、プログラム、自動教示システム、および溶接線情報設定方法
US20200047339A1 (en) Programming support apparatus, robot system, and programming support method
JP5141218B2 (ja) 軌跡干渉検証プログラム、方法及び装置
JP6022393B2 (ja) 溶接線情報設定装置、プログラム、自動教示システム、および溶接線情報設定方法
US20190129393A1 (en) Method and apparatus for shaping a production process for producing a product made up of multiple subproducts
US20100156936A1 (en) Deformation method of analysis model and computer
JP2019171498A (ja) ロボットプログラム実行装置、ロボットプログラム実行方法、プログラム
US7439990B2 (en) Surface selecting method and information processing apparatus
JP6460692B2 (ja) ロボットシステム、ロボットシステムの制御方法、教示装置、教示装置の制御方法、プログラム及び記録媒体
JPH09146621A (ja) ロボットのシミュレーション装置
WO2019064919A1 (ja) ロボット教示装置
CN105415375B (zh) 一种机器人离线编程系统
CN113021329A (zh) 一种机器人运动控制方法、装置、可读存储介质及机器人
US20070010984A1 (en) CAE Analysis Navigation System, CAE Analysis Processing Program, and Recording Medium Recording CAE Analysis Processing Program
JP2004010349A (ja) 自動倉庫システムの搬送時間予測方法
JP6022394B2 (ja) 作業経路情報設定装置、プログラム、および作業経路情報設定方法
JP2009301410A (ja) 設計支援システムおよびコンピュータ・プログラム
JP6819766B1 (ja) シミュレーションシステム、シミュレーション方法、シミュレーションプログラム、ロボットの製造方法、およびロボットシステム
JP2021084175A (ja) シミュレーションシステム、シミュレーション方法、シミュレーションプログラム、ロボットの製造方法、およびロボットシステム
JP4364133B2 (ja) 局所座標系決定プログラム
JP7268419B2 (ja) パラメータ設定支援装置、パラメータ設定支援方法及びパラメータ設定支援プログラム
WO2019064915A1 (ja) ロボット教示装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120510

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121023

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121105

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151130

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5141218

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150