(57)【要約】【課題】複数の物体の移動又は回転における干渉の有無を仮想的に検証する。【解決手段】本方法は、解析対象の複数の物体を移動又は回転させる際に生じる軌跡についてのデータの入力を受け付け、軌跡データ格納部に格納する工程と、軌跡データ格納部に格納されている各物体の上記軌跡についてのデータに従って、複数の物体の各々についてモデルデータを格納するモデルデータ格納部に格納された各物体のモデルデータを仮想的に移動させることによって、少なくともサイズが最大となる段階までの軌跡モデルを生成し、軌跡モデルデータ格納部に格納する軌跡モデル生成工程と、軌跡モデルデータ格納部に格納されている軌跡モデルの全ての組み合わせについて積演算を実施して、物体の移動又は回転における干渉を示す、軌跡モデル同士の重複モデルの有無を判断する工程とを含む。【選択図】図１
2008234622.tif 000002
【特許請求の範囲】
【請求項１】
解析対象の複数の物体を移動又は回転させる際に生じる軌跡についてのデータの入力を受け付け、軌跡データ格納部に格納するステップと、
前記軌跡データ格納部に格納されている各前記物体の前記軌跡についてのデータに従って、前記複数の物体の各々についてモデルデータを格納するモデルデータ格納部に格納された各前記物体のモデルデータを仮想的に移動させることによって、少なくともサイズが最大となる段階までの軌跡モデルを生成し、軌跡モデルデータ格納部に格納する軌跡モデル生成ステップと、
前記軌跡モデルデータ格納部に格納されている前記軌跡モデルの全ての組み合わせについて積演算を実施して、前記物体の移動又は回転における干渉を示す、前記軌跡モデル同士の重複モデルの有無を判断するステップと、
をコンピュータに実行させるための軌跡干渉検証プログラム。
【請求項２】
前記軌跡モデル同士の重複モデルが存在すると判断された場合には、警告を出力するステップ
をさらにコンピュータに実行させるための請求項１記載の軌跡干渉検証プログラム。
【請求項３】
前記軌跡モデル生成ステップが、
前記軌跡についてのデータに従って、各前記物体のモデルデータを単位時間毎に仮想的に移動させることによって、前記単位時間毎の軌跡モデル群を生成し、前記軌跡モデルデータ格納部に格納するステップ
を含み、
前記軌跡モデル同士の重複モデルが存在すると判断された場合には、当該重複モデルを生成させた前記軌跡モデルに係る第１及び第２の特定物体を特定するステップと、
前記軌跡モデルデータ格納部に格納されている、前記第１及び第２の特定物体の前記単位時間毎の軌跡モデル群とを用いて、前記第１及び第２の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定する干渉時間特定ステップと、
前記第１及び第２の特定物体について前記干渉が開始する時間と前記干渉が終了する時間から、前記第１及び第２の特定物体のいずれかの移動開始時間の調整時間を算出する調整時間算出ステップと、
をさらにコンピュータに実行させるための請求項１記載の軌跡干渉検証プログラム。
【請求項４】
前記干渉時間特定ステップが、
前記第１の特定物体の前記軌跡モデル群と前記重複モデルとの積演算を実施することによって、前記第１の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定するステップと、
前記第２の特定物体の前記軌跡モデル群と前記重複モデルとの積演算を実施することによって、前記第２の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定するステップと、
を含む請求項３記載の軌跡干渉検証プログラム。
【請求項５】
解析対象の複数の物体を移動又は回転させる際に生じる軌跡についてのデータの入力を受け付け、軌跡データ格納部に格納するステップと、
前記軌跡データ格納部に格納されている各前記物体の前記軌跡についてのデータに従って、前記複数の物体の各々についてモデルデータを格納するモデルデータ格納部に格納された各前記物体のモデルデータを仮想的に移動させることによって、少なくともサイズが最大となる段階までの軌跡モデルを生成し、軌跡モデルデータ格納部に格納する軌跡モデル生成ステップと、
前記軌跡モデルデータ格納部に格納されている前記軌跡モデルの全ての組み合わせについて積演算を実施して、前記物体の移動又は回転における干渉を示す、前記軌跡モデル同士の重複モデルの有無を判断するステップと、
を含み、コンピュータに実行される軌跡干渉検証方法。
【請求項６】
解析対象の複数の物体を組み立てる軌跡についてのデータの入力を受け付け、軌跡データ格納部に格納する手段と、
前記軌跡データ格納部に格納されている各前記物体の前記軌跡についてのデータに従って、前記複数の物体の各々についてモデルデータを格納するモデルデータ格納部に格納された各前記物体のモデルデータを仮想的に移動させることによって、少なくともサイズが最大となる段階までの軌跡モデルを生成し、軌跡モデルデータ格納部に格納する軌跡モデル生成手段と、
前記軌跡モデルデータ格納部に格納されている前記軌跡モデルの全ての組み合わせについて積演算を実施して、前記物体の移動又は回転における干渉を示す、前記軌跡モデル同士の重複モデルの有無を判断する手段と、
を有する組み立て検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の物体の移動又は回転軌跡の干渉の有無を仮想的に検証するための技術に関する。
【背景技術】
【０００２】
例えば特開２００４−３４８４５２号公報には、部分的な変更等によって仮決めされた組付け順序が妥当であるか否かを検証するとともに、許容される組付け順序を容易に作成することが可能な組付け順序検証技術が開示されている。具体的には、組付け順序検証部は、複数の部品を組み立てる組立過程の組付け順序の妥当性を検証するものである。データ部には、部品形状データ、部品組付け軌跡データ、組付け順序データ、作業制約データが保管されている。組付け順序検証部には、制約判断部と干渉判断部とが設けられ、制約判断部によって作業制約違反の有無が判断され、干渉判断部によって干渉の有無が判断される。そして、制約判断部によって制約違反があると判断されるか、あるいは、干渉判断部によって干渉があると判断された場合、警告表示部によって警告表示が表示される。この公報記載の技術は、今回取り付ける１つの部品と既に取り付けられている部品との干渉をチェックするものであって、複数の部品を同時に取り付ける際の問題については触れられていない。
【特許文献１】特開２００４−３４８４５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
例えば複数のロボットを用いて複数の部品の組み立てを同時並列的に行う場合に、組み立てた後の部品同士に干渉はなくとも、組み立て作業における部品の移動中に干渉が生ずる場合がある。このような問題を解消しなければ、複数の部品の組み立てを同時並列的にロボットに行わせることができない。一方、このような問題を解消すれば、同時並列的に複数の部品の組付けを行うことができるので、生産性を飛躍的に向上させることができる。しかし、実際に部品を移動させて組み立てるような作業を行うことによって検証していては、時間もかかって効率的ではない。
【０００４】
また、部品の組み立てだけではなく、複数の機械によって物体を移動又は回転するなどの作業についても、同様の問題がある。
【０００５】
従って、本発明の目的は、複数の物体の移動又は回転における干渉の有無を仮想的に検証するための技術を提供することである。
【０００６】
また、本発明の他の目的は、複数の物体の同時移動又は回転の可能性を広げるための技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明の軌跡干渉検証方法は、解析対象の複数の物体を移動又は回転させる際に生じる軌跡についてのデータの入力を受け付け、軌跡データ格納部に格納するステップと、軌跡データ格納部に格納されている各物体の上記軌跡についてのデータに従って、複数の物体の各々についてモデルデータを格納するモデルデータ格納部に格納された各物体のモデルデータを仮想的に移動させることによって、少なくともサイズが最大となる段階までの軌跡モデルを生成し、軌跡モデルデータ格納部に格納する軌跡モデル生成ステップと、軌跡モデルデータ格納部に格納されている軌跡モデルの全ての組み合わせについて積演算を実施して、物体の移動又は回転における干渉を示す、軌跡モデル同士の重複モデル（例えば実施の形態における干渉モデル）の有無を判断するステップとを含む。
【０００８】
このように軌跡モデルを総当たりで積演算して重複モデルが検出されなければ、例えば同時組み立てが可能となる。
【０００９】
なお、本発明において、軌跡モデル同士の重複モデルが存在すると判断された場合には、警告を出力するステップをさらに含むようにしてもよい。これに応じて、ユーザは、例えば同時組み立ての部品組み合わせを変更したり、軌跡を変更したりすることになる。
【００１０】
また、上で述べた軌跡モデル生成ステップは、上記軌跡についてのデータに従って、各物体のモデルデータを単位時間毎に仮想的に移動させることによって、単位時間毎の軌跡モデル群を生成し、軌跡モデルデータ格納部に格納するステップを含むようにしてもよい。そして、本発明において、軌跡モデル同士の重複モデルが存在すると判断された場合には、当該重複モデルを生成させた軌跡モデルに係る第１及び第２の特定物体を特定するステップと、軌跡モデルデータ格納部に格納されている、第１及び第２の特定物体の単位時間毎の軌跡モデル群とを用いて、第１及び第２の特定物体について重複モデルとの干渉が開始する時間と重複モデルとの干渉が終了する時間を特定する干渉時間特定ステップと、第１及び第２の特定物体について上記干渉が開始する時間と上記干渉が終了する時間から、第１及び第２の特定物体のいずれかの移動開始時間の調整時間を算出する調整時間算出ステップとをさらに含むようにしてもよい。このようにすれば、例えば複数の物体の同時移動又は回転の可能性を広げることができるようになる。
【００１１】
なお、上で述べた干渉時間特定ステップが、第１の特定物体の軌跡モデル群と重複モデルとの積演算を実施することによって、第１の特定物体について重複モデルとの干渉が開始する時間と重複モデルとの干渉が終了する時間を特定するステップと、第２の特定物体の軌跡モデル群と重複モデルとの積演算を実施することによって、第２の特定物体について重複モデルとの干渉が開始する時間と重複モデルとの干渉が終了する時間を特定するステップとを含むようにしてもよい。
【００１２】
また、上で述べた調整時間算出ステップが、干渉が終了する時間が早い方の物体を特定するステップと、干渉が終了する時間が遅い方の物体の調整時間を、上記干渉が終了する時間が早い方の物体の当該干渉が終了する時間から上記干渉が終了する時間が遅い方の物体の上記干渉が開始する時間を差し引き、さらに単位時間を加えることによって算出するステップとを含むようにしてもよい。これによって最小の時間差にて組み立てなどを行うことができる。
【００１３】
なお、本方法をコンピュータに実行させるためのプログラムを作成することができ、このプログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークなどを介してデジタル信号として配信される場合もある。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【発明の効果】
【００１４】
本発明によれば、複数の物体の移動又は回転における干渉の有無を仮想的に検証することができるようになる。
【００１５】
また、本発明の他の側面によれば、複数の物体の同時移動又は回転の可能性を広げることができるようになる。
【発明を実施するための最良の形態】
【００１６】
［実施の形態１］
本発明の第１の実施の形態に係る組み立て検証装置の機能ブロック図を図１に示す。組み立て検証装置は、解析対象の部品のモデルデータを格納する部品データ格納部１と、部品の移動軌跡についての入力を受け付け、軌跡モデルデータを生成する移動軌跡生成部３と、軌跡モデルデータを格納する軌跡データ格納部５と、移動軌跡生成部３と連係し、軌跡データ格納部５に格納されているデータを用いて干渉チェック処理を実施する干渉チェック部１３と、移動軌跡生成部３と連係し、軌跡データ格納部５に格納されているデータを用いて移動開始時間調整処理を実施する移動開始時間調整部１１と、軌跡データ格納部５に格納されているデータを用いて組立手順書等の生成処理を実施する組立手順書生成部７と、組立手順書生成部７の処理結果を格納する組立手順データ格納部９と、上で述べた各処理部と連係し、上で述べた各データ格納部のデータを表示可能なデータ入出力部１５とを有する。なお、干渉チェック部１３についても組立手順書生成部７と連係して動作する。
【００１７】
なお、部品データ格納部１に格納されるデータの一例を図２（ａ）及び（ｂ）を用いて説明する。例えば図２（ａ）に示すような直方体が部品である場合には、図２（ｂ）に示すようなデータが、部品データ格納部１に格納される。すなわち、部品名（部品の識別データ）と、基準座標（Ｘ，Ｙ，Ｚ）と、ベクトルＸ１のＸ，Ｙ，Ｚ成分と、ベクトルＹ１のＸ，Ｙ，Ｚ成分と、ベクトルＺ１のＸ，Ｙ，Ｚ成分と、縦（Ｚ１方向）の長さと、横（Ｘ１方向）の長さと、高さ（Ｙ１方向）の長さとが格納されている。部品データ格納部１には、解析対象となる部品のモデルデータが複数セット格納されているものとする。
【００１８】
次に、図１に示した組み立て検証装置の処理内容について図３乃至図２１を用いて説明する。まず、ユーザは、データ入出力部１５に指示を与えて、例えば部品データ格納部１に格納されている部品のモデルデータを表示装置に表示させ、そのうち解析対象とする部品を選択する。データ入出力部１５は、ユーザからの部品の選択入力を受け付け（図３：ステップＳ１）、選択された部品の識別データを移動軌跡生成部３に出力する。
【００１９】
移動軌跡生成部３は、データ入出力部１５から部品の識別データを受け取り、当該部品の識別データを部品データ格納部１から読み出し、移動情報入力処理を実施する（ステップＳ３）。この移動情報入力処理については、図４乃至図６を用いて説明する。まず、図４を用いて、部品組み立て時の部品の移動軌跡について説明する。部品名Ａ０１は、まずフェーズ１として、その移動基準１を基準点として方向ベクトル１に沿って距離１だけ平行移動される。その後フェーズ２として、回転基準１を基準点として９０度回転される。さらにフェーズ３として、移動基準１を基準点として方向ベクトル２に沿って距離２だけ平行移動される。そしてフェーズ４として、回転基準２を中心として、ここでは移動方向を９０度変えるように回転させる。なお、例えば移動基準１が距離３だけ移動するように回転される。そしてフェーズ５として、移動基準２を基準点として方向ベクトル４に沿って距離４だけ平行移動される。このように部品を移動させる場合の軌跡データは、図５に示すような処理フローに沿って入力される。
【００２０】
まず、移動軌跡生成部３は、データ入出力部１５に、平行移動、軸回りの回転及び通常の回転のいずれかをユーザに選択させるような画面を表示させ、ユーザにいずれかを選択させる。ユーザにより平行移動が選択されると（ステップＳ２１：Ｙｅｓルート）、移動軌跡生成部３は、データ入出力部１５に、移動基準点の入力を促す表示を行わせ、ユーザからの移動基準点の入力を受け付け、軌跡データ格納部５に格納する（ステップＳ２３）。また、方向ベクトルの入力を促す表示を行わせ、ユーザからの方向ベクトルの入力を受け付け、軌跡データ格納部５に格納する（ステップＳ２５）。さらに、距離及び当該距離を移動するために要する時間の入力を促す表示を行わせ、ユーザからの距離及び時間の入力を受け付け、軌跡データ格納部５に格納する（ステップＳ２７）。そして、このフェーズまでの累積距離を算出し、軌跡データ格納部５に格納する（ステップＳ４３）。
【００２１】
そして、入力を終了するか否かをユーザに問い合わせ、ユーザが入力終了を指示した場合には（ステップＳ４５：Ｙｅｓルート）、元の処理に戻る。一方、ユーザが入力終了を指示しなかった場合には（ステップＳ４５：Ｎｏルート）、次フェーズに切り替え（すなわち、データ格納テーブルにおいて行替えし）（ステップＳ４７）、端子Ｂを介してステップＳ２１に戻る。
【００２２】
また、ユーザが平行移動ではなく（ステップＳ２１：Ｎｏルート）、軸回りの回転を選択すると（ステップＳ２９：Ｙｅｓルート）、移動軌跡生成部３は、データ入出力部１５に、回転基準点の入力を促す表示を行わせ、ユーザからの回転基準点の入力を受け付け、軌跡データ格納部５に格納する（ステップＳ３１）。さらに、回転軸の入力を促す表示を行わせ、ユーザからの回転軸の入力を受け付け、軌跡データ格納部５に格納する（ステップＳ３３）。そして、回転に要する時間の入力を促す表示を行わせ、ユーザからの時間の入力を受け付け、軌跡データ格納部５に格納する（ステップＳ３５）。そしてステップＳ４３に移行する。
【００２３】
さらに、ユーザが軸回りの回転ではなく（ステップＳ２９：Ｎｏルート）、通常の回転を選択すると（ステップＳ２９；Ｎｏルート）、移動軌跡生成部３は、データ入出力部１５に、回転基準点の入力を促す表示を行わせ、ユーザからの回転基準点の入力を受け付け、軌跡データ格納部５に格納する（ステップＳ３７）。さらに、距離の入力を促す表示を行わせ、ユーザからの距離の入力を受け付け、軌跡データ格納部５に格納する（ステップＳ３９）。そして、回転に要する時間の入力を促す表示を行わせ、ユーザからの時間の入力を受け付け、軌跡データ格納部５に格納する（ステップＳ４１）。そしてステップＳ４３に移行する。
【００２４】
このような処理を実施すれば図６に示すようなテーブルが生成され、軌跡データ格納部５に格納される。図６は、図４に示した移動例に対応するテーブルである。フェーズ１では、平行移動なので、移動基準点と、方向ベクトルと、距離と、累積距離と、時間とが登録される。フェーズ２では、軸回りの回転であるから、回転基準点と、回転軸と、時間とが登録される。フェーズ３では、平行移動なので、移動基準点と、方向ベクトルと、距離と、累積距離と、時間とが登録される。フェーズ４では、通常の回転なので、距離と、回転基準点と、累積距離と、時間とが登録される。フェーズ５では、平行移動なので、移動基準点と、方向ベクトルと、距離と、累積距離と、時間とが登録される。
【００２５】
以下でも説明するが、干渉チェックでは干渉するか否かを簡易に判定するため、軸回りの回転では、回転軸回りの外接円柱を軌跡形状として生成してしまい、回転角は登録しない。また、通常の回転では、回転基準点を中心とする外接球を軌跡モデルデータとして生成するため、回転角は登録しない。
【００２６】
図３の処理の説明に戻って、次に、移動軌跡生成部３は、軌跡データ格納部５に格納されているデータ及び部品データ格納部１に格納されているデータを用いて、軌跡形状生成処理を実施する（ステップＳ５）。この軌跡形状生成処理の詳細については図７乃至図１０を用いて説明する。
【００２７】
まず、移動軌跡生成部３は、ユーザによって指示された値又はシステムのデフォルト値に従って軌跡形状生成時間単位及び移動開始時間を設定する（ステップＳ５１）。例えば軌跡形状生成時間単位には１秒を設定する。そして、ｎを１に初期化し（ステップＳ５３）、ｎ時間単位後の位置に部品を移動又は回転させることによって、初期位置から移動後の位置までの軌跡形状（すなわち軌跡モデルデータ）を生成し、当該軌跡モデルデータを例えばメインメモリなどの記憶装置に格納する（ステップＳ５５）。
【００２８】
例えば図８（ａ）のような直方体の場合、図８（ｂ）乃至（ｅ）のようなデータが軌跡データ格納部５に格納される。図８（ａ）は、図２（ａ）に示した直方体と同じであり、図８（ｂ）に示したベースとなる部品のモデルデータについては、移動開始時間及び最下行に追加された軌跡形状名（又は軌跡モデルデータへのポインタ）以外は、図２（ｂ）と同じである。また、図８（ｃ）には、第１の軌跡モデルデータを示している。第１の軌跡モデルデータは、初期位置から例えば１秒後の移動先位置までの軌跡形状を表す。図８（ｃ）の例では、軌跡形状名、形状を表すデータ（基準座標、ベクトルＸ１，Ｙ１，Ｚ１の成分値、縦の長さ、横の長さ、高さ）、タイムスライスナンバー（すなわち軌跡モデルの順番）、到達時間が登録されるようになっている。形状を表すデータについては、必要に応じて複雑なデータ構造となる場合もある。図８（ｄ）には、第２の軌跡モデルデータを示している。第２の軌跡モデルデータは、初期位置から例えば２秒後の移動先位置までの軌跡形状を表す。データ構造は図８（ｃ）と同じであり、タイムスライスナンバーが「２」にインクリメントされており、到達時間についても２秒後に更新されている。図８（ｃ）には、第３の軌跡モデルデータを示している。第３の軌跡モデルデータは、初期位置から例えば３秒後の移動先位置までの軌跡形状を表す。データ構造は図８（ｃ）と同じであり、タイムスライスナンバーが「３」にインクリメントされており、到達時間についても３秒後に更新されている。
【００２９】
上でも触れたが、干渉の有無をチェックするため、精密な軌跡形状が必要なわけではない。すなわち、軸回りの回転の場合には回転角度までは考慮せず、図４において回転基準１を中心に方向ベクトル１の回りに回転する場合には、図９に示すように、その外接円柱を軌跡形状として採用する。また、図４において回転基準２を中心に回転する場合には、図１０のＹ軸方向から見た図のように、外接球を軌跡形状として採用する。このようにすれば、軌跡形状を容易に生成することができ、干渉の有無についても充分マージンをもって考慮することができる。
【００３０】
図７の説明に戻って、移動軌跡生成部３は、ｎが最終時間単位であるか判断する（ステップＳ５７）。最終時間単位は、ユーザによって予め与えられる組み立て完了予定時間に基づき決定される。例えば、部品を保持するロボットが初期位置に戻るまでの時間に基づき決定される。そして、ｎが最終時間単位でないと判断された場合にはｎを１インクリメントして（ステップＳ５９）、ステップＳ５５に戻る。一方、ｎが最終時間単位であると判断された場合には、処理を終了する。
【００３１】
このような処理を実施すれば、解析対象部品毎に時間単位毎の軌跡モデルデータが蓄積されることとなる。
【００３２】
図３の説明に戻って、移動軌跡生成部３は、データ入出力部１５を介して、メインメモリなどの記憶装置に格納されている軌跡モデルデータを用いて、ユーザに対して軌跡形状を提示する（ステップＳ７）。図４に示したような画面が、ユーザに入力を確認してもらうために、表示装置に表示される。
【００３３】
そして、移動軌跡生成部３は、データ入出力部１５に、修正を行うかを確認する表示を行わせ（ステップＳ９）、修正が指示されれば、メインメモリなどの記憶装置に格納されている軌跡形状（すなわち軌跡モデルデータ）を削除する（ステップＳ１１）。そしてステップＳ３に戻る。
【００３４】
一方、修正なしが指示されれば、軌跡形状（すなわち軌跡モデルデータ）を、軌跡データ格納部５に保存する（ステップＳ１３）。そして、移動軌跡生成部３は、データ入出力部１５を介して、ユーザに対して全ての部品について軌跡形状を生成したか確認する（ステップＳ１５）。もし、さらに解析対象部品を指定して処理する必要がある場合には、ユーザが次の部品を指定する旨の指示をデータ入出力部１５に入力し、処理はステップＳ１に戻る。一方、全ての解析対象部品について軌跡形状を生成し終わった場合には、ユーザは干渉チェック処理を開始する旨の指示をデータ入出力部１５に入力し、処理は端子Ａを介して図１１の処理に移行する。
【００３５】
次に、移動軌跡生成部３は、軌跡形状が生成された部品のうち干渉チェック対象部品の選択を促す表示をデータ入出力部１５に行わせ、ユーザから干渉チェック対象部品の選択入力を受け付ける（図１１：ステップＳ６１）。そして、移動軌跡生成部３は、ユーザにより選択され且つ軌跡データ格納部５に格納されている干渉チェック対象部品をデータ入出力部１５に表示させる（ステップＳ６３）。そして、移動軌跡生成部３は、干渉チェック部１３に、干渉チェック処理を実施させる（ステップＳ６５）。この干渉チェック処理については、図１２乃至図１４を用いて説明する。
【００３６】
まず、干渉チェック部１３は、干渉判別処理を実施する（ステップＳ８１）。この干渉判別処理については、図１３及び図１４を用いて説明する。
【００３７】
まず、干渉チェック部１３は、干渉チェック対象部品全てについて最大軌跡形状を特定する（ステップＳ９１）。例えば、部品の組み立てを行うロボットが、組み立てまでと組み立て終了後とで同じ軌跡を通過する場合には、初期位置から組み立てまでの軌跡モデルデータを採用すればよい。部品の組み立てを行うロボットが、組み立てまでと組み立て終了毎で同じ軌跡を通過しない特殊な場合には、最も大きい軌跡形状を特定する。
【００３８】
そして、干渉チェック部１３は、干渉チェック対象部品の最大軌跡形状の全ての組み合わせについて積演算を実施する（ステップＳ９３）。例えば、図１４に簡単な積演算の一例を示す。図１４の例では、形状１と形状２の積演算を実施すると、干渉が存在すれば形状３（すなわち干渉形状）が得られる。なお、干渉が存在しなければ干渉形状は得られない。
【００３９】
重なり部分、すなわち干渉形状が存在すれば（ステップＳ９５：Ｙｅｓルート）、「干渉あり」及び干渉モデル名を元の処理に返す（ステップＳ９７）。干渉モデル名は、後の処理のために元となる２つの軌跡形状の名称から生成する。例えば、図１４の例では、形状１＊形状２とする。また、干渉モデル名及び干渉形状（すなわち干渉モデルデータ）については、軌跡データ格納部５に格納しておく。そして元の処理に戻る。
【００４０】
一方、重なり部分、すなわち干渉形状が存在しない場合には（ステップＳ９５：Ｎｏルート）、「干渉なし」を元の処理に返す（ステップＳ９９）。そして元の処理に戻る。
【００４１】
このような処理を実施することで、いずれの部品の組み立て経路上に問題が存在するのかを特定することができる。
【００４２】
図１２の説明に戻って、干渉チェック部１３は、干渉ありか判断する（ステップＳ８３）。干渉が存在すれば、軌跡データ格納部５に格納されている干渉モデル名称及び干渉形状などを、データ入出力部１５に表示させる（ステップＳ８５）。そして元の処理に戻る。一方、干渉が存在しなければ、元の処理に戻る。
【００４３】
このような処理を行うことによって、干渉が存在していれば、ユーザは、自らが入力した軌跡データに問題が存在しているということを認識することができる。
【００４４】
図１１に戻って、移動軌跡生成部３は、干渉チェック部１３によって干渉ありと判定されたか否かを判断する（ステップＳ６７）。干渉が存在していれば、移動軌跡生成部３は、軌跡形状を生成し直すか、干渉が生じた部品の移動開始時間を変更させるかを、ユーザに選択するよう促す表示をデータ入出力部１５に行わせる。ユーザが軌跡形状を生成し直すという選択を行った場合には（ステップＳ６９：Ｙｅｓルート）、生成し直す軌跡形状又はそれに係る部品を選択させるような表示をデータ入出力部１５に行わせ、ユーザからの指示に従って生成し直す軌跡形状を軌跡データ格納部５から削除する（ステップＳ７１）。そして端子Ｃを介して図３のステップＳ１に戻る。
【００４５】
一方、ユーザが干渉部品の移動開始時間を変更させるという選択を行った場合（ステップＳ６９：Ｎｏルート）、移動開始時間調整部１１は、干渉部品の移動開始時間変更処理を実施する（ステップＳ７３）。干渉部品の移動開始時間変更処理については、図１５乃至図１９を用いて説明する。
【００４６】
移動開始時間調整部１１は、まず、干渉形状のモデル名から干渉を生じている２つの部品を特定する（図１５：ステップＳ１０１）。上で述べたように、干渉形状のモデル名は、軌跡形状名＊軌跡形状名と設定されているので、軌跡形状名が特定され、この軌跡形状名から部品名を特定する。そして、２つの部品のうち第１の部品について第１タイムスライスナンバー特定処理を実施する（ステップＳ１０３）。第１タイムスライスナンバー特定処理については、図１６を用いて説明する。
【００４７】
移動開始時間調整部１１は、まずｎを１に初期化する（ステップＳ１１１）。そして、軌跡データ格納部５に格納されている第ｎタイムスライスの軌跡形状のモデルデータと干渉形状のモデルデータとを読み出し、第ｎタイムスライスの軌跡形状名と干渉形状との積演算を実施する（ステップＳ１１３）。ステップＳ９３と同じように干渉チェックのため積演算を行う。ステップＳ１１３では積演算を行ったことによって、干渉があれば干渉形状と同じ形状が得られる。干渉が生じていない場合には（ステップＳ１１５：Ｎｏルート）、ｎを１インクリメントし（ステップＳ１１７）、ステップＳ１１３に戻る。このように、部品を１時間単位毎に移動させて、どのタイミングで干渉部品の位置まで移動するかを特定する。すなわち、干渉が存在する場合には（ステップＳ１１５：Ｙｅｓルート）、変数ＢＯＮにｎを設定する（ステップＳ１１９）。
【００４８】
そして、ｎを１インクリメントし（ステップＳ１２１）、軌跡データ格納部５に格納されている第ｎタイムスライスの軌跡形状のモデルデータを読み出し、第ｎタイムスライスの軌跡形状と干渉形状との積演算を実施する（ステップＳ１２３）。ステップＳ１１３と同様である。そして干渉が存在する場合には（ステップＳ１２５：Ｙｅｓルート）、ステップＳ１２１に戻る。一方、干渉が生じなくなった場合（ステップＳ１２５：Ｎｏルート）、変数ＳＥＮにｎ−１を設定する（ステップＳ１２７）。このように、干渉形状の位置までロボットのアームが戻った時間が特定され、変数ＳＥＮに設定される。そして、処理は元の処理に戻る。
【００４９】
この処理について図１７及び図１８を用いて説明しておく。図１７では、部品Ａと部品Ｂとを部品Ｃに組み立てる際の動作を模式的に示している。部品Ａに連なる点線ブロックは、１秒間に部品Ａが進む位置を表しており、部品Ｂに連なる点線ブロックは、１秒間に部品Ｂが進む位置を表している。図１７の例では、部品Ａも部品Ｂも干渉形状と最初に重なるのは４秒目である。
【００５０】
また、図１８に示すように、部品Ａを組み立てたロボットのアームが干渉形状の位置まで戻るのに１０秒、干渉形状との干渉が生じなくなるまでに１１秒かかる。部品Ｂを組み立てたロボットのアームが干渉形状の位置まで戻るのに１０秒、干渉形状との干渉が生じなくなるまでに１１秒かかる。
【００５１】
従って、部品Ａについても部品Ｂについても、ＳＥＮ＝１０であり、ＢＯＮ＝４となる。
【００５２】
図１５の説明に戻って、移動開始時間調整部１１は、第２の部品について第１タイムスライスナンバー特定処理を実施する（ステップＳ１０５）。第１タイムスライスナンバー特定処理については図１６に示した処理と同じである。そして、第２タイムスライスナンバー特定処理を実施する（ステップＳ１０７）。第２タイムスライスナンバー特定処理については、図１９を用いて説明する。
【００５３】
移動開始時間調整部１１は、第１の部品のＳＥＮの値と、第２の部品のＳＥＮの値を比較する（ステップＳ１３１）。第１の部品のＳＥＮの値≧第２の部品のＳＥＮの値である場合には（ステップＳ１３３：Ｙｅｓルート）、（第１の部品のＳＥＮ−第２の部品のＢＯＮ＋１）を第２の部品の調整時間として特定する（ステップＳ１３５）。そして、軌跡データ格納部５に登録されている第２の部品の移動開始時間及び各軌跡形状における到達時間を調整時間だけ後ろに変更する（ステップＳ１３７）。そして元の処理に戻る。
【００５４】
また、第１の部品のＳＥＮの値≧第２の部品のＳＥＮの値でない場合には（ステップＳ１３３：Ｎｏルート）、（第２の部品のＳＥＮ−第１の部品のＢＯＮ＋１）を第１の部品の調整時間として特定する（ステップＳ１３９）。そして、軌跡データ格納部５に登録されている第１の部品の移動開始時間及び各軌跡形状における到達時間を調整時間だけ後ろに変更する（ステップＳ１４１）。そして元の処理に戻る。
【００５５】
このような処理を行うことによって、いずれの部品の移動開始時間をどの程度後ろにずらすことによって、最も早く且つ干渉なしに部品を組み立てることができるか特定できる。
【００５６】
なお、図１７及び図１８で示した例では、同じになるので、部品Ａと部品Ｂのいずれの移動開始時間を変更しても良い。但し、上記式では、（１０−４＋１）＝７秒だけ移動開始時間を後ろにずらす必要がある。
【００５７】
図１５の処理に戻って、移動開始時間調整部１１は、移動開始時間を変更すべき部品の部品名と調整時間（又は変更後の移動開始時間）を、データ入出力部１５を介してユーザに提示する（ステップＳ１０９）。そして元の処理に戻る。
【００５８】
これにて干渉部品の移動開始時間変更処理が終了したので、図１１の説明に戻って、移動軌跡生成部３は、移動開始時間変更処理の結果を許容するか否かについて入力するように促す表示をデータ入出力部１５に行わせる。そして、移動軌跡生成部３は、データ入出力部１５を介して、許容するか否かを表すユーザからの入力を受け付ける。移動開始時間変更処理の結果を許容しない場合には（ステップＳ７５：Ｎｏルート）、ステップＳ７１に移行する。すなわち、軌跡データの修正を行う。
【００５９】
一方、移動開始時間変更処理の結果を許容する場合には（ステップＳ７５：Ｙｅｓルート）、ステップＳ７７に移行する。
【００６０】
ステップＳ７７では、対象部品を選択するステップＳ１に戻る指示がユーザーによってなされたか判断し、このような指示がなされていれば端子Ｃを介してステップＳ１に戻る。それ以外の場合は処理を終了する。
【００６１】
このようにして、単に干渉の有無を判断するだけではなく、干渉が存在する場合には干渉が存在しなくなるまで軌跡データを修正するようにしても良いし、移動開始時間を適切に変更して干渉を回避するようにしても良い。
【００６２】
ここまでの処理は、例えば一人のユーザによって、当該ユーザの担当部品について行われる。
【００６３】
次に、図２０及び図２１を用いて、複数のユーザが担当した部品について干渉を確認する場合の処理について説明する。組立手順書生成部７は、軌跡データ格納部５に登録されている部品をデータ入出力部１５を介してユーザに対して提示して、同時組立部品を選択するように促す。ユーザは、複数のユーザが担当した部品を選択するものとする。組立手順書生成部７は、データ入出力部１５を介して、ユーザから同時組立部品の選択入力を受け付ける（ステップＳ１５１）。そして、組立手順書生成部７は、軌跡データ格納部５に格納されている同時組立部品の軌跡モデルデータを読み出し、データ入出力部１５を介してユーザに提示する（ステップＳ１５３）。その後、同時組立部品について干渉チェック処理を実施する（ステップＳ１５５）。干渉チェック処理については図１２を用いて説明した処理と同様であるから、ここでは説明を省略する。
【００６４】
そして、組立手順書生成部７は、ステップＳ１５５の処理結果として干渉ありと判断された場合には（ステップＳ１５７：Ｙｅｓルート）、干渉チェック処理の処理結果として出力される干渉形状及び干渉形状名などを、データ入出力部１５を介して出力する（ステップＳ１５９）。そして処理を終了する。ユーザは、干渉形状及び干渉形状名から、変更すべき軌跡データなどを特定し、処置を行った後に再度本処理を実施する。
【００６５】
一方、ステップＳ１５５の処理結果として干渉なしと判断された場合には（ステップＳ１５７：Ｎｏルート）、選択された同時組立部品の名称及び軌跡データ格納部５に格納されている当該同時組立部品の移動開始時間を用いて同時組立可能部品表及び組立手順データを生成し、組立手順データ格納部９に格納すると共に、データ入出力部１５を介してユーザに提示する（ステップＳ１６１）。
【００６６】
例えば図２１に示すようなデータテーブルが生成され、組立手順データ格納部９に格納される。図２１（ａ）は、同時組立可能部品表を示しており、この例では４つの部品が同時に組立可能であることを示している。また、図２１（ｂ）は、組立手順書を示しており、４つの部品について移動開始時間、組立順、及び部品名が含まれるようになっている。組立順については、移動開始時間に基づき決定される。すなわち、最も早い時間に移動開始時間が設定される部品から順番に番号が付与される。図２１（ｂ）の例では、部品名ＸＸ２は、移動開始時間変更処理（図１５）において移動開始時間が調整された部品であるため、組立順が「２」となっている。
【００６７】
以上のようなデータが生成されれば、複数のユーザが担当する部品についても同時に組立を行うことができることが確認される。また、干渉ありと判定された場合には、ユーザ間で調整すべき部品を決定して軌跡データを変更するなどの処理を行うこととなる。
【００６８】
以上のような処理を実施することにより、複数の部品を同時に組み立てることが可能であるかを、実際に部品の組立を行う前に容易に判断することができるようになり、生産コストを削減し、生産開始までの時間を短縮することができるようになる。
【００６９】
また、単純な同時だけではなく移動開始時間を調整することも可能となり、同時に組み立てることができる部品の範囲を広げることができるようになる。
【００７０】
以上本発明の第１の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば図１に示した機能ブロック図は一例であって、必ずしもプログラムモジュール構成と一致するわけではない。
【００７１】
また、処理フローについても同様の処理結果を得られれば、ステップの順番入れ替え又は並列処理も可能な場合もある。
【００７２】
［実施の形態１の変形例］
第１の実施の形態では、回転軸回りの回転については回転角度を一律３６０°として軌跡形状を生成する例を示したが、これでは軌跡形状が大きくなってしまい、干渉する場合が増加するおそれがある。また、第１の実施の形態では、図１０に示すように、回転軸回りの回転についても円柱でもなく球として軌跡形状を生成する場合もあった。そこで、第１の実施の形態の変形例として、以下に示すような処理フローによって、回転軸回りの回転については回転角度を設定し、軌跡形状を小さくして干渉の発生を抑制する。
【００７３】
具体的には、図５の処理フローに代わって図２２の処理フローを実施する。図５との差は、軸回りの回転の場合におけるステップＳ２３４及びＳ２３５が追加された部分である。すなわち、移動軌跡生成部３は、データ入出力部１５に、回転角度の入力を促す表示を行わせ、ユーザからの回転角度の入力を受け付け、軌跡データ格納部５に格納する（ステップＳ２３４）。そして、データ入出力部１５に、距離の入力を促す表示を行わせ、ユーザからの距離の入力を受け付け、軌跡データ格納部５に格納する（ステップＳ２３５）。
【００７４】
図２２のような処理を実施し、図１０ではなく図２３及び図２４のような軌跡を入力する場合には、図２５に示すようなデータが軌跡データ格納部５に格納される。図２３では、図１０と同様にＹ軸方向から見た移動軌跡を示しており、球ではなく、回転基準２（Ｘ，Ｙ，Ｚ）を通る回転軸（方向ベクトル３）回りで９０°回転させた回転体を軌跡形状として採用する。図２４は、回転を模式的に示す斜視図である。第１の実施の形態の説明では、図５の処理フローではステップＳ３７乃至Ｓ４１で軌跡データを入力していたが、本変形例では、ステップＳ２３１乃至Ｓ２３６で軌跡データを入力する。
【００７５】
軌跡データ格納部５に格納されるデータのうち変化する部分は、図２５に示すように、フェーズ２において、回転角度が３６０°となる部分である。より正確な回転角度を入力しても良いが、このように回転体として円柱を想定するようにしても良い。また、フェーズ４において、回転軸として方向ベクトル３が指定され、且つ回転角度が９０°として指定される部分が異なる。
【００７６】
［実施の形態２］
第１の実施の形態は、部品の組み立てについての実施の形態であったが、本発明は、部品の組み立てだけではなく、図２６に示すような、複数のクレーンを用いた貨物（箱とも呼ぶ）の積み卸しなどにも適用可能である。
【００７７】
例えば、図２７に示すようなクレーンによる箱の移動について、図２２のような処理を行って移動軌跡のデータを入力する。第１の実施の形態では、組み付ける部品のみについて移動軌跡のデータを入力していて、それで十分であったが、本実施の形態では、クレーンの一部及び箱を含む複数の部品について軌跡データを入力する必要がある。具体的には、箱を掴むアームａと、箱ｂと、クレーンの頭ｃとについて移動軌跡のデータを入力して、軌跡形状を生成する。図２７の例では、（１）アームａを下ろして箱ｂを掴む、（２）箱ｂを持ち上げる、（３）クレーンを回転させる、（４）箱ｂを回転させる、（５）箱ｂを下ろす、（６）アームａを上げる、（７）クレーンを元の位置に回転させる、という操作を行うものとする。
【００７８】
以下、図２８乃至図３４を用いて、３つの物体の移動軌跡のデータ及び軌跡形状について説明する。まず、アームａは、図２８（ａ）に示すように、所定のサイズの直方体として近似する。そして、図２８（ｂ）に示すように、フェーズ１では一旦箱ｂまで下ろされ、フェーズ２では上方に引き上げられ、フェーズ３では回転基準１１及び回転軸（Ｚ軸。方向ベクトル１３）を中心に所定の回転角度（本例では９０°）だけ回転させられ、フェーズ４では回転基準１２及び回転軸（Ｚ軸。方向ベクトル１３）を中心に所定の角度（本例では３６０°）だけ回転させられ、フェーズ５では箱ｂが着地するまで下ろされる。図２８（ｂ）には示されていないが、アームａは、フェーズ５の逆の操作としてフェーズ６では引き上げられ、フェーズ３の逆の操作としてフェーズ７では回転基準１１及び回転軸（方向ベクトル１３）を中心に所定の回転角度（本例では−９０°）だけ回転させられる。このような移動及び回転をアームａに対して実施する場合には、移動軌跡データ格納部５には、図２９に示すようなデータ（但し、フェーズ５まで）が格納されるようにする。
【００７９】
箱ｂは、図３０（ａ）に示すように、所定のサイズの直方体として近似する。まず、箱ｂは、図３０（ｂ）に示すように、フェーズ１では何もせず、フェーズ２では上方に引き上げられ、フェーズ３では回転基準１１及び回転軸（Ｚ軸。方向ベクトル１３）を中心に所定の回転角度（本例では９０°）だけ回転させられ、フェーズ４では回転基準１２及び回転軸（Ｚ軸。方向ベクトル１３）を中心に所定の角度（本例では３６０°）だけ回転させられ、フェーズ５では着地するまで下ろされる。フェーズ４では、図３０（ｂ）に示すように、３６０°回転であるから外接円柱が軌跡形状として生成される。このような移動及び回転を箱ｂに対して実施する場合には、移動軌跡データ格納部５には、図３１に示すようなデータが格納されるようになる。
【００８０】
クレーンの頭ｃは、図３２（ａ）に示すように、所定のサイズの四角柱として近似する。そして、クレーンの頭ｃは、図３２（ｂ）に示すように、フェーズ１及び２では何もせず、フェーズ３では回転基準１１及び回転軸（Ｚ軸。方向ベクトル１３）を中心に所定の回転角度（本例では９０°）だけ回転させられ、フェーズ４及び５では何もしない。図３２（ｂ）では図示されていないが、フェーズ７ではフェーズ３とは逆に回転基準１１及び回転軸（方向ベクトル１３）を中心に所定の回転角度（本例では−９０°）だけ回転させられる。このような回転をクレーンの頭ｃに対して実施する場合には、移動軌跡データ格納部５には、図３３に示すようなデータ（但し、フェーズ５まで）が格納されるようにする。
【００８１】
そして、移動軌跡生成部３は、移動軌跡データ格納部５に格納されているデータを用いて、３つの物体の軌跡形状を生成する。生成された軌跡形状の模式図を図３４に示す。図３４では太線で示した形状が、３つの物体の軌跡形状の和となる。アームａの軌跡形状の一部は箱ｂの軌跡形状と重なるので、表に現れない部分もある。
【００８２】
このように、クレーンで貨物の積み卸しを行うような場合においても、複数の部品について軌跡形状を生成するだけで、他の処理については第１の実施の形態及びその変形例と同様である。
【００８３】
その他クレーンで貨物の積み卸しを行うだけではなく、複数の物品を近隣で同時に移動させるような場面に適用することができる。
【００８４】
なお、組み立て検証装置は、例えばコンピュータ装置であって、図３５に示すように当該コンピュータ装置においては、メモリ２５０１（記憶部）とＣＰＵ２５０３（処理部）とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ）及びＷｅｂブラウザを含むアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。このようなコンピュータは、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００８５】
組み立て検証装置として動作するコンピュータ装置は、スタンドアロン型のコンピュータであっても良いし、クライアント・サーバ・システムとして実施するようにしても良い。
【００８６】
（付記１）
解析対象の複数の物体を移動又は回転させる際に生じる軌跡についてのデータの入力を受け付け、軌跡データ格納部に格納するステップと、
前記軌跡データ格納部に格納されている各前記物体の前記軌跡についてのデータに従って、前記複数の物体の各々についてモデルデータを格納するモデルデータ格納部に格納された各前記物体のモデルデータを仮想的に移動させることによって、少なくともサイズが最大となる段階までの軌跡モデルを生成し、軌跡モデルデータ格納部に格納する軌跡モデル生成ステップと、
前記軌跡モデルデータ格納部に格納されている前記軌跡モデルの全ての組み合わせについて積演算を実施して、前記物体の移動又は回転における干渉を示す、前記軌跡モデル同士の重複モデルの有無を判断するステップと、
をコンピュータに実行させるための軌跡干渉検証プログラム。
【００８７】
（付記２）
前記軌跡モデル同士の重複モデルが存在すると判断された場合には、警告を出力するステップ
をさらにコンピュータに実行させるための付記１記載の軌跡干渉検証プログラム。
【００８８】
（付記３）
前記軌跡モデル生成ステップが、
前記軌跡についてのデータに従って、各前記物体のモデルデータを単位時間毎に仮想的に移動させることによって、前記単位時間毎の軌跡モデル群を生成し、前記軌跡モデルデータ格納部に格納するステップ
を含み、
前記軌跡モデル同士の重複モデルが存在すると判断された場合には、当該重複モデルを生成させた前記軌跡モデルに係る第１及び第２の特定物体を特定するステップと、
前記軌跡モデルデータ格納部に格納されている、前記第１及び第２の特定物体の前記単位時間毎の軌跡モデル群とを用いて、前記第１及び第２の特定部品について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定する干渉時間特定ステップと、
前記第１及び第２の特定物体について前記干渉が開始する時間と前記干渉が終了する時間から、前記第１及び第２の特定部品のいずれかの移動開始時間の調整時間を算出する調整時間算出ステップと、
をさらにコンピュータに実行させるための付記１記載の軌跡干渉検証プログラム。
【００８９】
（付記４）
前記干渉時間特定ステップが、
前記第１の特定物体の前記軌跡モデル群と前記重複モデルとの積演算を実施することによって、前記第１の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定するステップと、
前記第２の特定物体の前記軌跡モデル群と前記重複モデルとの積演算を実施することによって、前記第２の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定するステップと、
を含む付記３記載の軌跡干渉検証プログラム。
【００９０】
（付記５）
前記調整時間算出ステップが、
前記干渉が終了する時間が早い方の物体を特定するステップと、
前記干渉が終了する時間が遅い方の物体の調整時間を、前記干渉が終了する時間が早い方の物体の当該干渉が終了する時間から前記干渉が終了する時間が遅い方の物体の前記干渉が開始する時間を差し引き、さらに単位時間を加えることによって算出するステップと、
を含む付記３記載の軌跡干渉検証プログラム。
【００９１】
（付記６）
解析対象の複数の物体を移動又は回転させる際に生じる軌跡についてのデータの入力を受け付け、軌跡データ格納部に格納するステップと、
前記軌跡データ格納部に格納されている各前記物体の前記軌跡についてのデータに従って、前記複数の物体の各々についてモデルデータを格納するモデルデータ格納部に格納された各前記物体のモデルデータを仮想的に移動させることによって、少なくともサイズが最大となる段階までの軌跡モデルを生成し、軌跡モデルデータ格納部に格納する軌跡モデル生成ステップと、
前記軌跡モデルデータ格納部に格納されている前記軌跡モデルの全ての組み合わせについて積演算を実施して、前記物体の移動又は回転における干渉を示す、前記軌跡モデル同士の重複モデルの有無を判断するステップと、
を含み、コンピュータに実行される軌跡干渉検証方法。
【００９２】
（付記７）
解析対象の複数の物体を移動又は回転させる際に生じる軌跡についてのデータの入力を受け付け、軌跡データ格納部に格納する手段と、
前記軌跡データ格納部に格納されている各前記物体の前記軌跡についてのデータに従って、前記物体の部品の各々についてモデルデータを格納するモデルデータ格納部に格納された各前記物体のモデルデータを仮想的に移動させることによって、少なくとも組み立てまでの軌跡モデルを生成し、軌跡モデルデータ格納部に格納する軌跡モデル生成手段と、
前記軌跡モデルデータ格納部に格納されている前記軌跡モデルの全ての組み合わせについて積演算を実施して、前記物体の移動又は回転における干渉を示す、前記軌跡モデル同士の重複モデルの有無を判断する手段と、
を有する軌跡干渉検証装置。
【００９３】
（付記８）
前記軌跡モデル同士の重複モデルが存在すると判断された場合には、警告を出力する手段
をさらに含む付記７記載の軌跡干渉検証装置。
【００９４】
（付記９）
前記軌跡モデル生成手段が、
前記軌跡についてのデータに従って、各前記物体のモデルデータを単位時間毎に仮想的に移動させることによって、前記単位時間毎の軌跡モデル群を生成し、前記軌跡モデルデータ格納部に格納し、
前記軌跡モデル同士の重複モデルが存在すると判断された場合には、当該重複モデルを生成させた前記軌跡モデルに係る第１及び第２の特定物体を特定する手段と、
前記軌跡モデルデータ格納部に格納されている、前記第１及び第２の特定物体の前記単位時間毎の軌跡モデル群と、前記重複モデルとの積演算を実施することによって、前記第１及び第２の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定する干渉時間特定手段と、
前記第１及び第２の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間から、前記第１及び第２の特定物体のいずれかの移動開始時間の調整時間を算出する調整時間算出手段と、
をさらに有する付記７記載の軌跡干渉検証装置。
【００９５】
（付記１０）
前記干渉時間特定手段が、
前記第１の特定物体の前記軌跡モデル群と前記重複モデルとの積演算を実施することによって、前記第１の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定し、
前記第２の特定物体の前記軌跡モデル群と前記重複モデルとの積演算を実施することによって、前記第２の特定物体について前記重複モデルとの干渉が開始する時間と前記重複モデルとの干渉が終了する時間を特定する、
付記９記載の軌跡干渉検証装置。
【００９６】
（付記１１）
前記調整時間算出手段が、
前記干渉が終了する時間が早い方の物体を特定する手段と、
前記干渉が終了する時間が遅い方の物体の調整時間を、前記干渉が終了する時間が早い方の物体の当該干渉が終了する時間から前記干渉が終了する時間が遅い方の物体の前記干渉が開始する時間を差し引き、さらに単位時間を加えることによって算出する手段と、
を有する付記９記載の軌跡干渉検証装置。
【図面の簡単な説明】
【００９７】
【図１】本発明の実施の形態に係るシステム概要を示す図である。
【図２】（ａ）は、部品の一例を示す図であり、（ｂ）は、部品データ格納部に格納されているデータの一例を示す図である。
【図３】本発明の実施の形態に係るメインの処理フローの第１の部分を示す図である。
【図４】軌跡データ及び軌跡形状を説明するための図である。
【図５】移動情報入力処理の処理フローを示す図である。
【図６】軌跡データ格納部に格納されるデータの一例を示す図である。
【図７】軌跡形状生成処理の処理フローを示す図である。
【図８】（ａ）は、部品の一例を示す図であり、（ｂ）は、部品のデータの一例を示す図であり、（ｃ）乃至（ｅ）は、軌跡モデルデータの一例を示す図である。
【図９】軸回りの回転の場合における軌跡形状を説明するための図である。
【図１０】軌跡形状の一例の上面図である。
【図１１】本発明の実施の形態に係るメインの処理フローの第２の部分を示す図である。
【図１２】干渉チェック処理の処理フローを示す図である。
【図１３】干渉判別処理の処理フローを示す図である。
【図１４】干渉形状を説明するための図である。
【図１５】干渉部品の移動開始時間変更処理の処理フローを示す図である。
【図１６】第１タイムスライスナンバー特定処理の処理フローを示す図である。
【図１７】移動開始時間変更処理を説明するための図である。
【図１８】移動開始時間変更処理を説明するための図である。
【図１９】第２スライスナンバー特定処理の処理フローを示す図である。
【図２０】同時組立部品についての検証を行う処理フローを示す図である。
【図２１】（ａ）は同時組立可能部品表の一例を示す図であり、（ｂ）は組立手順書の一例を示す図である。
【図２２】本発明の第１の実施の形態の変形例における移動情報入力処理の変形例を示す図である。
【図２３】本発明の第１の実施の形態の変形例における軌跡形状を説明するための上面図である。
【図２４】本発明の第１の実施の形態の変形例における軌跡形状を説明するための斜視図である。
【図２５】本発明の第１の実施の形態の変形例における軌跡データの一例を示す図である。
【図２６】本発明の第２の実施の形態における例を説明するための図である。
【図２７】本発明の第２の実施の形態における物体の移動軌跡の模式図である。
【図２８】（ａ）は、アームの形状を示す模式図、（ｂ）は、アームの移動軌跡を模式的に示す図である。
【図２９】アームの軌跡データの一例を示す図である。
【図３０】（ａ）は、箱の形状を示す模式図、（ｂ）は、箱の移動軌跡を模式的に示す図である。
【図３１】箱の軌跡データの一例を示す図である。
【図３２】（ａ）は、クレーンの頭の形状を示す模式図、（ｂ）は、クレーンの頭の移動軌跡を模式的に示す図である。
【図３３】クレーンの頭の軌跡データの一例を示す図である。
【図３４】本発明の第２の実施の形態における全体の軌跡形状を表す模式図である。
【図３５】コンピュータの機能ブロック図である。
【符号の説明】
【００９８】
１  部品データ格納部    ３  移動軌跡生成部    ５  軌跡データ格納部
７  組立手順書生成部    ９  組立手順データ格納部
１１  移動開始時間調整部    １３  干渉チェック部
１５  データ入出力部
【図１】
2008234622.tif 000003
【図２】
2008234622.tif 000004
【図３】
2008234622.tif 000005
【図４】
2008234622.tif 000006
【図５】
2008234622.tif 000007
【図６】
2008234622.tif 000008
【図７】
2008234622.tif 000009
【図８】
2008234622.tif 000010
【図９】
2008234622.tif 000011
【図１０】
2008234622.tif 000012
【図１１】
2008234622.tif 000013
【図１２】
2008234622.tif 000014
【図１３】
2008234622.tif 000015
【図１４】
2008234622.tif 000016
【図１５】
2008234622.tif 000017
【図１６】
2008234622.tif 000018
【図１７】
2008234622.tif 000019
【図１８】
2008234622.tif 000020
【図１９】
2008234622.tif 000021
【図２０】
2008234622.tif 000022
【図２１】
2008234622.tif 000023
【図２２】
2008234622.tif 000024
【図２３】
2008234622.tif 000025
【図２４】
2008234622.tif 000026
【図２５】
2008234622.tif 000027
【図２６】
2008234622.tif 000028
【図２７】
2008234622.tif 000029
【図２８】
2008234622.tif 000030
【図２９】
2008234622.tif 000031
【図３０】
2008234622.tif 000032
【図３１】
2008234622.tif 000033
【図３２】
2008234622.tif 000034
【図３３】
2008234622.tif 000035
【図３４】
2008234622.tif 000036
【図３５】
2008234622.tif 000037