以下、添付図面を参照して、本願の開示する移送システムおよび移送方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。また、以下では、ワークを移送するロボットとして、いわゆるパラレルリンクロボットを用いる場合について説明するが、シリアルリンクロボットを用いることとしてもよい。
また、以下に示す実施形態では、「平行」、「鉛直」といった表現を用いる場合があるが、厳密にこれらの状態を満たすことを要しない。すなわち、上記した各表現は、製造精度、設置精度、処理精度、検出精度などのずれを許容するものとする。
まず、実施形態に係る移送システムの概要について図1を用いて説明する。図1は、移送システム1の概要を示す図である。なお、図1は、Z軸正方向から移送システム1をみた図である。また、図1には、説明をわかりやすくするために、鉛直上向きが正方向であるZ軸を含む3次元の直交座標系を図示している。かかる直交座標系は、以下の説明で用いる他の図面においても示す場合がある。
図1に示すように、実施形態に係る移送システム1は、第1コンベア10と、第2コンベア20と、ロボット30と、画像センサ40と、仮置きエリア50と、ロボットコントローラ100とを備える。なお、本実施形態では、ワーク200などの物体を検出するセンサとして画像センサ40を用いる場合について説明するが、かかる画像センサ40のかわりに光センサや音波センサといった種々のセンサを用いることができる。すなわち、通過する物体の位置や姿勢を検出可能であれば、センサの種類は問わない。
ここで、移送システム1は、複数のロボット30と、各ロボット30にそれぞれ対応する仮置きエリア50とを備える。このため、以下では、各ロボット30を区別する場合には、ロボット30−x(xは1以上n以下の整数,nは2以上の整数)のように、符号30の末尾に各ロボット30を識別するための符号を付加することとする。また、仮置きエリア50についても、符合50の末尾に識別用の符号を同様に付加する場合がある。
第1コンベア10は、複数のワーク200を、同図に示す搬送方向11(X軸正方向)へ搬送する。ここで、ワーク200の向きは、図1に示したようにバラバラでも構わない。これは、ロボット30が、ワーク200の向きを整えつつ、仮置きエリア50や載置板300へ載置するからである。
第2コンベア20は、複数の載置板300を、同図に示す搬送方向21(X軸正方向)へ搬送する。ここで、載置板300は、トレイやパレットといった容器や、板状の台などワーク200を載置可能なものであればその形状は問わない。また、載置板300は、第2コンベア20における突起や模様などの画像センサ40で検出可能な領域であってもよい。
なお、図1では、延伸向きがそれぞれ直線状の第1コンベア10と、第2コンベア20とが平行に設けられる場合について示したが、両コンベアを非平行に設けることとしてもよく、延伸向きは曲線状であってもよい。また、両コンベアを鉛直向きについて上下に交差するように設けることとしてもよい。
また、図1では、第1コンベア10の搬送方向11と、第2コンベア20の搬送方向21とが同方向である場合について示したが、各コンベアの搬送方向をお互いに逆方向としてもよい。なお、各コンベアの搬送方向をお互いに逆方向とする場合には、画像センサ40を最も上流側にあるロボット30のさらに上流側にそれぞれ設けることとすればよい。
ロボット30は、第1コンベア10で搬送されるワーク200を取得し、第2コンベア20で搬送される載置板300へ載置する動作などの移送動作を行う。ここで、図1に示すように、ロボット30は、第1コンベア10の搬送方向11に沿ってn台(nは2以上の整数)設けられる。なお、図1に示した場合では、上流側から下流側へ向けてロボット30−1、ロボット30−2のように、n台のロボット30を配置している。
画像センサ40は、図1におけるロボット30−1の上流側(X軸負方向)に設けられ、撮像範囲41内のワーク200および載置板300を撮像する。なお、図1では、撮像範囲41が略矩形である場合を例示したが、かかる撮像範囲41の形状は任意のものであってよい。また、ロボットコントローラ100は、画像センサ40から検出結果を受け取り、ワーク200および載置板300の位置を認識したうえで、ロボット30に移送動作を指示する。
ここで、実施形態に係る移送システム1では、第1コンベア10から各ロボット30が取得したワーク200を仮置きするエリアである仮置きエリア50を設けることとした。たとえば、ロボット30−1は、仮置きエリア50−1にワーク200を仮置きし、ロボット30−nは、仮置きエリア50−nにワーク200を仮置きする。そして、ロボットコントローラ100は、ワーク200と載置板300との供給バランスに応じて仮置きエリア50を利用した動作をロボット30に行わせる。
このように、各ロボット30が、対応する仮置きエリア50にワーク200を仮置きする場合、上流側のロボット30(たとえば、ロボット30−1)が、多くのワーク200を移送してしまうと、下流側のロボット30(たとえば、ロボット30−n)の作業量が減ってしまう。このため、複数のロボット30による作業量のバランスが崩れることとなる。
そこで、実施形態に係る移送システム1では、上流側のロボット30が仮置きエリア50に仮置きするワーク200の数を制限することとした(ステップS1)。そして、ロボットコントローラ100が、載置板300に対するワーク200の供給過多を判定した場合に(ステップS2)、ステップS1の制限に基づいて下流側へワーク200を流すこととした(ステップS3)。
このようにすることで、仮置きエリア50への仮置きを行うロボット30が複数ある場合であっても、複数のロボット30による作業量のバランスをとることができる。具体的には、仮に、上流側のロボット30が対応する仮置きエリア50に仮置きするワーク200の数を制限しない場合、後述する仮置きの条件を満たす限り、上流側のロボット30はワーク200の仮置きを行うことになる。これに対し、仮置きするワーク200の数を制限することとすれば、下流側にもワーク200が供給されることになる。
したがって、実施形態に係る移送システム1によれば、複数のロボット30による作業量のバランスをとることができる。なお、上記した制限の詳細な内容については、図4を用いて後述する。
また、移送システム1は、ワーク200が載置板300に対して供給過多であるか、供給不足であるかを画像センサ40の検出結果に基づいて判定するが、この点については、図5を用いて後述する。
また、移送システム1は、複数種類のワーク200の移送にも対応するが、この点については、図6Aおよび図6Bを用いて後述する。さらに、移送システム1は、仮置きエリア50におけるワーク200の段積みにも対応するが、この点については、図7を用いて後述する。
次に、移送システム1の構成について図2を用いて説明する。図2は、移送システム1の構成を示すブロック図である。なお、図2では、図1に示した仮置きエリア50(仮置きエリア50−1〜50−n)の記載を省略している。また、図2では、移送システム1の説明に必要な構成要素を示しており、一般的な構成要素についての記載を省略している。
図2に示すように、移送システム1は、第1コンベア10と、第2コンベア20と、ロボット30(ロボット30−1〜30−n)と、画像センサ40と、仮置きエリア50(図1参照)と、ロボットコントローラ100とを備える。また、第1コンベア10、第2コンベア20、ロボット30および画像センサ40は、ロボットコントローラ100と接続されている。
図1を用いて既に説明したように、第1コンベア10はワーク200を搬送するコンベアであり、第2コンベア20は載置板300を搬送するコンベアである。なお、各コンベアは、稼働状況(たとえば、異常発生、異常復旧などの状況)をロボットコントローラ100へ通知する。
ロボット30(ロボット30−1〜30−n)は、たとえば、パラレルリンクロボットであり、移送システム1が設置される部屋の天井などに配置される。なお、ロボット30の詳細な構成については図3を用いて後述する。また、本実施形態では、ロボット30がパラレルリンクロボットである場合について説明するが、ロボット30を、複数のアームが複数の関節部でそれぞれ直列に接続されたシリアルリンクロボットとしてもよい。
画像センサ40は、CCD(Charge Coupled Device)カメラなどのビジョンセンサであり、第1コンベア10で搬送されるワーク200と、第2コンベア20で搬送される載置板300とを撮像する。なお、図1では、1つの画像センサ40で、ワーク200および載置板300を撮像する場合を示したが、ワーク200撮像用および載置板300撮像用の画像センサ40をそれぞれ用いることとしてもよい。
ロボットコントローラ100は、制御部110と、記憶部120とを備える。制御部110は、画像認識部111と、判定部112と、取得元決定部113と、動作制御部114と、受付部115と、制限部116とを備える。また、記憶部120は、拡張範囲情報121と、仮置き情報122と、載置板情報123と、教示情報124と、制限情報125とを記憶する。
なお、図2には、説明を簡略化するために、1台のロボットコントローラ100を示したが、ロボット30(ロボット30−1〜30−n)ごとにロボットコントローラ100(ロボットコントローラ100−1〜100−n)を設けることとしてもよい。この場合、各ロボットコントローラ100を束ねる上位のロボットコントローラ100を設けることとしてもよい。
ここで、ロボットコントローラ100は、たとえば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、入出力ポートなどを有するコンピュータや各種の回路を含む。
コンピュータのCPUは、たとえば、ROMに記憶されたプログラムを読み出して実行することによって、制御部110の画像認識部111、判定部112、取得元決定部113、動作制御部114、受付部115および制限部116として機能する。
また、画像認識部111、判定部112、取得元決定部113、動作制御部114、受付部115および制限部116の少なくともいずれか一つまたは全部をASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアで構成することもできる。
また、記憶部120は、たとえば、RAMやHDDに対応する。RAMやHDDは、拡張範囲情報121、仮置き情報122、載置板情報123、教示情報124および制限情報125を記憶することができる。
なお、ロボットコントローラ100は、有線や無線のネットワークで接続された他のコンピュータや可搬型記録媒体を介して上記したプログラムや各種情報を取得することとしてもよい。さらに、上記したように、ロボットコントローラ100を複数台の相互に通信可能な装置として構成してもよく、上位または下位の装置と通信可能な階層式の装置として構成してもよい。
制御部110は、第1コンベア10および第2コンベア20からそれぞれの稼働状況を、画像センサ40からワーク200(図1参照)および載置板300(図1参照)の検出結果を、それぞれ受け取るとともに、ロボット30の動作制御を行う。
画像認識部111は、画像センサ40によって撮像された画像から、ワーク200および載置板300の位置や向きを認識する。たとえば、画像認識部111は、ワーク200の向きや、ワーク200の代表位置(たとえば、中心)のX座標およびY座標(図1参照)を認識する。
また、画像認識部111は、第1コンベア10の搬送速度および第2コンベア20の搬送速度と、画像センサ40およびロボット30間の距離とに基づき、ワーク200および載置板300の将来的な位置を予測する。なお、画像認識部111を含んだ画像センサ40を用い、かかる画像センサ40から認識結果を受け取るように、ロボットコントローラ100を構成することとしてもよい。
制限部116は、画像認識部111による認識結果と、記憶部120の制限情報125とに基づいて各ロボット30−xが、仮置きエリア50−xに仮置きするワーク200の数を制限する。なお、制限情報125の詳細や、制限情報125に基づく制限部116の処理内容については図4を用いて後述する。
判定部112は、画像認識部111による認識結果に基づいてワーク200および載置板300の供給状態を判定するとともに、制限部116による制限結果に基づいて第1コンベア10からワーク200を取得させるか否かを判定する。
具体的には、判定部112は、記憶部120の拡張範囲情報121に基づき、ワーク200が載置板300に対して供給過多であるか、供給不足であるかを判定する。そして、判定部112は、ワーク200が供給過多であると判定した場合には、制限部116による制限に該当しないことを条件として、ロボット30に第1コンベア10からワーク200を取得させることを決定する。また、取得したワーク200を仮置きエリア50(図1参照)へ移送させることを決定する。
一方、制限部116による制限に該当する場合には、判定部112は、ロボット30に第1コンベア10からワーク200を取得させることなく、かかるワーク200を下流側へ流すことを決定する。
なお、判定部112は、ワーク200が供給不足であると判定した場合には、仮置きエリア50のワーク200を第2コンベア20の載置板300へ移送することを決定する。
ここで、拡張範囲情報121は、第2コンベア20においてロボット30がワーク200を載置板300に置くことが可能な範囲を上流側に所定距離だけ拡張した第1拡張範囲に関する情報を含む。
また、拡張範囲情報121は、第1コンベア10においてロボット30がワーク200を取得可能な範囲を上流側に所定距離だけ拡張した第2拡張範囲に関する情報を含む。なお、拡張範囲情報121の詳細や、拡張範囲情報121に基づく判定部112の処理内容については図5を用いて後述する。
ところで、判定部112は、仮置きエリア50(図1参照)におけるワーク200の載置状態を示す仮置き情報122を更新する処理を行う。なお、仮置き情報122の詳細や、判定部112が仮置き情報122を更新する処理の内容については、図6Aを用いて後述する。
また、判定部112は、載置板300におけるワーク200の載置状態を示す載置板情報123を更新する処理を行う。なお、載置板情報123の詳細や、判定部112が載置板情報123を更新する処理の内容については、図6Bを用いて後述する。
取得元決定部113は、仮置きエリア50内におけるどのワーク200を取得するかを決定する。また、取得元決定部113は、ワーク200に複数の種類がある場合に、載置板300に載置すべきワーク200の種類を載置板情報123に基づいて判定したうえで、仮置きエリア50から取得すべきワーク200を決定する。
動作制御部114は、判定部112による判定結果、取得元決定部113による決定結果および記憶部120の教示情報124に基づき、ロボット30にワーク200の移送動作を行わせる制御を行う。ここで、教示情報124は、ロボット30へ動作を教示するティーチング段階で作成され、ロボット30の動作経路を規定するプログラムである「ジョブ」を含んだ情報である。
受付部115は、第1コンベア10の稼働状況および第2コンベア20の稼働状況を受け付け、各コンベアに異常が発生した場合や、異常が回復した場合に、動作制御部114へその旨を通知する。なお、異常発生時や、異常回復時に動作制御部114が行う処理内容の詳細については図10を用いて後述する。
次に、ロボット30の構成について図3を用いて説明する。図3は、ロボット30の構成を示す斜視図である。図3に示すように、ロボット30は、いわゆるパラレルリンクロボットであり、本体部31と、3つのリンク32と、3つのリンクによって支持される保持部33とを備える。
本体部31は、移送システム1が設置される部屋の天井などに固定される。また、本体部31には、3つのリンク32をそれぞれ駆動するモータなどのアクチュエータ(図示せず)が内蔵される。
3つのリンク32は、それぞれ、第1関節部32aと、第1アーム32bと、第2関節部32cと、第2アーム32dと、第3関節部32eとを備える。なお、上記したように、第1関節部32aを駆動するアクチュエータは、本体部31に設けられる。そして、第1アーム32bは、第1関節部32aの回転軸まわりに旋回するように上記したアクチュエータによって駆動される。
第2関節部32cは、第1アーム32bの先端側に設けられ、第2アーム32dの基端側が旋回自在に接続される。また、第2アーム32dの先端側には、第3関節部32eが設けられ、第3関節部32eを介して保持部33が接続される。
ここで、保持部33は、吸着機構や把持機構といったワーク200の保持機構を有しており、かかる保持機構を同図に示すZ軸まわりに回転させるモータなどのアクチュエータ(図示せず)を内蔵する。これにより、バラバラの向きのワーク200を、仮置きエリア50や載置板300へ所定の向きで載置することが可能となる。
ロボット30は、ロボットコントローラ100の指示に従って各リンク32を本体部31に対してそれぞれ旋回させることで、保持部33を任意の姿勢および任意の位置となるように移動させるとともに、保持部33の保持機構を任意の角度に回転させる。このように、パラレルリンクのロボット30を用いることで、ワーク200の移送を迅速に行うことができるとともに、仮置きエリア50のレイアウトの自由度を高めることができる。
次に、図2に示した制限情報125について図4を用いて説明する。図4は、制限情報125の説明図である。まず、制限情報125に基づいて行われる制限の概要について説明する。図4に示すように、n台(nは2以上の整数)のロボット30−1〜30−nがある場合、ワーク200を各ロボット30に均等に取得させることとする。つまり、同図に示すように、各ロボット30への配分は、それぞれ1/nとなる。
このようにした場合、最も上流側のロボット30−1が下流側へ流すワーク200の数の、ロボット30−1に供給されるワーク200の数に対する比率(以下、「非取得率」という)は、1から配分(1/n)を減算することで得られるので、同図に示すように、(n−1)/nとなる。
また、上流から2番目のロボット30−2における非取得率は、以下の計算によって求められる。すなわち、単位時間あたりのワーク200の数をWとすると、ロボット30−2の非取得数は、W・(1−2/n)となる。また、ロボット30−2の取得可能数は、W・(n−1)/nであるので、非取得数を取得可能数で除すると、同図に示すように、(n−2)/(n−1)となる。なお、最も下流側のロボット30−nは、下流側へワーク200を流さないので、非取得率は0となる。
たとえば、4台のロボット30がある場合、上記したnの値は4である。このため、各ロボット30の非取得率は、上流側から順に、3/4、2/3、1/2および0となる。また、3台のロボット30がある場合、上記したnの値は3である。このため、各ロボット30の非取得率は、上流側から順に、2/3、1/2および0となる。
これらのことから、上流からx番目のロボット30−xの非取得率は、同図に示すように、(n−x)/(n−x+1)なる計算式で算出することができる。つまり、上流からx番目のロボット30−xの非取得率は、下流側のロボット30の総数を、かかる総数に1を足した数で除した値となる。
なお、制限情報125は、図4に示したような、xの関数である計算式をそのまま含んでもよい。また、xに1〜nをそれぞれ代入することで得られた値を含むこととしてもよい。つまり、制限情報125は、各ロボット30の非取得率を、このロボット30よりも下流側のロボット30の数ごとに定めた情報であるといえる。
なお、図4では、各ロボット30に対するワーク200の配分を均等とする場合を示したが、ロボット30ごとに配分を異ならせるようにしてもよい。このように配分を異ならせた場合であっても、上記した計算手法に沿って計算することで、各ロボット30の非取得率をあらかじめ定めることができる。
上記したロボットコントローラ100の制限部116は、かかる制限情報125に基づいて各ロボット30−xがそれぞれ対応する仮置きエリア50−xへ仮置きするワーク200の数を制限する。たとえば、制限部116は、制限情報125に含まれる非取得率を用いることで、上流からx番目のロボット30−xが取得可能なワーク200の上限数を算出する。具体的には、ロボット30−xに供給される単位時間あたりのワーク200の数に「1−非取得率」を乗じることで、かかる上限数を算出することができる。
そして、ロボット30−xが第1コンベア10からワーク200を取得した数の累計が上限に達すると、その後は、第1コンベア10からワーク200を取得することを禁止する。これにより、ロボット30−xは、ワーク200を下流側へ流すことになる。つまり、ロボット30−xが、ワーク200を仮置きエリア50−xへ無制限に仮置きする事態を防止することができる。
次に、図2に示した拡張範囲情報121について図5を用いて説明する。図5は、拡張範囲情報121の説明図である。拡張範囲情報121は、載置板300を搬送する第2コンベア20に対応する第1拡張範囲20EXと、ワーク200を搬送する第1コンベア10に対応する第2拡張範囲10EXとを含んだ情報である。なお、図5に、ロボット30−x(xは1以上n以下の整数,nは2以上の整数)を示したように、各ロボット30は同様の動作を行うこととする。
まず、載置板300を搬送する第2コンベア20に対応する第1拡張範囲20EXについて説明する。図5に示すように、第1拡張範囲20EXは、第2コンベア20においてロボット30−xがワーク200を載置板300に置くことが可能な範囲20Rを、搬送方向21の上流側(X軸負方向)へ所定距離20Pだけ拡張した範囲である。なお、所定距離20Pは、図示しない入力装置などから値を変更することができる。
上記したロボットコントローラ100の判定部112は、かかる第1拡張範囲20EXに載置板300がない場合に、載置板300に対してワーク200が供給過多であると判定する。このように、第1拡張範囲20EXを用いることで、移送システム1は、簡便な処理でワーク200の供給過多を判定することができる。
次に、ワーク200を搬送する第1コンベア10に対応する第2拡張範囲10EXについて説明する。図5に示すように、第2拡張範囲10EXは、第1コンベア10においてロボット30−xがワーク200を取得可能な範囲10Rを、搬送方向11の上流側(X軸負方向)へ所定距離10Pだけ拡張した範囲である。なお、所定距離10Pは、図示しない入力装置などから値を変更することができる。
上記したロボットコントローラ100の判定部112は、かかる第2拡張範囲10EXにワーク200がない場合に、載置板300に対してワーク200が供給不足であると判定する。このように、第2拡張範囲10EXを用いることで、移送システム1は、簡便な処理でワーク200の供給不足を判定することができる。
なお、図5において、第1拡張範囲20EXの下流端が、第2拡張範囲10EXの下流端よりも下流側(X軸正方向)にあるのは、第1コンベア10のワーク200を第2コンベア20へ移送する通常動作をスムーズに行うためである。すなわち、ワーク200を取得してから載置板300へ載置するまでに要する時間を考慮し、第1拡張範囲20EXの下流端を第2拡張範囲10EXの下流端よりも下流側へシフトしているのである。
次に、図2に示した仮置き情報122について図6Aを用いて説明する。図6Aは、仮置き情報122の説明図である。図6Aに示すように、仮置き情報122は、たとえば、ワーク200の種類を示す「種類」項目と、仮置きエリア50におけるワーク200の位置を示す「位置」項目とを含んだ情報である。
ここで、「位置」項目は、仮置きエリア50を複数に分割したサブエリアを識別する「サブエリア」項目と、ワーク200を段積みした場合の段数を示す「段数」項目とを含む。なお、図6Aには、ワーク200の種類が、α、βおよびγの場合を示しているが、種類の数を限定するものではなく、種類は1以上の任意の数とすることができる。また、図6Aには、段数が1および2の場合を示しているが、段数を限定するものではなく、段数は1以上の任意の数とすることができる。
図6Aに示した例では、種類がαのワーク200がAエリアの1段目および2段目に、種類がβのワーク200がBエリアの1段目に、種類がγのワーク200がCエリアの1段目に、それぞれ仮置きされていることを示している。
上記したロボットコントローラ100の判定部112は、ワーク200を仮置きエリア50に仮置きすることを決定した場合には、仮置き情報122に基づいてワーク200を仮置きするサブエリアや段数を決定する。そして、あらたに仮置きを行ったワーク200に関する情報を仮置き情報122に追加する。
また、判定部112は、ワーク200を仮置きエリア50から払出すことを決定した場合には、仮置き情報122に基づいて払出し対象となるワーク200を決定する。そして、払出しを行ったワーク200に関する情報を仮置き情報122から削除する。
また、上記したロボットコントローラ100の取得元決定部113は、仮置き情報122に基づいて仮置きエリア50におけるどのワーク200を取得するかを決定する。
次に、図2に示した載置板情報123について図6Bを用いて説明する。図6Bは、載置板情報123の説明図である。図6Bに示すように、載置板情報123は、たとえば、ワーク200の種類を示す「種類」項目と、載置板300内の位置を示す「位置」項目と、ワーク200が載置されているか否かを示す「載置状態」項目とを含んだ情報である。
なお、図6Bには、ワーク200の種類が、α、βおよびγの場合を示しているが、種類の数を限定するものではなく、種類は1以上の任意の数とすることができる。また、図6Bには、載置板300内の位置として1〜4の4箇所がある場合を示しているが、箇所数を限定するものではなく、箇所数は1以上の任意の数とすることができる。
図6Bに示した例では、位置「1」に種類がα、位置「3」に種類がβ、位置「4」に種類がγのワーク200がそれぞれ既に載置されており、位置「2」には種類がαのワーク200を載置する予定であるが、未だ載置されていないことを示している。
上記したロボットコントローラ100の判定部112は、ワーク200を載置板300に移送することを決定した場合には、載置板情報123に基づき、あらたにワーク200を載置する「位置」を決定する。具体的には、判定部112は、未だワーク200が載置されていない「位置」と、「種類」とを載置板情報123から取得し、あらたにワーク200を載置する「位置」と、移送すべきワーク200の「種類」とを決定する。
なお、ワーク200が載置されていない「位置」が複数ある場合には、図6Bに示した上側の行や下側の行を優先したり、「位置」の小さいほうや大きいほうを優先したりすることで「位置」を決定すればよい。
また、上記したロボットコントローラ100の取得元決定部113は、あらたに載置板300へ載置するワーク200の「位置」に対応する「種類」を載置板情報123から取得する。そして、取得した「種類」のワーク200を第1コンベア10および仮置きエリア50のいずれから取得すべきかを決定する。
たとえば、図6Bに示した場合では、位置「2」にワーク200がないので、位置「2」に載置すべきワーク200の種類であるαを載置板情報123から取得する。そして、種類がαのワーク200が第1コンベア10の取得可能な範囲10R(図5参照)にあれば、第1コンベア10をワーク200の取得元として決定する。一方、範囲10Rに種類がαのワーク200がなければ、仮置きエリア50をワーク200の取得元として決定する。
次に、仮置きエリア50(図1参照)におけるワーク200の段積みについて図7を用いて説明する。図7は、仮置きエリア50における段積みの説明図である。なお、図7では、単一種類のワーク200を段積みする場合について説明することとする。また、各ワーク200を区別するために、小文字のアルファベットをワーク200aのように、符号の末尾に付すこととする。
ここで、図7には、Aエリア、Bエリア、CエリアおよびDエリアの4つのサブエリアに仮置きエリア50が区分けされている場合を示しているが、区分けする数を限定するものではなく、区分け数(サブエリア数)は1以上の任意の数とすることができる。
上記したロボットコントローラ100の動作制御部114は、ワーク200を各サブエリアに並べつつ多段に積む場合に、直下の段が全て埋まったことを条件として、次の段にワーク200を積む動作をロボット30に行わせる。
図7に示した場合では、2段目の段がすべて埋まった状態、すなわち、ワーク200a,200b,200c,200dが、それぞれ載置されたことを条件として、200eを3段目に載置する。ここで、仮に、Cエリアの2段目にワーク200が載置されていない場合には、あらたなワーク200は、Aエリア、BエリアあるいはDエリアの3段目ではなく、Cエリアの2段目に載置される。
このように、直下の段が全て埋まったことを条件として、次の段にワーク200を載置することで、ロボット30が仮置きエリア50へワーク200を仮置きする際におけるワーク200の荷崩れを防止することができる。
また、動作制御部114は、仮置きエリア50における各サブエリアに並べたワーク200が多段に積まれた場合に、最も上の段が全てなくなったことを条件として、直下の段からワーク200を取得する動作をロボット30に行わせる。
図7に示した場合では、Aエリアの3段目にワーク200eがある場合には、Bエリア、CエリアおよびDエリアにおける2段目のワーク200b,200c,200dを取得することはできない。つまり、Aエリアの3段目にあるワーク200eを取得して初めて、各エリアの2段目にあるワーク200a,200b,200c,200dを取得することが許可される。
このように、最も上の段が全てなくなったことを条件として、直下の段からワーク200を取得することで、ロボット30が仮置きエリア50からワーク200を払出しする際におけるワーク200の荷崩れを防止することができる。
なお、図7では、2段目および3段目の間の場合について説明したが、1段目および2段目の間のように、n段目(nは自然数)およびn+1段目の間の場合についても同様である。
次に、移送システム1が実行する処理手順について図8を用いて説明する。図8は、移送システム1が実行する処理手順を示すフローチャートである。図8に示すように、判定部112は、第2コンベア20の第1拡張範囲20EX(図5参照)に載置板300があるか否かを判定する(ステップS101)。
そして、第1拡張範囲20EXに載置板300がない場合には(ステップS101,Yes)、判定部112は、ワーク200が載置板300に対して供給過多であると判定する(ステップS102)。この場合、判定部112は、該当するロボット30が第1コンベア10から取得したワーク200の取得数が、制限部116によって制限された制限数未満であるか否かを判定する(ステップS103)。
そして、取得数が制限数未満である場合には(ステップS103,Yes)、動作制御部114は、第1コンベア10のワーク200を仮置きエリア50へ移送する動作をロボット30に行わせる(ステップS104)。そして、制限部116は、上記した制限数から1を減算し(ステップS105)、処理を終了する。なお、ステップS103の判定条件を満たさなかった場合には(ステップS103,No)、そのまま処理を終了する。
一方、第1拡張範囲20EXに載置板300がある場合には(ステップS101,No)、判定部112は、第1コンベア10の第2拡張範囲10EXにワーク200があるか否かを判定する(ステップS106)。
そして、第2拡張範囲10EXにワーク200がない場合には(ステップS106,Yes)、判定部112は、載置板300がワーク200に対して供給過多であると判定する(ステップS107)。この場合、動作制御部114は、仮置きエリア50のワーク200を第2コンベア20の載置板300へ移送する動作をロボット30に行わせる(ステップS108)。そして、制限部116は、上記した制限数から1を減算し(ステップS105)、処理を終了する。
ここで、第2拡張範囲10EXにワーク200がある場合には(ステップS106,No)、判定部112は、ワーク200および載置板300の供給バランスが正常であると判定する(ステップS109)。この場合、動作制御部114は、第1コンベア10のワーク200を第2コンベア20の載置板300へ移送する動作をロボット30に行わせる(ステップS110)。そして、制限部116は、上記した制限数から1を減算し(ステップS111)、処理を終了する。
なお、図8では、制限部116によって制限された制限数を減算する場合を示したが、制限数を減算するのではなく、ロボット30が第1コンベア10から所得したワーク200の数をカウントアップするカウンタを用いることとしてもよい。この場合、かかるカウンタを制限数と比較し、カウンタが制限数と同値となった場合に、ロボット30によるワーク200の取得を禁止することとすればよい。
次に、載置板300に複数種類のワーク200を載置する場合の処理手順について図9を用いて説明する。図9は、載置板300に複数種類のワーク200を載置する場合の処理手順を示すフローチャートである。図9に示すように、取得元決定部113は、載置板情報123に基づいて載置板300に不足するワーク200の種類を取得する(ステップS201)。
そして、不足種類のワーク200が第1コンベア10にあるか否かを判定する(ステップS202)。そして、不足種類のワーク200が第1コンベア10にある場合には(ステップS202,Yes)、動作制御部114は、該当ワーク200を第1コンベア10から第2コンベア20の載置板300へ移送する動作をロボット30に行わせ(ステップS203)、処理を終了する。
一方、不足種類のワーク200が第1コンベア10にない場合には(ステップS202,No)、取得元決定部113は、仮置き情報122に基づき、仮置きエリア50における該当ワーク200の位置を取得する(ステップS204)。そして、動作制御部114は、該当ワーク200を仮置きエリア50から第2コンベア20の載置板300へ移送する動作をロボット30に行わせ(ステップS205)、処理を終了する。
次に、第2コンベア20の稼働状況に応じた処理手順について図10を用いて説明する。図10は、第2コンベア20の稼働状況に応じた処理手順を示すフローチャートである。図10に示すように、受付部115は、第2コンベア20の異常を受け付けたか否かを判定する(ステップS301)。
そして、受付部115が第2コンベア20の異常を受け付けた場合には(ステップS301,Yes)、動作制御部114は、通常動作よりも仮置きエリア50へのワーク200の仮置き動作をロボット30に優先させ(ステップS302)、処理を終了する。ここで、ステップS302における通常動作とは、第1コンベア10から第2コンベア20の載置板300へワーク200を移送する動作を指す。
一方、受け付けた情報が第2コンベア20の異常ではない場合には(ステップS301,No)、受付部115は、第2コンベア20の異常回復を受け付けたか否かを判定する(ステップS303)。そして、第2コンベア20の異常回復を受け付けた場合には(ステップS303,Yes)、動作制御部114は、通常動作よりも仮置きエリア50からのワーク200の払出し動作をロボット30に優先させ(ステップS304)、処理を終了する。
ここで、ステップS304における通常動作とは、ステップS302と同じく、第1コンベア10から第2コンベア20の載置板300へワーク200を移送する動作を指す。なお、ステップS303の判定条件を満たさなかった場合には(ステップS303,No)、優先動作の変更を行うことなく処理を終了する。
上述してきたように、本実施形態に係る移送システム1は、第1コンベア10と、第2コンベア20と、ロボット30と、ロボットコントローラ100と、画像センサ40と、仮置きエリア50とを備える。第1コンベア10は、ワーク200を搬送する。また、第2コンベア20は、ワーク200を載置する載置板300を搬送する。
ロボット30は、第1コンベア10で搬送されるワーク200を第2コンベア20で搬送される載置板300へ移送する。ロボットコントローラ100は、ロボット30の動作を制御する。画像センサ40は、ワーク200および載置板300を検出する。仮置きエリア50は、第1コンベア10からロボット30によって取得されたワーク200を仮置きするエリアである。
また、ロボットコントローラ100は、判定部112と、動作制御部114と、制限部116とを備える。判定部112は、画像センサ40の検出結果に基づいて載置板300に対するワーク200の供給状態を判定する。動作制御部114は、判定部112によって載置板300に対してワーク200が供給過多であると判定された場合に、第1コンベア10から取得したワーク200を仮置きエリア50に仮置きする動作をロボット30に行わせる。また、制限部116は、上流側のロボット30が仮置きエリア50に仮置きするワーク200の数を制限する。
このように、本実施形態に係る移送システム1によれば、仮置きエリア50に仮置きするワーク200の数を制限することとしたので、下流側のロボット30にもワーク200を適切な数だけ供給することができる。したがって、実施形態に係る移送システム1によれば、複数のロボット30による作業量のバランスをとることができる。
なお、上記した実施形態では、第1コンベア10および第2コンベア20がそれぞれ1台ずつの場合について説明した。しかしながら、これに限らず、第1コンベア10および第2コンベア20の少なくとも一方を複数台とすることとしてもよい。また、第1コンベア10および第2コンベア20の双方を複数台とすることとしてもよい。このように、第1コンベア10や第2コンベア20を複数台にした場合であっても、上述した移送方法を適用することができる。
また、上記した実施形態では、第1コンベア10と第2コンベア20との間に仮置きエリア50を設ける場合について説明した。しかしながら、これに限らず、仮置きエリア50は、第1コンベア10からみて第2コンベア20の反対側や、第2コンベア20からみて第1コンベア10の反対側に設けることとしてもよい。また、第1コンベア10や第2コンベア20を複数台にした場合には、各コンベアで挟まれる位置に設けることとしてもよいし、コンベア群の外側に設けることとしてもよい。
また、上記した実施形態では、ワーク200が複数種類でもよい旨を示したが、ワーク200が複数種類である場合には、仮置きエリア50の各サブエリアに同一種類のワーク200を載置することが好ましい。この場合、サブエリア内にワーク200を並べることとしてもよいし、さらに、段積みすることとしてもよい。
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。