(57)【要約】【課題】ワークに対して作業する複数のロボットの作業計画を、短時間で最適に作成する。【解決手段】少なくとも１つのステーションにおいて作業ツールを備える複数のロボットが分担してワークの複数の作業箇所に対する作業を実行するための作業計画を作成するロボットの作業計画作成方法は、ロボットそれぞれに対する作業箇所の配分を算出する作業配分算出工程と、作業配分算出工程において算出された作業配分に基づいて、ロボットそれぞれについて、ロボット動作としての作業箇所の作業順と作業ツールの移動パスとを算出するロボット動作算出工程と、ロボット動作算出工程において算出されたロボット動作の実行中にロボット間干渉が発生しないように、ロボットそれぞれについて、ワークに対する配置位置と配置されるステーションとを算出するロボット配置算出工程と、を含む。【選択図】図４
2020104239.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのステーションにおいて作業ツールをそれぞれ備える複数のロボットが分担してワークの複数の作業箇所に対する作業を実行するための作業計画を作成するロボットの作業計画作成方法であって、
前記作業箇所の位置および作業内容と前記ロボットそれぞれの作業能力とに基づいて、前記ロボットそれぞれに対する前記作業箇所の配分を算出する作業配分算出工程と、
前記作業配分算出工程において算出された作業配分に基づいて、前記ロボットそれぞれについて、ロボット動作としての前記作業箇所の作業順と前記作業ツールの移動パスとを算出するロボット動作算出工程と、
前記ロボット動作算出工程において算出されたロボット動作の実行中にロボット間干渉が発生しないように、前記ロボットそれぞれについて、前記ワークに対する配置位置と配置されるステーションとを算出するロボット配置算出工程と、を含むロボットの作業計画作成方法。
【請求項２】
前記ロボット配置算出工程において、前記ワークに対する配置位置が少なくとも部分的に重なり合う複数のロボットが存在する場合、当該複数のロボットを異なるステーションに配置する、請求項１に記載のロボットの作業計画作成方法。
【請求項３】
前記作業計画の実行時の前記ワークのサイクルタイムを算出し、前記サイクルタイムに基づいて作業計画の評価値を算出する作業計画評価工程を含む請求項１または２に記載のロボットの作業計画作成方法。
【請求項４】
前記作業計画評価工程において、前記サイクルタイムとステーション数とに基づいて作業計画の評価値を算出する、請求項３に記載のロボットの作業計画作成方法。
【請求項５】
前記作業計画評価工程において算出された評価値が所定のしきい値に比べて低い場合、少なくとも１つのロボットの少なくとも１つの作業箇所を当該作業箇所に対する作業が可能な他のロボットに再配分する作業配分変更工程を含み、
前記ロボット動作算出工程において、変更後の作業配分に基づいて、前記ロボットそれぞれの動作を算出する、請求項３または４に記載のロボットの作業計画作成方法。
【請求項６】
前記作業配分変更工程において、作業箇所が他のロボットに再配分されるロボットは、複数のロボットにおいて、配分された作業箇所全てに対する作業が終了するまでに要する作業時間が最大なロボットである、請求項５に記載のロボットの作業計画作成方法。
【請求項７】
前記ロボット配置算出工程において、前記ロボット間干渉の発生によって実施可能なロボット配置が存在しない場合、干渉し合うロボットの一方の動作を、他方のロボットが動作中は停止する、前記作業箇所の作業順を変更する、または前記作業ツールの移動パスを変更することによって当該干渉を回避する干渉回避可能動作に補正するロボット動作補正工程を含む、請求項１から６のいずれか一項に記載のロボットの作業計画作成方法。
【請求項８】
前記ロボット動作補正工程において前記作業箇所の作業順または前記作業ツールの移動パスが変更されるロボットは、前記干渉し合うロボットにおいて作業時間が短い方のロボットである、請求項７に記載のロボットの作業計画作成方法。
【請求項９】
前記ロボットが溶接ロボットであって、
前記作業ツールが溶接ガンである、請求項１から８のいずれか一項に記載のロボットの作業計画作成方法。
【請求項１０】
少なくとも１つのステーションにおいて作業ツールをそれぞれ備える複数のロボットが分担してワークの複数の作業箇所に対する作業を実行するための作業計画を作成するロボットの作業計画作成装置であって、
前記作業箇所の位置および作業内容と前記ロボットそれぞれの作業能力とに基づいて、前記ロボットそれぞれに対する前記作業箇所の配分を算出する作業配分算出部と、
前記作業配分算出部によって算出された作業配分に基づいて、前記ロボットそれぞれについて、ロボット動作としての前記作業箇所の作業順と前記作業ツールの移動パスとを算出するロボット動作算出部と、
前記ロボット動作算出部によって算出されたロボット動作の実行中にロボット間干渉が発生しないように、前記ロボットそれぞれについて、前記ワークに対する配置位置と配置されるステーションとを算出するロボット配置算出部と、を有するロボットの作業計画作成装置。
【請求項１１】
前記ロボット配置算出部は、前記ワークに対する配置位置が少なくとも部分的に重なり合う複数のロボットが存在する場合、当該複数のロボットを異なるステーションに配置する、請求項１０に記載のロボットの作業計画作成装置。
【請求項１２】
前記作業計画の実行時の前記ワークのサイクルタイムを算出し、前記サイクルタイムに基づいて作業計画の評価値を算出する作業計画評価部を有する請求項１０または１１に記載のロボットの作業計画作成装置。
【請求項１３】
前記作業計画評価部は、前記サイクルタイムとステーション数とに基づいて作業計画の評価値を算出する、請求項１２に記載のロボットの作業計画作成装置。
【請求項１４】
前記作業計画評価部によって算出された評価値が所定のしきい値に比べて低い場合、少なくとも１つのロボットの少なくとも１つの作業箇所を当該作業箇所に対する作業が可能な他のロボットに再配分する作業配分変更部を有し、
前記ロボット動作算出部は、変更後の作業配分に基づいて、前記ロボットそれぞれの動作を算出する、請求項１２または１３に記載のロボットの作業計画作成装置。
【請求項１５】
前記作業配分変更部によって作業箇所が他のロボットに再配分されるロボットは、複数のロボットにおいて作業時間が最大なロボットである、請求項１４に記載のロボットの作業計画作成装置。
【請求項１６】
前記ロボット配置算出部の算出結果として、前記ロボット間干渉の発生によって実施可能なロボット配置が存在しない場合、干渉し合うロボットの一方の動作を、他方のロボットが動作中は停止する、前記作業箇所の作業順を変更する、または前記作業ツールの移動パスを変更することによって当該干渉を回避する干渉回避可能動作に補正するロボット動作補正部を有する、請求項１０から１５のいずれか一項に記載のロボットの作業計画作成装置。
【請求項１７】
前記ロボット動作補正部によって前記作業箇所の作業順または前記作業ツールの移動パスが変更されるロボットは、前記干渉し合うロボットにおいて、配分された作業箇所全てに対する作業が終了するまでに要する作業時間が短い方のロボットである、請求項１６に記載のロボットの作業計画作成装置。
【請求項１８】
前記ロボットが溶接ロボットであって、
前記作業ツールが溶接ガンである、請求項１０から１７のいずれか一項に記載のロボットの作業計画作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のロボットの作業計画を作成する方法および装置に関する。
【背景技術】
【０００２】
生産ラインに含まれる複数のステーションにおいて複数のロボットが分担してワークの複数の作業箇所に対する作業を実行するための作業計画を、作成するための方法が知られている。例えば、特許文献１には、複数のロボットそれぞれが分担する作業箇所の決定と、ロボットそれぞれについての作業箇所に対して作業を行うための動作の決定とを短時間で実行するための作業計画作成方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−３９９０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された作業計画作成方法の場合、ワークに対するロボットの配置位置および複数のステーションそれぞれに配置されるロボットが予め決められている前提条件で、作業計画が作成される。そのため、作業計画を短時間で作成できるものの、その作業計画が生産ラインにとって最適であるとは限らない。
【０００５】
そこで、本発明は、複数のロボットに対する作業配分およびロボットそれぞれの動作のみならず、ワークに対するロボットそれぞれの配置位置およびロボットそれぞれが配置されるステーションの選定をも含み、省スペース（ステーション数が少ない）、サイクルタイムが短いなどの要求に応じたロボットの作業計画を、短時間で作成することを課題とする。
【課題を解決するための手段】
【０００６】
上記技術的課題を解決するために、本発明の一態様によれば、
少なくとも１つのステーションにおいて作業ツールをそれぞれ備える複数のロボットが分担してワークの複数の作業箇所に対する作業を実行するための作業計画を作成するロボットの作業計画作成方法であって、
前記作業箇所の位置および作業内容と前記ロボットそれぞれの作業能力とに基づいて、前記ロボットそれぞれに対する前記作業箇所の配分を算出する作業配分算出工程と、
前記作業配分算出工程において算出された作業配分に基づいて、前記ロボットそれぞれについて、ロボット動作としての前記作業箇所の作業順と前記作業ツールの移動パスとを算出するロボット動作算出工程と、
前記ロボット動作算出工程において算出されたロボット動作の実行中にロボット間干渉が発生しないように、前記ロボットそれぞれについて、前記ワークに対する配置位置と配置されるステーションとを算出するロボット配置算出工程と、を含むロボットの作業計画作成方法が提供される。
【０００７】
本発明の別の態様によれば、
少なくとも１つのステーションにおいて作業ツールをそれぞれ備える複数のロボットが分担してワークの複数の作業箇所に対する作業を実行するための作業計画を作成するロボットの作業計画作成装置であって、
前記作業箇所の位置および作業内容と前記ロボットそれぞれの作業能力とに基づいて、前記ロボットそれぞれに対する前記作業箇所の配分を算出する作業配分算出部と、
前記作業配分算出部によって算出された作業配分に基づいて、前記ロボットそれぞれについて、ロボット動作としての前記作業箇所の作業順と前記作業ツールの移動パスとを算出するロボット動作算出部と、
前記ロボット動作算出部によって算出されたロボット動作の実行中にロボット間干渉が発生しないように、前記ロボットそれぞれについて、前記ワークに対する配置位置と配置されるステーションとを算出するロボット配置算出部と、を有するロボットの作業計画作成装置が提供される。
【発明の効果】
【０００８】
本発明によれば、複数のロボットに対する作業配分およびロボットそれぞれの動作のみならず、ワークに対するロボットそれぞれの配置位置およびロボットそれぞれが配置されるステーションの選定をも含み、省スペース（ステーション数が少ない）、サイクルタイムが短いなどの要求に応じたロボットの作業計画を、短時間で作成することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施の形態に係るロボットの作業計画作成方法によって作成された作業計画が採用される一例の生産ラインを示す図
【図２】ワークの複数の作業箇所を示す図
【図３】作業計画作成装置の構成を示すブロック図
【図４】ロボットの作業計画の作成方法を示す一例のフローチャート図
【図５Ａ】あるロボットに配分された複数の作業箇所を示す図
【図５Ｂ】図５Ａに示す複数の作業箇所の作業順と作業ツールの移動パスを示す図
【図６】ロボット配置を示す図
【図７】ロボット間干渉を示す図
【図８Ａ】ロボット動作の補正の一例を示す図
【図８Ｂ】ロボット動作の補正の別例を示す図
【発明を実施するための形態】
【００１０】
本発明の一態様は、少なくとも１つのステーションにおいて作業ツールをそれぞれ備える複数のロボットが分担してワークの複数の作業箇所に対する作業を実行するための作業計画を作成するロボットの作業計画作成方法であって、前記作業箇所の位置および作業内容と前記ロボットそれぞれの作業能力とに基づいて、前記ロボットそれぞれに対する前記作業箇所の配分を算出する作業配分算出工程と、前記作業配分算出工程において算出された作業配分に基づいて、前記ロボットそれぞれについて、ロボット動作としての前記作業箇所の作業順と前記作業ツールの移動パスとを算出するロボット動作算出工程と、前記ロボット動作算出工程において算出されたロボット動作の実行中にロボット間干渉が発生しないように、前記ロボットそれぞれについて、前記ワークに対する配置位置と配置されるステーションとを算出するロボット配置算出工程と、を含む。
【００１１】
このような一態様によれば、複数のロボットに対する作業配分およびロボットそれぞれの動作のみならず、ワークに対するロボットそれぞれの配置位置およびロボットそれぞれが配置されるステーションの選定をも含み、省スペース（ステーション数が少ない）、サイクルタイムが短いなどの要求に応じたロボットの作業計画を、短時間で作成することができる。
【００１２】
例えば、前記ロボット配置算出工程において、前記ワークに対する配置位置が少なくとも部分的に重なり合う複数のロボットが存在する場合、当該複数のロボットを異なるステーションに配置してもよい。
【００１３】
例えば、ロボットの作業計画作成方法は、前記作業計画の実行時の前記ワークのサイクルタイムを算出し、前記サイクルタイムに基づいて作業計画の評価値を算出する作業計画評価工程を含んでもよい。
【００１４】
例えば、前記作業計画評価工程において、前記サイクルタイムとステーション数とに基づいて作業計画の評価値を算出してもよい。
【００１５】
例えば、ロボットの作業計画作成方法は、前記作業計画評価工程において算出された評価値が所定のしきい値に比べて低い場合、少なくとも１つのロボットの少なくとも１つの作業箇所を当該作業箇所に対する作業が可能な他のロボットに再配分する作業配分変更工程を含んでもよい。その場合、前記ロボット動作算出工程において、変更後の作業配分に基づいて、前記ロボットそれぞれの動作が算出される。
【００１６】
例えば、前記作業配分変更工程において、作業箇所が他のロボットに再配分されるロボットは、複数のロボットにおいて、配分された作業箇所全てに対する作業が終了するまでに要する作業時間が最大なロボットであってもよい。
【００１７】
例えば、ロボットの作業計画作成方法は、前記ロボット配置算出工程において、前記ロボット間干渉の発生によって実施可能なロボット配置が存在しない場合、干渉し合うロボットの一方の動作を、他方のロボットが動作中は停止する、前記作業箇所の作業順を変更する、または前記作業ツールの移動パスを変更することによって当該干渉を回避する干渉回避可能動作に補正するロボット動作補正工程を含んでもよい。
【００１８】
例えば、前記ロボット動作補正工程において前記作業箇所の作業順または前記作業ツールの移動パスが変更されるロボットは、前記干渉し合うロボットにおいて作業時間が短い方のロボットであってもよい。
【００１９】
本発明の別の態様は、少なくとも１つのステーションにおいて作業ツールをそれぞれ備える複数のロボットが分担してワークの複数の作業箇所に対する作業を実行するための作業計画を作成するロボットの作業計画作成装置であって、前記作業箇所の位置および作業内容と前記ロボットそれぞれの作業能力とに基づいて、前記ロボットそれぞれに対する前記作業箇所の配分を算出する作業配分算出部と、前記作業配分算出部によって算出された作業配分に基づいて、前記ロボットそれぞれについて、ロボット動作としての前記作業箇所の作業順と前記作業ツールの移動パスとを算出するロボット動作算出部と、前記ロボット動作算出部によって算出されたロボット動作の実行中にロボット間干渉が発生しないように、前記ロボットそれぞれについて、前記ワークに対する配置位置と配置されるステーションとを算出するロボット配置算出部と、を有する。
【００２０】
このような別の態様によれば、複数のロボットに対する作業配分およびロボットそれぞれの動作のみならず、ワークに対するロボットそれぞれの配置位置およびロボットそれぞれが配置されるステーションの選定をも含み、省スペース（ステーション数が少ない）、サイクルタイムが短いなどの要求に応じたロボットの作業計画を、短時間で作成することができる。
【００２１】
例えば、前記ロボット配置算出部は、前記ワークに対する配置位置が少なくとも部分的に重なり合う複数のロボットが存在する場合、当該複数のロボットを異なるステーションに配置してもよい。
【００２２】
例えば、ロボットの作業計画作成装置は、前記作業計画の実行時の前記ワークのサイクルタイムを算出し、前記サイクルタイムに基づいて作業計画の評価値を算出する作業計画評価部を有してもよい。
【００２３】
例えば、前記作業計画評価部は、前記サイクルタイムとステーション数とに基づいて作業計画の評価値を算出してもよい。
【００２４】
例えば、ロボットの作業計画作成装置は、前記作業計画評価部によって算出された評価値が所定のしきい値に比べて低い場合、少なくとも１つのロボットの少なくとも１つの作業箇所を当該作業箇所に対する作業が可能な他のロボットに再配分する作業配分変更部を有してもよい。この場合、前記ロボット動作算出部は、変更後の作業配分に基づいて、前記ロボットそれぞれの動作を算出する。
【００２５】
例えば、前記作業配分変更部によって作業箇所が他のロボットに再配分されるロボットは、複数のロボットにおいて、配分された作業箇所全てに対する作業が終了するまでに要する作業時間が最大なロボットであってもよい。
【００２６】
例えば、ロボットの作業計画作成装置は、前記ロボット配置算出部の算出結果として、前記ロボット間干渉の発生によって実施可能なロボット配置が存在しない場合、干渉し合うロボットの一方の動作を、他方のロボットが動作中は停止する、前記作業箇所の作業順を変更する、または前記作業ツールの移動パスを変更することによって当該干渉を回避する干渉回避可能動作に補正するロボット動作補正部を有してもよい。
【００２７】
例えば、前記ロボット動作補正部によって前記作業箇所の作業順または前記作業ツールの移動パスが変更されるロボットは、前記干渉し合うロボットにおいて作業時間が短い方のロボットであってもよい。
【００２８】
例えば、前記ロボットが溶接ロボットであって、前記作業ツールが溶接ガンであってもよい。
【００２９】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００３０】
図１は、本発明の一実施の形態に係るロボットの作業計画作成方法によって作成された作業計画が採用される一例の生産ラインを示している。
【００３１】
図１に一例として示す生産ラインＰＬは、自動車のボディであるワークＷに対して溶接作業を実行する複数のロボットＲ１〜Ｒ１４を含んでいる。また、生産ラインＰＬは、３つのステーションＳ１〜Ｓ３から構成されている。ステーションＳ１〜Ｓ３は、ワークＷに対する作業が実行される場所であって、ステーションＳ１での全作業が完了すると、ワークＷは、ステーションＳ２に搬送されてそこで作業が実行される。ステーションＳ２での全作業が完了すると、ワークＷは、ステーションＳ３に搬送されてそこで作業が実行される。ステーションＳ３での全作業が完了すると、生産ラインＰＬでの全作業が完了し、ワークＷは、別の生産ラインなどの別の場所に搬送される。
【００３２】
本実施の形態の場合、複数のロボットＲ１〜Ｒ１４は、多関節型の溶接ロボットであって、その先端にクランプ式の溶接ガンである作業ツールＴを搭載している。なお、ロボットＲ１〜Ｒ１４それぞれは、同一の作業能力（例えば、作業可能範囲、搭載可能な溶接ガン重量など）であってもよく、異なる作業能力であってもよい。
【００３３】
複数のロボットＲ１〜Ｒ１４それぞれは、図２に示すように、ワークＷの複数の作業箇所ＷＰ（溶接箇所）に対して分担して作業（溶接作業）を実行する。そのためには、ロボットの作業計画として、ロボットＲ１〜Ｒ１４それぞれに対する作業箇所ＷＰの配分（作業配分）と、ロボットＲ１〜Ｒ１４それぞれについての作業箇所ＷＰに対して作業を実行するため動作（ロボット動作）と、ワークＷに対するロボットＲ１〜Ｒ１４それぞれの配置位置およびステーションＳ１〜Ｓ３それぞれに配置するロボット（ロボット配置）とを決定する必要がある。すなわち、作業計画には、作業配分と、ロボット動作と、ロボット配置とが含まれている。
【００３４】
本実施の形態の場合、作業配分、ロボット動作、およびロボット配置、すなわち作業計画は、作業計画作成装置を用いて作成される。
【００３５】
図３は、作業計画作成装置の構成を示すブロック図である。
【００３６】
図３に示す作業計画作成装置１０は、演算装置２０と、入力デバイス４０と、出力デバイス５０とを有する。
【００３７】
作業計画作成装置１０における演算装置２０は、作業配分算出部２２、ロボット動作算出部２４、ロボット配置算出部２６、作業計画評価部２８、ロボット動作補正部３０、作業配分変更部３２、および記憶部３４を有する。この作業計画作成装置１０は、例えば、ＣＰＵなどのプロセッサと、プログラム（作業計画作成プログラム）を記憶するメモリなどの記憶装置とを備えるコンピュータである。プログラムにしたがってプロセッサが駆動することにより、そのプロセッサが、作業配分算出部２２、ロボット動作算出部２４、ロボット配置算出部２６、作業計画評価部２８、ロボット動作補正部３０、および作業配分変更部３２として機能する。
【００３８】
入力デバイス４０は、マウスやキーボードなどの入力デバイスであって、ユーザの指示を演算装置２０に送信する。出力デバイス５０は、ディスプレイやプリンタなどの出力デバイスであって、演算装置２０によって作成された作業計画をユーザに対して出力する。
【００３９】
ここからは、作業計画作成装置１０によって実行されるロボットの作業計画作成方法について、図４を参照しながら説明する。
【００４０】
図４は、ロボットの作業計画の作成方法を示す一例のフローチャートを示している。
【００４１】
まず、最初のステップＳ１００として、作業計画作成装置１０は、ワークＷのデータ（ワークデータ）ＷＤと、ロボットＲ１〜Ｒ１４のデータ（ロボットデータ）ＲＤと、ステーションＳ１〜Ｓ３のデータ（ステーションデータ）ＳＤとを、ユーザから取得する。例えば、入力デバイス４０の入力を介して、記録媒体を介して、または通信を介して、これらのデータを取得する。
【００４２】
ワークデータＷＤは、ワークＷにおける複数の作業箇所ＷＰそれぞれの位置情報（例えば座標）、作業箇所ＷＰそれぞれに実行される作業内容情報（例えば溶接作業に必要な板厚情報など）などを含んでいる。
【００４３】
ロボットデータＲＤは、ロボットの総数（上限数）、複数のロボットＲ１〜Ｒ１４それぞれの作業能力についての情報、例えば作業可能範囲、搭載可能な作業ツールＴの種類（すなわち可能な作業）などの情報を含んでいる。
【００４４】
ステーションデータＳＤは、ステーションの総数（上限数）、ステーションＳ１〜Ｓ３それぞれのサイズ（すなわちロボットの設置エリアの大きさ）などの情報を含んでいる。ステーションの総数や個々のサイズは、生産ラインＰＬの規模や生産ラインＰＬが敷設される工場の大きさによって決まる。
【００４５】
次のステップＳ１１０において、演算装置２０の作業配分算出部２２が、複数のロボットＲ１〜Ｒ１４それぞれに対するワークＷの作業箇所ＷＰの配分（作業配分）を算出（決定）する。
【００４６】
具体的には、作業配分算出部２２は、ワークＷの複数の作業箇所ＷＰを、作業箇所ＷＰの位置および作業内容（ワークデータＷＤ内の情報）とロボットＲ１〜Ｒ１４それぞれの作業能力（ロボットデータＲＤ内の情報）とに基づいて、ロボットＲ１〜Ｒ１４それぞれに作業箇所ＷＰを配分する。すなわち、作業可能な作業箇所をロボットそれぞれに配分する。
【００４７】
例えば、ワークデータＷＤ内の作業箇所ＷＰの位置情報と作業内容情報とに基づいて、ロボットＲ１の作業可能範囲に含まれることが可能であって、且つそのロボットＲ１の作業ツールＴが作業可能な作業箇所ＷＰが、そのロボットＲ１に配分される。好ましくは、ロボットＲ１の作業ツールＴの移動パスが短くなるように、互いに位置が近い一群の作業箇所ＷＰが、そのロボットＲ１に配分される。また、ロボットＲ１〜Ｒ１４それぞれに配分された作業箇所の数に大きな差がないように、例えば可能な限り等しくなるように作業配分が行われる。
【００４８】
本実施の形態の場合、ロボットＲ１〜Ｒ１４に搭載された作業ツールＴがクランプ式の溶接ガンであるため、板厚やクランプ方向を考慮して、作業箇所ＷＰが配分される。
【００４９】
なお、ロボットの作業計画の作成にあたってそのロボットが複数種の作業ツールを持ち替えることが許容されている場合、ロボットが複数種の作業ツールを持ち替えることを前提で、ロボットそれぞれに対する作業箇所の配分を算出していてもよい。複数種の作業ツールを持ち替えることによってロボットの作業能力が向上する。それにより、作業箇所をロボットに配分するときに、ロボットの選択肢が増加する。
【００５０】
また、ロボットに対して複数の作業箇所が配分された場合、それらの作業箇所に対して作業可能なワークに対するロボット配置位置が複数存在することがある。複数のロボット配置位置の中から１つの配置位置を選択することは、後工程で行われる。
【００５１】
ロボットＲ１〜Ｒ１４それぞれに対する複数の作業箇所ＷＰの配分が終了する（作業配分が終了する）と、続くステップＳ１２０において、演算装置２０のロボット動作算出部２４が、ロボット動作、すなわちロボットＲ１〜Ｒ１４それぞれの動作を算出する。
【００５２】
図５Ａは、あるロボットに配分された複数の作業箇所を示している。また、図５Ｂは、図５Ａに示す複数の作業箇所の作業順と作業ツールの移動パスを示している。
【００５３】
図５Ａに示すように、例えば、ロボットＲ１に対して複数の作業箇所ＷＰ１〜ＷＰ６が作業配分算出部２２によって配分されている。この場合、ロボット動作算出部２４は、所定の条件に基づいて、ロボットＲ１の動作を算出する。例えば、１つのワークＷにおける複数の作業箇所ＷＰ１〜ＷＰ６全てに対する作業が終了するまでに要する作業時間が最小になるように、ロボットＲ１の動作を算出する。具体的には、ロボットＲ１の動作として、複数の作業箇所ＷＰ１〜ＷＰ６の作業順と作業ツールＴの移動パスＭＰとを算出する。なお、ここで言う作業時間には、作業ツールＴの待機位置ＳＰ／ＥＰから最初に作業される作業箇所までの移動時間、作業箇所間の移動時間、および最後に作業された作業箇所から待機位置ＳＰ／ＥＰまでの移動時間が含まれる。作業開始時の待機位置ＳＰと作業終了後の待機位置ＥＰは異なる位置であってもよい。また、作業時間は、最初の作業箇所から作業終了後の待機位置までの時間であってもよい。
【００５４】
例えば、図５Ｂに示すように、ロボット動作算出部２４は、作業箇所の作業順として、ＷＰ２→ＷＰ５→ＷＰ６→ＷＰ４→ＷＰ３→ＷＰ１を算出し、この順番で作業ツールＴが複数の作業箇所ＷＰ１〜ＷＰ６を移動する移動パスＭＰを算出する。
【００５５】
なお、図５Ｂにおいては、作業箇所間の移動パスＭＰの部分は直線であるが、ロボットの構造上および／またはワークＷとの干渉を回避するために、曲線の場合もありうる。
【００５６】
また、このようなロボットそれぞれの動作の算出は、他のロボットの動作を考慮せずに、すなわち他のロボットとの干渉を考慮せずに個別に実行される。そのため、ロボットそれぞれの動作全ての算出に要する時間は、短くて済む。ロボット間干渉は、後工程で考慮される。
【００５７】
さらに、配分された作業箇所に対して作業可能なワークに対するロボット配置位置が複数存在するロボットの場合、それぞれのロボット配置位置での動作が算出される。
【００５８】
ロボットＲ１〜Ｒ１４それぞれの動作の算出が終了する（ロボット動作の算出が終了する）と、続くステップＳ１３０において、演算装置２０のロボット配置算出部２６が、ロボット配置を算出する。
【００５９】
具体的には、ロボット配置算出部２６は、ステップＳ１１０で算出されたロボット動作の実行中にロボット間干渉が発生しないように、ロボット配置として、ロボットＲ１〜Ｒ１４それぞれについて、ワークＷに対する配置位置と、配置されるステーションＳ１〜Ｓ３とを算出（決定）する。
【００６０】
図６は、ロボット配置を示す図である。
【００６１】
図６に示すように、複数のロボットＲ１〜Ｒ１４それぞれは、ワークＷに対する配置位置が算出（決定）されるとともに、配置されるステーションも算出（決定）される。
【００６２】
まず、複数のロボットＲ１〜Ｒ１４それぞれについて、ステップＳ１２０でロボット動作算出部２４によって算出された動作をロボットＲ１〜Ｒ１４それぞれが行ったときにロボット同士の接触（ロボット間干渉）が生じない、ワークＷに対する配置位置が決定される。
【００６３】
例えば、配分された作業箇所に対して作業可能なワークに対するロボット配置位置が複数存在するロボットの場合、その複数の中から、ロボット間干渉が発生しない配置位置が決定される。
【００６４】
また例えば、図６に示すステーション２に配置されたロボットＲ７とステーションＳ３に配置されたロボットＲ１１のように、ワークに対する配置位置が互いに近いためにロボット間干渉が発生しうる複数のロボットは異なるステーションに配置される。
【００６５】
さらに例えば、ワークＷに対する配置位置が少なくとも部分的に重なり合う複数のロボットが存在する場合がある。例えば、図６に示すように、ロボットＲ５とロボットＲ１０は、ワークＷに対する配置位置は同一である。また、ロボットＲ８とロボットＲ１２は、ワークＷに対する配置位置は同一である。この場合、同一のステーションに配置不可能であるため、図６に示すように、ロボットＲ１０は、ロボットＲ５が配置されたステーションＳ２と異なるステーションＳ３に配置される。同様に、ロボットＲ１２は、ロボットＲ８が配置されたステーションＳ２と異なるステーションＳ３に配置される。
【００６６】
すなわち、ロボット間干渉が発生しうる場合、またはワークに対する配置位置が少なくとも重なり合うロボットが存在する場合、これらを解消するために、ステーションの数が増加する。
【００６７】
このようなロボット配置算出部２６のロボット配置の算出結果として、複数のロボット配置が算出される場合がある。あるいは、実施可能なロボット配置が存在しない場合がある。
【００６８】
そのため、まず、ステップＳ１４０において、演算装置２０は、ロボット配置算出部２６の算出結果として、実施可能なロボット配置が存在するか否かを判定する。実施可能なロボット配置が存在する場合には、ステップＳ１５０に進む。実施可能なロボット配置が存在しない場合には、ステップＳ１８０に進む。
【００６９】
ステップＳ１５０において、演算装置２０の作業計画評価部２８は、作業計画を評価し、その評価結果をデータとして記憶部３４に保存する。すなわち、ステップＳ１１０で作業配分算出部２２によって算出された作業配分、ステップＳ１２０でロボット動作算出部２４によって算出されたロボット動作、およびステップＳ１３０でロボット配置算出部２６によって算出されたロボット配置を含む作業計画を、作業計画評価部２８は評価する。具体的には、作業計画評価部２８は、作業計画の評価値を算出して保存する。
【００７０】
例えば、作業計画の評価値は、その作業計画の実行時のワークＷのサイクルタイム（ワークＷの複数の作業箇所全てに対する作業を完了するために必要な時間）に基づいて算出される。サイクルタイムが短いほど、高い評価値を作業計画評価部２８は算出する。
【００７１】
それに加えてまたは代わりとして、作業計画評価部２８は、ステーション数に基づいて、作業計画を評価してもよい。この場合、ステーション数が少ないほど、作業計画評価部２８は高い評価値を算出する。なお、サイクルタイムとステーション数の両方を評価基準として評価する場合、サイクルタイムとステーション数のいずれか一方を重み付けして評価値を算出してもよい。また、作業計画評価部２８は、複数の作業計画が存在する場合（すなわちロボット配置算出部２６の算出結果として複数のロボット配置が算出されている場合）には、それぞれの作業計画について評価値を算出する。
【００７２】
作業計画評価部２８が作業計画を評価するにあたって採用する評価基準（サイクルタイム）などを、ユーザが設定できるようにしてもよい。この場合、ユーザが所望する作業計画に近い作業計画ほど、作業計画評価部２８は高い評価をつける。
【００７３】
ステップＳ１６０において、演算装置２０は、作業計画評価部２８によって算出された作業計画の評価値が所定のしきい値以上であるか否かを判定する。所定のしきい値は、ユーザが作業計画について満足するか否かのしきい値である。この所定のしきい値は、ユーザによって設定されてもよい。評価値が所定のしきい値以上である場合、ステップＳ１７０に進む。そうでない場合、ステップＳ２００に進む。なお、ステップ１６０の判定処理を何回繰り返しても作業計画の評価値が所定のしきい値以上であると判定されない可能性がある。このことを考慮し、このステップＳ１６０の判定処理の回数が所定の繰り返し数を超えた場合、その旨をユーザに通知して作業計画の作成を終了してもよい。
【００７４】
ステップＳ１７０において、演算装置２０は、評価値が所定のしきい値以上である作業計画を確定し、その確定した作業計画を出力デバイス５０を介してユーザに出力する。なお、複数の作業計画についての評価結果（評価値）が記憶部３４に保存されており、その中に評価値が所定のしきい値以上である作業計画が複数存在する場合、評価値が最も高い作業計画が確定されてユーザに出力される。
【００７５】
一方、ステップＳ１４０で実施可能なロボット配置が存在しないと判定された場合、ステップＳ１８０において、演算装置２０は、実施可能なロボット配置が存在しない原因がロボット間干渉の発生であるか否かを判定する。ロボット間干渉の発生が実施可能なロボット配置が存在しない原因である場合にはステップＳ１９０に進む。そうでない場合、ステップＳ２００に進む。
【００７６】
ステップＳ１９０において、演算装置２０のロボット動作補正部３０が、干渉し合うロボットの一方の動作を、干渉の発生が回避できる動作（干渉回避可能動作）に補正する。
【００７７】
図７は、ロボット間干渉の一例を示している。
【００７８】
ここでは、ロボットＲ５とロボットＲ６との間で、動作中に干渉が発生する場合を例に挙げる。図７は、ロボットＲ５についての作業箇所ＷＰ７〜ＷＰ１２と、作業ツールＴの移動パスＭＰを示している。ここでは、作業箇所ＷＰ１２から作業箇所ＷＰ１０に向かって移動中のロボットＲ５の作業ツールＴが、他のロボットＲ６に接触するロボット間干渉が発生している。
【００７９】
このような作業箇所ＷＰ１２と作業箇所ＷＰ１０との間でのロボット間干渉の発生を回避するために、ロボット動作補正部３０は、ロボットＲ５の動作を補正する。
【００８０】
図８Ａは、ロボット動作の補正の一例を示している。また、図８Ｂは、ロボット動作の補正の別例を示している。
【００８１】
図８Ａに示すように、ロボット動作補正部３０は、作業箇所ＷＰ１２と作業箇所ＷＰ１０との間でのロボット間干渉の発生を回避するために、ロボットＲ５について、複数の作業箇所ＷＰ７〜ＷＰ１２の作業順を変更する。これにより、ロボットＲ５の作業ツールＴの移動パスＭＰが変更され、その結果として、作業箇所ＷＰ１２と作業箇所ＷＰ１０との間で発生するロボット間干渉の発生を回避することができる。
【００８２】
または、図８Ｂに示すように、ロボット動作補正部３０は、作業箇所ＷＰ１２と作業箇所ＷＰ１０との間でのロボット間干渉の発生を回避するために、ロボットＲ５について、作業箇所ＷＰ１２と作業箇所ＷＰ１０との間の移動パスＭＰの部分を、ロボット間干渉が発生する位置を迂回することができる迂回パスＢＰに変更する。これにより、作業箇所ＷＰ１２と作業箇所ＷＰ１０との間で発生するロボット間干渉の発生を回避することができる。
【００８３】
あるいは、ロボット動作補正部３０は、作業箇所ＷＰ１２と作業箇所ＷＰ１０との間でのロボット間干渉の発生を回避するために、ロボットＲ５またはロボットＲ６の一方の動作を、他方のロボットが動作中は停止させる。具体的には、一方のロボットが干渉位置を通過するまで、他方のロボットが干渉位置と異なる位置で一時的に停止する。これにより、作業箇所ＷＰ１２と作業箇所ＷＰ１０との間で発生するロボット間干渉の発生を回避することができる。
【００８４】
なお、ロボット動作補正部３０は、作業箇所ＷＰ１２と作業箇所ＷＰ１０との間で発生するロボット間干渉の発生を回避できるのであれば、複数の作業箇所の作業順を逆転してもよい。この場合、動作を補正する前の作業時間と動作を補正した後の作業時間は、ほとんど変わらない。
【００８５】
また、干渉し合うロボットにおいて、干渉の発生を回避するために動作を補正されるロボットは、いずれか一方であってもよいし、両方であってもよい。いずれか一方の動作を補正する場合、動作が補正されるロボットは、作業時間が短い方のロボットが好ましい。これは、動作の補正によってそのロボットの作業時間が延びる可能性があるからである。そのため、作業時間が長い方のロボットの動作を補正すると、そのロボットが最も長い作業時間を要するロボットである場合、ワークのサイクルタイムが延びる可能性がある。
【００８６】
このようなロボット動作補正部３０による干渉し合うロボットの動作の補正が終了すると、ステップＳ１５０に進み、ロボット間干渉の発生が回避されたロボット配置を含む作業計画の評価値が算出される。
【００８７】
一方、ステップＳ１８０で実施可能なロボット配置が存在しない原因がロボット間干渉の発生ではないと判定された場合、または、ステップＳ１６０で評価値が所定のしきい値以上の作業計画が存在しないと判定された場合、ステップＳ２００において、演算装置２０の作業配分変更部３２は、複数のロボットＲ１〜Ｒ１４それぞれに配分された複数の作業箇所ＷＰを変更する（作業配分を変更する）。
【００８８】
なお、補足として、実施可能なロボット配置が存在しない原因がロボット間干渉の発生でない場合の一例を挙げる。例えば、ワークＷに対する配置位置が少なくとも部分的に重なり合うロボットが４つ存在し、ステーション数の上限が３つである場合、これらの条件を満足するロボット配置は存在しない。
【００８９】
具体的には、ステップＳ２００において、作業配分変更部３２は、ステップＳ１１０で作業配分算出部２２によって算出された作業配分では実施可能なロボット配置が存在しないまたは評価値が所定値以上の作業計画が存在しないので、ステップＳ１１０で算出された作業配分を変更する。
【００９０】
作業配分変更部３２は、これまでに計算された作業配分のいずれかにおいて、少なくとも１つのロボットの少なくとも１つの作業箇所を当該作業箇所に対する作業が可能な他のロボットに再配分することにより、作業配分を変更する。
【００９１】
なお、作業配分変更部３２は、複数のロボットＲ１〜Ｒ１４において、作業時間が最大なロボットに配分されている少なくとも１つの作業箇所を他のロボットに配分するのが好ましい。一方、作業箇所を配分される側のロボットは、可能であれば相対的に作業時間が短いロボットであるのが好ましい。あるいは、作業時間が最大なロボットに配分されている少なくとも１つの作業箇所と、他のロボットに配分されている少なくとも１つの作業箇所を交換してもよい。これにより、ワークＷのサイクルタイムを短くすることができる。
【００９２】
ステップＳ２００での作業配分変更部３２による作業配分の変更が終了すると、ステップＳ１２０に戻り、ロボット動作算出部２４が、変更された作業配分に基づいて、複数のロボットＲ１〜Ｒ１４それぞれの動作を算出する。
【００９３】
このような図４に示すロボットの作業計画作成方法により、ワークの複数の作業箇所に対する作業を実行するための複数のロボットの作業計画が作成される。
【００９４】
以上のような本実施の形態によれば、複数のロボットに対する作業配分およびロボットそれぞれの動作のみならず、ワークに対するロボットそれぞれの配置位置およびロボットそれぞれが配置されるステーションの選定をも含み、省スペース（ステーション数が少ない）、サイクルタイムが短いなどの要求に応じたロボットの作業計画を、短時間で作成することができる。
【００９５】
具体的には、複数のロボットに対する作業配分およびロボットそれぞれの動作のみならず、ワークに対するロボットそれぞれの配置位置やロボットそれぞれが配置されるステーションについても考慮に入れた作業計画が作成される。その結果、少なくとも１つのステーションを含む生産ラインに対してより最適な作業計画を作成することができる。
【００９６】
また、複数のロボットに対するワークの複数の作業箇所の配分（作業配分）がワークに対するロボットそれぞれの配置位置を考慮に入れずに、ロボットそれぞれの作業能力に基づいて算出される。その結果、作業配分を短時間で算出することができる。
【００９７】
さらに、先に算出（決定）された作業配分に基づいて（作業配分を固定条件として）、ロボットそれぞれの動作の算出が、他のロボットとの干渉を考慮に入れずに個別に行われる。その結果、ロボットそれぞれの動作を短時間で算出することができる。
【００９８】
そして、先に算出（決定）されたロボットそれぞれの動作に基づいて（ロボット動作を固定条件として）、ロボット間干渉が発生しないように、ロボットそれぞれについてワークに対する配置位置と配置されるステーションが算出される。
【００９９】
これらの結果、複数のロボットの作業計画を短時間で作成することができる。
【０１００】
なお、最終的にユーザが満足できる作業計画が算出されない場合がありうる。その場合、ユーザが、作業計画の算出に必要な前提条件であるロボットの台数を変更し（ロボットデータＲＤ内のロボットの総数情報を更新し）、その変更したロボット台数に基づいて作業計画作成装置１０が作業計画を算出する。これにより、ユーザが満足する作業計画を算出することが可能になる。すなわち、ユーザは、ロボットの台数も考慮に入れて作業計画を検討することが可能になる。
【０１０１】
以上、上述の実施の形態を挙げて本発明を説明したが、本発明の実施の形態はこれに限らない。
【０１０２】
例えば、上述の実施の形態の場合、図１に示すように、ワークが自動車のボディであって、ワークの複数の作業箇所が溶接箇所であるが（ロボットが溶接ロボットであって且つ作業ツールが溶接ガンであるが）、本発明の実施の形態はこれに限らない。例えば、ロボットがワークに対してする作業は、塗装、組み立て、切断などであってもよい。
【産業上の利用可能性】
【０１０３】
本発明は、作業ツールをそれぞれ備える複数のロボットが分担してワークの複数の作業箇所に対する作業を実行するための作業計画の立案に適用可能である。
【符号の説明】
【０１０４】
１０      作業計画作成装置
２２      作業配分算出部
２４      ロボット動作算出部
２６      ロボット配置算出部
２８      作業計画評価部
３０      ロボット動作補正部
３２      作業配分変更部
Ｒ１〜Ｒ１４  ロボット
Ｔ        作業ツール
Ｗ        ワーク
ＷＰ      作業箇所
【図１】
2020104239.tif 000003
【図２】
2020104239.tif 000004
【図３】
2020104239.tif 000005
【図４】
2020104239.tif 000006
【図５Ａ】
2020104239.tif 000007
【図５Ｂ】
2020104239.tif 000008
【図６】
2020104239.tif 000009
【図７】
2020104239.tif 000010
【図８Ａ】
2020104239.tif 000011
【図８Ｂ】
2020104239.tif 000012