(57)【要約】【課題】装置を複雑化することなく移動物体の２重登録を防止することが可能な移動物体の位置管理方法及び該方法を適用したロボットコントローラを提供する。【解決手段】コンベヤ１によって搬送されるワークの位置をカメラ２及び画像処理装置によって検出し、その検出したワークの位置データを管理する方法であって、位置データを管理するキューを設け、キューに位置データを登録してコンベヤ１の動作量に基づき逐次更新するようにし、位置データをキューに登録する際には、その登録しようとする位置データと、既にキューに登録されている位置データとを比較し、同じワークを示す位置データが既にキューに登録されている場合には登録しないようにしたものである。【選択図】図１
2010240838.tif 000002
【特許請求の範囲】
【請求項１】
運搬装置によって搬送される移動物体の位置を撮像手段によって検出し、その検出した移動物体の位置データを管理する方法であって、
前記位置データを管理するキューを設け、該キューに位置データを登録して運搬装置の動作量に基づき逐次更新するようにし、位置データをキューに登録する際には、その登録しようとする位置データと、既にキューに登録されている位置データとを比較し、同じ移動物体を示す位置データが既にキューに登録されている場合には登録しないようにしたことを特徴とする移動物体の位置管理方法。
【請求項２】
前記キューは、該キューの先頭データに限られず、任意位置の位置データが参照されることを特徴とする請求項１記載の移動物体の位置管理方法。
【請求項３】
前記キューに登録された位置データを、移動物体に対して所定の操作を行うロボットに対する動作位置として参照することを特徴とする請求項１又は２記載の移動物体の位置管理方法。
【請求項４】
前記キューを複数のロボットで共有することを特徴とする請求項３記載の移動物体の位置管理方法。
【請求項５】
運搬装置によって搬送される移動物体の位置を撮像手段によって検出し、その検出した移動物体の位置データをキューによって管理するロボットコントローラであって、
移動物体の位置データを格納するキュー記憶部と、
前記撮像手段で検出した移動物体の位置データを前記キュー記憶部に順次登録するキュー操作部と、
前記キュー記憶部に登録された移動物体の位置データを運搬装置の動作量に基づいて逐次更新するキュー更新部とを備え、
前記キュー操作部は、位置データをキュー記憶部に登録する際、その登録しようとする位置データと、キュー記憶部に既に登録されている位置データとを比較し、同じ移動物体を示す位置データが既にキュー記憶部に登録されている場合には登録しないことを特徴とするロボットコントローラ。
【請求項６】
前記キュー操作部を、前記キュー記憶部の先頭データに限られず、任意位置に登録された位置データを参照可能に構成したことを特徴とする請求項５記載のロボットコントローラ。
【請求項７】
前記キュー操作部は、前記キュー記憶部に登録された位置データを参照し、移動物体に対して所定の動作を行うロボットを動作させるための位置データとして出力することを特徴とする請求項５又は請求項６記載のロボットコントローラ。
【請求項８】
前記キュー記憶部を複数のロボットで共有したことを特徴とする請求項７記載のロボットコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンベヤ等の運搬装置によって搬送される移動物体の位置を管理する方法、及び該方法を適用したロボットコントローラに関する。
【背景技術】
【０００２】
従来、コンベヤによって搬送される移動物体（以下、ワークという）を追跡し、そのワークに対してロボット操作を行うロボットシステムがあるが、この種のシステムで、複数のワークを操作対象としている場合には、ワークの位置検出にカメラと画像処理装置を用いて、各ワークがコンベヤ上に離散して配置された場合にも対応できるように構成したものが多く見受けられる。
【０００３】
ところで、従来の自動車の溶接ラインのように低速で流れるワークに対してロボット作業を行う場合においては、検出したワークの情報、例えばワークの種類やワークの位置といった情報を、処理装置へ即、伝達して処理しても問題ないが、上述したようにワークが複数あったり、またワークがロボットの可動範囲に到着する間隔にばらつきがある場合には、あるワークに対する操作中に次のワークがロボットの可動範囲に到着することがあることから、検出したワークの情報を処理装置に即、伝達してしまうと不具合が生じる。このため、現在の操作が終わるまで何らかの方法で情報を記憶しておく必要があり、このような場合の一般的なデータ保存方法としてキュー（ＦＩＦＯ）構造がある。このキューとは、データの登録・参照・削除、の３つの操作が可能な構造で、同時に複数の情報を記憶でき、登録順にデータの参照が行なわれる特徴を有し、上述したカメラと画像処理装置を用いて位置検出を行うシステムでも、このキューを用いた位置管理が行われている。
【０００４】
ここで、カメラと画像処理装置を用いた位置検出について簡単に説明する。
図１０は、カメラでの各撮影タイミングにおけるカメラ視野を図示したものである。図のＡ１〜Ａ３がその各カメラ視野（Ａ３：今回のカメラ視野、Ａ２：前回のカメラ視野、Ａ１：前々回のカメラ視野）を示している。なお、コンベヤ１０２の移動方向は図示右方向である。このようにカメラ１０１と画像処理装置を用いた位置検出においては、図から明らかなように、各撮影タイミングにおける各カメラ視野が互いに重ならないような撮影タイミングを以て撮影が実施されるようになっている。これは、１つのワークが２度撮影されることによる同じワークの位置データのキューへの２重登録を排除するための構成である。
【０００５】
このように、互いにカメラ視野が重なることなく撮影された各撮影画像から検出された各ワークの位置データは、上述したようにキューに順次登録され、適宜処理部へと与えられ、ロボット動作が実施されるようになっている。後述の図１２（ａ）は図１０に示した全てのワークＷ１〜Ｗ６が登録された状態のキューを示している。
【０００６】
以下、このようにしてキューに登録された位置データの利用に係るロボット動作について説明する。
図１１はロボット動作を記述したユーザプログラムの一例を示す図で、コンベヤ１０２上を流れてくるワークＷ１〜Ｗ６を順次ハンドリングするロボット動作を記述したものである。図１２は図１１のユーザプログラムが実行されたときのキューの変化の様子を示した図である。なお、図１２に示すキューの各格納場所は、下から順にユーザプログラムのＱＵＥＵＥ（１）〜ＱＵＥＵＥ（６）にそれぞれ対応している。
【０００７】
図１１に示すユーザプログラムが実行されると、まず、１行目の実行によってキューの先頭データで示される位置へロボットが移動して当該位置にあるワークＷ１のハンドリングが行われ、２行目において、そのキューの先頭データ（即ち、ワークＷ１の位置データ）が削除される。これにより、キューは図１２（ｂ）に示すようにワークＷ２〜Ｗ６の各位置データが先頭方向にシフトした構成となる。続いて３行目において、同様にしてワークＷ２がハンドリングされ、４行目においてそのワークＷ２の位置データが削除される。これにより、キューは図１２（ｃ）に示すようにワークＷ３〜Ｗ６の各位置データが先頭方向にシフトした構成となる。次いで、５行目においてワークＷ３がハンドリングされ、そのワークＷ３の位置データが削除される。その結果、キューは図１２の（ｄ）に示すようになる。同様にしてＷ４〜Ｗ６のハンドリング、キューデータの削除が繰り返されるようになっている。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
このように、従来の方法では、一つのワークがキューに２重登録されることのないように各撮影タイミングにおけるカメラ視野が互い重ならないように撮影しており、そのタイミングを合わせるのが困難であった。また、そのタイミングを合わせるための構成が必要となることから装置が複雑化する上、また、このような構成を採用してもコンベヤ速度にムラが有る場合には、その補償が困難であった。
【０００９】
また、キューは登録順に読み出し（データ参照）が行われるデータ構造であるため、上述したようなワークの搬送順にハンドリングを行うアプリケーションにしか対応できず、近年の多様なアプリケーションへの対応が困難で、柔軟性に欠けていた。具体的には、例えばコンベヤ上を流れる細長い部品の胴部分を、先が二股に分かれたロボットハンドで把持する場合、コンベヤ上に前記細長部品が３つ、最初と３つ目の部品が同じ方向を向き、２つ目の部品が最初と３つ目の部品に対して９０度傾いて搬送されている場合、従来の方法では、流れてくる順番に把持する必要があるため、１つ目の部品を把持後、手首を９０度回転させて２つ目の部品を把持し、再度９０度回転させて３つ目の部品を把持する動作が必要となる。ところが、このように搬送順にハンドリングするのではなく、１つ目の部品を把持後、３つ目の部品を取りに行ってから２つ目の部品を取りに行くようにすれば、手首の回転動作は１回で良く、高速な動作が得られる。にもかかわらず、従来の位置管理方法では、このような動作は行えず、アプリケーションの開発を妨げていた。また、同様に二股のロボットハンドを使い、コンベヤ上を２種類のワークＡ、Ｂが流れてくる場合に、Ａ，Ｂ，Ａの順番で流れてきたワークをＡのワークを続けてハンドリングすることも従来は不可能であった。
【００１０】
本発明は、このような点に鑑みなされたもので、装置を複雑化することなく移動物体の２重登録を防止することが可能な移動物体の位置管理方法及び該方法を適用したロボットコントローラを提供することを第１の目的としたものである。
【００１１】
また、本発明は上記第１の目的に加え、種々のアプリケーションにも柔軟に対応することが可能な移動物体の位置管理方法及び該方法を適用したロボットコントローラを提供することを第２の目的としたものである。
【課題を解決するための手段】
【００１２】
(１)本発明の一つの態様に係る移動物体の位置管理方法は、運搬装置によって搬送される移動物体の位置を撮像手段によって検出し、その検出した移動物体の位置データを管理する方法であって、位置データを管理するキューを設け、キューに位置データを登録して運搬装置の動作量に基づき逐次更新するようにし、位置データをキューに登録する際には、その登録しようとする位置データと、既にキューに登録されている位置データとを比較し、同じ移動物体を示す位置データが既にキューに登録されている場合には登録しないようにしたものである。
【００１３】
本発明によれば、位置データをキューに登録する際に、その登録しようとする位置データと、既にキューに登録されている位置データとを比較し、同じ移動物体を示す位置データが既にキューに登録されている場合には登録しないようにしたので、撮像手段による撮影領域が前回と今回の撮影タイミングにおいて重複する領域がある場合に、その重複領域に移動物体が存在する場合にも、その移動物体の位置データがキューに２重に登録されるのを防止することが可能となる。
【００１４】
(２)本発明の他の態様に係る移動物体の位置管理方法は、上記（１）において、キューが、その先頭データに限られず、任意位置の位置データが参照されるものである。
【００１５】
本発明によれば、キュー内の任意位置の位置データが参照可能であるので、キューへの登録順に限定されない位置データの参照が可能となり、位置データを利用するアプリケーションの開発に際して、柔軟性に優れた移動物体の位置管理方法を得ることができる。
【００１６】
(３)本発明の他の態様に係る移動物体の位置管理方法は、上記（１）又は（２）において、キューに登録された位置データを、移動物体に対して所定の操作を行うロボットに対する動作位置として参照するものである。
【００１７】
本発明によれば、キューに登録された位置データを、移動物体に対して所定の操作を行うロボットに対する動作位置として参照することが可能となる。
【００１８】
(４)本発明の他の態様に係る移動物体の位置管理方法は、上記（３）において、キューを複数のロボットで共有するようにしたものである。
【００１９】
本発明によれば、キューを複数のロボットで共有するようにしたので、複数のロボットで運搬装置上の移動物体を追跡してその移動物体に操作を行うロボットシステムの構築が簡単に行える移動物体の位置管理方法を得ることができる。
【００２０】
(５)本発明の一つの態様に係るロボットコントローラは、運搬装置によって搬送される移動物体の位置を撮像手段によって検出し、その検出した移動物体の位置データをキューによって管理するロボットコントローラであって、移動物体の位置データを格納するキュー記憶部と、撮像手段で検出した移動物体の位置データをキュー記憶部に順次登録するキュー操作部と、キュー記憶部に登録された移動物体の位置データを運搬装置の動作量に基づいて逐次更新するキュー更新部とを備え、キュー操作部は、位置データをキュー記憶部に登録する際、その登録しようとする位置データと、キュー記憶部に既に登録されている位置データとを比較し、同じ移動物体を示す位置データが既にキュー記憶部に登録されている場合には登録しないようにしたものである。
【００２１】
本発明によれば、位置データをキューに登録する際に、その登録しようとする位置データと、既にキューに登録されている位置データとを比較し、同じ移動物体を示す位置データが既にキューに登録されている場合には登録しないようにしたので、撮像手段による撮影領域が前回と今回の撮影タイミングにおいて重複する領域がある場合に、その重複領域に移動物体が存在する場合にも、その移動物体の位置データがキューに２重に登録されるのを防止することが可能となる。
【００２２】
(６)本発明の他の態様に係るロボットコントローラは、上記（５）において、キュー操作部を、キュー記憶部の先頭データに限られず、任意位置に登録された位置データを参照可能に構成したものである。
【００２３】
本発明によれば、キュー操作部からキュー記憶部内の任意位置の位置データが参照可能であるので、キューへの登録順に限定されない位置データの参照が可能となり、位置データを利用するアプリケーションの開発に際して、柔軟性に優れた位置管理方法を提供したロボットコントローラを得ることができる。
【００２４】
(７)本発明の他の態様に係るロボットコントローラは、上記（５）又は（６）において、キュー操作部は、キュー記憶部に登録された位置データを参照し、移動物体に対して所定の動作を行うロボットを動作させるための位置データとして出力するものである。
【００２５】
本発明によれば、移動物体に対して所定の操作を行うロボットに対する動作位置としてキュー記憶部内の位置データを参照することができる。
【００２６】
(８)本発明の他の態様に係るロボットコントローラは、上記（７）において、キュー記憶部を複数のロボットで共有したものである。
【００２７】
本発明によれば、キューを複数のロボットで共有するようにしたので、複数のロボットで運搬装置上の移動物体を追跡してその移動物体に操作を行うロボットシステムの構築が簡単に行えるロボットコントローラを得ることができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施の形態１のロボットコントローラの機能ブロック図である。
【図２】本発明の実施の形態１のソフトウェア構成を示す図である。
【図３】本発明の実施の形態１の移動物体の位置管理方法を適用したシステムの概略構成図である。
【図４】各撮影タイミング毎のカメラ視野を示す図である。
【図５】ユーザプログラムの一例を示す図である。
【図６】図５のユーザプログラムが実行されたときのキュー記憶部のキューの変化の様子を示す図である。
【図７】本発明の実施の形態２の移動物体の位置管理方法を適用したシステムの概略構成図である。
【図８】複数のロボットを用いる場合のユーザプログラムの一例を示す図である。
【図９】図７のユーザプログラムを実行した場合のキュー記憶部のキューの変化の様子を示す図である。
【図１０】従来の撮影タイミングの説明図である。
【図１１】従来のユーザプログラムの一例を示す図である。
【図１２】図１０のユーザプログラムが実行されたときのキューの変化の様子を示す図である。
【発明を実施するための形態】
【００２９】
実施の形態１．
図１は本発明の実施の形態１のロボットコントローラの機能ブロック図、図２は本発明の実施の形態１のソフトウェア構成を示す図、図３は本発明の実施の形態１の移動物体の位置管理方法を適用したシステムの概略構成図である。
図において、１は運搬装置としてのコンベヤ、２はコンベヤ１上を撮影し、その撮影画像を処理する画像処理装置（図示せず）と共にワークの位置検出を行う撮像手段としてのカメラ、３はコンベヤ１に取り付けられ、コンベヤ１の動作量を検出するためのエンコーダ、４はロボットで、これらコンベヤ１、カメラ２、エンコーダ３及びロボット４がロボットコントローラ５に接続されてシステムが構成されている。
【００３０】
ロボットコントローラ５は、ユーザプログラムを記憶するユーザプログラム記憶部１１、該ユーザプログラム記憶部１１に記憶されたユーザプログラムを実行するユーザプログラム実行部１２、カメラ２と画像処理装置により検出されたワークの現在位置を示す位置データキュー（以下、単に位置データという）を記憶するキュー記憶部１３、該キュー記憶部１３への位置データの登録、参照、削除、の操作を行うキュー操作部１４、前記キュー記憶部１３の位置データをコンベヤ１の動作量に基づいて逐次更新するキュー更新部１５、作業ポイント（ロボット手先）の軌道（各関節の角度）を生成し、これをモータ指令値に変換して後述のモータ制御部１８に出力する軌道生成部１６、軌道生成部１６からのモータ指令値に従って各関節のモータ４ａを制御するモータ制御部１７を備えた構成となっている。なお、軌道生成部１６は外部タイマなどのハードウェアや後述のオペレーティングシステム（ＯＳ）により所定のサンプリングタイム毎に起動される。
【００３１】
また、ロボットコントローラ５のソフトウェア構成は、図２に示すようにユーザプログラムと、ロボットコントローラ５を制御し、イベント機能やマルチタスク機能等を有するオペレーティングシステム（ＯＳ）と、ロボット４やコンベヤ１の位置検出等を行う制御プログラムとを備えた構成となっている。
【００３２】
キュー記憶部１３は、任意位置の要素（ここでは位置データ）の参照が可能なデータ構造を有し、一般的なＦＩＦＯ（First In First Out）型のキューとは厳密には多少異なるものであるが、キュー記憶部１３内の要素の参照及び削除後においてその削除要素より後に登録された各要素がキューの先頭方向にシフトする構造については変わりはない。
【００３３】
キュー操作部１４は、キュー記憶部１３に位置データを登録する際に、その位置データとキュー記憶部１３に既に登録されている位置データとを比較し、同じ位置データが既にキュー記憶部１３内に登録されている場合には、同じワークが既に登録済であると判断して、その位置データの登録は行なわない。このように、位置データを登録する際にキュー記憶部１３内の位置データと比較して、その比較結果に応じてキューへの登録に制限を加えることにより、以下のような利点を奏する。
【００３４】
図４は、その利点を説明するための図で、特にカメラ２による各撮影タイミングにおけるカメラ視野を示している。図のＡ１〜Ａ４が、その各カメラ視野（Ａ４：今回のカメラ視野、Ａ３：前回のカメラ視野、Ａ２：前々回のカメラ視野、Ａ１：前々々回のカメラ視野）を示しており、Ｗ１〜Ｗ６はそれぞれワークを示している。
従来は上述したように各カメラ視野が互いに重ならないような構成を以てワークの２重登録を防止していたが、ここではカメラ視野が重なっても何等問題とならない。即ち、各カメラ視野Ａ１〜Ａ４が互いに重なった領域（図中のハッチング領域）にある例えばワークＷ２は、カメラ視野Ａ１，Ａ２のそれぞれ領域において位置検出が行われるが、その位置データはカメラ視野Ａ１においてはキュー記憶部１３へ登録されるが、次のカメラ視野Ａ２においては、先のカメラ視野Ａ１において既に登録されているため、登録が行われない。このようにキュー記憶部１３への登録時にチェックを行うことによりワークの２重登録の防止が簡単に行えるようになる。なお、同様にしてワークＷ５に関しても２重登録が防止される。
【００３５】
また、キュー操作部１４は、キュー記憶部１３の位置データを参照し、該位置データを必要とする構成部に出力する動作を行っている。例えばユーザプログラム実行部１２で位置データの表示を指示するような命令が実行された場合、キュー記憶部１３の位置データを参照し、該位置データをユーザプログラム実行部１２に出力し、また、例えば「ＪＵＭＰ  ＱＵＥＵＥ（１）」のような動作命令が実行された場合、キューの先頭データを参照して、軌道生成部１６に出力する動作を行う。
【００３６】
次に、本実施の形態１の動作を説明する。
所定のプログラムが実行されると、カメラ２によってコンベヤ１上を流れるワークの撮影が開始され、その撮影画像からワークが検出されてその位置データがキュー操作部１４によりキュー記憶部１３に登録される。このとき、キュー操作部１４は今回登録しようとする位置データと既にキュー記憶部１３に登録されている位置データとの比較を行って、キュー記憶部１３内に同じワークを示す位置データの登録がないときへの登録を行う。キュー記憶部１３に登録された位置データは、キュー更新部１５によりエンコーダ３からのパルス信号に基づき順次更新されている。
【００３７】
ここで、例えば図４に示すようにコンベヤ１上にワークＷ１〜Ｗ６が搬送されている場合、まずカメラ２の最初のカメラ視野Ａ１に含まれるワークＷ１及びワークＷ２の位置データがこの順にキュー記憶部１３に登録される。次いで、次のカメラ視野Ａ２からワークＷ２及びワークＷ３が検出され、これらの位置データがキュー記憶部１３に登録されることになるが、ワークＷ２の位置データについては既に登録されているため登録は行なわれず、ワークＷ３のみがキュー記憶部１３に登録されることとなる。同様にしてワークＷ４〜Ｗ６も登録され、結果、キュー記憶部１３のキューは後述の図６（ａ）示すように先頭から順にワークＷ１〜Ｗ６が登録された構成となる。
【００３８】
図５はユーザプログラムの一例を示す図である。
ここで、図５に示すユーザプログラムを実行した場合について考える。このユーザプログラムは、コンベヤ１上に２種類のワーク（三角形と四角形）が混在して流れており、交互にハンドリングを行う場合のプログラム例を示している。ここで、Ｗ１，Ｗ２，Ｗ４が四角形のワーク、Ｗ３，Ｗ５，Ｗ６が三角形のワークとする。なお、図中「’」以降はコメント文である。
【００３９】
図６は図５のユーザプログラムが実行されたときのキュー記憶部のキューの変化の様子を示す図で、（ａ）はユーザプログラム実行前の状態を示している。なお、キューの各格納場所は下から順にユーザプログラムのＱＵＥＵＥ（１）〜ＱＵＥＵＥ（６）にそれぞれ対応している。
【００４０】
このユーザプログラムがユーザプログラム実行部１２で実行されると、まず、１行目（ＪＵＭＰ  ＱＵＥＵＥ（１））の実行により、キュー操作部１４はキューの先頭データを参照し、その先頭データ、即ちワークＷ１の位置データを軌道生成部１６に出力する。軌道生成部１６は、ワークＷ１へロボット４を動作させる軌道を生成し、その関節角度をモータ指令値に変換してモータ制御部１７へ出力する。モータ制御部１７はそのモータ指令値に従ってロボット４の各関節を動作させるように制御する。これによりロボット４はロボット手先をワークＷ１（四角形ワーク）へ移動してハンドリングする動作を行う。そして、２行目においてキュー操作部１４は、キューの先頭データ（即ちワークＷ１の位置データ）を削除する。これにより、最初、図６（ａ）に示す状態にあったキューが（ｂ）に示すように先頭データが削除され、ワークＷ２〜Ｗ６の位置データが先頭方向にシフトし、ワークＷ２の位置データがキューの先頭に位置した状態となる。
【００４１】
続いて３行目においてキューの先頭から２つ目の位置データで示されるワークＷ３（三角形ワーク）のハンドリングが実行され、４行目においてキューの先頭から２つ目のデータ、即ちワークＷ３の位置データがキューから削除される。この削除後のキューは図６（ｃ）に示すようにワークＷ３の位置データが削除されてワークＷ４〜Ｗ６の位置データがキューの先頭方向にシフトした構成となる。
【００４２】
続いて５行目においてキューの先頭データ（即ちワークＷ２の位置データ）で示される位置へのロボット動作が行われて当該位置にあるワークＷ２（四角形ワーク）のハンドリングが行われ、そのワークＷ２の位置データをキューから削除する。この削除後のキューは図６（ｄ）に示すようにワークＷ２の位置データが削除されてワークＷ４〜Ｗ６の位置データがキューの先頭方向にシフトし、ワークＷ４の位置データがキューの先頭に位置した状態となる。同様にしてワークＷ５（三角形ワーク）がハンドリングされ、その位置データが削除されてキューは図６（ｅ）に示すようになり、続いてワークＷ４（四角形ワーク），ワークＷ６（三角形ワーク）とハンドリングが続けられ、該当の位置データの削除も同様に行われる。
【００４３】
本実施の形態１によれば、位置データをキュー記憶部１３に登録する際に、既にキュー記憶部１３に登録された位置データと比較して同じワークを示す位置データが登録されている場合には登録しないようにしたので、特別なハードウェア構成を取ることなく、ソフトウェアによって２重登録を防止することが可能となる。
【００４４】
また、キュー記憶部１３のキューを参照する際は、キューの先頭のみでなく任意位置を参照できるようにしたので、所望の順序でワークをハンドリングするアプリケーションの開発が可能となり、キューの先頭データから順に参照するように限られていた従来技術に比べ汎用性に優れたシステムを構築することが可能となる。具体的には例えば上述したようにコンベヤ１上を多種類のワークが混在して流れる場合に、交互にワークをハンドリングする等のシステムの構築が可能となる。
【００４５】
また、ワークの位置データをキューによって管理するようにしたので、コンベヤ１上を複数のワークが流れる場合の各ワークの位置管理が容易になる。
【００４６】
実施の形態２．
上記実施の形態１は１台のコンベヤに対して１台のロボットを配置したシステムにおける位置管理を示したものであるが、本実施の形態２は図７に示すように１台のコンベヤ１に対して複数のロボット４（ここでは２台で、特に上流側のロボットを４ａ、下流側を４ｂと符号を付す）を配置したシステムにおける位置管理に関するものである。このように複数のロボット４を設置する場合、１つのキューを複数のロボット４で共有するようにする。また、ここでは、図４と同様の撮影により、ユーザプログラム実行前においてキューが後述の図９（ａ）の状態にあるとして説明を行う。
【００４７】
図８はユーザプログラムの一例を示す図である。図９は図８のユーザプログラムを実行した場合のキュー記憶部のキューの変化の様子を示す図である。
このユーザプログラムがユーザプログラム実行部１２で実行されると、まず１行目の実行により、ＲＯＢＯＴ１（ここではロボット４ａとする）が選択される。そして、２行目の実行によりキュー操作部１４がキューの先頭データを参照し、その先頭データ、即ちワークＷ１の位置データを軌道生成部１６に出力する。これによりロボット４ａでワークＷ１のハンドリングが行われる。そして、３行目においてキュー操作部１４はそのワークＷ１の位置データを削除する。これにより、最初、図９（ａ）に示す状態にあったキューが（ｂ）に示すようにキューの先頭データが削除されてワークＷ２〜Ｗ６の位置データがキューの先頭方向にシフトした構成となる。
【００４８】
続いて４行目においてＲＯＢＯＴ２（ここではロボット４ｂ）が選択され、５行目においてキューの先頭データが示すワークＷ２がロボット４ｂでハンドリングされ、６行目においてそのワークＷ２の位置データが削除される。この削除後のキューは図９（ｂ）に示すようにワークＷ２の位置データが削除されてワークＷ３〜Ｗ６の位置データがキューの先頭方向にシフトした構成となる。
【００４９】
このように、複数のロボットを配置する場合にも、キューは１つとして、複数のロボットで共有するようにしたことにより、実施の形態１とほぼ同じ作用及び効果が得られると共に、コンベヤ１上の複数のワークを複数のロボット４でハンドリングするシステムの構築が簡単に実現できる。
【００５０】
なお、従来、１台のコンベヤに２台のロボットを設置して各ロボット４にワークをハンドリングさせる場合には、各ロボット毎にカメラを設置し、また、ロボット毎にキューを設けるようにしていた。このように構成した従来のシステムで、例えば上流のロボットで取りこぼしたワークを下流のロボットでハンドリングするアプリケーションを実施する場合には、上流のロボットで取りこぼしたワークを、下流のカメラで再認識し、該ワークの位置データを上流側のロボットのキューから削除して下流側のロボットのキューに登録し、下流側のロボットにハンドリングさせるようにすることになる。
【００５１】
このように、従来の方法ではカメラをロボット毎に用意していることから装置構成が複雑となり、また、キューの再登録が必要となって処理が煩雑となっていた。これに対し、本実施の形態１においては、ロボットの設置台数によらずコンベヤに対してカメラを１台設置し、そのカメラで認識したワークの位置データを１つのキューに登録して、該キューを各ロボットで共有するようにしたことにより、これと同様のアプリケーションを実施する場合には、上流のロボット４ａで取りこぼしたワークの位置データをキューから削除することなく下流のロボット４ｂに割り当てることにより対応できるので（なお、ロボット４ｂに割り当てた後はその位置データはキューから削除される）、システム構成が簡単で済み、また、キューの再登録処理を不要とすることができる。
【符号の説明】
【００５２】
１  コンベヤ、２  カメラ、４  ロボット、５  ロボットコントローラ、１３  キュー記憶部、１４  キュー操作部、１５  キュー更新部。
【図１】
2010240838.tif 000003
【図２】
2010240838.tif 000004
【図３】
2010240838.tif 000005
【図４】
2010240838.tif 000006
【図５】
2010240838.tif 000007
【図６】
2010240838.tif 000008
【図７】
2010240838.tif 000009
【図８】
2010240838.tif 000010
【図９】
2010240838.tif 000011
【図１０】
2010240838.tif 000012
【図１１】
2010240838.tif 000013
【図１２】
2010240838.tif 000014
【手続補正書】
【提出日】平成22年9月3日(2010.9.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
運搬装置によって搬送される移動物体を撮像手段によって撮像し、その撮像した画像に基づいて前記移動物体の位置を検出し、その検出した前記移動物体の位置データをキューに登録し、その登録した前記移動物体の位置データに基づいて前記移動物体に操作を行うロボットの制御方法であって、
前記キューに登録された位置データは、前記運搬装置の動作量に基づいて更新されるとともに、
前記キューに登録されている複数の移動物体の位置データの中から任意の位置データを選択し、当該任意の位置データが特定する移動物体に操作を行い、前記操作を行った移動物体に対応する位置データを削除することを特徴とするロボットの制御方法。
【請求項２】
請求項１に記載のロボットの制御方法であって、
前記位置データをキューに登録する際、その登録しようとする位置データが、同じ移動物体の位置データとしてすでにキューに登録されている場合には登録しないようにしたことを特徴とするロボットの制御方法。
【請求項３】
前記キューを複数のロボットで共有することを特徴とする請求項１または２に記載のロボットの制御方法。
【請求項４】
先端が二股に分かれたロボットハンドで前記運搬装置を搬送される細長形状の移動物体を把持する方法であって、
１番目の移動物体と３番目の移動物体は長手方向が同じ方向を向き、２番目の移動物体は長手方向が前記１番目の移動物体および前記３番目の移動物体に対して約９０度傾いて搬送されている場合に、１番目の移動物体、２番目の移動物体、３番目の移動物体の順に把持することを特徴とする、請求項１または２に記載のロボットの制御方法。
【請求項５】
運搬装置によって搬送される移動物体を撮像手段によって撮像し、その撮像した画像に基づいて画像処理手段が前記移動物体の位置を検出し、その検出した前記移動物体の位置データをキューに登録し、その登録した前記移動物体の位置データに基づいて前記移動物体に操作を行うロボットコントローラであって、
移動物体の位置データを登録するキュー記憶部と
前記キュー記憶部に前記移動物体の位置データを登録するキュー操作部と、
前記キュー記憶部に登録された移動物体の位置データを前記運搬装置の動作量に基づいて更新するキュー更新部とを備え、
前記キュー操作部は、前記キュー記憶部に登録されている複数の移動物体の位置データの中から任意の位置データを選択し、当該任意の位置データが特定する移動物体に操作を行い、前記操作を行った移動物体に対応する位置データを削除することを特徴とするロボットコントローラ
【請求項６】
請求項５に記載のロボットコントローラであって、
前記位置データをキューに登録する際、その登録しようとする位置データが、同じ移動物体の位置データとしてすでにキューに登録されている場合には登録しないようにしたことを特徴とするロボットコントローラ。
【請求項７】
前記キューを複数のロボットで共有することを特徴とする請求項５または６に記載のロボットの制御方法。