(57)【特許請求の範囲】
【請求項１】
複数のタスクからなる溶接作業を、複数の溶接ロボットを制御する溶接装置によって実施する場合に、前記各タスクを前記複数の溶接ロボットの何れかに割り付けるタスク割付方法であって、
溶接動作の作業経路の最適化を行うために、溶接対象となるワークの形状および寸法の情報、溶接作業情報に基づいて、各溶接動作毎に、前記各溶接ロボットの姿勢ならびに、前記各溶接ロボットに備えられた溶接トーチの先端位置情報と、溶接動作に必要な命令シーケンスとからなる溶接線情報を演算し、演算結果であるタスク情報をタスク情報記憶部に記憶することと、
前記タスク情報記憶部に記憶されたタスク情報に基づいて、各タスクを、前記複数の溶接ロボットのうちの何れかに割付けることと、
前記各溶接ロボットに割付けられたタスクの、前記各溶接ロボットおける実施順序を定義した実施順序パターンを設定することと、
前記タスク情報記憶部に記憶されたタスク情報と、前記設定された実施順序パターンとに基づいて、タスク手順を定義した初期タスク手順パターンを少なくとも１パターン作成することにより、前記溶接ロボットの台数、前記各溶接ロボットのタスク開始タイミング、前記各溶接ロボットのタスクの実施順序、および溶接方向を数値的に定義することと、
前記作成された初期タスク手順パターンにおいて、実施順序のタスク番号をランダムに交叉させるか、または、タスク番号をランダムに選択し、選択したタスク番号の溶接方向を逆方向にすることにより、前記初期タスク手順パターンのタスク手順の一部を変化させ、新たなタスク手順パターンを第１の所定個数（ＮＣ１個）作成することと、
前記第１の所定個数（ＮＣ１個）のタスク手順パターン毎に動作シミュレーションを行い、作業時間を評価することと、
前記作業時間の評価結果を、作業時間の短い順に並べ替え、作業時間の短い第２の所定個数（ＮＣ２個：ＮＣ２＜ＮＣ１）のタスク手順パターンを抽出することと、
前記抽出された第２の所定個数（ＮＣ２個）のタスク手順パターンについて、実施順序のタスク番号をランダムに交叉させるか、または、タスク番号をランダムに選択し、選択したタスク番号の溶接方向を逆方向にすることにより、タスク手順の一部を変更することによって、第３の所定個数（ＮＣ３個）のタスク手順パターンを作成することと、
前記抽出された第２の所定個数（ＮＣ２個）のタスク手順パターンについて、タスクが割付けられた溶接ロボットから、任意数の溶接ロボットを選定し、前記選定された溶接ロボットに割り付けられたタスクから任意数のタスクを選定し、前記選定されたタスクを、当該タスクを実施可能な別の溶接ロボットに割り付けることによって、新たなタスク手順パターンを第４の所定個数（ＮＣ４個）作成することと、
前記第３の所定個数（ＮＣ３個）のタスク手順パターンに、前記第４の所定個数（ＮＣ４個）のタスク手順パターンを加えてなる前記第１の所定個数（ＮＣ１個：ＮＣ１＝ＮＣ３＋ＮＣ４）のタスク手順パターンのそれぞれについて、動作シミュレーションを行い、作業時間を評価することと、
前記作業時間の評価結果から、作業時間が、所定の基準値を満足するタスク手順パターンが存在する場合には、このタスク手順パターンにしたがって前記溶接装置を制御することによって、前記各溶接ロボットを制御することと、
前記作業時間の評価結果から、作業時間が、前記所定の基準値を満足するタスク手順パターンが存在しない場合には、前記第３の所定個数（ＮＣ３個）のタスク手順パターンを作成することと、前記新たなタスク手順パターンを第４の所定個数（ＮＣ４個）作成することと、前記第１の所定個数（ＮＣ１個：ＮＣ１＝ＮＣ３＋ＮＣ４）のタスク手順パターンのそれぞれについて、動作シミュレーションを行い、作業時間を評価することとを順に繰り返すことによって、最終的に前記所定の基準値を満足するタスク手順パターンを得、このタスク手順パターンにしたがって溶接装置を制御することによって、前記各溶接ロボットを制御することと
を備えることを特徴とするタスク割付方法。
【請求項２】
前記作業時間の評価結果を、作業時間の短い順に並べ替え、作業時間の短い第２の所定個数（ＮＣ２個：ＮＣ２＜ＮＣ１）のタスク手順パターンを抽出することに代えて、前記作業時間の評価結果から、作業時間の短いタスク手順パターンの抽出される確率がより高くなるような抽出パターンに基づいて第２の所定個数（ＮＣ２個：ＮＣ２＜ＮＣ１）のタスク手順パターンを抽出するようにしたことを特徴とする請求項１に記載のタスク割付方法。
【請求項３】
複数の溶接ロボットを制御することにより、複数のタスクからなる溶接作業を実施する溶接装置を制御する制御装置において、
請求項１または請求項２に記載のタスク割付方法によって前記タスクを前記各溶接ロボットのうちのいずれかに割り付け、この割り付けられたタスクに基づいて前記各溶接ロボットを制御することを特徴とする制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、タスク割付方法およびこれを適用した制御装置に係り、更に詳しくは、溶接、切削、バリ取りなどといった複数のタスクからなる作業を、複数の機械を用いて実施する場合に、これらタスクを各機械に割付けるタスク割付方法およびこれを適用した制御装置に関する。
【０００２】
【従来の技術】
これまでは、ＮＣ工作機械や自動溶接装置等、複数の機械を同時に用いて複数のタスクを行う場合には、対象となる１つの機械に対して専用の制御装置が用いられる場合が一般的である。
【０００３】
この種の制御装置は、タスクの実行中における複数の機械の相互干渉を考慮する必要が無い場合がほとんどである。また、考慮するとしても、簡単に干渉回避の方法を発見できる場合がほとんどである。
【０００４】
これは、ＮＣ工作機械や自動溶接装置等によってなされる作業領域がさほど大きくないために、１台の機械の動作範囲も限られており、複数の機械による相互干渉を考慮する必要があまりないからである。
【０００５】
また、ＮＣ工作機械や自動溶接装置等の動作自体が、上下方向及び左右方向といった直線動作や、単一面内での旋回動作など複雑な動作を伴うものではないために、干渉回避方法が比較的簡単に見つけられるからである。
【０００６】
少し複雑なケースとして、同一箇所に複数のロボットを高密度で配置するような自動車の組立ラインにおいても、タスク実行中におけるロボット自体の動作を事前に検討しておくことによって、タスク実行中におけるロボット同士の相互干渉が少なくなるような配置場所を見い出すことが可能である。
【０００７】
また、仮にタスク実行中において、ロボット同士の干渉が生じた場合においても、ロボット相互の干渉範囲が大きくないことから、ロボット相互の動作を、事前にシミュレーションすること等によって、干渉からの回避方法を事前に検討することが可能である。
【０００８】
【発明が解決しようとする課題】
しかしながら、このような従来の制御装置では、以下のような問題がある。
【０００９】
すなわち、造船に代表されるような重工業における溶接工程では、溶接する部品であるワークが多品種少量であること、溶接対象とする領域が大きいこと、溶接形状が複雑であるということに加えて、複数の溶接ロボットを用いて、ランダムに配置された複数の異なるワークを同時に溶接しなければならない。
【００１０】
よって、１つの溶接ロボットが受け持つタスクの動作範囲が大きくなる。また、同一のワークに対して複数台の溶接ロボットにて協調的に溶接タスクを実施する必要があるために、ロボット相互の動作範囲が重なる場合も生じる。更に、近年、動作範囲が実質的に無制限な、無軌道自律走行型の溶接ロボットへの適用も検討されている。
【００１１】
このため、各溶接ロボットの動作経路が迷路の如く必然的に複雑化してしまう。その結果、溶接ロボットの相互干渉が生じた場合であっても、予め計画された作業経路を作業者が見ただけでは、ロボット相互の干渉を回避する方法を見出すことが困難であるという問題がある。
【００１２】
また、複数あるタスクのうちのどのタスクを、どの溶接ロボットに担当させるかといったタスクの適切な割付けについても、予め計画された作業経路から作業者が見ただけで判断することなど、その作業経路の複雑さ故にもはや不可能であるという問題がある。
【００１３】
本発明はこのような事情に鑑みてなされたものであり、その第１の目的は、複数のタスクからなる作業を複数の機械によって実施する場合に、それぞれのタスクを何れかの機械に割付けるタスク割付を、遺伝的アルゴリズムを適用した演算によって求め、もって、タスクを各機械に適切に割付けることが可能なタスク割付方法を提供することにある。
【００１４】
また、その第２の目的は、このタスク割付方法によってなされたタスク割付けに基づいた作業経路にしたがって、各機械を制御することによって、複数の機械を効率的に制御して、作業を実施させることが可能な制御装置を提供することにある。
【００１５】
【課題を解決するための手段】
上記の目的を達成するために、本発明では、以下のような手段を講じる。
【００１６】
すなわち、請求項１の発明は、複数のタスクからなる溶接作業を、複数の溶接ロボットを制御する溶接装置によって実施する場合に、各タスクを複数の溶接ロボットの何れかに割り付けるタスク割付方法であって、溶接動作の作業経路の最適化を行うために、溶接対象となるワークの形状および寸法の情報、溶接作業情報に基づいて、各溶接動作毎に、各溶接ロボットの姿勢ならびに、各溶接ロボットに備えられた溶接トーチの先端位置情報と、溶接動作に必要な命令シーケンスとからなる溶接線情報を演算し、演算結果であるタスク情報をタスク情報記憶部に記憶することと、タスク情報記憶部に記憶されたタスク情報に基づいて、各タスクを、複数の溶接ロボットのうちの何れかに割付けることと、各溶接ロボットに割付けられたタスクの、各溶接ロボットおける実施順序を定義した実施順序パターンを設定することと、タスク情報記憶部に記憶されたタスク情報と、設定された実施順序パターンとに基づいて、タスク手順を定義した初期タスク手順パターンを少なくとも１パターン作成することにより、溶接ロボットの台数、各溶接ロボットのタスク開始タイミング、各溶接ロボットのタスクの実施順序、および溶接方向を数値的に定義することと、作成された初期タスク手順パターンにおいて、実施順序のタスク番号をランダムに交叉させるか、または、タスク番号をランダムに選択し、選択したタスク番号の溶接方向を逆方向にすることにより、初期タスク手順パターンのタスク手順の一部を変化させ、新たなタスク手順パターンを第１の所定個数（ＮＣ１個）作成することと、第１の所定個数（ＮＣ１個）のタスク手順パターン毎に動作シミュレーションを行い、作業時間を評価することと、作業時間の評価結果を、作業時間の短い順に並べ替え、作業時間の短い第２の所定個数（ＮＣ２個：ＮＣ２＜ＮＣ１）のタスク手順パターンを抽出することと、抽出された第２の所定個数（ＮＣ２個）のタスク手順パターンについて、実施順序のタスク番号をランダムに交叉させるか、または、タスク番号をランダムに選択し、選択したタスク番号の溶接方向を逆方向にすることにより、タスク手順の一部を変更することによって、第３の所定個数（ＮＣ３個）のタスク手順パターンを作成することと、抽出された第２の所定個数（ＮＣ２個）のタスク手順パターンについて、タスクが割付けられた溶接ロボットから、任意数の溶接ロボットを選定し、選定された溶接ロボットに割り付けられたタスクから任意数のタスクを選定し、選定されたタスクを、当該タスクを実施可能な別の溶接ロボットに割り付けることによって、新たなタスク手順パターンを第４の所定個数（ＮＣ４個）作成することと、第３の所定個数（ＮＣ３個）のタスク手順パターンに、第４の所定個数（ＮＣ４個）のタスク手順パターンを加えてなる第１の所定個数（ＮＣ１個：ＮＣ１＝ＮＣ３＋ＮＣ４）のタスク手順パターンのそれぞれについて、動作シミュレーションを行い、作業時間を評価することと、作業時間の評価結果から、作業時間が、所定の基準値を満足するタスク手順パターンが存在する場合には、このタスク手順パターンにしたがって溶接装置を制御することによって、各溶接ロボットを制御することと、作業時間の評価結果から、作業時間が、所定の基準値を満足するタスク手順パターンが存在しない場合には、第３の所定個数（ＮＣ３個）のタスク手順パターンを作成することと、新たなタスク手順パターンを第４の所定個数（ＮＣ４個）作成することと、第１の所定個数（ＮＣ１個：ＮＣ１＝ＮＣ３＋ＮＣ４）のタスク手順パターンのそれぞれについて、動作シミュレーションを行い、作業時間を評価することとを順に繰り返すことによって、最終的に所定の基準値を満足するタスク手順パターンを得、このタスク手順パターンにしたがって溶接装置を制御することによって、各溶接ロボットを制御することとからなる。
【００１８】
請求項２の発明では、請求項１の発明のタスク割付方法において、作業時間の評価結果を、作業時間の短い順に並べ替え、作業時間の短い第２の所定個数（ＮＣ２個：ＮＣ２＜ＮＣ１）のタスク手順パターンを抽出することに代えて、作業時間の評価結果から、作業時間の短いタスク手順パターンの抽出される確率がより高くなるような抽出パターンに基づいて第２の所定個数（ＮＣ２個：ＮＣ２＜ＮＣ１）のタスク手順パターンを抽出する。
【００１９】
従って、請求項１および請求項２の発明のタスク割付方法においては、以上のような、遺伝的アルゴリズムを適用した手段を講じることにより、溶接作業に要する作業時間を短くすることができるタスク割付を行うことが可能となる。
【００２２】
請求項３の発明では、複数の溶接ロボットを制御することにより、複数のタスクからなる溶接作業を実施する溶接装置を制御する制御装置において、請求項１または請求項２に記載のタスク割付方法によってタスクを各溶接ロボットのうちのいずれかに割り付け、この割り付けられたタスクに基づいて各溶接ロボットを制御する。
【００２３】
従って、請求項３の発明の制御装置は、請求項１または請求項２の発明のタスク割付方法によってなされた、作業時間を短くすることができるタスク割付けに基づいた作業経路に従い各溶接ロボットを制御することができる。
【００２４】
【発明の実施の形態】
以下に、本発明の実施の形態について図面を参照しながら説明する。
【００２５】
本発明の実施の形態を図１から図９を用いて説明する。
【００２６】
図１は、本発明の実施の形態に係るタスク割付方法を適用した制御装置の一例を示すシステム構成図である。
【００２７】
すなわち、本発明の実施の形態に係るタスク割付方法を適用した制御装置１は、ＣＡＤ／ＣＡＭシステム２と、タスク情報記憶部４と、初期タスク割付部６と、タスク順序設定部８と、初期タスク手順パターン作成部１０と、タスク手順パターン作成部１２と、タスク手順パターン抽出部１４と、タスク再割付部１６と、作業時間評価部１８と、機械制御部２２とを備えており、マルチロボット溶接装置２４を制御する。
【００２８】
図２は、造船業において実用化されているマルチロボット溶接装置の一例を示す斜視図である。
【００２９】
マルチロボット溶接装置２４は、各６軸の多関節型の溶接ロボット３０（Ｒ１〜Ｒ１０）がそれぞれ３軸のスライド機構３１、３２、３３に天吊り姿勢で配置され、合計９軸の移動機構により、上下（Ｚ軸方向）、前後（Ｙ軸方向）、左右（Ｘ軸方向）にそれぞれ移動可能なようにしている。図２に示すマルチロボット溶接装置２４の例では、このような多関節型の溶接ロボット３０（Ｒ１〜Ｒ１０）を１０台組合せて構成している。更に、各多関節型の溶接ロボット３０（Ｒ１〜Ｒ１０）は、その先端に、溶接トーチ３４をそれぞれ備えており、ワークを溶接する。
【００３０】
図３および図４は、このようなマルチロボット溶接装置２４が溶接する対象となるワーク４０の一例を示す平面図であり、ワーク４０は、開口部４１を有するパネル（母材）４２に対して、複数の取付部材４３を自動溶接して組立をする場合を想定している。
【００３１】
定盤５０は、ワーク４０を配置あるいは固定するための作業台であり、図３に示す領域境界線５１は各溶接ロボット３０（Ｒ１〜Ｒ１０）の基本的な動作領域Ｒ１〜Ｒ１０を区分する分割線である。
【００３２】
なお、図２に示すような典型的なマルチロボット溶接装置２４とは異なるタイプのマルチロボット溶接装置として、図示しないが、無軌道で自律走行が可能な複数の溶接ロボットによって溶接を行うタイプのものもある。この種のマルチロボット溶接装置は、おのおのの溶接ロボットの作業範囲がある程度限定されている図２に示すようなマルチロボット溶接装置２４とは異なり、おのおのの溶接ロボットの動作範囲が限定されておらず、実質的に無制限である。
【００３３】
すなわち、例えば１０台の溶接ロボットを備えているこの種のマルチロボット溶接装置を用いて図４に示すようなワーク４０を対象に溶接を行う場合、これら１０台の溶接ロボットはいずれも、定盤５０上に配置されたワーク４０に関する全ての溶接線の溶接作業を行うことができる。
【００３４】
したがって、このような自律走行型の複数の溶接ロボットを備えたマルチロボット溶接装置を用いてワーク４０の溶接作業を行う場合、どの溶接タスクをどの溶接ロボットに担当させるかというタスク割付も考慮した上で、タスクの作業経路（各タスクの開始時間、タスクの実施順序、タスクの実施方向（例えば、溶接タスクの場合は溶接方向）等）を決定する必要がある。
【００３５】
１．ＣＡＤ／ＣＡＭシステム２
ＣＡＤ／ＣＡＭシステム２は、以下に示すように、複数の溶接ロボット３０毎に割り当てられた溶接タスクに必要な情報であるタスク情報を作成し、このタスク情報をタスク情報記憶部４に出力する。
【００３６】
すなわち、溶接ロボット３０による基本的な溶接作業は、溶接部分への１）アプローチ、２）始端部センシング、３）終端部センシング、４）始端部分の始端部溶接、５）中間部分の本溶接、６）終端部分の終端部溶接、７）溶接部分からのリトラクトからなる基本動作と、溶接終了後リトラクトしてからのワイヤカット、ノズルクリーニングなどの８）補助動作、更には、次の溶接線部分への移動時に行う９）エアカット動作からなる。
【００３７】
なお、２）、３）の端部センシングの動作が省略されたり、別途補助動作が溶接前に実施されたりする場合、あるいは４）、６）の溶接動作が繰り返される場合があるものの、基本的には、上記９つに区分される。
【００３８】
ＣＡＤ／ＣＡＭシステム２は、これら１）〜９）に区分された各動作毎に、溶接ロボット３０の姿勢ならびに溶接トーチ３４の先端位置情報と、溶接動作に必要な命令シーケンスとを演算する。これらの情報は、溶接作業（タスク）単位のデータとして処理されるため、以降、タスク情報と称する。ＣＡＤ／ＣＡＭシステム２は、このように演算したタスク情報をタスク情報記憶部４に出力する。
【００３９】
２．タスク情報記憶部４
タスク情報記憶部４は、上述したようなＣＡＤ／ＣＡＭシステム２において溶接されたタスク情報を記憶する。
【００４０】
３．初期タスク割付部６
初期タスク割付部６は、タスク情報記憶部４に記憶されたタスク情報に基づいて、各タスクを、当該タスクを実施可能な何れかの溶接ロボット３０に割付ける。なお、最終的なタスク情報の割付は、その作業時間をベースにしてなされた評価結果に基づいてタスク手順パターン作成部１２またはタスク再割付部１６において最適化されるものであって、ここで行われる割付けは、あくまでイニシャルゲスとしてものである。
【００４１】
図２に示すようなマルチロボット溶接装置２４の場合、各溶接ロボット３０が作業可能な領域は、図３に示すように、２次元配置的に決定されるので、この２次元配置情報に基づいて、例えば、特開平９−１６４４８３号公報に開示されているように、一意になされたタスク分割処理を行う。
【００４２】
また、自律走行型のマルチロボット溶接装置の場合、図４に示すように、図３に示されているような各溶接ロボット３０の領域境界線５１は無くなり、全ての範囲がどの溶接ロボット３０によっても溶接作業が可能なオーバーラップ領域となる。このような場合、例えば、乱数によって各タスクを、何れかの溶接ロボット３０に割付けるようにしても良い。
【００４３】
４．タスク順序設定部８
タスク順序設定部８は、初期タスク割付部６によって各溶接ロボット３０に割付けられたタスクの、おのおのの溶接ロボット３０における実施順序を定義した実施順序パターンを設定する。
【００４４】
たとえば、１００のタスク（溶接箇所）からなる作業を、１０台の溶接ロボット３０（Ｒ１〜Ｒ１０）によって実施する場合であって、タスク番号１からタスク番号１００までの各タスクが、図５に示すように、各溶接ロボット３０（Ｒ１〜Ｒ１００）に割付けられているものとする。
【００４５】
タスク順序設定部８は、図６に示すように、各溶接ロボット３０（Ｒ１〜Ｒ１０）によってなされるタスクのタスク番号を並べることによって、実施順序パターンを定義し、その結果を初期タスク手順パターン作成部１０に出力する。
【００４６】
なお、最終的なタスク実施順序の設定は、その作業時間をベースにしてなされた評価結果に基づいて最適化されるものであって、図６に例として示す実施順序パターンは、あくまでイニシャルゲスとしてものである。
【００４７】
５．初期タスク手順パターン作成部１０
初期タスク手順パターン作成部１０は、タスク情報記憶部４に記憶されたタスク情報と、タスク順序設定部８において定義された実施順序パターンとに基づいて、タスク手順を定義した初期タスク手順パターンを少なくとも１パターン作成し、その結果をタスク手順パターン作成部１２に出力する。
【００４８】
複数の溶接ロボット３０によって並行してタスクを行う場合、これら各溶接ロボット３０を制御するために必要なパラメータは、図６に示すような溶接ロボット３０（Ｒ１〜Ｒ１０）毎のタスク番号、およびその実施順序のみならず、各溶接ロボット３０（Ｒ１〜Ｒ１０）のタスクを開始するタイミングであるタスク開始遅れ時間、各タスクの溶接方向をも定義する必要がある。複数の溶接ロボット３０によって並行してタスクを行う場合には、その作業中において、近接する溶接ロボット３０との干渉が発生することがあるので、タスク開始遅れ時間を設定したり、あるいは溶接方向を逆方向にしたりすることによって干渉を回避するためである。
【００４９】
図７は、各溶接ロボット３０（Ｒ１〜Ｒ１０）について、タスク番号の実施順序に加えて、上述したようなタスク開始遅れ時間と、溶接方向とを定義したタスク手順をまとめて表示した一覧図である。
【００５０】
なお、最終的なタスク開始遅れ時間と、溶接方向とは、作業時間をベースにしてなされた評価結果に基づいて最適化されるものであって、ここで行われる設定は、あくまでイニシャルゲスとしてものであり、図７に示す例では、各溶接ロボット３０（Ｒ１〜Ｒ１０）のタスク開始遅れ時間は、いずれの溶接ロボット３０（Ｒ１〜Ｒ１０）についても無い（０秒）ものとし（すなわち、全ての溶接ロボット３０（Ｒ１〜Ｒ１０）は一斉にタスク実行を開始する）、また溶接方向も全て同一方向としている。図７において、溶接方向とは、定盤５０の原点Ｈ（図３および図４参照）から離れる方向を「１」、原点Ｈに近づく方向を「０」としている。
【００５１】
初期タスク手順パターンとは、図７に示すようなタスク手順を、図８に示すような一列の数値データとしてパターン化したものである。初期タスク手順パターンは、ａ．溶接ロボットの数、ｂ．溶接ロボット毎のタスク開始遅れ時間、ｃ．溶接ロボット毎の溶接箇所の実施順序、ｄ．溶接ロボット毎の溶接箇所の溶接方向の各データから構成している。
【００５２】
これによって、溶接ロボット３０の台数、各溶接ロボット３０のタスク開始タイミング、各溶接ロボット３０のタスクの実施順序、溶接方向を数値的に定義する。
【００５３】
６．タスク手順パターン作成部１２
タスク手順パターン作成部１２は、初期タスク手順パターン作成部１０によって作成された初期タスク手順パターンのタスク手順の一部を変化させて作成される新たなタスク手順パターンを第１の所定個数（ＮＣ１個：１＜ＮＣ１）作成する。また、後述するタスク手順パターン抽出部１４によって抽出された第２の所定個数（ＮＣ２個：ＮＣ２＜ＮＣ１）のタスク定順パターンのタスク手順の一部を変化させて作成される新たなタスク手順パターンを第３の所定個数（ＮＣ３個：ＮＣ２＜ＮＣ３＜ＮＣ１）作成する。
【００５４】
ここでいうタスク手順とは、図８に示すように、ａ．溶接ロボットの数、ｂ．溶接ロボット毎のタスク開始遅れ時間、ｃ．溶接ロボット毎の溶接箇所の実施順序、ｄ．溶接ロボット毎の溶接箇所の溶接方向の各データに相当する。
【００５５】
タスク手順の一部を変化させる方法としては、遺伝的アルゴリズムを用いて行う。遺伝的アルゴリズムを適用してタスク手順の一部を変化させる方法については、特願２０００−８５３８４号公報に開示されている通りであり、例えば、タスク番号の実施順序をランダムに交叉させたり、タスク番号をランダムに選択し、選択したタスク番号の溶接方向を逆方向にしたりすることにより行う。
【００５６】
７．タスク手順パターン抽出部１４
タスク手順パターン抽出部１４は、作業時間評価部１８によって作業時間が評価された第１の所定個数（ＮＣ１個）のタスク手順パターンの中から、第２の所定個数（ＮＣ２個：ＮＣ２＜ＮＣ１）のタスク手順パターンを抽出する。
【００５７】
これは、作業時間評価部１８によって評価された第１の所定個数（ＮＣ１個）のタスク手順パターンの作業時間の評価結果を、作業時間の短い順に並べ替え、その中から、作業時間の短い上位ＮＣ２個のタスク手順パターンを抽出する。あるいは、特願２０００−８５３８４に記載されているように、作業時間の短いタスク手順パターンの抽出される確率がより高くなるような抽出パターンに基づいてＮＣ２個のタスク手順パターンを抽出するようにしてもよい。
【００５８】
なお、抽出した第２の所定個数（ＮＣ２個）のタスク手順パターンの中に、作業時間が、所定の基準値（作業時間）を満足するものがあった場合には、このタスク手順パターンを機械制御部２２に出力する。このタスク手順パターンは、その作業時間が十分最適化されたものと判定され、各溶接ロボット３０が機械制御部２２によって、このタスク手順パターンにしたがって制御されるものである。
【００５９】
８．タスク再割付部１６
タスク再割付部１６は、遺伝的アルゴリズムにおける突然変異の手順を適用することによって、タスク手順パターン抽出部１６によって抽出された第２の所定個数（ＮＣ２個）のタスク手順パターンに基づいて、新たなタスク手順パターンを第４の所定個数（ＮＣ４個：ＮＣ２＜ＮＣ４）作成し、作成したタスク手順パターンを作業時間評価部１８に出力する。
【００６０】
尚、タスク手順パターン抽出部１４によって抽出された第２の所定個数（ＮＣ２個）のタスク手順パターンに基づいて、タスク手順パターン作成部１２が作成する新たなタスク手順パターンの数である第３の所定個数（ＮＣ３個）と、タスク再割付部１６が作成する新たなタスク手順パターンの数である第４の所定個数（ＮＣ４個）との和は、第１の所定個数（ＮＣ１個）に等しい（ＮＣ１＝ＮＣ３＋ＮＣ４）。
【００６１】
この遺伝的アルゴリズムにおける突然変異を適用した新たなタスク手順パターンの作成は、例えば、以下のようにして行う。
【００６２】
一例を、図８の初期タスク手順パターンの「ｃ．溶接ロボット（Ｒ１〜Ｒ１０）毎の溶接箇所の実施順序」を抽出した図９を用いて説明する。
【００６３】
まず、タスク（溶接箇所）が割付けられた溶接ロボット３０（Ｒ１〜Ｒ１０）から任意の溶接ロボット３０（Ｒ１〜Ｒ１０）を選択する。ここでは、図９（ａ）に示すように、仮に、溶接ロボット３０（Ｒ２）を選択する。この選択方法は、ランダム選択など、任意の手法によって行っても良い。また、選択する溶接ロボット３０の数もまた、１つに限らず任意数で良い。
【００６４】
次に、選択した溶接ロボット３０（Ｒ２）のタスク（溶接箇所）から任意数のタスクを選定する。ここでは、仮に、タスク番号１２およびタスク番号１４のタスクを選定する。そして、選定されたこれらタスク（タスク番号１２、タスク番号１４）を、このタスクを実施可能な別の溶接ロボットに割付ける。
【００６５】
これらのタスク（タスク番号１２、タスク番号１４）は、図３に示すような、溶接ロボット３０（Ｒ１）と溶接ロボット３０（Ｒ２）との領域境界線５１の付近のタスクであり、溶接ロボット３０（Ｒ１）と溶接ロボット３０（Ｒ２）とのオーバーラップ領域５２にあるために、溶接ロボット３０（Ｒ２）のみならず溶接ロボット３０（Ｒ１）によっても実施可能なタスクであるものとする。このような場合、これらタスク（タスク番号１２、タスク番号１４）を、溶接ロボット３０（Ｒ１）に割付ける。溶接ロボット３０（Ｒ１）のみに限らず、例えば溶接ロボット３０（Ｒ３）など、その他の溶接ロボット３０によっても実施可能である場合には、実施可能な溶接ロボット３０の中からいずれか１つを選択する。この選択の方法は、ランダム選択など、任意の手法によって行っても良い。
【００６６】
そして、選択したタスク（タスク番号１２、タスク番号１４）を、選択した溶接ロボット３０（Ｒ１）に割付ける。選択したタスク（タスク番号１２、タスク番号１４）の溶接ロボット３０（Ｒ１）における実施順序もまた任意の場所で良く、例えば、ランダム選択などによってその実施順序を決定しても良い。ここでは、仮に、タスク番号１２を溶接ロボット３０（Ｒ１）のタスク番号９とタスク番号１０との間に挿入し、タスク番号１４をタスク番号５とタスク番号６との間に挿入するものとする。
【００６７】
この結果、新たな「ｃ．溶接ロボット（Ｒ１〜Ｒ１０）毎の溶接箇所の実施順序」を図９（ｂ）に示すように、溶接ロボット３０（Ｒ１）のタスクにタスク番号１２とタスク番号１４が追加され、溶接ロボット３０（Ｒ２）のタスクからタスク番号１２とタスク番号１４とが削除されるようにしている。
【００６８】
また、別の一例を、図８の初期タスク手順パターンの「ｃ．溶接ロボット（Ｒ１〜Ｒ１０）毎の溶接箇所の実施順序」を抽出した図１０を用いて説明する。
【００６９】
まず、初期タスク割付部６によってタスク（溶接箇所）が割付けられた溶接ロボット３０（Ｒ１〜Ｒ１０）から任意の溶接ロボット３０（Ｒ１〜Ｒ１０）を選択する。ここでもまた、仮に、溶接ロボット３０（Ｒ２）を選択する。そして、図１０（ａ）に示すように、選択した溶接ロボット３０（Ｒ２）のタスク（溶接箇所）から、タスクの範囲をランダムに指定する（▲１▼）。
【００７０】
次に、▲１▼で指定された範囲のうち、他の溶接ロボット３０によって実施可能なタスクを１つ抽出する。ここでは、タスク番号１２が、溶接ロボット３０（Ｒ１）によっても実施可能でありこれに相当するものとする（▲２▼）。
【００７１】
次に、タスク番号１２を実施可能な溶接ロボット３０を認識する。タスク番号１２は、溶接ロボット３０（Ｒ１）によっても実施可能であるので、溶接ロボット３０（Ｒ１）がこれに相当する。なお、タスク番号１２を実施可能な溶接ロボット３０が複数存在する場合には、いずれか１つを選択する。そして、▲１▼で指定された範囲に含まれるタスク番号から、この認識された溶接ロボット３０（Ｒ１）によっても実施可能なタスク番号を選択する。ここではタスク番号１４がこれに該当するものとする。なお、該当するタスク番号が複数ある場合においては、複数選択する（▲３▼）。
【００７２】
▲２▼で抽出されたタスク番号１２と、▲３▼で選択されたタスク番号１４とを、溶接ロボット３０（Ｒ２）のタスクから削除し、溶接ロボット３０（Ｒ１）のタスクとして追加する。溶接ロボット３０（Ｒ１）のタスクとして追加する各タスク（タスク番号１２、タスク番号１４）は１まとまりのタスク群として溶接ロボット３０（Ｒ１）の任意の実施順序に挿入することが可能であり、例えば、ランダム選択などによってこれらタスク群を挿入する実施順序を決定しても良い。ここでは、仮に、タスク番号１２とタスク番号１４とからなるタスク群をタスク番号５とタスク番号６との間に挿入するものとする（▲４▼）。
【００７３】
このようにしても、図１０（ｂ）に示すように、新たな「ｃ．溶接ロボット（Ｒ１〜Ｒ１０）毎の溶接箇所の実施順序」の溶接ロボット３０（Ｒ１）のタスクに新たなタスク（タスク番号１２とタスク番号１４）が追加され、溶接ロボット３０（Ｒ２）のタスクからタスク番号１２とタスク番号１４とが削除されるようにしている。
【００７４】
９．作業時間評価部１８
作業時間評価部１８は、タスク手順パターン作成部１２およびタスク再割付部１６において作成されたタスク手順パターン毎に、そのタスク手順パターンに基づく動作シミュレーションを行ってその作業時間を評価する。
【００７５】
１０．機械制御部２２
機械制御部２２は、タスク手順パターン抽出部１４から出力されたタスク手順パターンに基づいて、図２に示すようなマルチロボット溶接装置２４を制御する。
【００７６】
次に、以上のように構成した本発明の実施の形態に係るタスク割付方法を適用した制御装置の動作について図１１に示すフローチャートを用いて説明する。
【００７７】
溶接動作の作業経路の最適化を行うために、まず、溶接対象となるワーク４０の形状および寸法の情報、溶接作業情報に基づいて、各溶接動作毎に、溶接ロボット３０の姿勢ならびに溶接トーチ３４の先端位置情報と、溶接動作に必要な命令シーケンスとからなる溶接線情報がＣＡＤ／ＣＡＭシステム２において演算され、演算結果であるタスク情報がタスク情報記憶部４に記憶される（Ｓ１）。
【００７８】
そして、初期タスク割付部６によって、タスク情報記憶部４に記憶されたタスク情報に基づいて、各タスクが、当該タスクを実施可能な何れかの溶接ロボット３０（Ｒ１〜Ｒ１０）に割付けられる（Ｓ２）。
【００７９】
次に、タスク順序設定部８によって、各溶接ロボット３０に割付けられたタスクの、各溶接ロボット３０おける実施順序を定義した実施順序パターンが設定される（Ｓ３）。
【００８０】
更に、初期タスク手順パターン作成部１０によって、タスク情報記憶部４に記憶されたタスク情報と、タスク順序設定部８において定義された実施順序パターンとに基づいて、タスク手順を定義した初期タスク手順パターンが少なくとも１パターン作成され、その結果がタスク手順パターン作成部１２に出力される。これによって、溶接ロボット３０の台数、各溶接ロボット３０のタスク開始タイミング、各溶接ロボット３０のタスクの実施順序、溶接方向が数値的に定義される（Ｓ４）。
【００８１】
このように定義された初期タスク手順パターンは、タスク手順パターン作成部１２によって、そのタスク手順の一部が変化されることによって、新たなタスク手順パターンが第１の所定個数（ＮＣ１個）作成される（Ｓ５）。タスク手順の一部を変化させる方法としては、特願２０００−８５３８４号公報に開示されているように、遺伝的アルゴリズムを適用することによって、実施順序のタスク番号をランダムに交叉させたり、タスク番号をランダムに選択し、選択したタスク番号の溶接方向を逆方向にしたりすることにより行われる。
【００８２】
このようにしてタスク手順パターン作成部１２において作成された第１の所定個数（ＮＣ１個）のタスク手順パターンは、作業時間評価部１８によって、そのタスク手順パターン毎に動作シミュレーションが行われ、作業時間が評価される（Ｓ６）。
【００８３】
この第１の所定個数（ＮＣ１個）のタスク手順パターン毎の作業時間の評価結果は、タスク手順パターン抽出部１４によって、作業時間の短い順に並べ替えられ、作業時間の短い上位ＮＣ２個（第２の所定個数）（ＮＣ２＜ＮＣ１）のタスク手順パターンが抽出され、淘汰される。あるいは、作業時間の短いタスク手順パターンの抽出される確率がより高くなるような抽出パターンに基づいてＮＣ２個のタスク手順パターンを抽出され、淘汰される（Ｓ７）。
【００８４】
このように淘汰された第２の所定個数（ＮＣ２個）のタスク手順パターンに基づいて、交叉あるいは突然変異によって第１の所定個数（ＮＣ１個）のタスク手順パターンが作成される（Ｓ８）。交叉によって作成されるタスク手順パターンは、タスク手順パターン作成部１２によって、そのタスク手順の一部が変更されることによって、第３の所定個数（ＮＣ３個）作成される（Ｓ９ａ）。タスク手順の一部を変化させる方法としては、特願２０００−８５３８４号公報に開示されているように、遺伝的アルゴリズムを適用することによって、実施順序のタスク番号をランダムに交叉させたり、タスク番号をランダムに選択し、選択したタスク番号の溶接方向を逆方向にしたりすることにより行われる。
【００８５】
一方、突然変異によって作成されるタスク手順パターンは、第２の所定個数（ＮＣ２個）のタスク手順パターンに基づいて、タスク再割付部１８によって、例えば、その一例を図９および図１０に示すように、初期タスク割付部６によってタスクが割付けられた溶接ロボット３０から、任意数の溶接ロボット３０が選定され、この選定された溶接ロボット３０に割付られたタスクから任意数のタスクが選定される。そして、この選定されたタスクが、当該タスクを実施可能な別の溶接ロボット３０に割付けられることによって、新たなタスク手順パターンが第４の所定個数（ＮＣ４個）作成される（Ｓ９ｂ）。
【００８６】
この第３の所定個数（ＮＣ３個）と第４の所定個数（ＮＣ４個）との和は、第１の所定個数に等しい（ＮＣ１＝ＮＣ３＋ＮＣ４）。
【００８７】
このようにしてタスク手順パターン作成部１２によって作成された第３の所定個数（ＮＣ３個）のタスク手順パターン、およびタスク再割付部１８によって作成された第４の所定個数（ＮＣ４個）のタスク手順パターンは、それぞれ作業時間評価部１８によって、そのタスク手順パターン毎に動作シミュレーションが行われ、作業時間が評価される（Ｓ１０）。
【００８８】
そして、これら第１の所定個数（ＮＣ１＝ＮＣ３＋ＮＣ４）のタスク手順パターンの中に、作業時間が、所定の基準値（作業時間）を満足するタスク手順パターンがあった場合（Ｓ１１：Ｙｅｓ）には、タスク手順パターン抽出部１４によって、最終的なタスク手順パターンとして抽出され、機械制御部２２に出力される。そして、このタスク手順パターンにしたがって、機械制御部２２によってマルチロボット溶接装置２４が制御されることによって、各溶接ロボット３０が制御される（Ｓ１２）。
【００８９】
一方、これら第１の所定個数（ＮＣ１個）のタスク手順パターンの中に、作業時間が、所定の基準値を満足するものが無い場合（Ｓ１１：Ｎｏ）には、ステップＳ８に戻る。
【００９０】
そして、ステップＳ８からステップＳ１０までが繰り返し行われることによって、最終的に所定の基準値（作業時間）を満足するタスク手順パターンが得られ、ステップＳ１２で説明したように、このタスク手順パターンがタスク手順パターン抽出部１４から機械制御部２２に出力される。そして、このタスク手順パターンにしたがって、機械制御部２２によってマルチロボット溶接装置２４が制御されることによって、各溶接ロボット３０が制御される
上述したように、本発明の実施の形態に係るタスク割付方法を適用した制御装置においては、上記のような作用により、複数のタスクからなる溶接作業を複数の溶接ロボット３０によって実施する場合に、どのタスクをどの溶接ロボット３０に割付けるかのタスク割付を、遺伝的アルゴリズムを適用して求めることができる。
【００９１】
一般に、使用する溶接ロボット３０の数が多い場合、あるいは、自律走行型の溶接ロボット３０のように何れの溶接ロボット３０も全てのタスクを実行できるような場合には、最適なタスク手順パターンを演算によって求めるためには、パラメータが極めて多くなり、解を得ることが極めて困難であるか、あるいは解を得るために膨大な計算時間を要することが多い。しかしながら、遺伝的アルゴリズムを用いることによって、このような複雑な場合における最適化問題に対しても、比較的容易に解を得ることが可能となる。
【００９２】
更に、このようにして、各溶接ロボット３０に適切に割付けられたタスク、およびこのタスク割付けとともに得られたタスク手順パターンにしたがって各溶接ロボット３０を制御することによって、複数の溶接ロボット３０を効率的に制御して、溶接作業を実施させることが可能となる。
【００９３】
なお、本発明は上記実施の形態に限定されるものではなく、次のようにしても同様に実施できるものである。
【００９４】
すなわち、本発明の実施の形態では、複数の溶接ロボット３０によって行われるタスクからなる作業を対象にタスク割付方法を、また、この複数の溶接ロボット３０を制御する制御装置を例にそれぞれ説明したが、本発明は、溶接作業を対象としたタスク割付方法、および複数の溶接ロボットを制御する制御装置に、その用途が限定されるものではない。
【００９５】
例えば、一般的な組立作業、例えば材、仮付け、歪み取り、および一般的な加工作業である切断、孔明、切削、塗装等、あるいは部材のハンドリング作業、分解作業等の作業を対象としたタスク割付方法、およびこのタスク割付方法によって割付けられたタスクに基づいてこれらの作業を実施する複数の機械を制御する制御装置にも幅広く適用することが可能である。
【００９６】
以上、本発明の好適な実施の形態について、添付図面を参照しながら説明したが、本発明はかかる構成に限定されない。特許請求の範囲に記載された技術的思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の技術的範囲に属するものと了解される。
【００９７】
【発明の効果】
以上説明したように、本発明によれば、複数のタスクからなる作業を複数の機械によって実施する場合に、それぞれのタスクを何れかの機械に割付けるタスク割付を、遺伝的アルゴリズムを適用した演算によって求め、もって、タスクを各機械に適切に割付けることが可能なタスク割付方法を提供することができる。
【００９８】
また、本発明によれば、このタスク割付方法によってなされたタスク割付けに基づいた作業経路にしたがって、各機械を制御することによって、複数の機械を効率的に制御して、作業を実施させることが可能な制御装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るタスク割付方法を適用した制御装置の一例を示すシステム構成図
【図２】造船業において実用化されているマルチロボット溶接装置の一例を示す斜視図
【図３】マルチロボット溶接装置が溶接する対象となるワークの一例を示す平面図
【図４】マルチロボット溶接装置が溶接する対象となるワークの一例を示す平面図
【図５】各溶接ロボットと、各溶接ロボットに割付けられたタスクのタスク番号との関係を示す図
【図６】各溶接ロボットと、各溶接ロボットに割付けられたタスクの実施順序との関係を示す図
【図７】各溶接ロボット、各溶接ロボットの開始遅れ時間、タスクの実施順序、溶接方向の関係を示す図
【図８】初期タスク手順パターンを定義するデータ列の一例を示す図
【図９】タスク割付の変更方法を説明するための図
【図１０】タスク割付の変更方法を説明するための図
【図１１】本発明の実施の形態に係るタスク割付方法を適用した制御装置の動作を示すフローチャート
【符号の説明】
１…制御装置、
２…ＣＡＤ／ＣＡＭシステム、
４…タスク情報記憶部、
６…初期タスク割付部、
８…タスク順序設定部、
１０…初期タスク手順パターン作成部、
１２…タスク手順パターン作成部、
１４…タスク手順パターン抽出部、
１６…タスク再割付部、
１８…作業時間評価部、
２２…機械制御部、
２４…マルチロボット溶接装置、
３０…溶接ロボット、
３１、３２、３３…スライド機構、
３４…溶接トーチ、
４０…ワーク、
４１…開口部、
４２…パネル、
４３…取付部材、
５０…定盤、
５１…領域境界線、
５２…オーバーラップ領域。
【図１】
0004626043.tif 000002
【図２】
0004626043.tif 000003
【図３】
0004626043.tif 000004
【図４】
0004626043.tif 000005
【図５】
0004626043.tif 000006
【図６】
0004626043.tif 000007
【図７】
0004626043.tif 000008
【図８】
0004626043.tif 000009
【図９】
0004626043.tif 000010
【図１０】
0004626043.tif 000011
【図１１】
0004626043.tif 000012