(57)【特許請求の範囲】
【請求項１】
使用されるスポット溶接ガン同士の干渉を引き起こす未処理打点の組み合わせを特定する干渉データを取得する工程と、生産ラインに沿って配置される１溶接ロボットを指定する工程と、指定された溶接ロボットが所属する作業ステーションで他の溶接ロボットに配分された配分済み未処理打点を特定する工程と、前記干渉データに基づき、配分済み未処理打点との間で前記組み合わせを構成する未処理打点以外の未配分未処理打点を抽出する工程と、抽出された未配分未処理打点を前記指定された溶接ロボットに配分する工程とをコンピュータに実行させることを特徴とする生産ラインの作業配分シミュレーション方法。
【請求項２】
請求項１に記載の生産ラインの作業配分シミュレーション方法において、前記干渉データを準備するにあたって、ワーク上の１未処理打点を処理する際に１スポット溶接ガンが占有可能な第１占有空間を画定する工程と、ワーク上の他の１未処理打点を処理する際に１スポット溶接ガンが占有可能な第２占有空間を画定する工程と、第１および第２占有空間が互いに重なり合った未処理打点同士を関連付ける工程とをさらにコンピュータに実行させることを特徴とする生産ラインの作業配分シミュレーション方法。
【請求項３】
請求項２に記載の生産ラインの作業配分シミュレーション方法において、前記第１占有空間を画定するにあたって、スポット溶接ガンごとに前記第１占有空間を特定する占有空間データが取得されることを特徴とする生産ラインの作業配分シミュレーション方法。
【請求項４】
請求項２または３に記載の生産ラインの作業配分シミュレーション方法において、前記第１および第２占有空間は、未処理打点に対して溶接チップの面直を維持しつつその面直方向に沿った軸線回りで１スポット溶接ガンを回転させる際にその１スポット溶接ガンが占有することができる可動空間域によって規定されることを特徴とする生産ラインの作業配分シミュレーション方法。
【請求項５】
請求項４に記載の生産ラインの作業配分シミュレーション方法において、前記可動空間域は、前記未処理打点を中心に描かれる球面に基づいて設定されることを特徴とする生産ラインの作業配分シミュレーション方法。
【請求項６】
請求項４に記載の生産ラインの作業配分シミュレーション方法において、前記可動空間域は、前記１スポット溶接ガンの三次元形状データに基づいて設定されることを特徴とする生産ラインの作業配分シミュレーション方法。
【請求項７】
使用されるスポット溶接ガン同士の干渉を引き起こす未処理打点の組み合わせを特定する干渉データを取得する工程と、生産ラインに沿って配置される１溶接ロボットを指定する工程と、指定された溶接ロボットに配分された配分済み未処理打点を特定する工程と、前記干渉データに基づき、配分済み未処理打点との間で前記組み合わせを構成する未配分未処理打点を抽出する工程と、抽出された未配分未処理打点を前記１溶接ロボットに配分する工程とをコンピュータに実行させることを特徴とする生産ラインの作業配分シミュレーション方法。
【請求項８】
請求項７に記載の生産ラインの作業配分シミュレーション方法において、前記干渉データを準備するにあたって、ワーク上の１未処理打点を処理する際に１スポット溶接ガンが占有可能な第１占有空間を画定する工程と、ワーク上の他の１未処理打点を処理する際に１スポット溶接ガンが占有可能な第２占有空間を画定する工程と、第１および第２占有空間が互いに重なり合った未処理打点同士を関連付ける工程とをさらにコンピュータに実行させることを特徴とする生産ラインの作業配分シミュレーション方法。
【請求項９】
請求項８に記載の生産ラインの作業配分シミュレーション方法において、前記第１占有空間を画定するにあたって、スポット溶接ガンに前記第１占有空間を特定する占有空間データが取得されることを特徴とする生産ラインの作業配分シミュレーション方法。
【請求項１０】
請求項８または９に記載の生産ラインの作業配分シミュレーション方法において、前記第１および第２占有空間は、未処理打点に対して溶接チップの面直を維持しつつその面直方向に沿った軸線回りで１スポット溶接ガンを回転させる際にその１スポット溶接ガンが占有することができる可動空間域によって規定されることを特徴とする生産ラインの作業配分シミュレーション方法。
【請求項１１】
請求項１０に記載の生産ラインの作業配分シミュレーション方法において、前記可動空間域は、前記未処理打点を中心に描かれる球面に基づいて設定されることを特徴とする生産ラインの作業配分シミュレーション方法。
【請求項１２】
請求項１０に記載の生産ラインの作業配分シミュレーション方法において、前記可動空間域は、前記１スポット溶接ガンの三次元形状データに基づいて設定されることを特徴とする生産ラインの作業配分シミュレーション方法。
【請求項１３】
使用される作業ツール同士の干渉を引き起こす未処理作業点の組み合わせを特定する干渉データを取得する工程と、生産ラインに沿って配置される１作業ロボットを指定する工程と、指定された作業ロボットが所属する作業ステーションで他の作業ロボットに配分された配分済み未処理作業点を特定する工程と、前記干渉データに基づき、配分済み未処理作業点との間で前記組み合わせを構成する未処理作業点以外の未配分未処理作業点を抽出する工程と、抽出された未配分未処理作業点を前記指定された作業ロボットに配分する工程とをコンピュータに実行させることを特徴とする生産ラインの作業配分シミュレーション方法。
【請求項１４】
使用される作業ツール同士の干渉を引き起こす未処理作業点の組み合わせを特定する干渉データを取得する工程と、生産ラインに沿って配置される１作業ロボットを指定する工程と、指定された作業ロボットに配分された配分済み未処理作業点を特定する工程と、前記干渉データに基づき、配分済み未処理作業点との間で前記組み合わせを構成する未配分未処理作業点を抽出する工程と、抽出された未配分未処理作業点を前記１作業ロボットに配分する工程とをコンピュータに実行させることを特徴とする生産ラインの作業配分シミュレーション方法。
【請求項１５】
請求項１３または１４に記載の生産ラインの作業配分シミュレーション方法において、前記作業ツールは、少なくとも２部材を互いに接合する接合ツールであることを特徴とする生産ラインの作業配分シミュレーション方法。
【請求項１６】
請求項１５に記載の生産ラインの作業配分シミュレーション方法において、前記接合には、少なくとも、溶接、ボルト打ちおよびリベット打ちのいずれか１つが含まれることを特徴とする生産ラインの作業配分シミュレーション方法。
【請求項１７】
請求項１６に記載の生産ラインの作業配分シミュレーション方法において、前記溶接にはスポット溶接が含まれることを特徴とする生産ラインの作業配分シミュレーション方法。
【請求項１８】
使用されるスポット溶接ガン同士の干渉を引き起こす未処理打点の組み合わせを特定する干渉データを取得する工程と、生産ラインに沿って配置される１溶接ロボットを指定する工程と、指定された溶接ロボットが所属する作業ステーションで他の溶接ロボットに配分された配分済み未処理打点を特定する工程と、前記干渉データに基づき、配分済み未処理打点との間で前記組み合わせを構成する未処理打点以外の未配分未処理打点を抽出する工程と、抽出された未配分未処理打点を前記指定された溶接ロボットに配分する工程とをコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１９】
使用されるスポット溶接ガン同士の干渉を引き起こす未処理打点の組み合わせを特定する干渉データを取得する工程と、生産ラインに沿って配置される１溶接ロボットを指定する工程と、指定された溶接ロボットに配分された配分済み未処理打点を特定する工程と、前記干渉データに基づき、配分済み未処理打点との間で前記組み合わせを構成する未配分未処理打点を抽出する工程と、抽出された未配分未処理打点を前記１溶接ロボットに配分する工程とをコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２０】
使用される作業ツール同士の干渉を引き起こす未処理作業点の組み合わせを特定する干渉データを取得する工程と、生産ラインに沿って配置される１作業ロボットを指定する工程と、指定された作業ロボットが所属する作業ステーションで他の作業ロボットに配分された配分済み未処理作業点を特定する工程と、前記干渉データに基づき、配分済み未処理作業点との間で前記組み合わせを構成する未処理作業点以外の未配分未処理作業点を抽出する工程と、抽出された未配分未処理作業点を前記指定された作業ロボットに配分する工程とをコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２１】
使用される作業ツール同士の干渉を引き起こす未処理作業点の組み合わせを特定する干渉データを取得する工程と、生産ラインに沿って配置される１作業ロボットを指定する工程と、指定された作業ロボットに配分された配分済み未処理作業点を特定する工程と、前記干渉データに基づき、配分済み未処理作業点との間で前記組み合わせを構成する未配分未処理作業点を抽出する工程と、抽出された未配分未処理作業点を前記１作業ロボットに配分する工程とをコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、１生産ラインに沿って配置された例えばスポット溶接ガンといった作業ツールに一連の作業を仮想的に配分することができる生産ラインの作業配分シミュレーション方法に関する。
【０００２】
【従来の技術】
自動車製造の分野で知られる「増し打ちライン」では、組み立てられた車体フレームの骨組みに対してスポット溶接が実施される。このスポット溶接によって車体フレームを構成する構成部材同士の接合強度が補強される。ラインに沿って配置される各スポット溶接ガンには、処理すべき車体フレーム上のスポット溶接打点が予め配分される。増し打ちラインを車体フレームが通過すると、各スポット溶接ガンが配分されたスポット溶接打点を処理し、その結果、車体フレームが仕上げられるのである。これまでのところ、車体フレーム上のスポット溶接打点を各スポット溶接ガンに配分するには熟練した作業者の経験則や勘に頼らざるを得なかった。
【０００３】
近年、様々な分野でコンピュータシミュレーションが役立っている。コンピュータシミュレーションによれば、現実の処理や作業に代えて、コンピュータ内で仮想的に対応する処理や作業を実施することができ、その結果、現実の処理や作業に先立って事前にそういった処理や作業の実施状況を解析することができる。こうしたコンピュータシミュレーションによって前述したスポット溶接作業の配分を実現することができれば、スポット溶接作業の効率的な配分に役立つに違いない。
【０００４】
【発明が解決しようとする課題】
ところで、増し打ちラインの１作業ステーションでは、同時に複数台のスポット溶接ガンがスポット溶接打点を処理することができる。同時に処理されるスポット溶接打点同士が近いと、スポット溶接ガン同士が衝突してしまいスポット溶接打点を処理することはできなくなる。言い換えれば、１スポット溶接ガンで処理されるスポット溶接打点の近隣では、他のスポット溶接ガンがスポット溶接打点を処理することはできない。
【０００５】
本発明は、上記実状に鑑みてなされたもので、スポット溶接ガンを始めとする作業ツール同士の干渉を考慮しながら効率的に一連の作業を配分することができる生産ラインの作業配分シミュレーション方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、第１発明によれば、使用されるスポット溶接ガン同士の干渉を引き起こす未処理打点の組み合わせを特定する干渉データを取得する工程と、生産ラインに沿って配置される１溶接ロボットを指定する工程と、指定された溶接ロボットが所属する作業ステーションで他の溶接ロボットに配分された配分済み未処理打点を特定する工程と、前記干渉データに基づき、配分済み未処理打点との間で前記組み合わせを構成する未処理打点以外の未配分未処理打点を抽出する工程と、抽出された未配分未処理打点を前記指定された溶接ロボットに配分する工程とを備えることを特徴とする生産ラインの作業配分シミュレーション方法が提供される。
【０００７】
例えば生産ラインの１作業ステーションでは、配分済み未処理打点と、干渉データ上で配分済み未処理打点との間に前記組み合わせを構成する未処理打点とが同時に処理されようとすると、使用される２スポット溶接ガン同士で干渉が引き起こされる。その一方で、干渉データ上で配分済み未処理打点との間に組み合わせを構成する未処理打点以外の未処理打点が配分済み未処理打点と同時に処理されても、使用される２スポット溶接ガン同士で干渉は生じない。したがって、抽出された未配分未処理打点を指定された溶接ロボットに配分すれば、その未配分未処理打点が配分済み未処理打点と同時に処理される場合でも、指定された溶接ロボットに装着されたスポット溶接ガンは、他の溶接ロボットに装着されたスポット溶接ガンに干渉することはない。その結果、こうした作業配分シミュレーション方法によれば、スポット溶接ガン同士の干渉を回避しながらワーク上の未処理打点を各溶接ロボットに配分していくことが可能となる。
【０００８】
また、第２発明によれば、使用されるスポット溶接ガン同士の干渉を引き起こす未処理打点の組み合わせを特定する干渉データを取得する工程と、生産ラインに沿って配置される１溶接ロボットを指定する工程と、指定された溶接ロボットに配分された配分済み未処理打点を特定する工程と、前記干渉データに基づき、配分済み未処理打点との間で前記組み合わせを構成する未配分未処理打点を抽出する工程と、抽出された未配分未処理打点を前記１溶接ロボットに配分する工程とを備えることを特徴とする生産ラインの作業配分シミュレーション方法が提供される。
【０００９】
一般に、使用されるスポット溶接ガン同士が干渉を引き起こすということは、２つの未処理打点同士が十分に接近していることを意味する。こうした２つの未処理打点が２つの溶接ロボットに別々に配分されると、それらの未処理打点を同時に処理するスポット溶接ガン同士は干渉してしまう。その一方、そういった２つの未処理打点が１溶接ロボットに対して配分されれば、２つの未処理打点同士が十分に接近していることから、その溶接ロボットに装着されたスポット溶接ガンの移動時間が節約され、限られた作業時間内でできる限り数多くの未処理打点をそのスポット溶接ガンに処理させることが可能となる。その結果、こうした作業配分シミュレーション方法によれば、ワーク上の未処理打点を各溶接ロボットに効率よく配分していくことが可能となる。
【００１０】
しかも、このように１溶接ロボットに対して十分に接近した未処理打点同士が配分されれば、各未処理打点に設定されるスポット溶接ガンの占有空間が互いに重なり合う。その結果、１溶接ロボット当たりの総占有空間は縮小され、したがって、その１溶接ロボットが所属する作業ステーションで他の溶接ロボットに配分される未処理打点の候補を増加させることができるのである。
【００１１】
前記干渉データを準備するにあたって、生産ラインの作業配分シミュレーション方法は、ワーク上の１未処理打点を処理する際に１スポット溶接ガンが占有可能な第１占有空間を画定する工程と、ワーク上の他の１未処理打点を処理する際に１スポット溶接ガンが占有可能な第２占有空間を画定する工程と、第１および第２占有空間が互いに重なり合った未処理打点同士を関連付ける工程とを備えればよい。このような処理工程によれば、簡単かつ確実に、使用されるスポット溶接ガン同士の干渉を引き起こす未処理打点の組み合わせを特定することが可能となる。干渉データは、生産ラインに沿って１溶接ロボットが指定される以前に準備されてもよく、各溶接ロボットに対して未処理打点を配分しながら同時進行的に準備されてもよい。
【００１２】
前記第１占有空間を画定するにあたっては、スポット溶接ガンごとに前記第１占有空間を特定する占有空間データが取得されてもよい。このようにスポット溶接ガンごとに個別に第１占有空間を特定すれば、干渉を引き起こす未処理打点の組み合わせを一層厳密に特定することができ、その結果、生産ラインの実状に則した信頼性の高いシミュレーション結果を提供することができる。
【００１３】
前記第１および第２占有空間は、未処理打点に対して溶接チップの面直を維持しつつその面直方向に沿った軸線回りで１スポット溶接ガンを回転させる際にその１スポット溶接ガンが占有することができる可動空間域によって規定されればよい。こういった可動空間域を用いれば、簡単に第１および第２占有空間を規定することができる。ただし、溶接チップの面直には生産技術的に問題のない範囲（例えば±５度程度）の傾きが含まれてもよい。なお、可動空間域は、前記未処理打点を中心に描かれる球面に基づいて設定されてもよく、前記１スポット溶接ガンの三次元形状データに基づいて設定されてもよい。
【００１４】
以上の生産ラインの作業配分シミュレーション方法は、前述した通り溶接ロボットが配置される生産ラインに適用されることができるだけでなく、広く一般の生産ラインに適用されることができる。すなわち、本発明に係る生産ラインの作業配分シミュレーション方法は、使用される作業ツール同士の干渉を引き起こす未処理作業点の組み合わせを特定する干渉データを取得する工程と、生産ラインに沿って配置される１作業ロボットを指定する工程と、指定された作業ロボットが所属する作業ステーションで他の作業ロボットに配分された配分済み未処理作業点を特定する工程と、前記干渉データに基づき、配分済み未処理作業点との間で前記組み合わせを構成する未処理作業点以外の未配分未処理作業点を抽出する工程と、抽出された未配分未処理作業点を前記指定された作業ロボットに配分する工程とを備えることができる。また、本発明に係る作業配分シミュレーション方法は、使用される作業ツール同士の干渉を引き起こす未処理作業点の組み合わせを特定する干渉データを取得する工程と、生産ラインに沿って配置される１作業ロボットを指定する工程と、指定された作業ロボットに配分された配分済み未処理作業点を特定する工程と、前記干渉データに基づき、配分済み未処理作業点との間で前記組み合わせを構成する未配分未処理作業点を抽出する工程と、抽出された未配分未処理作業点を前記１作業ロボットに配分する工程とを備えてもよい。
【００１５】
ここで、作業ツールは、少なくとも２部材を互いに接合する接合ツールであればよく、そういった接合には、少なくとも、溶接、ボルト打ちおよびリベット打ちのいずれか１つが含まれることができる。ただし、これらの用途に限定されるわけではない。
【００１６】
なお、以上の生産ラインの作業配分シミュレーション方法はコンピュータを利用したソフトウェア処理によって実施されることができる。しかも、本発明に係る生産ラインの作業配分シミュレーション方法を実行するソフトウェアは、ＦＤ（フロッピーディスク）やＣＤ（コンパクトディスク）、ＤＶＤ（デジタルビデオディスク）といった可搬性の記録媒体に格納されて配布されることができる。
【００１７】
【発明の実施の形態】
以下、添付図面を参照しつつ本発明の一実施形態を説明する。
【００１８】
図１は自動車の車体フレームを製造する生産ラインの一具体例を示す。この生産ライン１０は、例えば、車体フレーム１１を構成する構成部材同士を少数のスポット溶接打点で接合し、車体フレーム１１の骨組みを組み立てる組み立てライン１２と、スポット溶接打点を打ち増して、組み立てられた骨組みの接合強度を向上させるいわゆる「増し打ちライン」１３とを備える。例えば、増し打ちライン１３には、入り口から出口に向かって９つの作業ステーション１３ａ〜１３ｉが設定される。各作業ステーション１３ａ〜１３ｉには複数台の溶接ロボット１４が配置される。こうした溶接ロボット１４の配置は、後述するように、例えば本発明に係る生産ラインの作業配分シミュレーション方法によって決定されることができる。決定された溶接ロボット１４の配置に応じて１生産ライン当たりの作業ステーション数ＳＴが決定されることとなる。
【００１９】
生産ライン１０には、全ての作業ステーション１３ａ〜１３ｉを通過するライン搬送装置１６が設けられる。このライン搬送装置１６は、生産ライン１０に沿って同期して間欠的に移動する複数の台車１７を備える。各台車１７は、所定の搬送時間Ｔｔで、例えば各作業ステーション１３ａ〜１３ｉから次の作業ステーションに移動する。作業ステーション１３ａ〜１３ｉでは、台車１７は、所定のタクト時間Ｔｑその位置に停止する。この停止の間に、各溶接ロボット１４に装着されたスポット溶接ガンが作業を実施する。台車１７に搭載された車体フレーム１１すなわちワークは、それらの移動および停止を繰り返しながら控え位置Ｐｓから最終位置Ｐｆまで運ばれ完全な車体フレーム１１に仕上げられていく。搬送時間Ｔｔは、一般に、台車１７を移動させるライン搬送装置１６の搬送速度によって規定される。
【００２０】
例えば図２に示されるように、各溶接ロボット１４は、先端にスポット溶接ガン１９が装着される例えば１本のアーム２０を備える。スポット溶接ガン１９の移動は、アーム基点２１に対するアーム２０の進退運動Ｍａ、首振り運動Ｍｂおよび回転運動Ｍｃによって規定される。スポット溶接ガン１９の移動範囲の最外縁によって、溶接ロボット１４のリーチに基づく作動範囲Ｏａは規定される。ただし、溶接ロボット１４のアーム２０は１以上の関節を備えていてもよい。
【００２１】
スポット溶接ガン１９には、例えば図３に示されるように、様々な形態のものＳＣＡ、ＳＣＢ…が存在する。車体フレーム１１上のスポット溶接打点の位置や向き、スポット溶接される打点の接合強度を始めとする様々な要因によって各スポット溶接打点に使用されるスポット溶接ガン１９の種類は異なる。各溶接ロボット１４に装着されるスポット溶接ガン１９の形態ＳＣＡ、ＳＣＢ…は、後述するように、例えば本発明に係る生産ラインの作業配分シミュレーション方法によって決定されることができる。
【００２２】
各溶接ロボット１４は、タクト時間Ｔｑ内に全ての作業を完了しなければならない。各溶接ロボット１４の作業に必要とされる作業時間は、例えば図４に示されるように、第１打点に対してスポット溶接ガン１９を接近させる際に費やされる前進時間Ｔｆや、最終打点からスポット溶接ガン１９を離反させる際に費やされる後退時間Ｔｂのほか、１対の打点間でスポット溶接ガン１９を移動させる際に費やされる短ピッチ移動時間Ｔｐおよび姿勢変化時間Ｔｃといった２点間移動時間によって特定されることができる。例えば、同一平面上に配置される連続した１対の打点間で直線的にスポット溶接ガン１９を移動させることができる場合には、短ピッチ移動時間Ｔｐが２点間移動時間に適用される。１対の打点間でスポット溶接ガン１９を移動させるにあたって、１対の打点間で直線的にスポット溶接ガン１９を移動させることができず、一方の打点を処理後に一旦車体フレーム１１からスポット溶接ガン１９を後退させ、他方の打点に向けてスポット溶接ガン１９を再び前進させる必要がある場合には、姿勢変化時間Ｔｃによって２点間移動時間が特定される。これらの移動時間パラメータは、一般に、アーム２０を駆動するサーボモータ（図示せず）の作動速度によって規定される。同時に、作業時間には、スポット溶接ガン１９に対する通電時間、ホールド時間およびＩ／Ｆ（インターフェース）時間の総計によって算出される溶接時間Ｔｗやガン開閉時間Ｔｇといったパラメータが含まれることができる。
【００２３】
いま、例えば図５に示される車体フレーム１１を製造するために新たに増し打ちライン１３を構築する場合を考える。車体フレーム１１上には、構成部材同士の接合強度を考慮して複数個のスポット溶接打点２３が設定される。各スポット溶接打点２３は、後述される作業配分シミュレーション方法によって第１作業ステーション１３ａから順番に溶接ロボット１４に配分されていく。スポット溶接打点２３は、後述する作業配分シミュレーション方法の計算処理を簡略化するためにグループ化される。
【００２４】
図６は、本発明に係る生産ラインの作業配分シミュレーション方法を実現するＣＡＤ／ＣＡＭ（コンピュータ支援設計製造）システム２４を示す。このＣＡＤ／ＣＡＭシステム２４は、例えばＣＤ（コンパクトディスク）やＦＤ（フロッピーディスク）といった可搬性の記録媒体２５からシミュレーションソフトウェアを取り込み、取り込んだシミュレーションソフトウェアを実行するコンピュータ本体２６を備える。シミュレーションソフトウェアの実行にあたって、コンピュータ本体２６は、キーボードやマウスといった入力装置２７や、例えばディスクアレイ装置２８によって構築されるデータベースから必要な情報を受け取る。シミュレーションの結果は、ディスプレイ装置やプリンタ装置といった出力装置２９を通じて作業者に提示される。
【００２５】
このシミュレーションソフトウェアによれば、１作業ステーション当たりに許容される溶接ロボット１４の許容台数を示す許容台数データや、各溶接ロボット１４に装着されるスポット溶接ガン１９の作動範囲Ｏａを示す作動範囲データが入力装置２７から指定されると、１生産ライン１０に必要とされる作業ステーション数ＳＴや、各作業ステーション１３ａ〜１３ｉにおける溶接ロボット１４の構成のほか、各溶接ロボット１４に装着されるスポット溶接ガン１９の種類、各スポット溶接ガン１９に配分される車体フレーム１１上のスポット溶接打点２３や打順、といった情報が出力される。
【００２６】
シミュレーションによって得られるスポット溶接打点２３の配分結果や打順は、コンピュータ本体２６に接続されるオフラインティーチシステム３０に受け渡されることができる。このオフラインティーチシステム３０によれば、各溶接ロボット１４ごとに、受け取った配分結果と打順とに基づきスポット溶接ガン１９の移動経路が決定されることができる。
【００２７】
こうした移動経路の決定にあたっては、作業者の手で、溶接ロボット１４に装着されたスポット溶接ガン１９が実際に動かされる。作業者は、受け取った打順に従ってスポット溶接打点２３を次々に連結するようにスポット溶接ガン１９を移動させればよい。コントローラ３１は、その移動に必要とされるアーム２０の進退運動Ｍａ、首振り運動Ｍｂおよび回転運動Ｍｃを特定し記憶する。
【００２８】
こうした移動経路の覚え込ませすなわちオフラインティーチは、例えば生産ライン１０に沿って実際に溶接ロボット１４が配置された場合のように、溶接ロボット１４と車体フレーム１１との位置関係を確認しながら行われる。実際に生産ライン１０が稼動すると、コントローラ３１は、記憶したアーム２０の進退運動Ｍａ、首振り運動Ｍｂおよび回転運動Ｍｃに従って溶接ロボット１４を作動させ、作業者が設定した移動経路に従ってスポット溶接ガン１９を移動させる。
【００２９】
こうしてオフラインティーチシステム３０で移動経路が決定されると、決定された実際の移動経路に基づいて、個別具体的に、前述した前進時間Ｔｆや後退時間Ｔｂ、短ピッチ移動時間Ｔｐ、姿勢変化時間Ｔｃといったスポット溶接ガン１９の移動時間を正確に求めることができる。求められた移動時間は、後述するように、データベースにフィードバックされることができる。
【００３０】
シミュレーション結果には、特定された打順に従ってスポット溶接打点２３を次々に連結する仮想移動経路が含まれてもよい。こうした仮想移動経路を用いれば、作業者がコントローラ３１にスポット溶接ガン１９の動きを覚え込ませるに先立って、スポット溶接ガン１９の動きを作業者の目に確認させることができる。作業者は、確認した移動経路を土台に、自らの経験則を加え、新たに最適な移動経路を設定することができる。その結果、オフラインティーチにおける作業者の負担は軽減される。
【００３１】
次に、シミュレーションソフトウェアの実行に必要とされるデータベースの構造を詳述する。図６に示されるように、データベースは設備データ３２、ワークデータ３３およびオフラインティーチデータ３４に大きく区分けされる。設備データ３２には、増し打ちライン１３に付帯する設備の三次元ＣＡＤデータや、スポット溶接ガン１９の形態ごとに固有の占有空間を示す占有空間データが含まれる。設備の三次元ＣＡＤデータを用いれば、シミュレーションによって決定される増し打ちライン１３に沿った溶接ロボット１４の配置が特定されることができる。溶接ロボット１４の配置は、例えば、溶接ロボット１４が所属する作業ステーション１３ａ〜１３ｉの識別子と、各作業ステーション１３ａ〜１３ｉに仮想的に設定された三次元座標軸に基づく三次元座標値とによって特定されればよい。
【００３２】
占有空間データは、作業時にスポット溶接ガン１９が占有可能な占有空間を特定する。占有空間は、例えば図７に示すように、スポット溶接打点２３に対して溶接チップ１９ａの面直を維持しつつその面直方向に沿った軸線回りでスポット溶接ガン１９を回転させる際にそのスポット溶接ガン１９が占有することができる可動空間域によって規定される。こうした可動空間域は、例えば図８に示されるように、スポット溶接打点２３を中心に描かれ、スポット溶接ガン１９をすっぽりと囲む規定半径ｒの球面に基づいて設定されればよい。こうした可動空間域に基づく占有空間は、スポット溶接打点２３の三次元座標と半径ｒの大きさとによって簡単に特定されることができる。その一方で、スポット溶接ガン１９の形状を示す三次元形状データを用いて可動空間域が表現されれば、実際のスポット溶接ガン１９の占有空間に則した精度の高い占有空間を特定することができる。後者の場合には、溶接チップの面直方向を示すベクトル値が占有空間データで特定されればよい。
【００３３】
その他、設備データ３２には、前述した搬送時間Ｔｔを一律的に示す搬送時間データや、タクト時間Ｔｑを一律的に示すタクト時間データが含まれる。タクト時間データすなわち作業時間データによって１作業ステーション当たりの最大作業時間すなわち各溶接ロボット１４の最大作業時間が特定される。
【００３４】
ワークデータ３３には、ワークすなわち車体フレーム１１上の全ての未処理打点の位置を示す打点データや、打点データで示される未処理打点ごとに、車体フレーム１１の特性によって必然的に決定される打順を特定する打順データ、打点データで示される未処理打点ごとに使用可能なスポット溶接ガンを特定するガンデータ、使用されるスポット溶接ガン同士の干渉を引き起こす未処理打点の組み合わせを特定する干渉データが含まれる。
【００３５】
打点データは、例えば図９および図１０に示されるように、各スポット溶接打点２３の位置を三次元座標（Ｔ，Ｂ，Ｈ）によって特定する。座標Ｔは、例えば基準点ＣＣを基準に車体前後方向位置を規定する。座標Ｂは、基準点ＣＣを基準に車体幅方向位置すなわち奥行き方向位置を規定する。座標Ｈは、基準点ＣＣを基準に車体の高さ方向位置を規定する。こうした打点データは、例えばＣＡＤ／ＣＡＭシステム２４に取り込まれる車体フレーム１１の三次元設計データに基づいて算出されればよい。なお、図９および図１０では、説明の便宜上、座標Ｂは無視されている。
【００３６】
図５を併せて参照すると明らかなように、この打点データでは、大分類「Ａ」〜「Ｋ」によって車体フレーム１１の部位ごとに未処理打点群が大まかに分類される。各大分類「Ａ」〜「Ｋ」は、同一のスポット溶接ガン１９で連続的に処理可能な未処理打点群を示す中分類「Ａ１」〜「Ｋ３」に細分化される。この細分化は、スポット溶接ガン１９のアプローチ方向やガン開閉時の姿勢に基づいて行われればよい。小分類「Ａ１−１」〜「Ｋ３−２」は、５打点を目安に未処理打点群をグループ化し、打点位置の明確化を図っている。打点データには、小分類「Ａ１−１」〜「Ｋ３−２」ごとに、所属する未処理打点の打点数および中央位置の三次元座標値が示される。ただし、このように未処理打点がグループ化される必要は必ずしもなく、全ての未処理打点が個々に独立に取り扱われてもよい。
【００３７】
また、車体フレーム１１では、任意の構成部材に覆われてしまうスポット溶接打点２３が存在する。こういったスポット溶接打点２３は、車体フレーム１１にそうした構成部材が取り付けられる以前に処理されなければならない。打順データは、例えば図９および図１０に示されるように、そういったスポット溶接打点２３の処理順番を特定する。図９および図１０では、順番付けが必要となる打点に「１」「２」「３」といった順番が表示され、順番に関係なく処理可能な打点には「−１」が表示されている。
【００３８】
打点データには、さらに、各未処理打点に必要とされる溶接時間Ｔｗを示す溶接時間データ（図示せず）が付加される。溶接時間データは、１小分類「Ａ１−１」〜「Ｋ３−２」ごとに、その小分類に所属する未処理打点に共通に溶接時間Ｔｗを特定してもよい。
【００３９】
ガンデータは、例えば図１１に示されるように、各中分類「Ａ１」〜「Ｋ３」ごとに使用可能なスポット溶接ガンの種類ＳＣＡ、ＳＣＢ…を特定する。車体フレーム１１上のスポット溶接打点２３の位置や向き、スポット溶接される打点２３の接合強度を始めとする様々な要因によって各スポット溶接打点２３の処理に使用されるべきスポット溶接ガン１９の種類は異なる。図１１から明らかなように、１つの中分類「Ａ１」〜「Ｋ３」に対して複数の種類ＳＣＡ、ＳＣＢ…のスポット溶接ガン１９が特定されていてもよい。
【００４０】
干渉データには、例えば図１２に示されるように、各小分類「Ａ１−１」〜「Ｋ３−２」の組み合わせごとに、使用される２つのスポット溶接ガン同士で干渉が引き起こされるか否かが示される。こういった干渉データを準備するにあたっては、例えば図１３に示される処理工程が採用されればよい。この処理工程では、まずステップＭ１で、打点データに基づき１未処理打点が指定される。この指定によって、未処理打点の三次元座標値と、その面直方向を示すベクトル値とが特定される。ベクトル値は予め打点データに付加しておけばよい。ここでは、未処理打点「Ａ１−１」が指定されたものと仮定する。
【００４１】
ステップＭ２では、指定された１未処理打点を処理する際に１スポット溶接ガンが占有可能な第１占有空間が画定される。前述の占有空間データで示される可動空間域が車体フレーム１１に投影される。例えば、未処理打点の三次元座標を中心に半径ｒの球面が描かれればよい。その結果、図１４に示されるように、車体フレーム１１上に未処理打点「Ａ１−１」に対する第１占有空間３６が描かれることができる。その他、例えばスポット溶接ガン１９の三次元形状データで可動空間域が表現されていれば、車体フレーム１１上の未処理打点の面直方向に可動空間域の面直方向が合わせ込まれればよい。ただし、占有空間の投影にあたっては、図１４から明らかなように、車体フレーム１１に干渉する可動空間域は省略されることが望ましい。
【００４２】
ステップＭ３では、指定された未処理打点以外の１未処理打点が指定される。ステップＭ４では、ステップＭ２と同様に、ステップＭ３で指定された１未処理打点を処理する際に１スポット溶接ガンが占有可能な第２占有空間が画定される。例えば未処理打点「Ａ１−２」が指定されたと仮定すると、例えば図１４に示されるように、車体フレーム１１上に未処理打点「Ａ１−２」に対する第２占有空間３７が描かれることができる。
【００４３】
ステップＭ５では、第１および第２占有空間が互いに重なり合うか否かが判断される。重なり合えば、第１および第２占有空間３６、３７が設定された２つの未処理打点「Ａ１−１」、「Ａ１−２」が互いに関連付けられる。その結果、図１２に示されるように、干渉データにその関連付けが登録される。一方で、ステップＭ３で例えば未処理打点「Ａ１−４」が指定された場合のように、第１および第２占有空間３６、３８が重なり合わなければ、２つの未処理打点「Ａ１−１」、「Ａ１−４」に関連付けは行われない。ステップＭ３〜Ｍ５が繰り返される結果、ステップＭ２で指定された未処理打点「Ａ１−１」に対して関連付けられるべき未処理打点が全て抽出されることとなる。ステップＭ２で１未処理打点を変更していけば、打点データで示される未処理打点の全ての組み合わせに対して関連付けの有無が登録されることとなる。
【００４４】
ここで、前述の第１占有空間はスポット溶接ガンの形態ＳＣＡ、ＳＣＢ…ごとに設定されることが望ましい。前述したとおり、スポット溶接ガンには様々な形態のものＳＣＡ、ＳＣＢ…が存在する。図３から明らかなように、スポット溶接ガンＳＣＡ、ＳＣＢ…の形態に応じて占有空間も異なる。したがって、各未処理打点の処理に使用されるスポット溶接ガンの形態ＳＣＡ、ＳＣＢ…が決定された時点で、占有空間データで示される可動空間域を設定し直し、図１３に示す処理工程をやり直せば、生産ラインの実状に則した信頼性の高い干渉データを提供することができる。このように各未処理打点の処理に使用されるスポット溶接ガンの形態ＳＣＡ、ＳＣＢ…が決定されるまで、干渉データには、全ての形態ＳＣＡ、ＳＣＢ…に共通に第１占有空間が事前に登録されていればよい。
【００４５】
オフラインティーチデータ３４には、１溶接ロボット１４と１スポット溶接ガン１９との組み合わせごとに、スポット溶接ガン１９の作動範囲Ｏａを示す作動範囲データや、スポット溶接ガン１９のガン開閉時間Ｔｇを示すガン開閉時間データのほか、スポット溶接ガン１９の移動時間を示す移動時間データが含まれる。
【００４６】
作動範囲データは、例えば、アーム基点２１に原点が設定された各溶接ロボット１４固有の三次元座標軸に基づく三次元座標値によって作動範囲Ｏａを特定する。作動範囲Ｏａは、例えばアーム基点２１を中心に描かれ、アーム２０のリーチを半径とした球面によって規定されればよい。こうした作動範囲Ｏａは、アーム基点２１の三次元座標とアーム２０のリーチの大きさとによって簡単に特定されることができる。その一方で、溶接ロボット１４の各関節作動域を考慮した三次元のキネマティクス解でこうした作動範囲Ｏａを表現すれば、実際のスポット溶接ガン１９の作動範囲に則した厳密な作動範囲Ｏａを特定することができる。
【００４７】
移動時間データには、前進時間Ｔｆを示す前進時間データや、後退時間Ｔｂを示す後退時間データ、短ピッチ移動時間Ｔｐを示す短ピッチ移動時間データ、姿勢変化時間Ｔｃを示す姿勢変化時間データが含まれる。前進時間データや後退時間データは、全ての未処理打点に共通に前進時間Ｔｆや後退時間Ｔｂを特定することができる。短ピッチ移動時間データや姿勢変化時間データは、１対の未処理打点のあらゆる組み合わせに対して共通に短ピッチ移動時間Ｔｐや姿勢変化時間Ｔｃを特定することができる。こうした移動時間データを用いれば、作業配分シミュレーション方法の計算処理の負担は軽減される。
【００４８】
その一方で、前進時間データや後退時間データは、各未処理打点ごとに個別に前進時間Ｔｆや後退時間Ｔｂを特定することができ、短ピッチ移動時間データや姿勢変化時間データは、１対の未処理打点のあらゆる組み合わせに対して個別に２点間移動時間すなわち短ピッチ移動時間Ｔｐや姿勢変化時間Ｔｃを特定することができる。こうした移動時間データは、例えば各溶接ロボット１４ごとに、各関節の加減速に基づいて個別に推定されればよい。その他、短ピッチ移動時間データはスポット溶接打点２３間の距離に比例して設定されてもよく、姿勢変化時間データは２つのスポット溶接打点２３に対するアプローチ方向の角度偏差に比例して設定されてもよい。しかも、これらの移動時間データは、前述したようにオフラインティーチシステム３０で求められた前進時間Ｔｆや後退時間Ｔｂ、短ピッチ移動時間Ｔｐ、姿勢変化時間Ｔｃで置き換えられることができる。こうした移動時間データを用いれば、シミュレーション結果の信頼性を高めることができる。
【００４９】
次に本発明に係る作業配分シミュレーション方法を詳述する。図１５に示されるように、ＣＡＤ／ＣＡＭシステム２４のコンピュータ本体２６は、ステップＳ１で設備データ３２を取得し、続いてステップＳ２でワークデータ３３を取得する。
【００５０】
ステップＳ３で、コンピュータ本体２６は、作業者に変数条件の入力を促す。入力を促された作業者は、入力装置２７を用いて、１作業ステーション当たりに許容される溶接ロボット１４の許容台数や、各溶接ロボット１４に装着されるスポット溶接ガン１９の作動範囲を指定する。指定された許容台数は許容台数データとして取り込まれる。許容台数は例えば１以上の整数Ｎで表現されればよい。作動範囲データは、前述したオフラインティーチデータ３４から取り込まれる。作業者が溶接ロボット１４の種類を指定すると、指定された種類の溶接ロボット１４に関するアーム基点２１の三次元座標値やアーム２０のリーチの大きさが特定されるのである。
【００５１】
いま、許容台数データ＝３が入力された場合を考える。コンピュータ本体２６は、ステップＳ４で、作業ステーション数ＳＴの初期値＝１を記憶する。ステップＳ５では、記憶された作業ステーション数ＳＴの値に応じて１作業ステーションが指定される。この指定によって、まず、第１作業ステーションが指定される。
【００５２】
第１作業ステーションが指定されると、ステップＳ６で、溶接ロボット数ＲＢの初期値＝１が記憶される。ステップＳ７では、記憶された溶接ロボット数ＲＢの値に応じてその作業ステーション内で１溶接ロボットが指定される。この指定によって、第１作業ステーション内の第１溶接ロボットが指定される。この時点で、例えば図１６に示されるように、打点配置結果データ４１の溶接ロボット指定欄４２には、第１作業ステーションの第１溶接ロボットを示す「１１」が登録される。
【００５３】
第１溶接ロボットが指定されると、ステップＳ８で、その第１溶接ロボットに未処理打点が配分される。この打点配分の検討工程の詳細は後述される。配分された未処理打点は、図１７に示されるように、小分類「Ａ１−１」〜「Ｋ３−２」単位で打点配置結果データ４１の打順欄４４に登録される。登録される数値によって打順が特定される。カッコ内の数値は各小分類に含まれる打点数を示す。打点データ上では、割り振られた未処理打点は消去される。続いてステップＳ９で、割り振られた未処理打点は配分済み未処理打点として記憶される。
【００５４】
第１溶接ロボットに対する未処理打点の割り振りが登録されると、ステップＳ１０で溶接ロボット数ＲＢが計数される。ステップＳ１１では、計数された溶接ロボット数ＲＢが許容台数データで示される許容台数＝３と比較される。溶接ロボット数ＲＢが許容台数＝３を超えないので、ステップＳ７に戻って、溶接ロボット数ＲＢの値に基づいて新たに第２溶接ロボットが指定される。この指定によって、図１８に示すように、第１作業ステーション内の第２溶接ロボットを示す「１２」が打点配置結果データ４１の溶接ロボット指定欄４２に登録される。第２溶接ロボットが指定されると、ステップＳ７〜Ｓ１１の処理が実施される。
【００５５】
ステップＳ７〜Ｓ１１の処理は、ステップＳ１０で計数される溶接ロボット数ＲＢが許容台数＝３を超えるまで繰り返される。溶接ロボット数ＲＢが許容台数＝３を超えた時点で、第１作業ステーション内の３つの溶接ロボット「１１」「１２」「１３」に対して未処理打点の割り振りが完了される。
【００５６】
ステップＳ１０で計数された溶接ロボット数ＲＢが許容台数を超えると、ステップＳ１２で作業ステーション数ＳＴが計数される。続いてステップＳ１３で、１作業ステーションに対して記憶されていた配分済み未処理打点がリセットされる。このリセットによって、新たな作業ステーションに対して配分済み未処理打点は存在しないこととなる。その後、ステップＳ１４で、打点データ内に未処理打点が残存するか否かが判断される。未処理打点が残存していれば、ステップＳ５に戻って、作業ステーション数ＳＴの値に基づいて新たに１作業ステーションが指定される。この指定によって、第２作業ステーションが指定されることとなる。
【００５７】
第２作業ステーションが指定されると、ステップＳ６、Ｓ７で、第２作業ステーション内の第１溶接ロボットを示す「２１」が打点配置結果データ４１の溶接ロボット指定欄４２に登録される。この第２作業ステーションに対してステップＳ７〜Ｓ１１の処理が繰り返される結果、第２作業ステーション内の３つの溶接ロボット「２１」「２２」「２３」に対して割り振られた未処理打点が打点配置結果データ４１に登録される。
【００５８】
第２作業ステーションに対して未処理打点の登録が完了すると、再びステップＳ５に戻って新たに１作業ステーションが指定される。この指定によって第３作業ステーションが指定されることとなる。その結果、この第３作業ステーションに対してステップＳ６〜Ｓ１４の処理が実施される。
【００５９】
こうしてステップＳ５〜Ｓ１４の処理が繰り返され、車体フレーム１１上の全ての未処理打点が打点配置結果データ４１に登録される。その結果、割り振られるべき未処理打点が存在しないことがステップＳ１４で検出され、ステップＳ１５で打点配置結果データ４１が出力される。
【００６０】
なお、第２作業ステーション以降では、ステップＳ１１で溶接ロボット数ＲＢが許容台数を超えるまでに、干渉などの影響によって、未処理打点が残存するにも拘らず未処理打点が全く割り振られない溶接ロボット１４が存在することがある。このように残存した未処理打点は次作業ステーションの溶接ロボットに持ち越される。この場合には、溶接ロボット指定欄４２に記入された溶接ロボットの指定は消去されればよい。
【００６１】
次に、図１５のステップＳ８における打点配分の検討工程を詳述する。この工程では、例えば図１９に示されるように、ステップＰ１で、図１５のステップＳ２で取得された打順データに基づいて、各未処理打点の打順が検索される。検索の結果、最も若い打順「１」に相当する未処理打点が抽出される。こうしてステップＰ２以降で、打順の若い未処理打点が優先的に１溶接ロボット１４に割り振られていくことになる。
【００６２】
ステップＰ２では、図１５のステップＳ９で記憶された配分済み未処理打点が特定される。配分済み未処理打点が特定されると、干渉データに基づき、配分済み未処理打点との間で関連付けされた未処理打点以外の未処理打点群が抽出される。抽出された未処理打点群に、ステップＰ１で特定された打順の未処理打点が存在すれば、その未処理打点が呼び出される。抽出された未処理打点群に、ステップＰ１で特定された打順の未処理打点が含まれない場合には、抽出された未処理打点群の中から打順に関係のない打順「−１」の未処理打点が呼び出されることとなる。
【００６３】
配分済み未処理打点と、この配分済み未処理打点との間で関連付けされた未処理打点とが同時に処理されようとすると、使用される２スポット溶接ガン同士で干渉が引き起こされる。その一方で、配分済み未処理打点との間で関連付けされていない未処理打点が配分済み未処理打点と同時に処理されても、使用される２スポット溶接ガン同士で干渉は生じない。したがって、抽出された未処理打点群の中から呼び出された未処理打点が指定された溶接ロボット１４に配分されると、その未処理打点が配分済み未処理打点と同時に処理される場合でも、指定された溶接ロボット１４に装着されたスポット溶接ガン１９は、同一作業ステーション内で他の溶接ロボット１４に装着されたスポット溶接ガン１９に干渉することはない。
【００６４】
ステップＰ３では、呼び出された未処理打点群の中から、図１５のステップＳ７で指定された１溶接ロボット１４に対して最初に割り振られるべき第１未処理打点が抽出される。抽出された第１未処理打点に対して溶接ロボット１４が位置決めされる。位置決めにあたっては、作業ステーションに停止する車体フレーム１１の三次元座標空間に対して溶接ロボット１４固有の三次元座標空間が取り込まれればよい。第１未処理打点の抽出工程の詳細は後述される。
【００６５】
第１未処理打点が抽出されると、ステップＰ４で、図１５のステップＳ２で取得されたガンデータに基づいて、その第１未処理打点に適したデフォルトの１スポット溶接ガン１９が指定される。指定されたスポット溶接ガン１９を示す識別子「ＭＣＦ」は、図２０に示すように、打点配置結果データ４１の使用ガン欄４３に登録される。
【００６６】
ステップＰ５で、指定されたスポット溶接ガン「ＭＣＦ」で処理される未処理打点が抽出され、抽出された未処理打点が１溶接ロボット１４に割り振られる。この打点配分の決定工程の詳細は後述される。
【００６７】
図２１に示すフローチャートを参照し、図１９のステップＰ３における第１未処理打点の抽出工程を詳述する。この工程では、図１９のステップＰ２で呼び出された未処理打点の中から、例えば、車体フレーム１１に設定された任意の基準点ＣＣから最も離れた未処理打点が抽出される。全ての未処理打点に対して基準点ＣＣからの距離ＤＢが算出され、算出された距離ＤＢの一番大きな未処理打点が選択されるのである。基準点ＣＣには、例えば図５に示されるように、三次元座標軸ＴＢＨに対して車体フレーム１１の中心座標（０，０，０）が選択されればよい。
【００６８】
まず、ステップＱ１でパラメータＤＡ＝０が設定される。ステップＱ２では、基準点ＣＣの三次元座標（０，０，０）に対する１未処理打点（Ｔ，Ｂ，Ｈ）の距離ＤＢが算出される。ステップＱ３で、算出された距離ＤＢがパラメータＤＡを超えていれば、ステップＱ４で、算出された距離ＤＢの値がパラメータＤＡに置き換えられる。パラメータＤＡが置き換えられると、ステップＱ５で、その未処理打点ＰＰの三次元座標（Ｔ，Ｂ，Ｈ）が記憶される。続いてステップＱ６で次の未処理打点を探しにいく。
【００６９】
ステップＱ３で、算出された距離ＤＢがパラメータＤＡを超えなければ、パラメータＤＡを置き換えずに次の未処理打点を探しにいく（ステップＱ６）。その結果、常に基準点ＣＣから最も離れた未処理打点ＰＰの三次元座標（Ｔ，Ｂ，Ｈ）が記憶され続ける。全ての未処理打点に対する基準点ＣＣからの距離が算出されると、ステップＱ７で、記憶された未処理打点が三次元座標（Ｔ，Ｂ，Ｈ）で特定されることとなる。打点配置結果データ４１の打順欄４４では、例えば図２０に示されるように、特定された第１未処理打点に対して打順「１」が登録される。
【００７０】
次に図２２に示すフローチャートを参照し、図１９のステップＰ５における打点配分の決定工程を詳述する。この決定工程では、まず、ステップＵ１で、以下の処理で用いられるパラメータＴ１、Ｔ２、ＴＯが初期化される。
【００７１】
ステップＵ２では、１溶接ロボット１４に最初に割り振られた第１未処理打点に対して、図１５のステップＳ３で指定された作動範囲Ｏａが画定される。この画定にあたっては、作動範囲データで示される作動範囲Ｏａが車体フレーム１１に対して投影される。作動範囲Ｏａは、例えば図２３に示されるように、第１未処理打点「Ｈ２」「Ｋ３−２」を中心に作動範囲データで示される半径の球面を車体フレーム１１に投影させることによって規定されてもよい。その他、図１９のステップＰ３で車体フレーム１１の三次元座標空間に取り込まれた溶接ロボット１４の位置を用いれば、溶接ロボットのアーム基点２１を中心に描かれる球面や、溶接ロボット１４の三次元キネマティクス解に基づいて作動範囲Ｏａは規定されることができる。
【００７２】
作動範囲Ｏａが画定されると、ステップＵ３で、図１９のステップＰ２で呼び出された未処理打点の中から、その作動範囲Ｏａに含まれる未処理打点が特定される。その後、ステップＵ４以下で、特定された未処理打点の中から、指定された１スポット溶接ガン１９で処理される未処理打点が抽出される。
【００７３】
詳述すると、ステップＵ４で、ガンデータを用いて、指定されたスポット溶接ガン１９で次に処理される次未処理打点が決定される。この次未処理打点には、干渉データ上で第１未処理打点との間に関連付けされている未処理打点が優先的に選択されることが望ましい。そういった未処理打点が抽出されなければ、第１未処理打点に最近の未処理打点が選択されればよい。決定された次未処理打点にはステップＵ５で打順が付与される。次未処理打点の打順「２」は打点配置結果データ４１の打順欄４４に登録される。
【００７４】
一般に、使用されるスポット溶接ガン同士が干渉を引き起こすということは、２つの未処理打点同士が十分に接近していることを意味する。こうした２つの未処理打点が２つの溶接ロボットに別々に配分されると、それらの未処理打点を同時に処理するスポット溶接ガン同士は干渉してしまう。その一方、そういった２つの未処理打点が１溶接ロボット１４に対して配分されれば、２つの未処理打点同士が十分に接近していることから、その溶接ロボット１４に装着されたスポット溶接ガン１９の移動時間が節約され、最大作業時間内でできる限り数多くの未処理打点をそのスポット溶接ガン１９に処理させることが可能となる。
【００７５】
しかも、例えば図１４から明らかなように、１溶接ロボット１４に対して十分に接近した未処理打点「Ａ１−１」「Ａ１−２」同士が配分されれば、各未処理打点「Ａ１−１」「Ａ１−２」に設定されるスポット溶接ガン１９の占有空間３６、３７が互いに重なり合う。その結果、１溶接ロボット１４当たりの総占有空間は縮小され、したがって、その１溶接ロボット１４が所属する作業ステーションで他の溶接ロボット１４に配分される未処理打点の候補を増加させることができるのである。その一方で、干渉データ上で関連付けされていない未処理打点「Ａ１−１」「Ａ１−４」が配分されてしまうと、図１４から明らかなように、１溶接ロボット１４当たりの総占有空間は広がってしまい、同一作業ステーション内で他の溶接ロボット１４に配分される未処理打点の候補は減少する確率が高くなってしまう。
【００７６】
打順「２」が登録されると、第１未処理打点から第２未処理打点までスポット溶接ガン１９が移動する際に費やされる移動時間Ｔ１が取得される。未処理打点の組み合わせが特定されれば、前述したとおり、オフラインティーチデータ３４によって移動時間Ｔ１は特定されることができる。ただし、この場合には、１対の未処理打点のあらゆる組み合わせに対して２点間の移動時間Ｔ１を予め登録しておかなければならない。ここでは、溶接ロボットの姿勢変化の有無を判断し、その判断に基づいて短ピッチ移動時間Ｔｐや姿勢変化時間Ｔｃの規定値を用いて簡略的に移動時間Ｔ１を導き出すこととする。
【００７７】
まず、ステップＵ６で、第１および第２未処理打点４７、４８に対してスポット溶接ガン１９のアプローチ方向を規定するベクトル５０、５１を設定する。ベクトル５０、５１は、打点データに含まれる未処理打点の三次元座標値と、この三次元座標値で示される三次元座標点に対して設定されるベクトル値とによって特定されればよい。すなわち、ベクトル値を示すデータを予め打点データに付属させておけばよいのである。こうしたベクトルは、ＣＡＤ／ＣＡＭシステム２４に取り込まれる車体フレーム１１の三次元設計データや、溶接ロボット１４のコントローラ３１に記憶されるデータ等に基づいて特定されればよい。
【００７８】
２つのベクトル５０、５１が比較されると、スポット溶接ガン１９の姿勢変化の有無が判断される。例えば図２４に示されるように、第１未処理打点４７と第２未処理打点４８との間でスポット溶接ガン１９のアプローチ方向を規定するベクトル５０、５１同士が平行であれば、図２５に示されるように、溶接ロボット１４の姿勢変化を起因することなく、２つの未処理打点４７、４８間でスポット溶接ガン１９は直線的に移動することができる。これに対し、例えば図２６に示されるようにベクトル５０、５１同士が平行でなければ、図２７に示されるように、第１未処理打点４７を処理後に一旦車体フレーム１１からスポット溶接ガン１９を後退させ、第２未処理打点４８に向けてスポット溶接ガン１９を前進させる必要がある。したがって、１対のベクトル５０、５１を比較すれば溶接ロボット１４の姿勢変化の有無を判断することができるのである。
【００７９】
ステップＵ６で姿勢変化がないと判断されれば、ステップＵ７で短ピッチ移動時間Ｔｐの規定値が取得される。その一方で、姿勢変化があると判断されれば、ステップＵ７で姿勢変化時間Ｔｃの規定値が取得される。いずれの場合でも、取得された規定値は、２つの未処理打点４７、４８間で必要とされる短ピッチ移動時間データまたは姿勢変化時間データとしてオフラインティーチデータ３４に登録される。こうしてシミュレーションを実行しながら該当する２未処理打点間の移動時間Ｔ１が特定されるのである。
【００８０】
移動時間Ｔ１が取得されると、ステップＵ８で、第１未処理打点４７から第２未処理打点４８までの総移動時間Ｔ２が算出される。ここでは、前回までの総移動時間Ｔ２＝０であるから、移動時間Ｔ１がそのまま総移動時間Ｔ２に置き換えられる。
【００８１】
ステップＵ９では、算出された総移動時間Ｔ２に基づいて、第１未処理打点４７から第２未処理打点４８までの処理時間ＴＯが算出される。この算出にあたっては、設備データ３２からガン開閉時間データが取得され、ワークデータ３３から溶接時間データが取得され、オフラインティーチデータ３４から前進時間データや後退時間データが取得される。例えば溶接ロボット１４の姿勢が変化しない場合、例えば図２５に示すように、処理時間ＴＯは、第１未処理打点４７までの前進時間Ｔｆ、第１未処理打点４７から第２未処理打点４８までの短ピッチ移動時間Ｔｐ、第２未処理打点４８からの後退時間Ｔｂ、第１および第２未処理打点４７、４８での溶接時間Ｔｗおよびガン開閉時間Ｔｇなどによって特定される。溶接ロボット１４の姿勢が変化する場合、例えば図２７に示すように、処理時間ＴＯには、図２５の短ピッチ移動時間Ｔｐに代えて、姿勢変化時間Ｔｃが含まれることとなる。
【００８２】
算出された処理時間ＴＯは、ステップＵ１０で、タクト時間データすなわち最大作業時間データで示される最大作業時間と比較される。処理時間ＴＯが最大作業時間を超えていれば、ステップＵ１１に進み、打点配分は完了する。第２未処理打点４８の処理が最大作業時間内に終了しないと判断され、第２未処理打点４８の割り振りは失敗に終わる。指定された溶接ロボット１４には第１未処理打点のみが配分されることとなる。その一方で、処理時間ＴＯが最大作業時間を超えていなければ、ステップＵ１２で、第２未処理打点が前未処理打点として登録され、処理工程はステップＵ４に戻る。
【００８３】
ステップＵ４では、再び次未処理打点が検出される。この次未処理打点には、配分済みの第２未処理打点４８に対して干渉データ上で関連付けされた未処理打点が選択される。そういった未処理打点が抽出されなければ、第２未処理打点４８に対して最近の未処理打点が選択されればよい。検出されなければ、ステップＵ１１に進み、打点配分は完了する。１溶接ロボット１４に配分された未処理打点や打順は図１５の後工程に引き渡される。こうして打順が特定されれば、打順に従って移動するスポット溶接ガン１９の移動経路が設定されてもよい。例えば、２つのベクトル５０、５１を用いれば、第１未処理打点４７に接近する際の移動経路や第２未処理打点４８から離反する際の移動経路は特定されることができる。溶接ロボット１４の姿勢変化がなければ、２つの打点同士４７、４８を直線的に連結することで移動経路は特定されることができ、姿勢変化があれば、２つのベクトル５０、５１の基点同士を連結することで移動経路は特定されることができる（図２５および図２７を参照のこと）。
【００８４】
図２８に示すように再び次未処理打点４９が検出されると、ステップＵ５で次未処理打点４９に打順「３」が付与される。付与された打順「３」は打点配置結果データ４１の打順欄４４に登録される。こうして打順「３」が登録されると、前述と同様に、第２および第３未処理打点４８、４９間でベクトル５１、５３が比較され（ステップＵ６）、比較結果に基づいて第２未処理打点４８から第３未処理打点４９までの移動時間Ｔ１が取得される。
【００８５】
続いてステップＵ８では、取得された移動時間Ｔ１に基づいて総移動時間Ｔ２が算出される。ここでは、前回記憶された総移動時間Ｔ２に、今回算出された移動時間Ｔ１が加えられる。前回の総移動時間Ｔ２は、こうして移動時間Ｔ１が加えられた総移動時間Ｔ２によって置き換えられる。
【００８６】
総移動時間Ｔ２が算出されると、ステップＵ９で、第１未処理打点４７から第３未処理打点４９までの処理時間ＴＯが算出される。その結果、第１〜第３未処理打点４７〜４９で溶接ロボット１４の姿勢が全く変化しない場合には、例えば図２９に示すように、処理時間ＴＯは、第１未処理打点４７までの前進時間Ｔｆ、第１未処理打点４７から第３未処理打点４９までの２短ピッチ移動時間Ｔｐ、第３未処理打点４９からの後退時間Ｔｂ、第１〜第３未処理打点４７〜４９での溶接時間Ｔｗおよびガン開閉時間Ｔｇなどによって特定される。
【００８７】
算出された処理時間ＴＯは、ステップＵ１０で再び最大作業時間と比較される。処理時間ＴＯが最大作業時間を超えていれば、ステップＵ１１に進み、打点配分は完了する。ここでは、第３未処理打点４９の処理が最大作業時間内に終了しないと判断され、第３未処理打点４９の割り振りは失敗に終わる。その結果、指定された１溶接ロボット１４に、第１および第２未処理打点４７、４８が配分される。こうした配分結果と打順とは図１５の後工程に引き渡される。
【００８８】
処理時間ＴＯが最大作業時間を超えていなければ、ステップＵ１１で、第３未処理打点４９が前未処理打点に置き換えられ、処理工程は再びステップＵ４に戻る。ステップＵ４以下の処理工程が再び実行される。こうして、ステップＵ１０で処理時間ＴＯが最大作業時間を超えるまで、あるいは、ステップＵ４で次未処理打点が検出されなくなるまで、ステップＵ４〜Ｕ１２の処理工程が繰り返されていく。その結果、指定された１溶接ロボット１４に対して未処理打点が配分されるのである。ステップＵ１１では、指定された溶接ロボットごとに、未処理打点の配分と打順とが図１５の後工程に引き渡されることとなる。
【００８９】
以上の実施形態に加え、本発明に係る生産ラインの作業配分シミュレーション方法は、既存の増し打ちラインのように配置が決定された溶接ロボットに対して車体フレーム１１上のスポット溶接打点２３を配分する際にも用いられることができる。この場合には、設備データ３２内の三次元ＣＡＤデータで、各溶接ロボット１４の配置や各溶接ロボット１４に装着されたスポット溶接ガンの形態ＳＣＡ、ＳＣＢ…が特定されればよい。未処理打点の配分にあたっては、増し打ちライン１３の上流側から順番に１溶接ロボット１４が指定されればよい。１溶接ロボット１４が指定されると、溶接ロボット１４の配置に基づき車体フレーム１１上に各スポット溶接ガン１９の作動範囲Ｏａが描かれることとなる。
【００９０】
なお、本発明は、前述したいわゆる増し打ちラインを構築する際に用いられるだけでなく、同様に作業ロボットが配列されるその他の生産ラインを構築する際に用いられることができる。
【００９１】
【発明の効果】
以上のように本発明によれば、生産ラインの作業配分シミュレーション方法において、スポット溶接ガンを始めとする作業ツール同士の干渉を考慮しながら効率的に一連の作業を配分することが可能となる。
【図面の簡単な説明】
【図１】自動車の車体フレームを製造する生産ラインの一具体例を示す概略平面図である。
【図２】溶接ロボットの一具体例を示す斜視図である。
【図３】各スポット溶接ガンの形状を示す図である。
【図４】各溶接ロボットの作業に必要とされる作業時間を算出する方法を示す模式図である。
【図５】車体フレーム上の打点群の一具体例を示す図である。
【図６】本発明に係る生産ラインの作業配分シミュレーション方法を実現するＣＡＤ／ＣＡＭ（コンピュータ支援設計製造）システムの構成を概略的に示すブロック図である。
【図７】占有空間の特定方法を示す図である。
【図８】可動空間域の表現方法を示す図である。
【図９】打点データの構造を示す図である。
【図１０】打点データの構造を示す図である。
【図１１】ガンデータの構造を示す図である。
【図１２】干渉データの構造を示す図である。
【図１３】干渉データを準備する処理工程を示すフローチャートである。
【図１４】未処理打点の関連付けを示す図である。
【図１５】本発明に係る生産ラインの作業配分シミュレーション方法の処理工程を概略的に示すフローチャートである。
【図１６】溶接ロボット指定欄に対する「１１」の登録を示す図である。
【図１７】打順欄に対する打順の登録を示す図である。
【図１８】溶接ロボット指定欄に対する「１２」の登録を示す図である。
【図１９】打点配分の検討工程を示すフローチャートである。
【図２０】第１未処理打点に対する１スポット溶接ガン「ＭＣＦ」の登録を示す図である。
【図２１】第１未処理打点の抽出工程を示すフローチャートである。
【図２２】打点配分の決定工程を示すフローチャートである。
【図２３】車体フレーム上に設定された作動範囲を示す図である。
【図２４】溶接ロボットの姿勢が変化しない場合に第１および第２未処理打点に対してアプローチ方向を規定するベクトルを示す図である。
【図２５】溶接ロボットの姿勢が変化しない場合に第１および第２未処理打点に対して想定される処理時間を示す図である。
【図２６】溶接ロボットの姿勢が変化する場合に第１および第２未処理打点に対してアプローチ方向を規定するベクトルを示す図である。
【図２７】溶接ロボットの姿勢が変化する場合に第１および第２未処理打点に対して想定される処理時間を示す図である。
【図２８】第２および第３未処理打点に対してアプローチ方向を規定するベクトルを示す図である。
【図２９】第１〜第３未処理打点に対して想定される処理時間を示す図である。
【符号の説明】
１０  生産ライン、１１  ワークとしての車体フレーム、１３ａ〜１３ｉ  作業ステーション、１４  溶接ロボット、１９  スポット溶接ガン、１９ａ  溶接チップ、２３  スポット溶接打点、３０  オフラインティーチシステム、３１  コントローラ、３２  作業時間データを含む設備データ、３３  干渉データを含むワークデータ、３６  第１占有空間、３７，３８  第２占有空間。
【図１】
0003576404.tif 000002
【図２】
0003576404.tif 000003
【図３】
0003576404.tif 000004
【図４】
0003576404.tif 000005
【図５】
0003576404.tif 000006
【図６】
0003576404.tif 000007
【図７】
0003576404.tif 000008
【図８】
0003576404.tif 000009
【図９】
0003576404.tif 000010
【図１０】
0003576404.tif 000011
【図１１】
0003576404.tif 000012
【図１２】
0003576404.tif 000013
【図１３】
0003576404.tif 000014
【図１４】
0003576404.tif 000015
【図１５】
0003576404.tif 000016
【図１６】
0003576404.tif 000017
【図１７】
0003576404.tif 000018
【図１８】
0003576404.tif 000019
【図１９】
0003576404.tif 000020
【図２０】
0003576404.tif 000021
【図２１】
0003576404.tif 000022
【図２２】
0003576404.tif 000023
【図２３】
0003576404.tif 000024
【図２４】
0003576404.tif 000025
【図２５】
0003576404.tif 000026
【図２６】
0003576404.tif 000027
【図２７】
0003576404.tif 000028
【図２８】
0003576404.tif 000029
【図２９】
0003576404.tif 000030