説明

ロボットシステム

【課題】一連の作業を複数の作業ロボットに作業分割して実行するロボットシステムで、一部の作業ロボットの一部の作業区分に遅延が発生しても、他の作業ロボットに待ち時間が発生することなく生産性を向上させる。
【解決手段】アームロボット6a〜6dに設けられたロボットコントローラ4a〜4dには、n個の作業区分を割り振る。アームロボット6eに設けられたロボットコントローラ4eには、n個よりも少ないm個の作業区分を割り振る。いずれかのアームロボット6での作業区分の作業で遅延が生じたときは、遅延が生じたアームロボットよりも下流のアームロボットに設けられたロボットコントローラに、未実施となっている作業区分を割り振りし直す再割り振り処理を実行する。再割り振り処理を実行する際には、各ロボットコントローラに割り振られる作業区分の数の上限はn個である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一連の作業を複数の作業ロボットにより作業分割して実行するセル生産において、一部の作業ロボットで作業遅延が発生したとき、各作業ロボットを停止することなく、遅延を解消するためのロボットシステムに関する。
【背景技術】
【0002】
組立て作業現場では従来の一貫したベルトコンベア生産方式に代わって、分散したセル生産方式が導入され着実な成果を挙げている。さらに無人化、つまりセル生産工程を複数台のロボット群による代替も行なわれている。複数の作業ロボットによるセル生産で重要となるのが作業ロボット間の同期制御である。一連の組立て作業工程を分割し、複数の作業ロボットに割付けて一つのワークを効率よく組立てるには、各作業ロボットでの作業を遂行するサイクルタイムが揃っている必要がある。もし、一部の作業ロボットにおいて、割付けられた作業工程に遅延が発生すると隣接する作業ロボットに待ち時間が発生してしまい、最終的には組立てライン全体の生産性に支障をきたす。
【0003】
図12は、従来のロボットシステムにおいて遅延が生じた場合を示すタイムチャートであり、ここでは、5台の作業ロボット(R1〜R5)により組立工程を実現しているロボットシステムを表している。
【0004】
横軸にサイクルタイム、縦軸は各作業ロボットを表し、サイクルタイムの進行とともに各作業ロボットの作業対象とするワークWの遷移がわかる。例えば、サイクルタイムT1でワークW4は作業ロボットR2により組立てられ、次のサイクルタイムT2で同じワークW4は作業ロボットR3に渡され、次の組立てが行われる。サイクルタイムT4で作業ロボットR5の組立てによりワークW4の組立工程が完了する。
【0005】
これに対し、ワークW5の組立て作業では、サイクルタイムT2において作業ロボットR2で遅延が生じている。このとき、作業ロボットR2は組立てているワークW5を所定のサイクルタイム内で割当てられた組立工程が完了しない。そのため、次のサイクルタイムT3では、作業ロボットR2の上流に位置する作業ロボットR1は、作業ロボットR1に割当てられたワークW6の組立工程が完了しているが、すぐにワークW6を作業ロボットR2に渡せない。従って、次のワークW7の組立てを開始するまで遅延時間D1が発生してしまう。
【0006】
また、同じサイクルタイムT3で、作業ロボットR2の下流に位置する作業ロボットR3も作業ロボットR3に割当てられたワークW4の組立工程が完了している。しかし、すぐにワークW5を作業ロボットR2から受け取れず、ワークW5の組立てを開始するまでに遅延時間D2が発生してしまう。
【0007】
この後、サイクルタイムT4で作業ロボットR4に遅延時間D3が波及し、サイクルタイムT5で作業ロボットR5に遅延時間D4が波及する。そして、ワークW5以降すべてのワークの組立て完了時刻は、計画よりも時間が遅延時間D5の分遅くなってしまう。従って、一度途中で発生した遅延が解消することなく蓄積されてしまうことがわかる。
【0008】
このような他の作業ロボットへの作業遅延の影響を軽減するために、作業ロボット間にストッカーを設けた装置が開示されている(特許文献1参照)。具体的には、各作業ロボット間にストッカーを配置し、隣接する下流側の作業ロボットで遅延が生じた際は下流ロボットとの間に設けられたストッカーに組立て作業の終了したワークを移載し、次のワーク組立てに移る。逆に上流側の作業ロボットで遅延が生じた際は上流ロボットとの間に設けられたストッカーから次のワークを移載してワークの組立て作業を続行することで作業ロボットの待ち時間を解消している。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開平11−198074号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかし、各作業ロボット間にストッカーを設けることで隣接した作業ロボットが即時停止して待ち動作に移ることはなくなるが、ストッカーにワークが存在すること自体、それ以前に一部の作業ロボット間で遅延が生じていることを表している。この遅延をさらに他のロボットに波及することは阻止できるものの、発生した遅延を解消することはできない。また、ストッカーを設けることでコスト増加、スペースの確保という問題もあった。
【0011】
そこで、本発明は、一部の作業ロボットに発生したワークの作業の遅延が、別のワークの作業に波及するのを防止して、複数の作業ロボットによる生産性を向上させるロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明は、ワークを順次搬送するワーク搬送方向に並べて配置され、ワークに施す一連の作業を分担して行う複数の作業ロボットと、前記複数の作業ロボットのそれぞれに設けられたロボットコントローラと、前記複数のロボットコントローラに接続されたメインコントローラと、を備えたロボットシステムにおいて、前記メインコントローラは、前記一連の作業を分割して得られる複数の作業区分を記憶する記憶部と、前記記憶部に記憶された複数の作業区分を、前記複数のロボットコントローラのうち、ワーク搬送方向の最下流に位置する作業ロボット以外の作業ロボットに設けられたロボットコントローラにはn(≧2の正の整数)個、ワーク搬送方向の最下流に位置する作業ロボットに設けられたロボットコントローラにはm(<nの正の整数)個、作業順に割り振る割り振り処理を実行する割振部と、ワークをワーク搬送方向下流に搬送するタイミングを示す同期信号を、前記各ロボットコントローラに一定の時間間隔で送出する同期制御部と、を有し、前記各ロボットコントローラは、前記同期制御部により送出された前記同期信号のタイミングで作業ロボットにワークをワーク搬送方向下流に搬送させ、ワーク搬送方向上流から搬送されたワークに対して、割り振られた作業区分の作業を作業ロボットに実行させる処理部と、作業ロボットにおける作業区分の作業に遅延が発生した際に前記時間間隔の範囲内で作業が完了しないと予測される未実施の作業区分の情報を、前記メインコントローラに通知する通知部と、を有し、前記メインコントローラは、前記通知部により前記情報が通知された際に、前記複数のロボットコントローラのうち、作業区分の作業に遅延が発生した作業ロボットよりもワーク搬送方向下流に位置する作業ロボットに設けられたロボットコントローラに、未実施である作業区分を、n個を上限として作業順に割り振りし直す再割り振り処理を実行する再割振部を有することを特徴とする。
【発明の効果】
【0013】
本発明によれば、あるワークに対して一連の作業を施しているときに、ある作業ロボットにおいて作業区分の作業に遅延が発生しても、未実施の作業区分の作業を下流の作業ロボットが行うので、各作業ロボットは一定の時間間隔内で作業を終えることができる。これにより、ある作業ロボットにおける一部の作業区分の作業による遅延の影響が、別のワークに対する作業ロボットの作業に波及するのを防止することができ、複数の作業ロボットによる生産性が向上する。
【図面の簡単な説明】
【0014】
【図1】本発明の第1実施形態に係るロボットシステムの概略構成を示すブロック図である。
【図2】図1に示したロボットシステムの制御装置を示す制御ブロック図である。
【図3】一連の作業を分割して得られる複数の作業区分を示す説明図である。
【図4】担当Jobの割り付けを示す概略説明図であり、(a)は遅延発生前、(b)は遅延発生後を示している。
【図5】各アームロボットによる作業の流れを示すタイムチャートである。
【図6】本発明の第2実施形態に係るロボットシステム1Aの概略構成を示すブロック図である。
【図7】図6に示したロボットシステムの制御装置を示す制御ブロック図である。
【図8】担当Jobの割り付けを示す概略説明図であり、(a)は遅延発生前、(b)は遅延発生後を示している。
【図9】各アームロボットによる作業の流れを示すタイムチャートである。
【図10】本発明の第3実施形態に係るロボットシステム1Aの概略構成を示すブロック図である。
【図11】担当Jobの割り付けを示す概略説明図であり、(a)はアームロボットが作業不能となるエラー発生前、(b)はエラー発生後を示している。
【図12】従来のロボットシステムにおいて遅延が生じた場合の各作業ロボットによる作業の流れを示すタイムチャートである。
【発明を実施するための形態】
【0015】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
【0016】
[第1実施形態]
図1は、本発明の第1実施形態に係るロボットシステムの概略構成を示すブロック図である。ロボットシステム1は、複数台のロボットステーション3を備えて構成される。図1では、5台のロボットステーション3(3a〜3e)で構成されているが、5台に限定されるものではない。
【0017】
各ロボットステーション3は、作業ロボットであるアームロボット6(6a〜6e)と、アームロボット6に接続され、アームロボット6を制御するロボットコントローラ4(4a〜4e)と、を有している。これら複数のロボットコントローラ4a〜4eには、通信ライン11を介して1つのメインコントローラであるセルコントローラ2がネットワーク接続されている。アームロボット6は、多関節マニピュレータであり、ワークWを把持して搬送したり、ワークW(W1〜W5)に加工や組み付けなどの作業を施したりすることができる。
【0018】
また、各ロボットステーション3は、アームロボット6が固定され、ワークWの組み立て作業を行うための作業台5(5a〜5e)と、ワーク固定部7(7a〜7e)と、組付け部材設置部8(8a〜8e)とを有している。ワーク固定部7は、搬送されてきたワークWを固定する。組付け部材設置部8には、ワークWに組付ける部材が設置されている。ワーク固定部7及び組付け部材設置部8は、作業台5上に設けられている。
【0019】
なお、本第1実施形態では、各ロボットステーション3はアームロボット6を1本のみ有しているが、これに限定されるものでなく、作業ロボットとして、2本すなわち双腕のアームロボットを有していてもよい。その際、ロボットコントローラ4は双腕の同期制御機能を有する。
【0020】
本第1実施形態では、ロボットステーション3a〜3eが一列に並んで配置されており、各アームロボット6がワークWを把持して隣のロボットステーション3の作業台5に搬送可能に構成されている。なお、ロボットステーション3aにおけるワークWのワーク搬送方向上流には、ワーク搬入台9が配置され、ロボットステーション3eにおけるワークWのワーク搬送方向下流には、ワーク搬出台10が配置されている。これにより、ワーク搬入台9から搬入されたワークWは、ロボットステーション3a→3b→3c→3d→3eの順に順次搬送されて順番にワークWが組立てられ、ワーク搬出台10に搬出される。このように、複数のアームロボット6a〜6eにより、ワークWに施す一連の作業が分担して行われる。
【0021】
ワーク搬入台9へはワーク搬入手段(不図示)もしくは作業員により組立て前のワークWが設置される。ワーク搬出台10は、複数のロボットステーション3a〜3eで組立てが完了したワークWを渡すための台である。組立て完了したワークWは、ロボットステーション3eのアームロボット6eがワーク搬出台10に置き、ワーク搬出手段(不図示)もしくは作業員により取り出される。
【0022】
図2は、図1に示したロボットシステム1の制御装置を示す制御ブロック図である。図3は、一連の作業を分割して得られる複数の作業区分を示す説明図である。図2に示すセルコントローラ2は、ロボットステーション3a〜3eを同期して制御するためのものである。まず、図3に示すように、組立て作業を完成するまでの一連の作業(以下、「全Job」と称す)40を、時系列的に複数のより細かな作業区分(以下、「単一Job」と称す)41a〜41nに分割しておく。そして、セルコントローラ2は、いくつかの単一Jobをまとめて各ロボットコントローラ4のアームロボット6が実行する作業区分群(以下、「担当Job」と称す)42(42a〜42e)としてロボットコントローラ4(4a〜4e)に出力する。なお、各単一Job41は、想定されるアームロボット6による作業時間(遅延がないとした場合を想定した計画上の作業時間)が略同一となるように分割されている。ここで、図3では、作業区分である単一Job41a〜41nをJob[A]〜Job[N]で表しており、以下、作業区分を単一Job41(41a〜41n)又はJob[A]〜Job[N]として、適宜使い分けて説明する。
【0023】
図2に示す各ロボットコントローラ4は、セルコントローラ2からの担当Job42の受信やアームロボット6の作業状況およびエラー情報等の送信を行う。各ロボットコントローラ4は、それぞれ担当Job42の作業をアームロボット6に行わせ、セルコントローラ2の指令により、同一タイミングで、前工程のロボットステーション3のアームロボット6からワークWを受け取り、次のワークWの組立て作業を開始する。この際、ロボットステーション3aはワーク搬入台9よりワークを取り受け、ロボットステーション3eは、担当Jobの1工程として組立ての完了したワークをワーク搬出台10に排出する。
【0024】
まず、セルコントローラ2の構成について説明する。セルコントローラ2は、記憶部としての単一Jobデータベース部20と、ロボットステーションモニタ部21と、作業進行管理部としてのJob進行管理部22と、を有している。また、セルコントローラ2は、割振部としての担当Job割振部23と、再割振部としての担当Job再割振部24と、同期制御部25と、を有している。
【0025】
単一Jobデータベース部20には、全Job40を構成する複数の単一Job41a〜41nのデータが記憶されている。単一Job41のデータは、実行コマンドであってもよいが、単一Jobに関する情報、例えば標準工数時間、必要工具など、各ロボットコントローラ4へ担当Job42を割り振るのに必要な情報であればよい。
【0026】
ロボットステーションモニタ部21は、各ロボットステーション3のエラー発生などの状態を管理する。Job進行管理部22は、各ロボットステーション3のアームロボット6の作業状況を管理する。
【0027】
担当Job割振部23は、各ロボットステーション3のロボットコントローラ4へ担当Job42を割り振る割り振り処理を実行する。具体的に説明すると、担当Job割振部23は、単一Jobデータベース部20から複数の単一Job41a〜41nのデータを読み出す。そして、担当Job割振部23は、いくつかの単一Job41を作業順にまとめた各担当Job42a〜42eのデータを各ロボットコントローラ4a〜4eに出力する。これにより、各ロボットコントローラ4には、担当Job42が割り振られる。
【0028】
具体的には、担当Job割振部23は、ワーク搬送方向の最下流に位置するアームロボット6e以外のアームロボット6a〜6dに設けられたロボットコントローラ4a〜4dにはn(≧2の正の整数)個の単一Job41を割り振る。本第1実施形態では、n=3、つまり3個の単一Job41で担当Job42a〜42dが構成される。なお、ワーク搬送方向の最下流に位置する作業ロボット以外の作業ロボットに接続されたロボットコントローラ4a〜4dに割り振る単一Job41の個数は、3個に限らず、2個以上であればよい。
【0029】
これに対し、担当Job割振部23は、ワーク搬送方向の最下流に位置するアームロボット6eに設けられたロボットコントローラ4eにはm(<nの正の整数)個の単一Job41を割り振る。本第1実施形態では、mはnよりも小さい値であるので、m=2、つまりn個の2/3である2個の単一Job41で担当Job42eが構成される。なお、ロボットコントローラ4eに割り振る単一Job41の数は、n個の2/3に限定されるものではなく、n個よりも少ないm個であれば任意に設定できる。
【0030】
担当Job再割振部24は、ロボットステーションモニタ部21の情報及びJob進行管理部22の情報を基に、1サイクルタイムを実行するごとに見直しを行う。そして、担当Job再割振部24は、あるワークWに対する単一Job41の作業に遅延が生じた場合には、単一Job41(再構築した担当Job)の再割り振り処理を実行する。
【0031】
同期制御部25は、稼動中の各ロボットコントローラ4へ同一の時間間隔で一斉に作業を切替えるように制御する。具体的には同期制御部25は、ワークWをワーク搬送方向下流(図1の左方向)のアームロボット6へ引き渡すために、ワークWを搬送するタイミングを示す同期信号を、各ロボットコントローラ4に一定の時間間隔(サイクルタイム)で送出する。この時、各ロボットコントローラ4に指示した各担当Job42が必ずしも完遂していない状態でも作業の切替えを指令する、つまり同期信号を送出することが、本実施形態の大きな特徴である。
【0032】
ここで、1サイクルタイム内に計画上収まる単一Job41の数がn個である。したがって、各担当Job42a〜42dがn個の単一Job41、担当Job42eがm個の単一Job41で構成されるように、サイクルタイム、つまり、同期信号を出力する時間間隔が設定されている。
【0033】
次に、各ロボットコントローラ4の構成について説明する。各ロボットコントローラ4は、実行コマンドを記憶するコマンド記憶部26(26a〜26e)と、処理部としての担当Job処理部27(27a〜27e)と、モータ駆動部28(28a〜28e)と、センサ検出部29(29a〜29e)と、を有している。また、各ロボットコントローラ4は、ステーション状態管理部30(30a〜30e)と、通知部としてのJob進行通知部31(31a〜31e)と、を有している。
【0034】
図4は、担当Job42の割り付けを示す概略説明図であり、図4(a)は遅延発生前、図4(b)は遅延発生後を示している。図2に示すロボットコントローラ4について図4(a)を参照しながら説明すると、各ロボットコントローラ4a〜4eには、担当Job42a〜42eが割り振られる。各ロボットコントローラ4a〜4eには、実行可能Job43a〜43eが設定されている。実行可能Job43a〜43eは、複数の単一Job41の集合である作業区分群であり、各担当Job処理部27a〜27eは、実行可能Job43a〜43eの範囲内で担当Job42の各単一Job41を実行可能に構成されている。
【0035】
以下、具体的に説明すると、まず、コマンド記憶部26には、アームロボット6を動作させる命令であって、割り振られた担当Job42の各単一Job41をアームロボット6に実行させるための実行コマンドが記憶されている。例えばコマンド記憶部26aには、Job[A]〜Job[D]を、アームロボット6aに実行させるための実行コマンドが記憶されている。
【0036】
そして、担当Job処理部27は、セルコントローラ2により割り振られた担当Job42を解釈し、ワーク搬送方向上流から搬送されたワークWに対して、担当Job42のそれぞれの単一Job41の作業を、順次、アームロボット6に実行させる。具体的には、担当Job処理部27は、コマンド記憶部26から担当Job42の各単一Job41に対応する実行コマンドを読み出して実行することで、アームロボット6に作業を実行させる。例えば担当Job処理部27aは、コマンド記憶部26aから担当Job42aのJob[A]〜Job[C]に対応する実行コマンドを読み出して、実行コマンドに従ってアームロボット6aに作業を実行させる。ここで、コマンド記憶部26aには、Job[A]〜Job[D]をアームロボット6aに実行させるための実行コマンドが記憶されているので、実行可能Job43aはJob[A]〜Job[D]に設定されていることとなる。同様に、図4(a)では、実行可能Job43bはJob[C]〜Job[G]、実行可能Job43cはJob[F]〜Job[J]、実行可能Job43dはJob[I]〜Job[M]、実行可能Job43eはJob[L]〜Job[N]に設定されている。
【0037】
互いに隣接する2つのアームロボット6に接続されたロボットコントローラ4に設定される実行可能Job43は、単一Job41が互いに重複するように設定されている。例えば実行可能Job43bと実行可能Job43cにおいては、Job[F],Job[G]が重複して設定されている。
【0038】
また、担当Job処理部27は、セルコントローラ2の同期制御部25により送出された同期信号のタイミングでアームロボット6にワークWをワーク搬送方向下流に搬送させる。例えば、担当Job処理部27aは、同期信号のタイミングでアームロボット6aにワークWをワーク搬送方向下流に配置された作業台5b上のワーク固定部7bに搬送させる。また、担当Job処理部27eは、同期信号のタイミングでアームロボット6eにワークWをワーク搬送方向下流に配置されたワーク搬出台10に搬送させる。以上の動作により、複数のアームロボット6a〜6eは、ワークWを一斉に同期してワーク搬送方向下流に搬送することとなる。
【0039】
モータ駆動部28は、担当Job処理部27の制御の下、アームロボット6のモータ及びワーク固定部7のモータを駆動するものである。つまり、担当Job処理部27は、モータ駆動部28によるアームロボット6のモータの駆動を制御することで、アームロボット6の動作を制御している。センサ検出部29は、アームロボット6に設けられたセンサ及びワーク固定部7に設けられたセンサにより検出を行うものである。ステーション状態管理部30は、モータ駆動部28及びセンサ検出部29の情報からロボットステーション3のエラー状況を管理し、もしエラーが発生している場合はセルコントローラ2へ通知する。
【0040】
Job進行通知部31は、今回のサイクルタイムで指示を受けた担当Job42の進行状況をセルコントローラ2へ通知する。更に、Job進行通知部31は、アームロボット6における単一Job41の作業に遅延が発生した際に、サイクルタイムTの範囲内で作業が完了しないと予測される未実施の単一Job41の情報をセルコントローラ2へ通知する。セルコントローラ2のJob進行管理部22は、ロボットコントローラ4のJob進行通知部31から受信した情報を処理し、担当Job再割振部24に出力する。
【0041】
以上の構成で、セルコントローラ2の担当Job割振部23は、各担当Job42a〜42eを、各ロボットコントローラ4a〜4eに割り振る。同期制御部25は、一定の時間間隔(サイクルタイムT)で同期信号を各ロボットコントローラ4a〜4eに出力している。各ロボットコントローラ4a〜4eの担当Job処理部27は、同期信号に同期してサイクルタイムT毎に、アームロボット6にワークWをワーク搬送方向下流に搬送させる。そして、各担当Job処理部27は、ワーク搬送方向上流から搬送されたワークWに対して、割り振られた担当Job42の作業をアームロボット6に順次実行させる。各アームロボット6による各担当Job42の作業に遅延が発生していない場合には、担当Job割振部23により割り振られた各担当Job42の作業をサイクルタイムT内で終了させることができる。
【0042】
次に、一部のアームロボット6にて担当Job42中の単一Job41の作業に遅延が発生した場合のセルコントローラ2及び各ロボットコントローラ4の動作について説明する。図4(b)では、アームロボット6bにて担当Job42b中のJob[E]の作業に遅延が発生したものとして例示している。図5は、各アームロボット6による作業の流れを示すタイムチャートである。
【0043】
いずれかのアームロボット6で単一Jobの作業に遅延が生じた場合、当該遅延が発生したアームロボット6に接続されたロボットコントローラ4のJob進行通知部31は、未実施の単一Jobの情報をセルコントローラ2に通知(送信)する。例えばロボットコントローラ4bのJob進行通知部31bは、サイクルタイムT2においてワークW5に対するアームロボット6bによるJob[E]の作業に遅延が発生しているので、Job[F]が未実施であること示す情報をセルコントローラ2に通知する。セルコントローラ2のJob進行管理部22は、ワークW5に対してアームロボット6bによるJob[F]の作業が未実施であることを示す信号を、担当Job再割振部24に出力する。
【0044】
担当Job再割振部24は、Job[E]の作業に遅延が発生したアームロボット6bよりもワーク搬送方向下流に位置するアームロボット6c〜6eに設けられたロボットコントローラ4c〜4eに、未実施であるJob[F]〜Job[N]を割り振りし直す。その際、担当Job再割振部24は、それぞれのロボットコントローラ4c〜4eに割り振る単一Job41の数の上限をn個として、作業順に割り振りし直す。つまり、担当Job再割振部24は、ロボットコントローラ4cには、Job[F]〜Job[H]からなる担当Job44cを割り振りし直す。担当Job再割振部24は、ロボットコントローラ4dには、Job[I]〜Job[K]からなる担当Job44dを割り振りし直す。担当Job再割振部24は、ロボットコントローラ4eには、Job[L]〜Job[N]からなる担当Job44eを割り振りし直す。
【0045】
即ち、遅延が発生したアームロボット6bの隣のアームロボット6cに接続されたロボットコントローラ4cには、ロボットコントローラ4bで未実施のJob[F]が割り振られる。その結果、Job[I]が実施できなくなるので、Job[I]はアームロボット6cの隣のアームロボット6dに接続されたロボットコントローラ6dに割り振られる。同様に、Job[L]がロボットコントローラ6eに割り振られる。
【0046】
このように担当Job再割振部24が再割り振り処理を行うのは、図5に示すように、作業の遅延が生じたワークW5に対してだけであり、そのワークW5以外のワークWに対しては、作業の遅延が生じていないので、再割り振り処理は行わない。したがって、ワークW5以外のワークWに対しては、担当Job割振部23により割り振られた担当Job42の単一Job41の作業が実行される。
【0047】
以上のように、担当Job再割振部24に再割り振り処理が実行されるので、ロボットステーション5cのロボットコントローラ4cの担当Job処理部27cは、サイクルタイムT3において、Job[F]〜Job[H]の作業をアームロボット6cに行わせる。また、ロボットステーション5dのロボットコントローラ4dの担当Job処理部27dは、サイクルタイムT4において、Job[I]〜Job[K]の作業をアームロボット6cに行わせる。また、ワーク搬送方向の最下流に位置するロボットステーション5eのロボットコントローラ4eの担当Job処理部27eは、サイクルタイムT5において、Job[L]〜Job[N]の作業をアームロボット6eに行わせる。
【0048】
つまり、ロボットコントローラ4eには、担当Job割振部23によりm(=2)個の単一Job41が割り振られるが、アームロボット6bで未実施となった単一Job41が1個あったので、担当Job再割振部24により3個の単一Job41が割り振られる。このように、アームロボット6a〜6dによるいずれかの単一Job41の作業で遅延が発生したとしても、最下流に位置するアームロボット6eに行わせる単一Job41をサイクルタイムTの範囲内で増やすことができる。
【0049】
これにより、一部の単一Job41の作業に遅延が生じたとしても、各ロボットコントローラ4a〜4eは、割り振られた単一Job41の作業をサイクルタイムT内で終えることができる。したがって、例えばワークW5に対して一連の作業を施しているときに発生した、アームロボット6bによるJob[E]の作業の遅延が、別のワークWに対するアームロボット6a〜6eの作業に波及するのを防止することができる。つまり、別のワークWに作業を施す際に、各アームロボット6a〜6eにおいて待ち時間が生じるのを防止できる。ゆえに、複数のアームロボット6a〜6eによるワークWの生産性が向上する。
【0050】
[第2実施形態]
次に、本発明の第2実施形態に係るロボットシステムについて説明する。図6は、本発明の第2実施形態に係るロボットシステム1Aの概略構成を示すブロック図である。図7は、図6に示したロボットシステム1Aの制御装置を示す制御ブロック図である。なお、本第2実施形態において、上記第1実施形態と同様の構成については、同一符号を付してその説明を省略する。
【0051】
本第2実施形態では、ロボットシステム1Aは、ワーク搬送方向の最下流に位置するロボットステーション3e(アームロボット6e)に隣接して配置されたバッファであるロボットステーション3fを備えている。ロボットステーション3fは、アームロボット6a〜6eと同様の構成の補助用作業ロボットであるアームロボット6fと、ロボットコントローラ4a〜4eと同様の構成の補助用ロボットコントローラであるロボットコントローラ4fとを有している。また、ロボットステーション3fは、作業台5a〜5eと同様の構成の作業台5fと、ワーク固定部7a〜7eと同様の構成のワーク固定部7fと、組付け部材設置部8a〜8eと同様の構成の組付け部材設置部8fとを有している。
【0052】
ロボットコントローラ4fは、コマンド記憶部26f、補助用処理部としての担当Job処理部27f、モータ駆動部28f、センサ検出部29f、ステーション状態管理部30f及びJob進行通知部31fを有している。
【0053】
図8は、担当Job42の割り付けを示す概略説明図であり、図8(a)は遅延発生前、図8(b)は遅延発生後を示している。本第2実施形態では、担当Job割振部23は、ロボットコントローラ4a〜4eには、上記第1実施形態と同様に、担当Job42a〜42eを割り振る割り振り処理を実施するが、ロボットコントローラ4fに対しては担当Jobを割り振らない。また、ロボットコントローラ4fには、実行可能Job43fが設定されている。この実行可能Job43fは担当Job42eの全てもしくは一部と同一である。本第2実施形態では、実行可能Job43fは実行可能Job43eの一部と同一、例えばJob[L]、Job[M]及びJob[N]で構成されている。つまり、コマンド記憶部26fには、Job[L]、Job[M]及びJob[N]を実行させる実行コマンドが記憶されている。
【0054】
以上の構成で、各アームロボット6a〜6eによる各担当Job42の作業に遅延が発生していない場合には、担当Job割振部23により割り振られた各担当Job42の作業をサイクルタイムT内で終了させることができる。
【0055】
次に、図8(b)に示すように、アームロボット6bにおけるJob[D]の作業において遅延が発生し、Job[E]及びJob[F]が未実施であるものとする。
【0056】
各ロボットコントローラ4bのJob進行通知部31bは、Job[E]及びJob[F]が未実施であることを示す情報をセルコントローラ2に通知する。セルコントローラ2のJob進行管理部22は、アームロボット6bによるJob[E]及びJob[F]の作業が未実施であることを示す信号を、担当Job再割振部24に出力する。
【0057】
そして、担当Job再割振部24は、再割り振り処理を実行する。つまり、担当Job再割振部24は、ロボットコントローラ4cには、Job[E]〜Job[G]からなる担当Job44cを割り振りし直す。担当Job再割振部24は、ロボットコントローラ4dには、Job[H]〜Job[J]からなる担当Job44dを割り振りし直す。担当Job再割振部24は、ロボットコントローラ4eには、Job[K]〜Job[M]からなる担当Job44eを割り振りし直す。
【0058】
ここで、担当Job再割振部24は、ロボットコントローラ4eに割り振って上限のn(=3)個を超えた分の残りのJob[N]については、アームロボット6eでは一定の時間間隔内(T)で処理できないので、ロボットコントローラ4fに割り振る。本第2実施形態では、ロボットコントローラ4fには、Job[N]からなる担当Job44fを割り振りし直す。
【0059】
図9は、各アームロボット6による作業の流れを示すタイムチャートである。図9に示すサイクルタイムT2において、アームロボット6bで担当Job42bのうちJob[E]及びJob[F]が未実施Jobとなっている。よって、次のサイクルタイムT3にてアームロボット6cは、セルコントローラ2からの指示よる担当Job44cとして、Job[E]から作業を実施する。同様にサイクルタイムT4でアームロボット6dはJob[H]から、サイクルタイムT5でアームロボット6eはJob[K]から作業を実施する。
【0060】
最下流に位置するアームロボット6eに接続されたロボットコントローラ4eに割り振られる担当Job44eは、他のロボットコントローラに比べ時間的に2/3に割り振ってあるが、サイクルタイムT5内でワークW5の組立工程を完了することができない。よって次のサイクルタイムT6でバッファのロボットコントローラ4fが担当Job44fとしてJob[N]を実行する。ワークW5の組立て完了は予定のサイクルタイムT5をオーバするが、次ワークW6は予定のサイクルタイムT6内に組立て完了しており、以降のワーク組立てに対し遅延の波及が防止できていることが分かる。
【0061】
以上、本第2実施形態では、最下流に位置するアームロボット6eにのみ隣接する、バッファのアームロボット6fを設けたことで、ロボットシステム1A全体のコスト、設置スペースを抑えることができる。
【0062】
[第3実施形態]
次に、本発明の第3実施形態に係るロボットシステムについて説明する。図10は、本発明の第3実施形態に係るロボットシステム1Bの概略構成を示すブロック図である。ロボットシステム1Bの制御装置の制御ブロック図は、図2と同様であるので、図2を参照しながら説明する。なお、本第3実施形態において、上記第1実施形態と同様の構成については、同一符号を付してその説明を省略する。
【0063】
まず、本第3実施形態において上記第1実施形態と異なるのは、ワークWを直接搬送する代わりに、ワークWを載置した搬送トレイ12(12x,12a〜12e,12y)をアームロボット6が把持して搬送するようにした点である。搬送トレイ12上には、ワークW、並びにワークWに組付ける組付け部材及び冶具である組付用ユニット13(13x,13a〜13e,13y)が載置されている。搬送トレイ12を受け渡す際、搬送トレイ12上のワークWは各ロボットステーション3のワーク固定部7と嵌合させ、モータ駆動部28の指示により組立て作業時の駆動ができるようになっている。組付用ユニット13は、全Jobで組み付けるパーツ及び治工具を搭載しており、各ロボットステーション3での実行可能Jobを増やすことができる。例えば、全Jobで使用するパーツ及び治工具を組付用ユニット13に搭載すれば、どのロボットステーション3でも全Jobに含まれる単一Jobはハード構成上、実行可能となる。
【0064】
本第3実施形態では、複数のアームロボット6a〜6eのうちいずれかのアームロボット6での単一Jobの作業で遅延が生じた場合には、上記第1実施形態と同様に、セルコントローラ2の担当Job再割振部24が再割り振り処理を実施する。
【0065】
ところで、複数のアームロボット6a〜6eのうちいずれかのアームロボット6が故障などの原因で作業不能となることがある。本第3実施形態のロボットコントローラ4のステーション状態管理部30は、アームロボット6が作業不能であることを示すエラー情報をセルコントローラ2に通知するように構成されている。
【0066】
セルコントローラ2のロボットステーションモニタ部21は、エラー情報を処理することで、何れのアームロボット6が作業不能となったかを検知する検知部として機能する。そして、この検知結果に基づき、担当Job割振部23は、上記第1実施形態で説明した割り振り処理を、複数のロボットコントローラ4a〜4eのうち、作業不能となったアームロボットを除くアームロボットに設けられたロボットコントローラに対して行う。
【0067】
図11は、担当Job42の割り付けを示す概略説明図であり、図11(a)はアームロボット6が作業不能となるエラー発生前、図11(b)はエラー発生後を示している。なお、各ロボットコントローラ4a〜4eに設定される実行可能Job43a〜43eを、全Jobとしてもよいが、図11に示すように、一部の単一Jobで構成してもよい。
【0068】
図11(a)に示すように、上記第1実施形態と同様、各ロボットコントローラ4a〜4dには、n(=3)個の単一Jobからなる担当Job42a〜42dが割り振られる。ロボットコントローラ4eには、m(=2)個の単一Jobからなる担当Job42eが割り振られる。
【0069】
次に、図11(b)に示すように、例えばアームロボット6bが作業不能となった場合について説明する。担当Job割振部23は、アームロボット6bを除くアームロボット6a,6c,6d,6eに接続されたロボットコントローラ4a,4c,4d,4eに対して担当Job45a,45c,45d,45eの割り振り処理を実施する。なお、ロボットコントローラ4bには単一Jobは割り振られない、換言すれば、割り振られる担当Job45bに含まれる単一Jobの数は0である。
【0070】
ロボットコントローラ4a,4c,4dの担当Jobとして処理する単一Jobの数が増えているので、サイクルタイムT’は当初のサイクルタイムTよりも、単一Jobが増加する分、長く設定されている。つまり、セルコントローラ2の同期制御部25は、サイクルタイムT’に合わせ、各ロボットコントローラ4に同期信号を送信する。
【0071】
以上、本第3実施形態では、あるアームロボット6に担当Jobが割り振れなくなった状態でも、ロボットシステム1Bを止めることなく、見直し後のサイクルタイムT’で常に一定に組立工程を実施することが可能である。
【0072】
なお、上記実施形態に基づいて本発明を説明したが、本発明はこれに限定されるものではない。上記実施形態は、ワークの組立てラインに関するものであったが、本発明は一連の作業工程を複数のロボットステーションで分割して実行する生産ラインに適用でき、また、生産ライン以外の多様な作業のラインにおいても適用可能である。
【符号の説明】
【0073】
1,1A,1B…ロボットシステム、2…セルコントローラ(メインコントローラ)、4a〜4e…ロボットコントローラ、4f…ロボットコントローラ(補助用ロボットコントローラ)、6a〜6e…アームロボット(作業ロボット)、6f…アームロボット(補助用作業ロボット)、20…単一Jobデータベース部(記憶部)、21…ロボットステーションモニタ部(検知部)、23…担当Job割振部(割振部)、24…担当Job再割振部(再割振部)、25…同期制御部、27a〜27e…担当Job処理部(処理部)、27f…担当Job処理部(補助用処理部)、31a〜31e…Job進行通知部(通知部)

