(57)【要約】【課題】一連の作業を複数の作業ロボットに作業分割して実行するロボットシステムで、一部の作業ロボットの一部の作業区分に遅延が発生しても、他の作業ロボットに待ち時間が発生することなく生産性を向上させる。【解決手段】アームロボット６ａ〜６ｄに設けられたロボットコントローラ４ａ〜４ｄには、ｎ個の作業区分を割り振る。アームロボット６ｅに設けられたロボットコントローラ４ｅには、ｎ個よりも少ないｍ個の作業区分を割り振る。いずれかのアームロボット６での作業区分の作業で遅延が生じたときは、遅延が生じたアームロボットよりも下流のアームロボットに設けられたロボットコントローラに、未実施となっている作業区分を割り振りし直す再割り振り処理を実行する。再割り振り処理を実行する際には、各ロボットコントローラに割り振られる作業区分の数の上限はｎ個である。【選択図】図１
2012218093.tif 000002
【特許請求の範囲】
【請求項１】
ワークを順次搬送するワーク搬送方向に並べて配置され、ワークに施す一連の作業を分担して行う複数の作業ロボットと、前記複数の作業ロボットのそれぞれに設けられたロボットコントローラと、前記複数のロボットコントローラに接続されたメインコントローラと、を備えたロボットシステムにおいて、
前記メインコントローラは、
前記一連の作業を分割して得られる複数の作業区分を記憶する記憶部と、
前記記憶部に記憶された複数の作業区分を、前記複数のロボットコントローラのうち、ワーク搬送方向の最下流に位置する作業ロボット以外の作業ロボットに設けられたロボットコントローラにはｎ（≧２の正の整数）個、ワーク搬送方向の最下流に位置する作業ロボットに設けられたロボットコントローラにはｍ（＜ｎの正の整数）個、作業順に割り振る割り振り処理を実行する割振部と、
ワークをワーク搬送方向下流に搬送するタイミングを示す同期信号を、前記各ロボットコントローラに一定の時間間隔で送出する同期制御部と、を有し、
前記各ロボットコントローラは、
前記同期制御部により送出された前記同期信号のタイミングで作業ロボットにワークをワーク搬送方向下流に搬送させ、ワーク搬送方向上流から搬送されたワークに対して、割り振られた作業区分の作業を作業ロボットに実行させる処理部と、
作業ロボットにおける作業区分の作業に遅延が発生した際に前記時間間隔の範囲内で作業が完了しないと予測される未実施の作業区分の情報を、前記メインコントローラに通知する通知部と、を有し、
前記メインコントローラは、
前記通知部により前記情報が通知された際に、前記複数のロボットコントローラのうち、作業区分の作業に遅延が発生した作業ロボットよりもワーク搬送方向下流に位置する作業ロボットに設けられたロボットコントローラに、未実施である作業区分を、ｎ個を上限として作業順に割り振りし直す再割り振り処理を実行する再割振部を有することを特徴とするロボットシステム。
【請求項２】
ワーク搬送方向の最下流に位置する作業ロボットに隣接して配置された補助用作業ロボットと、
前記補助用作業ロボットに設けられた補助用ロボットコントローラと、を備え、
前記補助用ロボットコントローラは、割り振られた作業区分の作業を前記補助用作業ロボットに実行させる補助用処理部を有し、
前記再割振部は、ワーク搬送方向の最下流に位置する作業ロボットに設けられたロボットコントローラに割り振って上限のｎ個を超えた分の作業区分については、前記補助用ロボットコントローラに割り振ることを特徴とする請求項１に記載のロボットシステム。
【請求項３】
前記メインコントローラは、前記複数の作業ロボットのうち、作業不能となった作業ロボットを検知する検知部を有し、
前記割振部は、前記割り振り処理を、前記複数のロボットコントローラのうち、前記検知部により検知された作業不能となった作業ロボットを除く作業ロボットに設けられたロボットコントローラに対して行うことを特徴とする請求項１又は２に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一連の作業を複数の作業ロボットにより作業分割して実行するセル生産において、一部の作業ロボットで作業遅延が発生したとき、各作業ロボットを停止することなく、遅延を解消するためのロボットシステムに関する。
【背景技術】
【０００２】
組立て作業現場では従来の一貫したベルトコンベア生産方式に代わって、分散したセル生産方式が導入され着実な成果を挙げている。さらに無人化、つまりセル生産工程を複数台のロボット群による代替も行なわれている。複数の作業ロボットによるセル生産で重要となるのが作業ロボット間の同期制御である。一連の組立て作業工程を分割し、複数の作業ロボットに割付けて一つのワークを効率よく組立てるには、各作業ロボットでの作業を遂行するサイクルタイムが揃っている必要がある。もし、一部の作業ロボットにおいて、割付けられた作業工程に遅延が発生すると隣接する作業ロボットに待ち時間が発生してしまい、最終的には組立てライン全体の生産性に支障をきたす。
【０００３】
図１２は、従来のロボットシステムにおいて遅延が生じた場合を示すタイムチャートであり、ここでは、５台の作業ロボット（Ｒ１〜Ｒ５）により組立工程を実現しているロボットシステムを表している。
【０００４】
横軸にサイクルタイム、縦軸は各作業ロボットを表し、サイクルタイムの進行とともに各作業ロボットの作業対象とするワークＷの遷移がわかる。例えば、サイクルタイムＴ１でワークＷ４は作業ロボットＲ２により組立てられ、次のサイクルタイムＴ２で同じワークＷ４は作業ロボットＲ３に渡され、次の組立てが行われる。サイクルタイムＴ４で作業ロボットＲ５の組立てによりワークＷ４の組立工程が完了する。
【０００５】
これに対し、ワークＷ５の組立て作業では、サイクルタイムＴ２において作業ロボットＲ２で遅延が生じている。このとき、作業ロボットＲ２は組立てているワークＷ５を所定のサイクルタイム内で割当てられた組立工程が完了しない。そのため、次のサイクルタイムＴ３では、作業ロボットＲ２の上流に位置する作業ロボットＲ１は、作業ロボットＲ１に割当てられたワークＷ６の組立工程が完了しているが、すぐにワークＷ６を作業ロボットＲ２に渡せない。従って、次のワークＷ７の組立てを開始するまで遅延時間Ｄ１が発生してしまう。
【０００６】
また、同じサイクルタイムＴ３で、作業ロボットＲ２の下流に位置する作業ロボットＲ３も作業ロボットＲ３に割当てられたワークＷ４の組立工程が完了している。しかし、すぐにワークＷ５を作業ロボットＲ２から受け取れず、ワークＷ５の組立てを開始するまでに遅延時間Ｄ２が発生してしまう。
【０００７】
この後、サイクルタイムＴ４で作業ロボットＲ４に遅延時間Ｄ３が波及し、サイクルタイムＴ５で作業ロボットＲ５に遅延時間Ｄ４が波及する。そして、ワークＷ５以降すべてのワークの組立て完了時刻は、計画よりも時間が遅延時間Ｄ５の分遅くなってしまう。従って、一度途中で発生した遅延が解消することなく蓄積されてしまうことがわかる。
【０００８】
このような他の作業ロボットへの作業遅延の影響を軽減するために、作業ロボット間にストッカーを設けた装置が開示されている（特許文献１参照）。具体的には、各作業ロボット間にストッカーを配置し、隣接する下流側の作業ロボットで遅延が生じた際は下流ロボットとの間に設けられたストッカーに組立て作業の終了したワークを移載し、次のワーク組立てに移る。逆に上流側の作業ロボットで遅延が生じた際は上流ロボットとの間に設けられたストッカーから次のワークを移載してワークの組立て作業を続行することで作業ロボットの待ち時間を解消している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１１−１９８０７４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、各作業ロボット間にストッカーを設けることで隣接した作業ロボットが即時停止して待ち動作に移ることはなくなるが、ストッカーにワークが存在すること自体、それ以前に一部の作業ロボット間で遅延が生じていることを表している。この遅延をさらに他のロボットに波及することは阻止できるものの、発生した遅延を解消することはできない。また、ストッカーを設けることでコスト増加、スペースの確保という問題もあった。
【００１１】
そこで、本発明は、一部の作業ロボットに発生したワークの作業の遅延が、別のワークの作業に波及するのを防止して、複数の作業ロボットによる生産性を向上させるロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、ワークを順次搬送するワーク搬送方向に並べて配置され、ワークに施す一連の作業を分担して行う複数の作業ロボットと、前記複数の作業ロボットのそれぞれに設けられたロボットコントローラと、前記複数のロボットコントローラに接続されたメインコントローラと、を備えたロボットシステムにおいて、前記メインコントローラは、前記一連の作業を分割して得られる複数の作業区分を記憶する記憶部と、前記記憶部に記憶された複数の作業区分を、前記複数のロボットコントローラのうち、ワーク搬送方向の最下流に位置する作業ロボット以外の作業ロボットに設けられたロボットコントローラにはｎ（≧２の正の整数）個、ワーク搬送方向の最下流に位置する作業ロボットに設けられたロボットコントローラにはｍ（＜ｎの正の整数）個、作業順に割り振る割り振り処理を実行する割振部と、ワークをワーク搬送方向下流に搬送するタイミングを示す同期信号を、前記各ロボットコントローラに一定の時間間隔で送出する同期制御部と、を有し、前記各ロボットコントローラは、前記同期制御部により送出された前記同期信号のタイミングで作業ロボットにワークをワーク搬送方向下流に搬送させ、ワーク搬送方向上流から搬送されたワークに対して、割り振られた作業区分の作業を作業ロボットに実行させる処理部と、作業ロボットにおける作業区分の作業に遅延が発生した際に前記時間間隔の範囲内で作業が完了しないと予測される未実施の作業区分の情報を、前記メインコントローラに通知する通知部と、を有し、前記メインコントローラは、前記通知部により前記情報が通知された際に、前記複数のロボットコントローラのうち、作業区分の作業に遅延が発生した作業ロボットよりもワーク搬送方向下流に位置する作業ロボットに設けられたロボットコントローラに、未実施である作業区分を、ｎ個を上限として作業順に割り振りし直す再割り振り処理を実行する再割振部を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、あるワークに対して一連の作業を施しているときに、ある作業ロボットにおいて作業区分の作業に遅延が発生しても、未実施の作業区分の作業を下流の作業ロボットが行うので、各作業ロボットは一定の時間間隔内で作業を終えることができる。これにより、ある作業ロボットにおける一部の作業区分の作業による遅延の影響が、別のワークに対する作業ロボットの作業に波及するのを防止することができ、複数の作業ロボットによる生産性が向上する。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１実施形態に係るロボットシステムの概略構成を示すブロック図である。
【図２】図１に示したロボットシステムの制御装置を示す制御ブロック図である。
【図３】一連の作業を分割して得られる複数の作業区分を示す説明図である。
【図４】担当Ｊｏｂの割り付けを示す概略説明図であり、（ａ）は遅延発生前、（ｂ）は遅延発生後を示している。
【図５】各アームロボットによる作業の流れを示すタイムチャートである。
【図６】本発明の第２実施形態に係るロボットシステム１Ａの概略構成を示すブロック図である。
【図７】図６に示したロボットシステムの制御装置を示す制御ブロック図である。
【図８】担当Ｊｏｂの割り付けを示す概略説明図であり、（ａ）は遅延発生前、（ｂ）は遅延発生後を示している。
【図９】各アームロボットによる作業の流れを示すタイムチャートである。
【図１０】本発明の第３実施形態に係るロボットシステム１Ａの概略構成を示すブロック図である。
【図１１】担当Ｊｏｂの割り付けを示す概略説明図であり、（ａ）はアームロボットが作業不能となるエラー発生前、（ｂ）はエラー発生後を示している。
【図１２】従来のロボットシステムにおいて遅延が生じた場合の各作業ロボットによる作業の流れを示すタイムチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
【００１６】
［第１実施形態］
図１は、本発明の第１実施形態に係るロボットシステムの概略構成を示すブロック図である。ロボットシステム１は、複数台のロボットステーション３を備えて構成される。図１では、５台のロボットステーション３（３ａ〜３ｅ）で構成されているが、５台に限定されるものではない。
【００１７】
各ロボットステーション３は、作業ロボットであるアームロボット６（６ａ〜６ｅ）と、アームロボット６に接続され、アームロボット６を制御するロボットコントローラ４（４ａ〜４ｅ）と、を有している。これら複数のロボットコントローラ４ａ〜４ｅには、通信ライン１１を介して１つのメインコントローラであるセルコントローラ２がネットワーク接続されている。アームロボット６は、多関節マニピュレータであり、ワークＷを把持して搬送したり、ワークＷ（Ｗ１〜Ｗ５）に加工や組み付けなどの作業を施したりすることができる。
【００１８】
また、各ロボットステーション３は、アームロボット６が固定され、ワークＷの組み立て作業を行うための作業台５（５ａ〜５ｅ）と、ワーク固定部７（７ａ〜７ｅ）と、組付け部材設置部８（８ａ〜８ｅ）とを有している。ワーク固定部７は、搬送されてきたワークＷを固定する。組付け部材設置部８には、ワークＷに組付ける部材が設置されている。ワーク固定部７及び組付け部材設置部８は、作業台５上に設けられている。
【００１９】
なお、本第１実施形態では、各ロボットステーション３はアームロボット６を１本のみ有しているが、これに限定されるものでなく、作業ロボットとして、２本すなわち双腕のアームロボットを有していてもよい。その際、ロボットコントローラ４は双腕の同期制御機能を有する。
【００２０】
本第１実施形態では、ロボットステーション３ａ〜３ｅが一列に並んで配置されており、各アームロボット６がワークＷを把持して隣のロボットステーション３の作業台５に搬送可能に構成されている。なお、ロボットステーション３ａにおけるワークＷのワーク搬送方向上流には、ワーク搬入台９が配置され、ロボットステーション３ｅにおけるワークＷのワーク搬送方向下流には、ワーク搬出台１０が配置されている。これにより、ワーク搬入台９から搬入されたワークＷは、ロボットステーション３ａ→３ｂ→３ｃ→３ｄ→３ｅの順に順次搬送されて順番にワークＷが組立てられ、ワーク搬出台１０に搬出される。このように、複数のアームロボット６ａ〜６ｅにより、ワークＷに施す一連の作業が分担して行われる。
【００２１】
ワーク搬入台９へはワーク搬入手段（不図示）もしくは作業員により組立て前のワークＷが設置される。ワーク搬出台１０は、複数のロボットステーション３ａ〜３ｅで組立てが完了したワークＷを渡すための台である。組立て完了したワークＷは、ロボットステーション３ｅのアームロボット６ｅがワーク搬出台１０に置き、ワーク搬出手段（不図示）もしくは作業員により取り出される。
【００２２】
図２は、図１に示したロボットシステム１の制御装置を示す制御ブロック図である。図３は、一連の作業を分割して得られる複数の作業区分を示す説明図である。図２に示すセルコントローラ２は、ロボットステーション３ａ〜３ｅを同期して制御するためのものである。まず、図３に示すように、組立て作業を完成するまでの一連の作業（以下、「全Ｊｏｂ」と称す）４０を、時系列的に複数のより細かな作業区分（以下、「単一Ｊｏｂ」と称す）４１ａ〜４１ｎに分割しておく。そして、セルコントローラ２は、いくつかの単一Ｊｏｂをまとめて各ロボットコントローラ４のアームロボット６が実行する作業区分群（以下、「担当Ｊｏｂ」と称す）４２（４２ａ〜４２ｅ）としてロボットコントローラ４（４ａ〜４ｅ）に出力する。なお、各単一Ｊｏｂ４１は、想定されるアームロボット６による作業時間（遅延がないとした場合を想定した計画上の作業時間）が略同一となるように分割されている。ここで、図３では、作業区分である単一Ｊｏｂ４１ａ〜４１ｎをＪｏｂ［Ａ］〜Ｊｏｂ［Ｎ］で表しており、以下、作業区分を単一Ｊｏｂ４１（４１ａ〜４１ｎ）又はＪｏｂ［Ａ］〜Ｊｏｂ［Ｎ］として、適宜使い分けて説明する。
【００２３】
図２に示す各ロボットコントローラ４は、セルコントローラ２からの担当Ｊｏｂ４２の受信やアームロボット６の作業状況およびエラー情報等の送信を行う。各ロボットコントローラ４は、それぞれ担当Ｊｏｂ４２の作業をアームロボット６に行わせ、セルコントローラ２の指令により、同一タイミングで、前工程のロボットステーション３のアームロボット６からワークＷを受け取り、次のワークＷの組立て作業を開始する。この際、ロボットステーション３ａはワーク搬入台９よりワークを取り受け、ロボットステーション３ｅは、担当Ｊｏｂの１工程として組立ての完了したワークをワーク搬出台１０に排出する。
【００２４】
まず、セルコントローラ２の構成について説明する。セルコントローラ２は、記憶部としての単一Ｊｏｂデータベース部２０と、ロボットステーションモニタ部２１と、作業進行管理部としてのＪｏｂ進行管理部２２と、を有している。また、セルコントローラ２は、割振部としての担当Ｊｏｂ割振部２３と、再割振部としての担当Ｊｏｂ再割振部２４と、同期制御部２５と、を有している。
【００２５】
単一Ｊｏｂデータベース部２０には、全Ｊｏｂ４０を構成する複数の単一Ｊｏｂ４１ａ〜４１ｎのデータが記憶されている。単一Ｊｏｂ４１のデータは、実行コマンドであってもよいが、単一Ｊｏｂに関する情報、例えば標準工数時間、必要工具など、各ロボットコントローラ４へ担当Ｊｏｂ４２を割り振るのに必要な情報であればよい。
【００２６】
ロボットステーションモニタ部２１は、各ロボットステーション３のエラー発生などの状態を管理する。Ｊｏｂ進行管理部２２は、各ロボットステーション３のアームロボット６の作業状況を管理する。
【００２７】
担当Ｊｏｂ割振部２３は、各ロボットステーション３のロボットコントローラ４へ担当Ｊｏｂ４２を割り振る割り振り処理を実行する。具体的に説明すると、担当Ｊｏｂ割振部２３は、単一Ｊｏｂデータベース部２０から複数の単一Ｊｏｂ４１ａ〜４１ｎのデータを読み出す。そして、担当Ｊｏｂ割振部２３は、いくつかの単一Ｊｏｂ４１を作業順にまとめた各担当Ｊｏｂ４２ａ〜４２ｅのデータを各ロボットコントローラ４ａ〜４ｅに出力する。これにより、各ロボットコントローラ４には、担当Ｊｏｂ４２が割り振られる。
【００２８】
具体的には、担当Ｊｏｂ割振部２３は、ワーク搬送方向の最下流に位置するアームロボット６ｅ以外のアームロボット６ａ〜６ｄに設けられたロボットコントローラ４ａ〜４ｄにはｎ（≧２の正の整数）個の単一Ｊｏｂ４１を割り振る。本第１実施形態では、ｎ＝３、つまり３個の単一Ｊｏｂ４１で担当Ｊｏｂ４２ａ〜４２ｄが構成される。なお、ワーク搬送方向の最下流に位置する作業ロボット以外の作業ロボットに接続されたロボットコントローラ４ａ〜４ｄに割り振る単一Ｊｏｂ４１の個数は、３個に限らず、２個以上であればよい。
【００２９】
これに対し、担当Ｊｏｂ割振部２３は、ワーク搬送方向の最下流に位置するアームロボット６ｅに設けられたロボットコントローラ４ｅにはｍ（＜ｎの正の整数）個の単一Ｊｏｂ４１を割り振る。本第１実施形態では、ｍはｎよりも小さい値であるので、ｍ＝２、つまりｎ個の２／３である２個の単一Ｊｏｂ４１で担当Ｊｏｂ４２ｅが構成される。なお、ロボットコントローラ４ｅに割り振る単一Ｊｏｂ４１の数は、ｎ個の２／３に限定されるものではなく、ｎ個よりも少ないｍ個であれば任意に設定できる。
【００３０】
担当Ｊｏｂ再割振部２４は、ロボットステーションモニタ部２１の情報及びＪｏｂ進行管理部２２の情報を基に、１サイクルタイムを実行するごとに見直しを行う。そして、担当Ｊｏｂ再割振部２４は、あるワークＷに対する単一Ｊｏｂ４１の作業に遅延が生じた場合には、単一Ｊｏｂ４１（再構築した担当Ｊｏｂ）の再割り振り処理を実行する。
【００３１】
同期制御部２５は、稼動中の各ロボットコントローラ４へ同一の時間間隔で一斉に作業を切替えるように制御する。具体的には同期制御部２５は、ワークＷをワーク搬送方向下流（図１の左方向）のアームロボット６へ引き渡すために、ワークＷを搬送するタイミングを示す同期信号を、各ロボットコントローラ４に一定の時間間隔（サイクルタイム）で送出する。この時、各ロボットコントローラ４に指示した各担当Ｊｏｂ４２が必ずしも完遂していない状態でも作業の切替えを指令する、つまり同期信号を送出することが、本実施形態の大きな特徴である。
【００３２】
ここで、１サイクルタイム内に計画上収まる単一Ｊｏｂ４１の数がｎ個である。したがって、各担当Ｊｏｂ４２ａ〜４２ｄがｎ個の単一Ｊｏｂ４１、担当Ｊｏｂ４２ｅがｍ個の単一Ｊｏｂ４１で構成されるように、サイクルタイム、つまり、同期信号を出力する時間間隔が設定されている。
【００３３】
次に、各ロボットコントローラ４の構成について説明する。各ロボットコントローラ４は、実行コマンドを記憶するコマンド記憶部２６（２６ａ〜２６ｅ）と、処理部としての担当Ｊｏｂ処理部２７（２７ａ〜２７ｅ）と、モータ駆動部２８（２８ａ〜２８ｅ）と、センサ検出部２９（２９ａ〜２９ｅ）と、を有している。また、各ロボットコントローラ４は、ステーション状態管理部３０（３０ａ〜３０ｅ）と、通知部としてのＪｏｂ進行通知部３１（３１ａ〜３１ｅ）と、を有している。
【００３４】
図４は、担当Ｊｏｂ４２の割り付けを示す概略説明図であり、図４（ａ）は遅延発生前、図４（ｂ）は遅延発生後を示している。図２に示すロボットコントローラ４について図４（ａ）を参照しながら説明すると、各ロボットコントローラ４ａ〜４ｅには、担当Ｊｏｂ４２ａ〜４２ｅが割り振られる。各ロボットコントローラ４ａ〜４ｅには、実行可能Ｊｏｂ４３ａ〜４３ｅが設定されている。実行可能Ｊｏｂ４３ａ〜４３ｅは、複数の単一Ｊｏｂ４１の集合である作業区分群であり、各担当Ｊｏｂ処理部２７ａ〜２７ｅは、実行可能Ｊｏｂ４３ａ〜４３ｅの範囲内で担当Ｊｏｂ４２の各単一Ｊｏｂ４１を実行可能に構成されている。
【００３５】
以下、具体的に説明すると、まず、コマンド記憶部２６には、アームロボット６を動作させる命令であって、割り振られた担当Ｊｏｂ４２の各単一Ｊｏｂ４１をアームロボット６に実行させるための実行コマンドが記憶されている。例えばコマンド記憶部２６ａには、Ｊｏｂ［Ａ］〜Ｊｏｂ［Ｄ］を、アームロボット６ａに実行させるための実行コマンドが記憶されている。
【００３６】
そして、担当Ｊｏｂ処理部２７は、セルコントローラ２により割り振られた担当Ｊｏｂ４２を解釈し、ワーク搬送方向上流から搬送されたワークＷに対して、担当Ｊｏｂ４２のそれぞれの単一Ｊｏｂ４１の作業を、順次、アームロボット６に実行させる。具体的には、担当Ｊｏｂ処理部２７は、コマンド記憶部２６から担当Ｊｏｂ４２の各単一Ｊｏｂ４１に対応する実行コマンドを読み出して実行することで、アームロボット６に作業を実行させる。例えば担当Ｊｏｂ処理部２７ａは、コマンド記憶部２６ａから担当Ｊｏｂ４２ａのＪｏｂ［Ａ］〜Ｊｏｂ［Ｃ］に対応する実行コマンドを読み出して、実行コマンドに従ってアームロボット６ａに作業を実行させる。ここで、コマンド記憶部２６ａには、Ｊｏｂ［Ａ］〜Ｊｏｂ［Ｄ］をアームロボット６ａに実行させるための実行コマンドが記憶されているので、実行可能Ｊｏｂ４３ａはＪｏｂ［Ａ］〜Ｊｏｂ［Ｄ］に設定されていることとなる。同様に、図４（ａ）では、実行可能Ｊｏｂ４３ｂはＪｏｂ［Ｃ］〜Ｊｏｂ［Ｇ］、実行可能Ｊｏｂ４３ｃはＪｏｂ［Ｆ］〜Ｊｏｂ［Ｊ］、実行可能Ｊｏｂ４３ｄはＪｏｂ［Ｉ］〜Ｊｏｂ［Ｍ］、実行可能Ｊｏｂ４３ｅはＪｏｂ［Ｌ］〜Ｊｏｂ［Ｎ］に設定されている。
【００３７】
互いに隣接する２つのアームロボット６に接続されたロボットコントローラ４に設定される実行可能Ｊｏｂ４３は、単一Ｊｏｂ４１が互いに重複するように設定されている。例えば実行可能Ｊｏｂ４３ｂと実行可能Ｊｏｂ４３ｃにおいては、Ｊｏｂ［Ｆ］，Ｊｏｂ［Ｇ］が重複して設定されている。
【００３８】
また、担当Ｊｏｂ処理部２７は、セルコントローラ２の同期制御部２５により送出された同期信号のタイミングでアームロボット６にワークＷをワーク搬送方向下流に搬送させる。例えば、担当Ｊｏｂ処理部２７ａは、同期信号のタイミングでアームロボット６ａにワークＷをワーク搬送方向下流に配置された作業台５ｂ上のワーク固定部７ｂに搬送させる。また、担当Ｊｏｂ処理部２７ｅは、同期信号のタイミングでアームロボット６ｅにワークＷをワーク搬送方向下流に配置されたワーク搬出台１０に搬送させる。以上の動作により、複数のアームロボット６ａ〜６ｅは、ワークＷを一斉に同期してワーク搬送方向下流に搬送することとなる。
【００３９】
モータ駆動部２８は、担当Ｊｏｂ処理部２７の制御の下、アームロボット６のモータ及びワーク固定部７のモータを駆動するものである。つまり、担当Ｊｏｂ処理部２７は、モータ駆動部２８によるアームロボット６のモータの駆動を制御することで、アームロボット６の動作を制御している。センサ検出部２９は、アームロボット６に設けられたセンサ及びワーク固定部７に設けられたセンサにより検出を行うものである。ステーション状態管理部３０は、モータ駆動部２８及びセンサ検出部２９の情報からロボットステーション３のエラー状況を管理し、もしエラーが発生している場合はセルコントローラ２へ通知する。
【００４０】
Ｊｏｂ進行通知部３１は、今回のサイクルタイムで指示を受けた担当Ｊｏｂ４２の進行状況をセルコントローラ２へ通知する。更に、Ｊｏｂ進行通知部３１は、アームロボット６における単一Ｊｏｂ４１の作業に遅延が発生した際に、サイクルタイムＴの範囲内で作業が完了しないと予測される未実施の単一Ｊｏｂ４１の情報をセルコントローラ２へ通知する。セルコントローラ２のＪｏｂ進行管理部２２は、ロボットコントローラ４のＪｏｂ進行通知部３１から受信した情報を処理し、担当Ｊｏｂ再割振部２４に出力する。
【００４１】
以上の構成で、セルコントローラ２の担当Ｊｏｂ割振部２３は、各担当Ｊｏｂ４２ａ〜４２ｅを、各ロボットコントローラ４ａ〜４ｅに割り振る。同期制御部２５は、一定の時間間隔（サイクルタイムＴ）で同期信号を各ロボットコントローラ４ａ〜４ｅに出力している。各ロボットコントローラ４ａ〜４ｅの担当Ｊｏｂ処理部２７は、同期信号に同期してサイクルタイムＴ毎に、アームロボット６にワークＷをワーク搬送方向下流に搬送させる。そして、各担当Ｊｏｂ処理部２７は、ワーク搬送方向上流から搬送されたワークＷに対して、割り振られた担当Ｊｏｂ４２の作業をアームロボット６に順次実行させる。各アームロボット６による各担当Ｊｏｂ４２の作業に遅延が発生していない場合には、担当Ｊｏｂ割振部２３により割り振られた各担当Ｊｏｂ４２の作業をサイクルタイムＴ内で終了させることができる。
【００４２】
次に、一部のアームロボット６にて担当Ｊｏｂ４２中の単一Ｊｏｂ４１の作業に遅延が発生した場合のセルコントローラ２及び各ロボットコントローラ４の動作について説明する。図４（ｂ）では、アームロボット６ｂにて担当Ｊｏｂ４２ｂ中のＪｏｂ［Ｅ］の作業に遅延が発生したものとして例示している。図５は、各アームロボット６による作業の流れを示すタイムチャートである。
【００４３】
いずれかのアームロボット６で単一Ｊｏｂの作業に遅延が生じた場合、当該遅延が発生したアームロボット６に接続されたロボットコントローラ４のＪｏｂ進行通知部３１は、未実施の単一Ｊｏｂの情報をセルコントローラ２に通知（送信）する。例えばロボットコントローラ４ｂのＪｏｂ進行通知部３１ｂは、サイクルタイムＴ２においてワークＷ５に対するアームロボット６ｂによるＪｏｂ［Ｅ］の作業に遅延が発生しているので、Ｊｏｂ［Ｆ］が未実施であること示す情報をセルコントローラ２に通知する。セルコントローラ２のＪｏｂ進行管理部２２は、ワークＷ５に対してアームロボット６ｂによるＪｏｂ［Ｆ］の作業が未実施であることを示す信号を、担当Ｊｏｂ再割振部２４に出力する。
【００４４】
担当Ｊｏｂ再割振部２４は、Ｊｏｂ［Ｅ］の作業に遅延が発生したアームロボット６ｂよりもワーク搬送方向下流に位置するアームロボット６ｃ〜６ｅに設けられたロボットコントローラ４ｃ〜４ｅに、未実施であるＪｏｂ［Ｆ］〜Ｊｏｂ［Ｎ］を割り振りし直す。その際、担当Ｊｏｂ再割振部２４は、それぞれのロボットコントローラ４ｃ〜４ｅに割り振る単一Ｊｏｂ４１の数の上限をｎ個として、作業順に割り振りし直す。つまり、担当Ｊｏｂ再割振部２４は、ロボットコントローラ４ｃには、Ｊｏｂ［Ｆ］〜Ｊｏｂ［Ｈ］からなる担当Ｊｏｂ４４ｃを割り振りし直す。担当Ｊｏｂ再割振部２４は、ロボットコントローラ４ｄには、Ｊｏｂ［Ｉ］〜Ｊｏｂ［Ｋ］からなる担当Ｊｏｂ４４ｄを割り振りし直す。担当Ｊｏｂ再割振部２４は、ロボットコントローラ４ｅには、Ｊｏｂ［Ｌ］〜Ｊｏｂ［Ｎ］からなる担当Ｊｏｂ４４ｅを割り振りし直す。
【００４５】
即ち、遅延が発生したアームロボット６ｂの隣のアームロボット６ｃに接続されたロボットコントローラ４ｃには、ロボットコントローラ４ｂで未実施のＪｏｂ［Ｆ］が割り振られる。その結果、Ｊｏｂ［Ｉ］が実施できなくなるので、Ｊｏｂ［Ｉ］はアームロボット６ｃの隣のアームロボット６ｄに接続されたロボットコントローラ６ｄに割り振られる。同様に、Ｊｏｂ［Ｌ］がロボットコントローラ６ｅに割り振られる。
【００４６】
このように担当Ｊｏｂ再割振部２４が再割り振り処理を行うのは、図５に示すように、作業の遅延が生じたワークＷ５に対してだけであり、そのワークＷ５以外のワークＷに対しては、作業の遅延が生じていないので、再割り振り処理は行わない。したがって、ワークＷ５以外のワークＷに対しては、担当Ｊｏｂ割振部２３により割り振られた担当Ｊｏｂ４２の単一Ｊｏｂ４１の作業が実行される。
【００４７】
以上のように、担当Ｊｏｂ再割振部２４に再割り振り処理が実行されるので、ロボットステーション５ｃのロボットコントローラ４ｃの担当Ｊｏｂ処理部２７ｃは、サイクルタイムＴ３において、Ｊｏｂ［Ｆ］〜Ｊｏｂ［Ｈ］の作業をアームロボット６ｃに行わせる。また、ロボットステーション５ｄのロボットコントローラ４ｄの担当Ｊｏｂ処理部２７ｄは、サイクルタイムＴ４において、Ｊｏｂ［Ｉ］〜Ｊｏｂ［Ｋ］の作業をアームロボット６ｃに行わせる。また、ワーク搬送方向の最下流に位置するロボットステーション５ｅのロボットコントローラ４ｅの担当Ｊｏｂ処理部２７ｅは、サイクルタイムＴ５において、Ｊｏｂ［Ｌ］〜Ｊｏｂ［Ｎ］の作業をアームロボット６ｅに行わせる。
【００４８】
つまり、ロボットコントローラ４ｅには、担当Ｊｏｂ割振部２３によりｍ（＝２）個の単一Ｊｏｂ４１が割り振られるが、アームロボット６ｂで未実施となった単一Ｊｏｂ４１が１個あったので、担当Ｊｏｂ再割振部２４により３個の単一Ｊｏｂ４１が割り振られる。このように、アームロボット６ａ〜６ｄによるいずれかの単一Ｊｏｂ４１の作業で遅延が発生したとしても、最下流に位置するアームロボット６ｅに行わせる単一Ｊｏｂ４１をサイクルタイムＴの範囲内で増やすことができる。
【００４９】
これにより、一部の単一Ｊｏｂ４１の作業に遅延が生じたとしても、各ロボットコントローラ４ａ〜４ｅは、割り振られた単一Ｊｏｂ４１の作業をサイクルタイムＴ内で終えることができる。したがって、例えばワークＷ５に対して一連の作業を施しているときに発生した、アームロボット６ｂによるＪｏｂ［Ｅ］の作業の遅延が、別のワークＷに対するアームロボット６ａ〜６ｅの作業に波及するのを防止することができる。つまり、別のワークＷに作業を施す際に、各アームロボット６ａ〜６ｅにおいて待ち時間が生じるのを防止できる。ゆえに、複数のアームロボット６ａ〜６ｅによるワークＷの生産性が向上する。
【００５０】
［第２実施形態］
次に、本発明の第２実施形態に係るロボットシステムについて説明する。図６は、本発明の第２実施形態に係るロボットシステム１Ａの概略構成を示すブロック図である。図７は、図６に示したロボットシステム１Ａの制御装置を示す制御ブロック図である。なお、本第２実施形態において、上記第１実施形態と同様の構成については、同一符号を付してその説明を省略する。
【００５１】
本第２実施形態では、ロボットシステム１Ａは、ワーク搬送方向の最下流に位置するロボットステーション３ｅ（アームロボット６ｅ）に隣接して配置されたバッファであるロボットステーション３ｆを備えている。ロボットステーション３ｆは、アームロボット６ａ〜６ｅと同様の構成の補助用作業ロボットであるアームロボット６ｆと、ロボットコントローラ４ａ〜４ｅと同様の構成の補助用ロボットコントローラであるロボットコントローラ４ｆとを有している。また、ロボットステーション３ｆは、作業台５ａ〜５ｅと同様の構成の作業台５ｆと、ワーク固定部７ａ〜７ｅと同様の構成のワーク固定部７ｆと、組付け部材設置部８ａ〜８ｅと同様の構成の組付け部材設置部８ｆとを有している。
【００５２】
ロボットコントローラ４ｆは、コマンド記憶部２６ｆ、補助用処理部としての担当Ｊｏｂ処理部２７ｆ、モータ駆動部２８ｆ、センサ検出部２９ｆ、ステーション状態管理部３０ｆ及びＪｏｂ進行通知部３１ｆを有している。
【００５３】
図８は、担当Ｊｏｂ４２の割り付けを示す概略説明図であり、図８（ａ）は遅延発生前、図８（ｂ）は遅延発生後を示している。本第２実施形態では、担当Ｊｏｂ割振部２３は、ロボットコントローラ４ａ〜４ｅには、上記第１実施形態と同様に、担当Ｊｏｂ４２ａ〜４２ｅを割り振る割り振り処理を実施するが、ロボットコントローラ４ｆに対しては担当Ｊｏｂを割り振らない。また、ロボットコントローラ４ｆには、実行可能Ｊｏｂ４３ｆが設定されている。この実行可能Ｊｏｂ４３ｆは担当Ｊｏｂ４２ｅの全てもしくは一部と同一である。本第２実施形態では、実行可能Ｊｏｂ４３ｆは実行可能Ｊｏｂ４３ｅの一部と同一、例えばＪｏｂ［Ｌ］、Ｊｏｂ［Ｍ］及びＪｏｂ［Ｎ］で構成されている。つまり、コマンド記憶部２６ｆには、Ｊｏｂ［Ｌ］、Ｊｏｂ［Ｍ］及びＪｏｂ［Ｎ］を実行させる実行コマンドが記憶されている。
【００５４】
以上の構成で、各アームロボット６ａ〜６ｅによる各担当Ｊｏｂ４２の作業に遅延が発生していない場合には、担当Ｊｏｂ割振部２３により割り振られた各担当Ｊｏｂ４２の作業をサイクルタイムＴ内で終了させることができる。
【００５５】
次に、図８（ｂ）に示すように、アームロボット６ｂにおけるＪｏｂ［Ｄ］の作業において遅延が発生し、Ｊｏｂ［Ｅ］及びＪｏｂ［Ｆ］が未実施であるものとする。
【００５６】
各ロボットコントローラ４ｂのＪｏｂ進行通知部３１ｂは、Ｊｏｂ［Ｅ］及びＪｏｂ［Ｆ］が未実施であることを示す情報をセルコントローラ２に通知する。セルコントローラ２のＪｏｂ進行管理部２２は、アームロボット６ｂによるＪｏｂ［Ｅ］及びＪｏｂ［Ｆ］の作業が未実施であることを示す信号を、担当Ｊｏｂ再割振部２４に出力する。
【００５７】
そして、担当Ｊｏｂ再割振部２４は、再割り振り処理を実行する。つまり、担当Ｊｏｂ再割振部２４は、ロボットコントローラ４ｃには、Ｊｏｂ［Ｅ］〜Ｊｏｂ［Ｇ］からなる担当Ｊｏｂ４４ｃを割り振りし直す。担当Ｊｏｂ再割振部２４は、ロボットコントローラ４ｄには、Ｊｏｂ［Ｈ］〜Ｊｏｂ［Ｊ］からなる担当Ｊｏｂ４４ｄを割り振りし直す。担当Ｊｏｂ再割振部２４は、ロボットコントローラ４ｅには、Ｊｏｂ［Ｋ］〜Ｊｏｂ［Ｍ］からなる担当Ｊｏｂ４４ｅを割り振りし直す。
【００５８】
ここで、担当Ｊｏｂ再割振部２４は、ロボットコントローラ４ｅに割り振って上限のｎ（＝３）個を超えた分の残りのＪｏｂ［Ｎ］については、アームロボット６ｅでは一定の時間間隔内（Ｔ）で処理できないので、ロボットコントローラ４ｆに割り振る。本第２実施形態では、ロボットコントローラ４ｆには、Ｊｏｂ［Ｎ］からなる担当Ｊｏｂ４４ｆを割り振りし直す。
【００５９】
図９は、各アームロボット６による作業の流れを示すタイムチャートである。図９に示すサイクルタイムＴ２において、アームロボット６ｂで担当Ｊｏｂ４２ｂのうちＪｏｂ［Ｅ］及びＪｏｂ［Ｆ］が未実施Ｊｏｂとなっている。よって、次のサイクルタイムＴ３にてアームロボット６ｃは、セルコントローラ２からの指示よる担当Ｊｏｂ４４ｃとして、Ｊｏｂ［Ｅ］から作業を実施する。同様にサイクルタイムＴ４でアームロボット６ｄはＪｏｂ［Ｈ］から、サイクルタイムＴ５でアームロボット６ｅはＪｏｂ［Ｋ］から作業を実施する。
【００６０】
最下流に位置するアームロボット６ｅに接続されたロボットコントローラ４ｅに割り振られる担当Ｊｏｂ４４ｅは、他のロボットコントローラに比べ時間的に２／３に割り振ってあるが、サイクルタイムＴ５内でワークＷ５の組立工程を完了することができない。よって次のサイクルタイムＴ６でバッファのロボットコントローラ４ｆが担当Ｊｏｂ４４ｆとしてＪｏｂ［Ｎ］を実行する。ワークＷ５の組立て完了は予定のサイクルタイムＴ５をオーバするが、次ワークＷ６は予定のサイクルタイムＴ６内に組立て完了しており、以降のワーク組立てに対し遅延の波及が防止できていることが分かる。
【００６１】
以上、本第２実施形態では、最下流に位置するアームロボット６ｅにのみ隣接する、バッファのアームロボット６ｆを設けたことで、ロボットシステム１Ａ全体のコスト、設置スペースを抑えることができる。
【００６２】
［第３実施形態］
次に、本発明の第３実施形態に係るロボットシステムについて説明する。図１０は、本発明の第３実施形態に係るロボットシステム１Ｂの概略構成を示すブロック図である。ロボットシステム１Ｂの制御装置の制御ブロック図は、図２と同様であるので、図２を参照しながら説明する。なお、本第３実施形態において、上記第１実施形態と同様の構成については、同一符号を付してその説明を省略する。
【００６３】
まず、本第３実施形態において上記第１実施形態と異なるのは、ワークＷを直接搬送する代わりに、ワークＷを載置した搬送トレイ１２（１２ｘ，１２ａ〜１２ｅ，１２ｙ）をアームロボット６が把持して搬送するようにした点である。搬送トレイ１２上には、ワークＷ、並びにワークＷに組付ける組付け部材及び冶具である組付用ユニット１３（１３ｘ，１３ａ〜１３ｅ，１３ｙ）が載置されている。搬送トレイ１２を受け渡す際、搬送トレイ１２上のワークＷは各ロボットステーション３のワーク固定部７と嵌合させ、モータ駆動部２８の指示により組立て作業時の駆動ができるようになっている。組付用ユニット１３は、全Ｊｏｂで組み付けるパーツ及び治工具を搭載しており、各ロボットステーション３での実行可能Ｊｏｂを増やすことができる。例えば、全Ｊｏｂで使用するパーツ及び治工具を組付用ユニット１３に搭載すれば、どのロボットステーション３でも全Ｊｏｂに含まれる単一Ｊｏｂはハード構成上、実行可能となる。
【００６４】
本第３実施形態では、複数のアームロボット６ａ〜６ｅのうちいずれかのアームロボット６での単一Ｊｏｂの作業で遅延が生じた場合には、上記第１実施形態と同様に、セルコントローラ２の担当Ｊｏｂ再割振部２４が再割り振り処理を実施する。
【００６５】
ところで、複数のアームロボット６ａ〜６ｅのうちいずれかのアームロボット６が故障などの原因で作業不能となることがある。本第３実施形態のロボットコントローラ４のステーション状態管理部３０は、アームロボット６が作業不能であることを示すエラー情報をセルコントローラ２に通知するように構成されている。
【００６６】
セルコントローラ２のロボットステーションモニタ部２１は、エラー情報を処理することで、何れのアームロボット６が作業不能となったかを検知する検知部として機能する。そして、この検知結果に基づき、担当Ｊｏｂ割振部２３は、上記第１実施形態で説明した割り振り処理を、複数のロボットコントローラ４ａ〜４ｅのうち、作業不能となったアームロボットを除くアームロボットに設けられたロボットコントローラに対して行う。
【００６７】
図１１は、担当Ｊｏｂ４２の割り付けを示す概略説明図であり、図１１（ａ）はアームロボット６が作業不能となるエラー発生前、図１１（ｂ）はエラー発生後を示している。なお、各ロボットコントローラ４ａ〜４ｅに設定される実行可能Ｊｏｂ４３ａ〜４３ｅを、全Ｊｏｂとしてもよいが、図１１に示すように、一部の単一Ｊｏｂで構成してもよい。
【００６８】
図１１（ａ）に示すように、上記第１実施形態と同様、各ロボットコントローラ４ａ〜４ｄには、ｎ（＝３）個の単一Ｊｏｂからなる担当Ｊｏｂ４２ａ〜４２ｄが割り振られる。ロボットコントローラ４ｅには、ｍ（＝２）個の単一Ｊｏｂからなる担当Ｊｏｂ４２ｅが割り振られる。
【００６９】
次に、図１１（ｂ）に示すように、例えばアームロボット６ｂが作業不能となった場合について説明する。担当Ｊｏｂ割振部２３は、アームロボット６ｂを除くアームロボット６ａ，６ｃ，６ｄ，６ｅに接続されたロボットコントローラ４ａ，４ｃ，４ｄ，４ｅに対して担当Ｊｏｂ４５ａ，４５ｃ，４５ｄ，４５ｅの割り振り処理を実施する。なお、ロボットコントローラ４ｂには単一Ｊｏｂは割り振られない、換言すれば、割り振られる担当Ｊｏｂ４５ｂに含まれる単一Ｊｏｂの数は０である。
【００７０】
ロボットコントローラ４ａ，４ｃ，４ｄの担当Ｊｏｂとして処理する単一Ｊｏｂの数が増えているので、サイクルタイムＴ’は当初のサイクルタイムＴよりも、単一Ｊｏｂが増加する分、長く設定されている。つまり、セルコントローラ２の同期制御部２５は、サイクルタイムＴ’に合わせ、各ロボットコントローラ４に同期信号を送信する。
【００７１】
以上、本第３実施形態では、あるアームロボット６に担当Ｊｏｂが割り振れなくなった状態でも、ロボットシステム１Ｂを止めることなく、見直し後のサイクルタイムＴ’で常に一定に組立工程を実施することが可能である。
【００７２】
なお、上記実施形態に基づいて本発明を説明したが、本発明はこれに限定されるものではない。上記実施形態は、ワークの組立てラインに関するものであったが、本発明は一連の作業工程を複数のロボットステーションで分割して実行する生産ラインに適用でき、また、生産ライン以外の多様な作業のラインにおいても適用可能である。
【符号の説明】
【００７３】
１，１Ａ，１Ｂ…ロボットシステム、２…セルコントローラ（メインコントローラ）、４ａ〜４ｅ…ロボットコントローラ、４ｆ…ロボットコントローラ（補助用ロボットコントローラ）、６ａ〜６ｅ…アームロボット（作業ロボット）、６ｆ…アームロボット（補助用作業ロボット）、２０…単一Ｊｏｂデータベース部（記憶部）、２１…ロボットステーションモニタ部（検知部）、２３…担当Ｊｏｂ割振部（割振部）、２４…担当Ｊｏｂ再割振部（再割振部）、２５…同期制御部、２７ａ〜２７ｅ…担当Ｊｏｂ処理部（処理部）、２７ｆ…担当Ｊｏｂ処理部（補助用処理部）、３１ａ〜３１ｅ…Ｊｏｂ進行通知部（通知部）
【図１】
2012218093.tif 000003
【図２】
2012218093.tif 000004
【図３】
2012218093.tif 000005
【図４】
2012218093.tif 000006
【図５】
2012218093.tif 000007
【図６】
2012218093.tif 000008
【図７】
2012218093.tif 000009
【図８】
2012218093.tif 000010
【図９】
2012218093.tif 000011
【図１０】
2012218093.tif 000012
【図１１】
2012218093.tif 000013
【図１２】
2012218093.tif 000014