(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-17
(45)【発行日】2022-11-28
(54)【発明の名称】ロボットの作業計画作成方法および作業計画作成装置
(51)【国際特許分類】
B25J 9/16 20060101AFI20221118BHJP
G05B 19/18 20060101ALI20221118BHJP
【FI】
B25J9/16
G05B19/18 C
(21)【出願番号】P 2018247912
(22)【出願日】2018-12-28
【審査請求日】2021-11-17
(73)【特許権者】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】100145403
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100132241
【氏名又は名称】岡部 博史
(72)【発明者】
【氏名】正岡 孝一
(72)【発明者】
【氏名】淺津 翔太
(72)【発明者】
【氏名】森石 寛之
(72)【発明者】
【氏名】佐久間 智也
(72)【発明者】
【氏名】羽柴 勇児
(72)【発明者】
【氏名】藤森 潤
(72)【発明者】
【氏名】成相 一志
(72)【発明者】
【氏名】福原 一美
【審査官】松浦 陽
(56)【参考文献】
【文献】特開2000-141183(JP,A)
【文献】特開2003-145276(JP,A)
【文献】特開2018-026071(JP,A)
【文献】特開平11-347984(JP,A)
【文献】特開2000-141177(JP,A)
【文献】特開昭59-231601(JP,A)
【文献】特開2018-026070(JP,A)
【文献】特開2003-117864(JP,A)
【文献】特開平10-039909(JP,A)
【文献】特開2018-020413(JP,A)
【文献】特開2012-200779(JP,A)
【文献】米国特許出願公開第2017/0210008(US,A1)
【文献】特開2000-141178(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
G05B 19/18 - 19/416
(57)【特許請求の範囲】
【請求項1】
複数のステーションにおいて作業ツールをそれぞれ備える複数のロボットが分担してワークの複数の作業箇所に対する作業を実行するための作業計画を作成するロボットの作業計画作成方法であって、
ユーザから前記ロボットの総数と前記ステーションの総数の情報を取得する工程と、
前記作業箇所の位置および作業内容と前記ロボットそれぞれの作業能力とに基づいて、前記ロボットそれぞれに対する前記作業箇所の配分を算出する作業配分算出工程と、
前記作業配分算出工程において算出された作業配分に基づいて、前記ロボットそれぞれについて、ロボット動作としての前記作業箇所の作業順と前記作業ツールの移動パスとを算出するロボット動作算出工程と、
前記ロボット動作算出工程において算出されたロボット動作の実行中にロボット間干渉が発生しないように、前記ロボットそれぞれについて、前記ワークに対する配置位置と配置されるステーションとを算出するロボット配置算出工程と、を含
み、
前記ロボット配置算出工程において、前記ワークに対する配置位置が少なくとも部分的に重なり合う複数のロボットが存在する場合、当該複数のロボットを異なるステーションに配置するロボットの作業計画作成方法。
【請求項2】
前記作業計画の実行時の前記ワークのサイクルタイムを算出し、前記サイクルタイムに基づいて作業計画の評価値を算出する作業計画評価工程を含む請求項
1に記載のロボットの作業計画作成方法。
【請求項3】
前記作業計画評価工程において、前記サイクルタイムとステーション数とに基づいて作業計画の評価値を算出する、請求項
2に記載のロボットの作業計画作成方法。
【請求項4】
前記作業計画評価工程において算出された評価値が所定のしきい値に比べて低い場合、少なくとも1つのロボットの少なくとも1つの作業箇所を当該作業箇所に対する作業が可能な他のロボットに再配分する作業配分変更工程を含み、
前記ロボット動作算出工程において、変更後の作業配分に基づいて、前記ロボットそれぞれの動作を算出する、請求項
2または
3に記載のロボットの作業計画作成方法。
【請求項5】
前記作業配分変更工程において、作業箇所が他のロボットに再配分されるロボットは、複数のロボットにおいて、配分された作業箇所全てに対する作業が終了するまでに要する作業時間が最大なロボットである、請求項
4に記載のロボットの作業計画作成方法。
【請求項6】
前記ロボット配置算出工程において、前記ロボット間干渉の発生によって実施可能なロボット配置が存在しない場合、干渉し合うロボットの一方の動作を、他方のロボットが動作中は停止する、前記作業箇所の作業順を変更する、または前記作業ツールの移動パスを変更することによって当該干渉を回避する干渉回避可能動作に補正するロボット動作補正工程を含む、請求項1から
5のいずれか一項に記載のロボットの作業計画作成方法。
【請求項7】
前記ロボット動作補正工程において前記作業箇所の作業順または前記作業ツールの移動パスが変更されるロボットは、前記干渉し合うロボットにおいて
、配分された作業箇所全てに対する作業が終了するまでに要する作業時間が短い方のロボットである、請求項
6に記載のロボットの作業計画作成方法。
【請求項8】
前記ロボットが溶接ロボットであって、
前記作業ツールが溶接ガンである、請求項1から
7のいずれか一項に記載のロボットの作業計画作成方法。
【請求項9】
複数のステーションにおいて作業ツールをそれぞれ備える複数のロボットが分担してワークの複数の作業箇所に対する作業を実行するための作業計画を作成するロボットの作業計画作成装置であって、
ユーザから前記ロボットの総数と前記ステーションの総数の情報を取得するための入力デバイスと、
前記作業箇所の位置および作業内容と前記ロボットそれぞれの作業能力とに基づいて、前記ロボットそれぞれに対する前記作業箇所の配分を算出する作業配分算出部と、
前記作業配分算出部によって算出された作業配分に基づいて、前記ロボットそれぞれについて、ロボット動作としての前記作業箇所の作業順と前記作業ツールの移動パスとを算出するロボット動作算出部と、
前記ロボット動作算出部によって算出されたロボット動作の実行中にロボット間干渉が発生しないように、前記ロボットそれぞれについて、前記ワークに対する配置位置と配置されるステーションとを算出するロボット配置算出部と、を有
し、
前記ロボット配置算出部は、前記ワークに対する配置位置が少なくとも部分的に重なり合う複数のロボットが存在する場合、当該複数のロボットを異なるステーションに配置するロボットの作業計画作成装置。
【請求項10】
前記作業計画の実行時の前記ワークのサイクルタイムを算出し、前記サイクルタイムに基づいて作業計画の評価値を算出する作業計画評価部を有する請求項
9に記載のロボットの作業計画作成装置。
【請求項11】
前記作業計画評価部は、前記サイクルタイムとステーション数とに基づいて作業計画の評価値を算出する、請求項
10に記載のロボットの作業計画作成装置。
【請求項12】
前記作業計画評価部によって算出された評価値が所定のしきい値に比べて低い場合、少なくとも1つのロボットの少なくとも1つの作業箇所を当該作業箇所に対する作業が可能な他のロボットに再配分する作業配分変更部を有し、
前記ロボット動作算出部は、変更後の作業配分に基づいて、前記ロボットそれぞれの動作を算出する、請求項
10または
11に記載のロボットの作業計画作成装置。
【請求項13】
前記作業配分変更部によって作業箇所が他のロボットに再配分されるロボットは、複数のロボットにおいて
、配分された作業箇所全てに対する作業が終了するまでに要する作業時間が最大なロボットである、請求項
12に記載のロボットの作業計画作成装置。
【請求項14】
前記ロボット配置算出部の算出結果として、前記ロボット間干渉の発生によって実施可能なロボット配置が存在しない場合、干渉し合うロボットの一方の動作を、他方のロボットが動作中は停止する、前記作業箇所の作業順を変更する、または前記作業ツールの移動パスを変更することによって当該干渉を回避する干渉回避可能動作に補正するロボット動作補正部を有する、請求項
9から
13のいずれか一項に記載のロボットの作業計画作成装置。
【請求項15】
前記ロボット動作補正部によって前記作業箇所の作業順または前記作業ツールの移動パスが変更されるロボットは、前記干渉し合うロボットにおいて、配分された作業箇所全てに対する作業が終了するまでに要する作業時間が短い方のロボットである、請求項
14に記載のロボットの作業計画作成装置。
【請求項16】
前記ロボットが溶接ロボットであって、
前記作業ツールが溶接ガンである、請求項
9から
15のいずれか一項に記載のロボットの作業計画作成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のロボットの作業計画を作成する方法および装置に関する。
【背景技術】
【0002】
生産ラインに含まれる複数のステーションにおいて複数のロボットが分担してワークの複数の作業箇所に対する作業を実行するための作業計画を、作成するための方法が知られている。例えば、特許文献1には、複数のロボットそれぞれが分担する作業箇所の決定と、ロボットそれぞれについての作業箇所に対して作業を行うための動作の決定とを短時間で実行するための作業計画作成方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載された作業計画作成方法の場合、ワークに対するロボットの配置位置および複数のステーションそれぞれに配置されるロボットが予め決められている前提条件で、作業計画が作成される。そのため、作業計画を短時間で作成できるものの、その作業計画が生産ラインにとって最適であるとは限らない。
【0005】
そこで、本発明は、複数のロボットに対する作業配分およびロボットそれぞれの動作のみならず、ワークに対するロボットそれぞれの配置位置およびロボットそれぞれが配置されるステーションの選定をも含み、省スペース(ステーション数が少ない)、サイクルタイムが短いなどの要求に応じたロボットの作業計画を、短時間で作成することを課題とする。
【課題を解決するための手段】
【0006】
上記技術的課題を解決するために、本発明の一態様によれば、
少なくとも1つのステーションにおいて作業ツールをそれぞれ備える複数のロボットが分担してワークの複数の作業箇所に対する作業を実行するための作業計画を作成するロボットの作業計画作成方法であって、
前記作業箇所の位置および作業内容と前記ロボットそれぞれの作業能力とに基づいて、前記ロボットそれぞれに対する前記作業箇所の配分を算出する作業配分算出工程と、
前記作業配分算出工程において算出された作業配分に基づいて、前記ロボットそれぞれについて、ロボット動作としての前記作業箇所の作業順と前記作業ツールの移動パスとを算出するロボット動作算出工程と、
前記ロボット動作算出工程において算出されたロボット動作の実行中にロボット間干渉が発生しないように、前記ロボットそれぞれについて、前記ワークに対する配置位置と配置されるステーションとを算出するロボット配置算出工程と、を含むロボットの作業計画作成方法が提供される。
【0007】
本発明の別の態様によれば、
少なくとも1つのステーションにおいて作業ツールをそれぞれ備える複数のロボットが分担してワークの複数の作業箇所に対する作業を実行するための作業計画を作成するロボットの作業計画作成装置であって、
前記作業箇所の位置および作業内容と前記ロボットそれぞれの作業能力とに基づいて、前記ロボットそれぞれに対する前記作業箇所の配分を算出する作業配分算出部と、
前記作業配分算出部によって算出された作業配分に基づいて、前記ロボットそれぞれについて、ロボット動作としての前記作業箇所の作業順と前記作業ツールの移動パスとを算出するロボット動作算出部と、
前記ロボット動作算出部によって算出されたロボット動作の実行中にロボット間干渉が発生しないように、前記ロボットそれぞれについて、前記ワークに対する配置位置と配置されるステーションとを算出するロボット配置算出部と、を有するロボットの作業計画作成装置が提供される。
【発明の効果】
【0008】
本発明によれば、複数のロボットに対する作業配分およびロボットそれぞれの動作のみならず、ワークに対するロボットそれぞれの配置位置およびロボットそれぞれが配置されるステーションの選定をも含み、省スペース(ステーション数が少ない)、サイクルタイムが短いなどの要求に応じたロボットの作業計画を、短時間で作成することができる。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施の形態に係るロボットの作業計画作成方法によって作成された作業計画が採用される一例の生産ラインを示す図
【
図4】ロボットの作業計画の作成方法を示す一例のフローチャート図
【
図5A】あるロボットに配分された複数の作業箇所を示す図
【
図5B】
図5Aに示す複数の作業箇所の作業順と作業ツールの移動パスを示す図
【発明を実施するための形態】
【0010】
本発明の一態様は、少なくとも1つのステーションにおいて作業ツールをそれぞれ備える複数のロボットが分担してワークの複数の作業箇所に対する作業を実行するための作業計画を作成するロボットの作業計画作成方法であって、前記作業箇所の位置および作業内容と前記ロボットそれぞれの作業能力とに基づいて、前記ロボットそれぞれに対する前記作業箇所の配分を算出する作業配分算出工程と、前記作業配分算出工程において算出された作業配分に基づいて、前記ロボットそれぞれについて、ロボット動作としての前記作業箇所の作業順と前記作業ツールの移動パスとを算出するロボット動作算出工程と、前記ロボット動作算出工程において算出されたロボット動作の実行中にロボット間干渉が発生しないように、前記ロボットそれぞれについて、前記ワークに対する配置位置と配置されるステーションとを算出するロボット配置算出工程と、を含む。
【0011】
このような一態様によれば、複数のロボットに対する作業配分およびロボットそれぞれの動作のみならず、ワークに対するロボットそれぞれの配置位置およびロボットそれぞれが配置されるステーションの選定をも含み、省スペース(ステーション数が少ない)、サイクルタイムが短いなどの要求に応じたロボットの作業計画を、短時間で作成することができる。
【0012】
例えば、前記ロボット配置算出工程において、前記ワークに対する配置位置が少なくとも部分的に重なり合う複数のロボットが存在する場合、当該複数のロボットを異なるステーションに配置してもよい。
【0013】
例えば、ロボットの作業計画作成方法は、前記作業計画の実行時の前記ワークのサイクルタイムを算出し、前記サイクルタイムに基づいて作業計画の評価値を算出する作業計画評価工程を含んでもよい。
【0014】
例えば、前記作業計画評価工程において、前記サイクルタイムとステーション数とに基づいて作業計画の評価値を算出してもよい。
【0015】
例えば、ロボットの作業計画作成方法は、前記作業計画評価工程において算出された評価値が所定のしきい値に比べて低い場合、少なくとも1つのロボットの少なくとも1つの作業箇所を当該作業箇所に対する作業が可能な他のロボットに再配分する作業配分変更工程を含んでもよい。その場合、前記ロボット動作算出工程において、変更後の作業配分に基づいて、前記ロボットそれぞれの動作が算出される。
【0016】
例えば、前記作業配分変更工程において、作業箇所が他のロボットに再配分されるロボットは、複数のロボットにおいて、配分された作業箇所全てに対する作業が終了するまでに要する作業時間が最大なロボットであってもよい。
【0017】
例えば、ロボットの作業計画作成方法は、前記ロボット配置算出工程において、前記ロボット間干渉の発生によって実施可能なロボット配置が存在しない場合、干渉し合うロボットの一方の動作を、他方のロボットが動作中は停止する、前記作業箇所の作業順を変更する、または前記作業ツールの移動パスを変更することによって当該干渉を回避する干渉回避可能動作に補正するロボット動作補正工程を含んでもよい。
【0018】
例えば、前記ロボット動作補正工程において前記作業箇所の作業順または前記作業ツールの移動パスが変更されるロボットは、前記干渉し合うロボットにおいて作業時間が短い方のロボットであってもよい。
【0019】
本発明の別の態様は、少なくとも1つのステーションにおいて作業ツールをそれぞれ備える複数のロボットが分担してワークの複数の作業箇所に対する作業を実行するための作業計画を作成するロボットの作業計画作成装置であって、前記作業箇所の位置および作業内容と前記ロボットそれぞれの作業能力とに基づいて、前記ロボットそれぞれに対する前記作業箇所の配分を算出する作業配分算出部と、前記作業配分算出部によって算出された作業配分に基づいて、前記ロボットそれぞれについて、ロボット動作としての前記作業箇所の作業順と前記作業ツールの移動パスとを算出するロボット動作算出部と、前記ロボット動作算出部によって算出されたロボット動作の実行中にロボット間干渉が発生しないように、前記ロボットそれぞれについて、前記ワークに対する配置位置と配置されるステーションとを算出するロボット配置算出部と、を有する。
【0020】
このような別の態様によれば、複数のロボットに対する作業配分およびロボットそれぞれの動作のみならず、ワークに対するロボットそれぞれの配置位置およびロボットそれぞれが配置されるステーションの選定をも含み、省スペース(ステーション数が少ない)、サイクルタイムが短いなどの要求に応じたロボットの作業計画を、短時間で作成することができる。
【0021】
例えば、前記ロボット配置算出部は、前記ワークに対する配置位置が少なくとも部分的に重なり合う複数のロボットが存在する場合、当該複数のロボットを異なるステーションに配置してもよい。
【0022】
例えば、ロボットの作業計画作成装置は、前記作業計画の実行時の前記ワークのサイクルタイムを算出し、前記サイクルタイムに基づいて作業計画の評価値を算出する作業計画評価部を有してもよい。
【0023】
例えば、前記作業計画評価部は、前記サイクルタイムとステーション数とに基づいて作業計画の評価値を算出してもよい。
【0024】
例えば、ロボットの作業計画作成装置は、前記作業計画評価部によって算出された評価値が所定のしきい値に比べて低い場合、少なくとも1つのロボットの少なくとも1つの作業箇所を当該作業箇所に対する作業が可能な他のロボットに再配分する作業配分変更部を有してもよい。この場合、前記ロボット動作算出部は、変更後の作業配分に基づいて、前記ロボットそれぞれの動作を算出する。
【0025】
例えば、前記作業配分変更部によって作業箇所が他のロボットに再配分されるロボットは、複数のロボットにおいて、配分された作業箇所全てに対する作業が終了するまでに要する作業時間が最大なロボットであってもよい。
【0026】
例えば、ロボットの作業計画作成装置は、前記ロボット配置算出部の算出結果として、前記ロボット間干渉の発生によって実施可能なロボット配置が存在しない場合、干渉し合うロボットの一方の動作を、他方のロボットが動作中は停止する、前記作業箇所の作業順を変更する、または前記作業ツールの移動パスを変更することによって当該干渉を回避する干渉回避可能動作に補正するロボット動作補正部を有してもよい。
【0027】
例えば、前記ロボット動作補正部によって前記作業箇所の作業順または前記作業ツールの移動パスが変更されるロボットは、前記干渉し合うロボットにおいて作業時間が短い方のロボットであってもよい。
【0028】
例えば、前記ロボットが溶接ロボットであって、前記作業ツールが溶接ガンであってもよい。
【0029】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【0030】
図1は、本発明の一実施の形態に係るロボットの作業計画作成方法によって作成された作業計画が採用される一例の生産ラインを示している。
【0031】
図1に一例として示す生産ラインPLは、自動車のボディであるワークWに対して溶接作業を実行する複数のロボットR1~R14を含んでいる。また、生産ラインPLは、3つのステーションS1~S3から構成されている。ステーションS1~S3は、ワークWに対する作業が実行される場所であって、ステーションS1での全作業が完了すると、ワークWは、ステーションS2に搬送されてそこで作業が実行される。ステーションS2での全作業が完了すると、ワークWは、ステーションS3に搬送されてそこで作業が実行される。ステーションS3での全作業が完了すると、生産ラインPLでの全作業が完了し、ワークWは、別の生産ラインなどの別の場所に搬送される。
【0032】
本実施の形態の場合、複数のロボットR1~R14は、多関節型の溶接ロボットであって、その先端にクランプ式の溶接ガンである作業ツールTを搭載している。なお、ロボットR1~R14それぞれは、同一の作業能力(例えば、作業可能範囲、搭載可能な溶接ガン重量など)であってもよく、異なる作業能力であってもよい。
【0033】
複数のロボットR1~R14それぞれは、
図2に示すように、ワークWの複数の作業箇所WP(溶接箇所)に対して分担して作業(溶接作業)を実行する。そのためには、ロボットの作業計画として、ロボットR1~R14それぞれに対する作業箇所WPの配分(作業配分)と、ロボットR1~R14それぞれについての作業箇所WPに対して作業を実行するため動作(ロボット動作)と、ワークWに対するロボットR1~R14それぞれの配置位置およびステーションS1~S3それぞれに配置するロボット(ロボット配置)とを決定する必要がある。すなわち、作業計画には、作業配分と、ロボット動作と、ロボット配置とが含まれている。
【0034】
本実施の形態の場合、作業配分、ロボット動作、およびロボット配置、すなわち作業計画は、作業計画作成装置を用いて作成される。
【0035】
図3は、作業計画作成装置の構成を示すブロック図である。
【0036】
図3に示す作業計画作成装置10は、演算装置20と、入力デバイス40と、出力デバイス50とを有する。
【0037】
作業計画作成装置10における演算装置20は、作業配分算出部22、ロボット動作算出部24、ロボット配置算出部26、作業計画評価部28、ロボット動作補正部30、作業配分変更部32、および記憶部34を有する。この作業計画作成装置10は、例えば、CPUなどのプロセッサと、プログラム(作業計画作成プログラム)を記憶するメモリなどの記憶装置とを備えるコンピュータである。プログラムにしたがってプロセッサが駆動することにより、そのプロセッサが、作業配分算出部22、ロボット動作算出部24、ロボット配置算出部26、作業計画評価部28、ロボット動作補正部30、および作業配分変更部32として機能する。
【0038】
入力デバイス40は、マウスやキーボードなどの入力デバイスであって、ユーザの指示を演算装置20に送信する。出力デバイス50は、ディスプレイやプリンタなどの出力デバイスであって、演算装置20によって作成された作業計画をユーザに対して出力する。
【0039】
ここからは、作業計画作成装置10によって実行されるロボットの作業計画作成方法について、
図4を参照しながら説明する。
【0040】
図4は、ロボットの作業計画の作成方法を示す一例のフローチャートを示している。
【0041】
まず、最初のステップS100として、作業計画作成装置10は、ワークWのデータ(ワークデータ)WDと、ロボットR1~R14のデータ(ロボットデータ)RDと、ステーションS1~S3のデータ(ステーションデータ)SDとを、ユーザから取得する。例えば、入力デバイス40の入力を介して、記録媒体を介して、または通信を介して、これらのデータを取得する。
【0042】
ワークデータWDは、ワークWにおける複数の作業箇所WPそれぞれの位置情報(例えば座標)、作業箇所WPそれぞれに実行される作業内容情報(例えば溶接作業に必要な板厚情報など)などを含んでいる。
【0043】
ロボットデータRDは、ロボットの総数(上限数)、複数のロボットR1~R14それぞれの作業能力についての情報、例えば作業可能範囲、搭載可能な作業ツールTの種類(すなわち可能な作業)などの情報を含んでいる。
【0044】
ステーションデータSDは、ステーションの総数(上限数)、ステーションS1~S3それぞれのサイズ(すなわちロボットの設置エリアの大きさ)などの情報を含んでいる。ステーションの総数や個々のサイズは、生産ラインPLの規模や生産ラインPLが敷設される工場の大きさによって決まる。
【0045】
次のステップS110において、演算装置20の作業配分算出部22が、複数のロボットR1~R14それぞれに対するワークWの作業箇所WPの配分(作業配分)を算出(決定)する。
【0046】
具体的には、作業配分算出部22は、ワークWの複数の作業箇所WPを、作業箇所WPの位置および作業内容(ワークデータWD内の情報)とロボットR1~R14それぞれの作業能力(ロボットデータRD内の情報)とに基づいて、ロボットR1~R14それぞれに作業箇所WPを配分する。すなわち、作業可能な作業箇所をロボットそれぞれに配分する。
【0047】
例えば、ワークデータWD内の作業箇所WPの位置情報と作業内容情報とに基づいて、ロボットR1の作業可能範囲に含まれることが可能であって、且つそのロボットR1の作業ツールTが作業可能な作業箇所WPが、そのロボットR1に配分される。好ましくは、ロボットR1の作業ツールTの移動パスが短くなるように、互いに位置が近い一群の作業箇所WPが、そのロボットR1に配分される。また、ロボットR1~R14それぞれに配分された作業箇所の数に大きな差がないように、例えば可能な限り等しくなるように作業配分が行われる。
【0048】
本実施の形態の場合、ロボットR1~R14に搭載された作業ツールTがクランプ式の溶接ガンであるため、板厚やクランプ方向を考慮して、作業箇所WPが配分される。
【0049】
なお、ロボットの作業計画の作成にあたってそのロボットが複数種の作業ツールを持ち替えることが許容されている場合、ロボットが複数種の作業ツールを持ち替えることを前提で、ロボットそれぞれに対する作業箇所の配分を算出していてもよい。複数種の作業ツールを持ち替えることによってロボットの作業能力が向上する。それにより、作業箇所をロボットに配分するときに、ロボットの選択肢が増加する。
【0050】
また、ロボットに対して複数の作業箇所が配分された場合、それらの作業箇所に対して作業可能なワークに対するロボット配置位置が複数存在することがある。複数のロボット配置位置の中から1つの配置位置を選択することは、後工程で行われる。
【0051】
ロボットR1~R14それぞれに対する複数の作業箇所WPの配分が終了する(作業配分が終了する)と、続くステップS120において、演算装置20のロボット動作算出部24が、ロボット動作、すなわちロボットR1~R14それぞれの動作を算出する。
【0052】
図5Aは、あるロボットに配分された複数の作業箇所を示している。また、
図5Bは、
図5Aに示す複数の作業箇所の作業順と作業ツールの移動パスを示している。
【0053】
図5Aに示すように、例えば、ロボットR1に対して複数の作業箇所WP1~WP6が作業配分算出部22によって配分されている。この場合、ロボット動作算出部24は、所定の条件に基づいて、ロボットR1の動作を算出する。例えば、1つのワークWにおける複数の作業箇所WP1~WP6全てに対する作業が終了するまでに要する作業時間が最小になるように、ロボットR1の動作を算出する。具体的には、ロボットR1の動作として、複数の作業箇所WP1~WP6の作業順と作業ツールTの移動パスMPとを算出する。なお、ここで言う作業時間には、作業ツールTの待機位置SP/EPから最初に作業される作業箇所までの移動時間、作業箇所間の移動時間、および最後に作業された作業箇所から待機位置SP/EPまでの移動時間が含まれる。作業開始時の待機位置SPと作業終了後の待機位置EPは異なる位置であってもよい。また、作業時間は、最初の作業箇所から作業終了後の待機位置までの時間であってもよい。
【0054】
例えば、
図5Bに示すように、ロボット動作算出部24は、作業箇所の作業順として、WP2→WP5→WP6→WP4→WP3→WP1を算出し、この順番で作業ツールTが複数の作業箇所WP1~WP6を移動する移動パスMPを算出する。
【0055】
なお、
図5Bにおいては、作業箇所間の移動パスMPの部分は直線であるが、ロボットの構造上および/またはワークWとの干渉を回避するために、曲線の場合もありうる。
【0056】
また、このようなロボットそれぞれの動作の算出は、他のロボットの動作を考慮せずに、すなわち他のロボットとの干渉を考慮せずに個別に実行される。そのため、ロボットそれぞれの動作全ての算出に要する時間は、短くて済む。ロボット間干渉は、後工程で考慮される。
【0057】
さらに、配分された作業箇所に対して作業可能なワークに対するロボット配置位置が複数存在するロボットの場合、それぞれのロボット配置位置での動作が算出される。
【0058】
ロボットR1~R14それぞれの動作の算出が終了する(ロボット動作の算出が終了する)と、続くステップS130において、演算装置20のロボット配置算出部26が、ロボット配置を算出する。
【0059】
具体的には、ロボット配置算出部26は、ステップS110で算出されたロボット動作の実行中にロボット間干渉が発生しないように、ロボット配置として、ロボットR1~R14それぞれについて、ワークWに対する配置位置と、配置されるステーションS1~S3とを算出(決定)する。
【0060】
【0061】
図6に示すように、複数のロボットR1~R14それぞれは、ワークWに対する配置位置が算出(決定)されるとともに、配置されるステーションも算出(決定)される。
【0062】
まず、複数のロボットR1~R14それぞれについて、ステップS120でロボット動作算出部24によって算出された動作をロボットR1~R14それぞれが行ったときにロボット同士の接触(ロボット間干渉)が生じない、ワークWに対する配置位置が決定される。
【0063】
例えば、配分された作業箇所に対して作業可能なワークに対するロボット配置位置が複数存在するロボットの場合、その複数の中から、ロボット間干渉が発生しない配置位置が決定される。
【0064】
また例えば、
図6に示すステーション2に配置されたロボットR7とステーションS3に配置されたロボットR11のように、ワークに対する配置位置が互いに近いためにロボット間干渉が発生しうる複数のロボットは異なるステーションに配置される。
【0065】
さらに例えば、ワークWに対する配置位置が少なくとも部分的に重なり合う複数のロボットが存在する場合がある。例えば、
図6に示すように、ロボットR5とロボットR10は、ワークWに対する配置位置は同一である。また、ロボットR8とロボットR12は、ワークWに対する配置位置は同一である。この場合、同一のステーションに配置不可能であるため、
図6に示すように、ロボットR10は、ロボットR5が配置されたステーションS2と異なるステーションS3に配置される。同様に、ロボットR12は、ロボットR8が配置されたステーションS2と異なるステーションS3に配置される。
【0066】
すなわち、ロボット間干渉が発生しうる場合、またはワークに対する配置位置が少なくとも重なり合うロボットが存在する場合、これらを解消するために、ステーションの数が増加する。
【0067】
このようなロボット配置算出部26のロボット配置の算出結果として、複数のロボット配置が算出される場合がある。あるいは、実施可能なロボット配置が存在しない場合がある。
【0068】
そのため、まず、ステップS140において、演算装置20は、ロボット配置算出部26の算出結果として、実施可能なロボット配置が存在するか否かを判定する。実施可能なロボット配置が存在する場合には、ステップS150に進む。実施可能なロボット配置が存在しない場合には、ステップS180に進む。
【0069】
ステップS150において、演算装置20の作業計画評価部28は、作業計画を評価し、その評価結果をデータとして記憶部34に保存する。すなわち、ステップS110で作業配分算出部22によって算出された作業配分、ステップS120でロボット動作算出部24によって算出されたロボット動作、およびステップS130でロボット配置算出部26によって算出されたロボット配置を含む作業計画を、作業計画評価部28は評価する。具体的には、作業計画評価部28は、作業計画の評価値を算出して保存する。
【0070】
例えば、作業計画の評価値は、その作業計画の実行時のワークWのサイクルタイム(ワークWの複数の作業箇所全てに対する作業を完了するために必要な時間)に基づいて算出される。サイクルタイムが短いほど、高い評価値を作業計画評価部28は算出する。
【0071】
それに加えてまたは代わりとして、作業計画評価部28は、ステーション数に基づいて、作業計画を評価してもよい。この場合、ステーション数が少ないほど、作業計画評価部28は高い評価値を算出する。なお、サイクルタイムとステーション数の両方を評価基準として評価する場合、サイクルタイムとステーション数のいずれか一方を重み付けして評価値を算出してもよい。また、作業計画評価部28は、複数の作業計画が存在する場合(すなわちロボット配置算出部26の算出結果として複数のロボット配置が算出されている場合)には、それぞれの作業計画について評価値を算出する。
【0072】
作業計画評価部28が作業計画を評価するにあたって採用する評価基準(サイクルタイム)などを、ユーザが設定できるようにしてもよい。この場合、ユーザが所望する作業計画に近い作業計画ほど、作業計画評価部28は高い評価をつける。
【0073】
ステップS160において、演算装置20は、作業計画評価部28によって算出された作業計画の評価値が所定のしきい値以上であるか否かを判定する。所定のしきい値は、ユーザが作業計画について満足するか否かのしきい値である。この所定のしきい値は、ユーザによって設定されてもよい。評価値が所定のしきい値以上である場合、ステップS170に進む。そうでない場合、ステップS200に進む。なお、ステップ160の判定処理を何回繰り返しても作業計画の評価値が所定のしきい値以上であると判定されない可能性がある。このことを考慮し、このステップS160の判定処理の回数が所定の繰り返し数を超えた場合、その旨をユーザに通知して作業計画の作成を終了してもよい。
【0074】
ステップS170において、演算装置20は、評価値が所定のしきい値以上である作業計画を確定し、その確定した作業計画を出力デバイス50を介してユーザに出力する。なお、複数の作業計画についての評価結果(評価値)が記憶部34に保存されており、その中に評価値が所定のしきい値以上である作業計画が複数存在する場合、評価値が最も高い作業計画が確定されてユーザに出力される。
【0075】
一方、ステップS140で実施可能なロボット配置が存在しないと判定された場合、ステップS180において、演算装置20は、実施可能なロボット配置が存在しない原因がロボット間干渉の発生であるか否かを判定する。ロボット間干渉の発生が実施可能なロボット配置が存在しない原因である場合にはステップS190に進む。そうでない場合、ステップS200に進む。
【0076】
ステップS190において、演算装置20のロボット動作補正部30が、干渉し合うロボットの一方の動作を、干渉の発生が回避できる動作(干渉回避可能動作)に補正する。
【0077】
【0078】
ここでは、ロボットR5とロボットR6との間で、動作中に干渉が発生する場合を例に挙げる。
図7は、ロボットR5についての作業箇所WP7~WP12と、作業ツールTの移動パスMPを示している。ここでは、作業箇所WP12から作業箇所WP10に向かって移動中のロボットR5の作業ツールTが、他のロボットR6に接触するロボット間干渉が発生している。
【0079】
このような作業箇所WP12と作業箇所WP10との間でのロボット間干渉の発生を回避するために、ロボット動作補正部30は、ロボットR5の動作を補正する。
【0080】
図8Aは、ロボット動作の補正の一例を示している。また、
図8Bは、ロボット動作の補正の別例を示している。
【0081】
図8Aに示すように、ロボット動作補正部30は、作業箇所WP12と作業箇所WP10との間でのロボット間干渉の発生を回避するために、ロボットR5について、複数の作業箇所WP7~WP12の作業順を変更する。これにより、ロボットR5の作業ツールTの移動パスMPが変更され、その結果として、作業箇所WP12と作業箇所WP10との間で発生するロボット間干渉の発生を回避することができる。
【0082】
または、
図8Bに示すように、ロボット動作補正部30は、作業箇所WP12と作業箇所WP10との間でのロボット間干渉の発生を回避するために、ロボットR5について、作業箇所WP12と作業箇所WP10との間の移動パスMPの部分を、ロボット間干渉が発生する位置を迂回することができる迂回パスBPに変更する。これにより、作業箇所WP12と作業箇所WP10との間で発生するロボット間干渉の発生を回避することができる。
【0083】
あるいは、ロボット動作補正部30は、作業箇所WP12と作業箇所WP10との間でのロボット間干渉の発生を回避するために、ロボットR5またはロボットR6の一方の動作を、他方のロボットが動作中は停止させる。具体的には、一方のロボットが干渉位置を通過するまで、他方のロボットが干渉位置と異なる位置で一時的に停止する。これにより、作業箇所WP12と作業箇所WP10との間で発生するロボット間干渉の発生を回避することができる。
【0084】
なお、ロボット動作補正部30は、作業箇所WP12と作業箇所WP10との間で発生するロボット間干渉の発生を回避できるのであれば、複数の作業箇所の作業順を逆転してもよい。この場合、動作を補正する前の作業時間と動作を補正した後の作業時間は、ほとんど変わらない。
【0085】
また、干渉し合うロボットにおいて、干渉の発生を回避するために動作を補正されるロボットは、いずれか一方であってもよいし、両方であってもよい。いずれか一方の動作を補正する場合、動作が補正されるロボットは、作業時間が短い方のロボットが好ましい。これは、動作の補正によってそのロボットの作業時間が延びる可能性があるからである。そのため、作業時間が長い方のロボットの動作を補正すると、そのロボットが最も長い作業時間を要するロボットである場合、ワークのサイクルタイムが延びる可能性がある。
【0086】
このようなロボット動作補正部30による干渉し合うロボットの動作の補正が終了すると、ステップS150に進み、ロボット間干渉の発生が回避されたロボット配置を含む作業計画の評価値が算出される。
【0087】
一方、ステップS180で実施可能なロボット配置が存在しない原因がロボット間干渉の発生ではないと判定された場合、または、ステップS160で評価値が所定のしきい値以上の作業計画が存在しないと判定された場合、ステップS200において、演算装置20の作業配分変更部32は、複数のロボットR1~R14それぞれに配分された複数の作業箇所WPを変更する(作業配分を変更する)。
【0088】
なお、補足として、実施可能なロボット配置が存在しない原因がロボット間干渉の発生でない場合の一例を挙げる。例えば、ワークWに対する配置位置が少なくとも部分的に重なり合うロボットが4つ存在し、ステーション数の上限が3つである場合、これらの条件を満足するロボット配置は存在しない。
【0089】
具体的には、ステップS200において、作業配分変更部32は、ステップS110で作業配分算出部22によって算出された作業配分では実施可能なロボット配置が存在しないまたは評価値が所定値以上の作業計画が存在しないので、ステップS110で算出された作業配分を変更する。
【0090】
作業配分変更部32は、これまでに計算された作業配分のいずれかにおいて、少なくとも1つのロボットの少なくとも1つの作業箇所を当該作業箇所に対する作業が可能な他のロボットに再配分することにより、作業配分を変更する。
【0091】
なお、作業配分変更部32は、複数のロボットR1~R14において、作業時間が最大なロボットに配分されている少なくとも1つの作業箇所を他のロボットに配分するのが好ましい。一方、作業箇所を配分される側のロボットは、可能であれば相対的に作業時間が短いロボットであるのが好ましい。あるいは、作業時間が最大なロボットに配分されている少なくとも1つの作業箇所と、他のロボットに配分されている少なくとも1つの作業箇所を交換してもよい。これにより、ワークWのサイクルタイムを短くすることができる。
【0092】
ステップS200での作業配分変更部32による作業配分の変更が終了すると、ステップS120に戻り、ロボット動作算出部24が、変更された作業配分に基づいて、複数のロボットR1~R14それぞれの動作を算出する。
【0093】
このような
図4に示すロボットの作業計画作成方法により、ワークの複数の作業箇所に対する作業を実行するための複数のロボットの作業計画が作成される。
【0094】
以上のような本実施の形態によれば、複数のロボットに対する作業配分およびロボットそれぞれの動作のみならず、ワークに対するロボットそれぞれの配置位置およびロボットそれぞれが配置されるステーションの選定をも含み、省スペース(ステーション数が少ない)、サイクルタイムが短いなどの要求に応じたロボットの作業計画を、短時間で作成することができる。
【0095】
具体的には、複数のロボットに対する作業配分およびロボットそれぞれの動作のみならず、ワークに対するロボットそれぞれの配置位置やロボットそれぞれが配置されるステーションについても考慮に入れた作業計画が作成される。その結果、少なくとも1つのステーションを含む生産ラインに対してより最適な作業計画を作成することができる。
【0096】
また、複数のロボットに対するワークの複数の作業箇所の配分(作業配分)がワークに対するロボットそれぞれの配置位置を考慮に入れずに、ロボットそれぞれの作業能力に基づいて算出される。その結果、作業配分を短時間で算出することができる。
【0097】
さらに、先に算出(決定)された作業配分に基づいて(作業配分を固定条件として)、ロボットそれぞれの動作の算出が、他のロボットとの干渉を考慮に入れずに個別に行われる。その結果、ロボットそれぞれの動作を短時間で算出することができる。
【0098】
そして、先に算出(決定)されたロボットそれぞれの動作に基づいて(ロボット動作を固定条件として)、ロボット間干渉が発生しないように、ロボットそれぞれについてワークに対する配置位置と配置されるステーションが算出される。
【0099】
これらの結果、複数のロボットの作業計画を短時間で作成することができる。
【0100】
なお、最終的にユーザが満足できる作業計画が算出されない場合がありうる。その場合、ユーザが、作業計画の算出に必要な前提条件であるロボットの台数を変更し(ロボットデータRD内のロボットの総数情報を更新し)、その変更したロボット台数に基づいて作業計画作成装置10が作業計画を算出する。これにより、ユーザが満足する作業計画を算出することが可能になる。すなわち、ユーザは、ロボットの台数も考慮に入れて作業計画を検討することが可能になる。
【0101】
以上、上述の実施の形態を挙げて本発明を説明したが、本発明の実施の形態はこれに限らない。
【0102】
例えば、上述の実施の形態の場合、
図1に示すように、ワークが自動車のボディであって、ワークの複数の作業箇所が溶接箇所であるが(ロボットが溶接ロボットであって且つ作業ツールが溶接ガンであるが)、本発明の実施の形態はこれに限らない。例えば、ロボットがワークに対してする作業は、塗装、組み立て、切断などであってもよい。
【産業上の利用可能性】
【0103】
本発明は、作業ツールをそれぞれ備える複数のロボットが分担してワークの複数の作業箇所に対する作業を実行するための作業計画の立案に適用可能である。
【符号の説明】
【0104】
10 作業計画作成装置
22 作業配分算出部
24 ロボット動作算出部
26 ロボット配置算出部
28 作業計画評価部
30 ロボット動作補正部
32 作業配分変更部
R1~R14 ロボット
T 作業ツール
W ワーク
WP 作業箇所