【特許請求の範囲】
【請求項1】
ワークを順次搬送するワーク搬送方向に並べて配置され、ワークに施す一連の作業を分担して行う複数の作業ロボットと、前記複数の作業ロボットのそれぞれに設けられたロボットコントローラと、前記複数のロボットコントローラに接続されたメインコントローラと、を備えたロボットシステムにおいて、
前記メインコントローラは、
前記一連の作業を分割して得られる複数の作業区分を記憶する記憶部と、
前記記憶部に記憶された複数の作業区分を、前記複数のロボットコントローラのうち、ワーク搬送方向の最下流に位置する作業ロボット以外の作業ロボットに設けられたロボットコントローラにはn(≧2の正の整数)個、ワーク搬送方向の最下流に位置する作業ロボットに設けられたロボットコントローラにはm(<nの正の整数)個、作業順に割り振る割り振り処理を実行する割振部と、
ワークをワーク搬送方向下流に搬送するタイミングを示す同期信号を、前記各ロボットコントローラに一定の時間間隔で送出する同期制御部と、を有し、
前記各ロボットコントローラは、
前記同期制御部により送出された前記同期信号のタイミングで作業ロボットにワークをワーク搬送方向下流に搬送させ、ワーク搬送方向上流から搬送されたワークに対して、割り振られた作業区分の作業を作業ロボットに実行させる処理部と、
作業ロボットにおける作業区分の作業に遅延が発生した際に前記時間間隔の範囲内で作業が完了しないと予測される未実施の作業区分の情報を、前記メインコントローラに通知する通知部と、を有し、
前記メインコントローラは、
前記通知部により前記情報が通知された際に、前記複数のロボットコントローラのうち、作業区分の作業に遅延が発生した作業ロボットよりもワーク搬送方向下流に位置する作業ロボットに設けられたロボットコントローラに、未実施である作業区分を、n個を上限として作業順に割り振りし直す再割り振り処理を実行する再割振部を有することを特徴とするロボットシステム。
【請求項2】
ワーク搬送方向の最下流に位置する作業ロボットに隣接して配置された補助用作業ロボットと、
前記補助用作業ロボットに設けられた補助用ロボットコントローラと、を備え、
前記補助用ロボットコントローラは、割り振られた作業区分の作業を前記補助用作業ロボットに実行させる補助用処理部を有し、
前記再割振部は、ワーク搬送方向の最下流に位置する作業ロボットに設けられたロボットコントローラに割り振って上限のn個を超えた分の作業区分については、前記補助用ロボットコントローラに割り振ることを特徴とする請求項1に記載のロボットシステム。
【請求項3】
前記メインコントローラは、前記複数の作業ロボットのうち、作業不能となった作業ロボットを検知する検知部を有し、
前記割振部は、前記割り振り処理を、前記複数のロボットコントローラのうち、前記検知部により検知された作業不能となった作業ロボットを除く作業ロボットに設けられたロボットコントローラに対して行うことを特徴とする請求項1又は2に記載のロボットシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−218093(P2012−218093A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−84447(P2011−84447)
【出願日】平成23年4月6日(2011.4.6)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】