"搬送装置上を搬送されるワークを撮像するように配置された撮像部に接続される画像処理装置であって、前記搬送装置の搬送経路における移動量を示す信号を受付けるインターフェイスと、前記搬送経路において前記撮像部の撮像範囲より下流側に配置されるとともに前記ワークを取り扱う移動機械、を制御するための制御装置と通信するためのインターフェイスと、前記撮像部の撮像によって得られた画像に対して計測処理を行うことで、画像中の予め登録されたワークに対応する領域の位置情報を取得する手段と、前記制御装置との間で前記搬送経路における移動量を同期して保持する手段と、撮像指示に応答して前記撮像部による撮像を開始する手段と、前記位置情報と当該位置情報の取得に用いた画像を撮像したときの移動量とを前記制御装置へ送信する手段とを備える、画像処理装置。前記位置情報は、前記画像中の予め登録されたワークに対応する領域を前記移動機械の座標系で表した座標値を含む、請求項1に記載の画像処理装置。前記位置情報は、予め登録されたワークの姿勢を基準とした、前記画像中の当該ワークに対応する領域の回転角度をさらに含む、請求項2に記載の画像処理装置。前記搬送装置の搬送経路における移動量を示す信号は、パルス信号である、請求項1~3のいずれか1項に記載の画像処理装置。前記パルス信号は、前記画像処理装置および前記制御装置に入力されるように構成されており、前記同期して保持する手段は、前記パルス信号に含まれるパルス数をカウントするための第1のカウンタを含み、前記第1のカウンタは、前記制御装置が前記パルス信号に含まれるパルス数をカウントするための第2のカウンタとの間で、カウントに関して同一のパラメータが設定されている、請求項4に記載の画像処理装置。前記第1のカウンタは、前記パルス信号に含まれるパルス数のカウント開始前に、前記第2のカウンタとともに、リセットされる、請求項5に記載の画像処理装置。前記パルス信号は、前記画像処理装置に入力されるように構成されており、前記同期して保持する手段は、前記パルス信号に含まれるパルス数をカウントするためのカウンタを含み、前記制御装置へ送信する手段は、送受信に係る遅延時間が一定になるように構成されている、請求項4に記載の画像処理装置。前記位置情報の取得に用いた画像を撮像したときの移動量は、カウンタによるカウンタ値で示される、請求項5~7のいずれか1項に記載の画像処理装置。前記画像処理装置は、前記撮像指示を前記制御装置から受信するように構成されている、請求項1に記載の画像処理装置。搬送装置上を搬送されるワークを撮像するように配置された撮像部と、前記搬送装置の搬送経路において前記撮像部の撮像範囲より下流側に配置されるとともに前記ワークを取り扱う移動機械、を制御するための制御装置と、前記撮像部および前記制御装置に接続される画像処理装置とを備え、前記画像処理装置は、前記搬送装置の搬送経路における移動量を示す信号を受付けるインターフェイスと、前記撮像部の撮像によって得られた画像に対して計測処理を行うことで、画像中の予め登録されたワークに対応する領域の位置情報を取得する手段と、前記制御装置との間で前記搬送経路における移動量を同期して保持する手段と、撮像指示に応答して前記撮像部による撮像を開始する手段と、前記位置情報と当該位置情報の取得に用いた画像を撮像したときの移動量とを前記制御装置へ送信する手段とを備える、画像処理システム。上述の特許文献1の構成においては、コンベアには、移動量を検出するために、パルスコーダが取り付けられ、パルスコーダからの検出出力はロボット制御部へ入力される。画像処理装置およびカメラを有する視覚センサは、パルスコーダの検出出力を利用して、撮像やトラッキングを行う。しかしながら、特許文献1の構成においては、画像処理装置がパルスコーダからの検出出力が所定条件を満足すると判断したタイミングで視覚センサへ撮像指示を与えるが、この視覚センサへ撮像指示を与えるタイミングと実際に視覚センサが撮像を行うタイミングとは完全には一致しておらず、幾らかのタイムラグが生じる。このタイムラグの長さに比較して、コンベアの搬送速度が相対的に低い場合には、それほど問題にはならないが、コンベアの搬送速度が高速化すると、このタイムラグによって、トラッキングのずれ等が生じ得る。そこで、特許文献2には、このようなタイムラグを解消するための一つのアプローチが開示されている。より具体的には、特許文献2は、信号処理部に計測制御部を設けて、計測時の時間を測定することで、計測結果に計測時の時間情報を付加して出力する構成を開示する。このような構成を上述のようなコンベアトラッキングに適用した場合には、搬送装置の搬送速度が一定である場合には、当該計測時の時間情報に基づいて移動量を計算することで、上述のようなタイムラグによる影響を低減することができる。しかしながら、現実の生産ラインでは、搬送装置の搬送速度は変化するため、特許文献2の手法をそのまま適用しただけでは、トラッキング処理を確実に行うことができない場合もある。また、特許文献3は、エンコーダによる計測結果ではなく、エンコーダとは別に設けられたトリガーセンサを用いて、撮像タイミングを生成するという構成を開示している。このとき、トリガーセンサによってワークの到着を検出するタイミングと、撮像のタイミングとの間にタイムラグが生じるため、エンコーダによる計測結果を用いて、撮像時のワークと撮像手段との間の位置関係の情報を生成し、この位置関係の情報を用いて画像認識が行われる。しかしながら、現実の生産ラインでは、搬送経路上に複数のワークが配置されることも多く、特許文献3に開示されるようなトリガーセンサでワークの到着を検出することは現実的ではない。そのため、特許文献3の手法を適用しても、トラッキング処理を確実に行うことはできない。さらに、特許文献4には、位置検出器からの位置検出信号がモータ制御装置を介して画像処理装置へ送られる。画像処理装置は、導体チップをカメラで撮像しつつ、マスタ装置からの位置指令信号と、位置検出器からの位置検出信号とに基づいて、モータ制御装置を制御する。特許文献4に開示される構成においては、モータ制御装置を経由して画像処理装置へ送信される位置検出器からの位置検出信号の送信遅延がXYテーブルの位置決め制御の周期に比較して相対的に無視できることが前提となっており、特許文献4の手法は、コンベアトラッキング等にはそのまま適用することができない。そのため、特許文献4の手法を採用したとしても、トラッキング処理を確実に行うことはできない。そこで、本発明は、上述のような課題を解決するためになされたものであり、その目的は、撮像装置に対する撮像指示を発生してから実際に撮像が行われるまでにタイムラグが存在する場合であっても、正確にトラッキング処理を行うことのできる視覚センサを提供するものである。本発明のある局面によれば、搬送装置上を搬送されるワークを撮像するように配置された撮像部に接続される画像処理装置を提供する。画像処理装置は、搬送装置の搬送経路における移動量を示す信号を受付けるインターフェイスと、搬送経路において撮像部の撮像範囲より下流側に配置されるとともにワークを取り扱う移動機械、を制御するための制御装置と通信するためのインターフェイスと、撮像部の撮像によって得られた画像に対して計測処理を行うことで、画像中の予め登録されたワークに対応する領域の位置情報を取得する手段と、制御装置との間で搬送経路における移動量を同期して保持する手段と、撮像指示に応答して撮像部による撮像を開始する手段と、位置情報と当該位置情報の取得に用いた画像を撮像したときの移動量とを制御装置へ送信する手段とを含む。好ましくは、位置情報は、画像中の予め登録されたワークに対応する領域を移動機械の座標系で表した座標値を含む。さらに好ましくは、位置情報は、予め登録されたワークの姿勢を基準とした、画像中の当該ワークに対応する領域の回転角度をさらに含む。好ましくは、搬送装置の搬送経路における移動量を示す信号は、パルス信号である。さらに好ましくは、パルス信号は、画像処理装置および制御装置に入力されるように構成されている。同期して保持する手段は、パルス信号に含まれるパルス数をカウントするための第1のカウンタを含む。第1のカウンタは、制御装置がパルス信号に含まれるパルス数をカウントするための第2のカウンタとの間で、カウントに関して同一のパラメータが設定されている。さらに好ましくは、第1のカウンタは、パルス信号に含まれるパルス数のカウント開始前に、第2のカウンタとともに、リセットされる。あるいは好ましくは、パルス信号は、画像処理装置に入力されるように構成されており、同期して保持する手段は、パルス信号に含まれるパルス数をカウントするためのカウンタを含み、制御装置へ送信する手段は、送受信に係る遅延時間が一定になるように構成されている。好ましくは、位置情報の取得に用いた画像を撮像したときの移動量は、カウンタによるカウンタ値で示される。好ましくは、画像処理装置は、撮像指示を制御装置から受信するように構成されている。この発明の別の局面に従えば、搬送装置上を搬送されるワークを撮像するように配置された撮像部と、搬送装置の搬送経路において撮像部の撮像範囲より下流側に配置されるとともにワークを取り扱う移動機械、を制御するための制御装置と、撮像部および制御装置に接続される画像処理装置とを含む画像処理システムを提供する。画像処理装置は、搬送装置の搬送経路における移動量を示す信号を受付けるインターフェイスと、撮像部の撮像によって得られた画像に対して計測処理を行うことで、画像中の予め登録されたワークに対応する領域の位置情報を取得する手段と、制御装置との間で搬送経路における移動量を同期して保持する手段と、撮像指示に応答して撮像部による撮像を開始する手段と、位置情報と当該位置情報の取得に用いた画像を撮像したときの移動量とを制御装置へ送信する手段とを含む。本発明によれば、撮像装置に対する撮像指示を発生してから実際に撮像が行われるまでにタイムラグが存在する場合であっても、正確にトラッキング処理を行うことのできる画像処理装置およびそれを含む画像処理システムを提供するものである。本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。[実施の形態1]<A.システム構成>図1は、本発明の実施の形態1に係る視覚センサを利用したコンベアトラッキングシステムの構成を示す模式図である。図1に示すコンベアトラッキングシステムは、2つの搬送装置コンベア10および20を含む。コンベア10および20は、それぞれ駆動ローラ12および22によって回転駆動される。以下では、コンベア10および20をそれぞれライン1およびライン2とも称す。図1に示す例では、ライン1は、紙面右側に移動し、ライン2は、紙面左側に移動する。ライン1には、搬出装置30等によって紙面左側からワークWがランダムに提供される。このライン1上のワークWは、紙面左側から紙面右側へ移動する。ワークWとしては、典型的には、お菓子等の食品や各種の錠剤等が想定される。本実施の形態に係る視覚センサ100は、ライン1上の所定位置に設けられる。後述するように、視覚センサ100は、ワークなどの被写体を撮像するための撮像部と当該撮像部によって撮像された画像を処理するための画像処理部とを一体的に構成したものである。但し、撮像部と画像処理部とを別体として構成してもよい。視覚センサ100は、その撮像視野がライン1の幅方向搬送方向とは直交する方向の全体を含むように設定される。そして、視覚センサ100が所定周期で撮像を行うことで、ライン1上をランダムに流れてくるワークWを順次撮像できる。視覚センサ100は、この順次撮像される画像に対してパターンマッチング等の計測処理を行うことで、各ワークの位置決めおよびトラッキング処理を行う。このように、視覚センサ100の撮像部図3に示す撮像部110は、搬送装置であるコンベア10上を搬送されるワークWを撮像するように配置されている。そして、この撮像部に画像処理装置図3に示す画像処理部120が接続される。ライン1の搬送方向には、視覚センサ100の下流側に、ワークWを把持してライン2へ移動させるロボット300が配置されている。このロボット300は、ワークWを把持するためのアームを有しており、このアームを目的位置に移動させることで、ライン2上のワークを把持する。すなわち、ロボット300は、搬送装置であるコンベア10ライン1の搬送経路において、視覚センサ100の撮像部の撮像範囲より下流側に配置されるとともにワークWを取り扱う移動機械に相当する。より具体的には、ロボット300は、そのアームを目的のワークWに位置決めして、ピックアップしてライン2上に整列する。さらに、ロボット300は、ライン1に沿って移動するための移動機構400図2参照上に配置されており、所定の範囲に亘って移動する。このロボット300の移動範囲をトラッキング範囲とも称す。ロボット300のトラッキング処理および位置決め処理については、ライン1に設けられたエンコーダ14による検出結果を用いて制御される。このエンコーダ14は、典型的には、ロータリーエンコーダが採用され、回転に伴ってパルス信号を発生する。この発生するパルス信号のパルス数をカウントすることで、コンベア10ライン1と連結されたローラの回転数、すなわち、エンコーダ14が発生するパルス信号は、搬送装置であるコンベア10の搬送経路における移動量を示す信号に相当し、このパルス信号に基づいて、コンベア10の移動量が算出される。ロボット300は、ロボット制御装置200からの指示に従って動作する。すなわち、ロボット制御装置200は、移動機械であるロボット300を制御するための制御装置である。ロボット制御装置200は、視覚センサ100とネットワークNWを介して接続されており、視覚センサ100によって検出された各ワークWの位置に基づいて、ロボット300に対してワークWの把持動作に必要な指示を与える。ロボット制御装置200には、ロボット300のキャリブレーションなどを行うためのティーチングペンダント2100が接続されている。ユーザは、ティーチングペンダント2100を操作して、キャリブレーションなどに必要な位置にロボット300を移動させる。ネットワークNWには、視覚センサ100およびロボット制御装置200に加えて、操作表示装置500およびサポート装置600が接続されていてもよい。操作表示装置500は、視覚センサ100からの処理結果やロボット制御装置200からのロボット300の動作状態などを表示するとともに、ユーザからの操作に応答して、視覚センサ100および/またはロボット制御装置200へ各種の指示を与える。図1に示すコンベアトラッキングシステムにおいては、生産性を向上するために、ライン速度搬送速度をより高めたいという潜在的なニーズが存在する。このようなニーズに対処するため、本実施の形態に係るコンベアトラッキングシステムにおいては、エンコーダ14が発生するパルス信号をロボット制御装置200だけではなく、視覚センサ100にも入力するという構成を採用する。このように、視覚センサ100およびロボット制御装置200が同期して対象の搬送装置コンベアの位置情報を取得することで、ロボット制御装置200と視覚センサ100との間のネットワークNWを介した通信による遅延時間が問題となる場合であっても、その影響を回避することができる。この詳細については、後述する。<B.位置決めおよびトラッキング処理>次に、図1に示すコンベアシステムにおける位置決めおよびトラッキング処理の詳細について説明する。図2は、本発明の実施の形態1に係る視覚センサを利用したコンベアトラッキングシステムにおける位置決めおよびトラッキング処理を説明するための図である。図2を参照して、視覚センサ100は、内蔵の撮像部を用いてライン1を撮像する。視覚センサ100の撮像動作は、ロボット制御装置200からの撮像指示に応じて開始される。この撮像指示は、視覚センサ100とロボット制御装置200とを接続するネットワークNW経由で搬送される。このネットワークNWは、典型的には、イーサネット登録商標などの汎用的なネットワークを採用することができる。視覚センサ100は、撮像指示をロボット制御装置200から受信するように構成されており、この撮像指示に応答して撮像を開始する。これにより、視覚センサ100は、撮像視野を写した画像を順次取得する。そして、視覚センサ100は、当該画像に対して計測処理典型的には、予め登録されたワークWについてのモデル画像に基づくパターンマッチング処理、あるいは、2値化処理を実行する。さらに、視覚センサ100は、この計測処理によって得られた各ワークWの撮像時の位置情報X,Y,θをロボット制御装置200へ送信する。このように、視覚センサ100は、撮像部の撮像によって得られた画像に対して計測処理を行うことで、画像中の予め登録されたワークに対応する領域の位置情報を取得する。位置情報は、コンベア10上のワークWの位置X,YおよびワークWの回転角度θを含む。なお、ワークWの位置X,Yは、ロボット制御装置200における重複排除処理などを簡素化する観点から、ロボット300を制御するための座標系に換算した値が用いられる。例えば、図2に示すように、ロボット300のアームピッキング位置をX座標コンベアの搬送方向およびY座標コンベアの搬送方向とは直交する方向で定義しておき、このXY座標系以下ロボット座標系とも称す。を用いてパターンマッチング処理により検出された各ワークの位置を特定する。すなわち、位置情報は、撮像によって取得された画像中の予め登録されたワークに対応する領域を移動機械であるロボット300の座標系ロボット座標系で表した座標値を含む。このように、各ワークWの計測された位置情報をロボット座標系の値として出力できるように、視覚センサ100およびロボット制御装置200は、予めキャリブレーションされている。また、ワークWの回転角度θは、ワークWのモデル画像を基準とした場合の回転角度を意味する。すなわち、位置情報は、予め登録されたワークの姿勢を基準とした、画像中の当該ワークに対応する領域の回転角度をさらに含む。ワークWの形状によっては、この回転角度の情報に基づいて、ロボット300のアームの回転角度などが適宜制御される。より具体的には、ロボット制御装置200は、エンコーダ14からのパルス信号に含まれるパルス数をカウントし、予め定められた値以上の数のパルスが入力されたタイミングで、ネットワークNWを経由して視覚センサ100に対して撮像指示を送出する。視覚センサ100からの各ワークの位置情報は、ネットワークNWを介してロボット制御装置200へ送信され、ロボット制御装置200の内部にあるメモリに格納される。視覚センサ100が順次撮像することで、同一のワークWが異なるタイミングで撮像されることもある。このような場合、同一のワークWについての位置情報が重複してロボット制御装置200へ送信されるが、このロボット制御装置200では、このような重複を排除した上で、メモリに記憶する。また、ロボット制御装置200は、エンコーダ14からのパルス信号を受けるたびに、メモリ内に格納されているすべてのワークWの位置情報座標値X,Yを更新する。これは、ロボット制御装置200のメモリ上において、実際にベルトコンベア上を搬送するワークWをトラッキングするためである。そして、いずれかのワークWの更新後の位置情報座標値がロボット300のトラッキング範囲に入ると、ロボット300に対して把持動作に必要な指示を与える。ライン1に設けられたエンコーダ14の検出結果に応じて生成されるパルス信号は、視覚センサ100およびロボット制御装置200へ入力されるように構成されている。視覚センサ100およびロボット制御装置200は、パルス信号に含まれるパルス数をカウントするためのエンコーダカウンタをそれぞれ有している。エンコーダ14からのパルス信号は、並列的に、視覚センサ100およびロボット制御装置200に入力されるので、それぞれのエンコーダカウンタを同じタイミングで初期化カウンタリセットしておけば、その後に入力されるパルス信号についてのカウンタ値は、互いに同じ値、すなわち、カウンタ値についての同期をとることができる。より具体的には、視覚センサ100およびロボット制御装置200には、いずれも、エンコーダ14からのパルス信号に含まれる1パルスあたりのコンベアの移動量が予め設定されている。さらに、視覚センサ100およびロボット制御装置200のそれぞれのエンコーダカウンタについても、互いに同一のパラメータカウンタ最大値、カウンタ最小値、1パルスに対する増加値などが設定されている。すなわち、視覚センサ100のエンコーダカウンタは、ロボット制御装置200のエンコーダカウンタとの間で、カウントに関して同一のパラメータが設定されている。また、これらのエンコーダカウンタによるカウンタ値は、生産ラインの稼動前に0に初期化される。すなわち、視覚センサ100のエンコーダカウンタは、パルス信号に含まれるパルス数のカウント開始前に、ロボット制御装置200のエンコーダカウンタとともに、リセットされる。このように本実施の形態においては、視覚センサ100とロボット制御装置200との間でコンベア10の搬送経路における移動量を同期して保持する手段が実現される。特に、本実施の形態に係る視覚センサ100は、ロボット制御装置200からの撮像指示に従って実際に撮像を行ったときのカウンタ値を各ワークの位置情報に付加して、ロボット制御装置200へ送信する。上述したように、視覚センサ100とロボット制御装置200との間でカウンタ値を同期して保持しているため、ロボット制御装置200から撮像指示を送出したタイミングと、撮像指示に応答して視覚センサ100が実際に撮像を行ったタイミングとの間にライムラグがあっても、実際に撮像が行われたタイミングが共通の時間軸上で、すなわち同期されたカウンタ値を用いて、特定される。このように、視覚センサ100は、検出されたワークWの位置情報と当該位置情報の取得に用いた画像を撮像したときのコンベア10における移動量とをロボット制御装置200へ送信する。このワークWの位置情報の取得に用いた画像を撮像したときの移動量は、カウンタによるカウンタ値で示される。ロボット制御装置200では、視覚センサ100から受信した撮像時のカウンタ値を用いて、対応する位置情報を補正した上で、自装置のメモリに格納する。これによって、ライン速度が高く、撮像指示の出力から現実の撮像までのタイムラグが、ロボット300における位置決めおよびトラッキング処理に影響を与えるという事態を回避できる。<C.ハードウェア構成>図3は、本発明の実施の形態1に係る視覚センサを利用したコンベアトラッキングシステムのハードウェア構成について示す模式図である。図3を参照して、視覚センサ100は、撮像部110と、画像処理部120とを含む。撮像部110は、撮像視野に存在する被写体を撮像する装置であり、主体たる構成要素として、レンズや絞りなどの光学系と、CCDChargeCoupledDeviceイメージセンサやCMOSComplementaryMetalOxideSemiconductorイメージセンサなどの受光素子とを含む。撮像部110は、画像処理部120からの指令に従って撮像するとともに、その撮像によって得られた画像データを画像処理部120へ出力する。画像処理部120は、CPUCentralProcessingUnit122と、メモリ124と、撮像制御部126と、通信インターフェイスI/F128と、入出力インターフェイスI/F130と、エンコーダカウンタ132とを含む。これらのコンポーネントは、バス134を介して互いにデータ通信可能に接続されている。CPU122は、画像処理部120において主たる演算を行うプロセッサである。メモリ124は、CPU122によって実行される各種プログラム、撮像部110によって撮像された画像データ、各種パラメータなどを格納する。典型的には、メモリ124は、DRAMDynamicRandomAccessMemoryなどの揮発性記憶装置と、FLASHメモリなどの不揮発性記憶装置とからなる。撮像制御部126は、CPU122などからの内部コマンドに従って、接続されている撮像部110における撮像動作を制御する。撮像制御部126は、撮像部110に対して各種コマンドを送信するインターフェイスと、撮像部110からの画像データを受信するインターフェイスとを有している。通信インターフェイス128は、ロボット制御装置200との間で各種データを遣り取りする。典型的には、視覚センサ100およびロボット制御装置200とはイーサネット登録商標を介して接続されており、通信インターフェイス128は、このようなイーサネット登録商標に準拠したハードウェアである。入出力インターフェイス130は、画像処理部120から外部へ各種信号を出力し、あるいは、外部からの各種信号を入力する。特に、入出力インターフェイス130は、エンコーダ14で生成されるパルス信号を受け入れ、その信号をデジタル信号に変換してエンコーダカウンタ132へ出力する。エンコーダカウンタ132は、エンコーダ14からのパルス信号に含まれるパルス数をカウントする。このエンコーダカウンタ132は、基本的には、CPU122の演算サイクルとは独立して動作するため、エンコーダ14からのパルス信号に含まれるパルス数を取り逃すことがない。一方、ロボット制御装置200は、演算処理部210と、通信インターフェイスI/F228と、入出力インターフェイスI/F230と、エンコーダカウンタ232と、ピッキング制御部240と、移動制御部250とを含む。演算処理部210は、視覚センサ100からの位置情報に基づいて、ロボット300および移動機構400に対してコマンドを出力するための演算を行うプロセッサであり、それぞれのワークWをトラッキングするためのメモリ220を含む。メモリ220には、視覚センサ100の計測処理によって検出されたそれぞれのワークWの位置情報が格納される。演算処理部210は、対象のコンベアの移動エンコーダ14からのパルス信号に基づいて検出に応じて、それぞれのワークWの位置情報を順次更新する。通信インターフェイスI/F228は、視覚センサ100の画像処理部120との間で各種データを遣り取りする。典型的には、視覚センサ100およびロボット制御装置200とはイーサネット登録商標を介して接続されており、通信インターフェイス228は、このようなイーサネット登録商標に準拠したハードウェアである。入出力インターフェイス230は、ロボット制御装置200から外部へ各種信号を出力し、あるいは、外部からの各種信号を入力する。特に、入出力インターフェイス230は、エンコーダ14で生成されるパルス信号を受け入れ、その信号をデジタル信号に変換してエンコーダカウンタ232へ出力する。エンコーダカウンタ232は、エンコーダ14からのパルス信号に含まれるパルス数をカウントする。このエンコーダカウンタ232は、基本的には、演算処理部210の演算サイクルとは独立して動作するため、エンコーダ14からのパルス信号に含まれるパルス数を取り逃すことがない。ピッキング制御部240は、演算処理部210などからの内部コマンドに従って、接続されているロボット300における把持動作を制御する。ピッキング制御部240は、ロボット300のそれぞれの可動軸における目標位置などを送信するインターフェイスと、ロボット300のそれぞれの可動軸における現在位置を受信するインターフェイスとを有している。移動機構400は、演算処理部210などからの内部コマンドに従って、接続されているロボット300を駆動する移動機構400におけるトラッキングを制御する。移動機構400は、移動機構400の目標位置および目標速度などを送信するインターフェイスと、移動機構400の移動軸における現在位置を受信するインターフェイスとを有している。<D.本発明に係る課題>次に、本発明に係る課題などについて、より詳細に説明する。図4は、本発明の実施の形態に係るコンベアトラッキングシステムを関連する構成と対比して示す図である。すなわち、図4aは、本発明に関連するコンベアトラッキングシステムの模式的構成を示し、図4bは、本実施の形態に係るコンベアトラッキングシステムの模式的構成を示す。図4aに示す本発明に関連するコンベアトラッキングシステムにおいては、コンベア10の移動量を検出するエンコーダ14からのパルス信号がロボット制御装置200にのみ入力されるものとする。この構成においては、ロボット制御装置200がエンコーダ14からのパルス信号に基づいて、コンベア10が所定距離だけ移動する毎に、画像処理部120Aに撮像指示を与える。画像処理部120Aは、ロボット制御装置200からの撮像指示に応答して、被写体を撮像し、その撮像によって得られた画像データに対して計測処理を実行する。そして、その計測処理の結果は、画像処理部120Aからロボット制御装置200へ返される。なお、撮像部110の前回の撮像における撮像範囲と今回の撮像における撮像範囲との間で少なくとも一部は重複するように、撮像部110による撮像タイミングが設定される。これは、コンベア10上を流れるすべてのワークWを撮像できるように、各撮像における撮像範囲間にある程度のマージンを設定する必要があるからである。図4aに示すようなシステム構成を採用した場合には、コンベアの搬送速度ライン速度が高まると、トラッキング処理を正確に行うことができない場合が生じる。以下、この理由については、図5および図6を参照して説明する。図5は、本発明に関連するトラッキングシステムにおける制御動作を示すシーケンス図である。図6は、本発明に関連するトラッキングシステムにおける制御動作を示すタイムチャートである。図5には、コンベア10が所定距離だけ移動する毎に、撮像部110に対してロボット制御装置200が撮像指示を画像処理部120Aを介して与える場合の処理を示す。図5を参照して、ロボット制御装置200の演算処理部210は、エンコーダ14からのパルス信号に含まれるパルス数が前回撮像したときの値から所定値以上増加したか否かを判断するステップS100。すなわち、エンコーダカウンタ232での現在のカウンタ値が撮像タイミングに相当する距離以上増加したか否かが判断される。エンコーダ14からのパルス信号に含まれるパルス数が所定値以上に到達すれば、ロボット制御装置200の演算処理部210は、エンコーダカウンタ232を参照して、現在のカウンタ値C0’を取得するステップS102。続いて、ロボット制御装置200の演算処理部210は、画像処理部120Aに対して、撮像指示を送信するステップS104。この撮像指示は、ネットワークNWを介して、画像処理部120Aへ伝送される。画像処理部120Aは、ロボット制御装置200からの撮像指示に応答して、撮像部110に撮像を実行させるステップS106。撮像部110が撮像して得られた画像は、画像処理部120Aへ伝送される。画像処理部120Aは、撮像部110からの画像に対して計測処理を実行するステップS108。さらに、画像処理部120Aは、ステップS108における計測処理によって得られた計測結果それぞれのワークの位置情報X,Y,θをロボット制御装置200へ送信するステップS110。ロボット制御装置200は、画像処理部120Aからの計測結果に基づいて、重複排除処理を実行するステップS112。上述したように、連続する撮像の間でそれぞれの撮像範囲が重複するように、撮像部110における撮像タイミングが制御される。そのため、同一のワークWが複数の画像に含まれることもある。このような複数の画像に含まれる同一のワークWによるトラッキングの不具合を防ぐために、重複して取得された位置情報について削除する処理が重複排除処理である。ロボット制御装置200の演算処理部210は、新たなワークWについての位置情報が取得されたか否かを判断しステップS114、新たなワークWについての位置情報が取得された場合ステップS114においてYESの場合には、メモリに当該新たな位置情報を格納するステップS116。そして、処理はリターンする。このとき、ロボット制御装置200は、ステップS110において画像処理部120Aから送信される計測結果については、対応するステップS102において取得されたカウンタ値C0’において取得された値であると取扱う。そのため、コンベア10の移動に伴うワークWの位置情報座標値X,Yの更新処理においては、カウンタ値C0’と更新タイミングにおいて取得されたカウンタ値C1との差分に基づいて、更新量ΔX,ΔYが算出される。そのため、それぞれのワークWの位置情報と関連付けられる、撮像タイミングを示すカウンタ値C0’は実際の撮像タイミングを正確に反映させる必要がある。しかしながら、図4aに示す構成では、ステップS102において取得されるカウンタ値C0’は実際の撮像タイミングを正確に反映しない場合がある。すなわち、以下に示す1および2の要因によって、ロボット制御装置200が撮像指示を送信してから実際に撮像が行われるまでに遅延タイムラグが発生する可能性があるため、コンベア10の搬送速度が高い場合には、取得されるカウンタ値が本来の撮像タイミングを示すカウンタ値から乖離するため、位置決めおよびトラッキング処理において無視できない誤差になり得る。1ロボット制御装置200がエンコーダ14からのパルス信号を一旦受けた上で、撮像指示を発生するので、パルス信号の入力タイミングから実際に撮像指示が出力されるまでに、ロボット制御装置200で実行されるプログラム1サイクル分の遅延が発生する。2ロボット制御装置200と画像処理部120Aとの間がネットワーク例えば、イーサネット登録商標などを介して接続されている場合には、撮像指示の伝送遅延が発生する。図6を参照して、より具体的な制御動作について説明する。図6に示すタイムチャートにおいては、ロボット制御装置200は、エンコーダ14から3個のパルス数が発生するたびに、撮像指示を発生するものとする。エンコーダカウンタ232が初期化カウンタリセットされているのであれば、まず、エンコーダカウンタ232のカウンタ値が3に到達すると、撮像指示が画像処理部120Aへ出力される。但し、ロボット制御装置200の演算処理部210が、カウンタ値が3に到達したと判断できるのは、カウンタ値が実際に3に到達した後のタイミングであるので、コンベア10の搬送速度が相対的に大きな場合には、次のパルスが既に入力されている可能性もある。すなわち、図6に示すように、ロボット制御装置200が撮像指示を出力するタイミングにおいては、エンコーダカウンタ232のカウンタ値が既に4になっている可能性もある。さらに、ロボット制御装置200から画像処理部120AへネットワークNWを介して撮像指示が送信される場合には、その伝送遅延が発生し、さらに、撮像部110における撮像動作および画像処理部120Aにおける計測処理が直列的に実行され、その後、再度ネットワークを介して計測結果がロボット制御装置200へ戻される。このような一連の処理を経るため、例えば、エンコーダカウンタ232が3に到達したタイミングで撮像指示を出力するように設定したとしても、実際に撮像されるのは、エンコーダカウンタ232が5に到達したタイミングになっている可能性がある。本実施の形態に係る視覚センサ100では、このような遅延タイムラグによる位置決め処理およびトラッキング処理に対する影響を極力無くする方法を採用する。なお、上述のような遅延による誤差を軽減するために、カウンタ値に対して一定量のオフセットで補正するという対処方法も考えられるが、コンベア10の移動速度が変化するたびに当該オフセットを変更する必要があるため、実用的ではない。<E.本実施の形態における動作>次に、本実施の形態1に係るコンベアトラッキングシステムについて説明する。図4bに示す本実施の形態に係るコンベアトラッキングシステムにおいては、コンベア10の移動量を検出するエンコーダ14からのパルス信号がロボット制御装置200に加えて、視覚センサ100へも入力される。視覚センサ100およびロボット制御装置200は、それぞれエンコーダカウンタ132および232を有している。エンコーダカウンタの各々がエンコーダ14からのパルス信号に含まれるパルスを互いに独立にカウントする。但し、これらのエンコーダカウンタ132おおび232は、動作前にいずれもカウンタリセットされるとともに、カウント動作に係るパラメータが互いに同一に設定される。そのため、エンコーダカウンタ132によりカウントされるカウンタ値およびエンコーダカウンタ232によりカウントされるカウンタ値は、互いに同期して同じ値を示すことになる。このように、視覚センサ100とロボット制御装置200との間でカウンタ値を同期的に保持する環境を実現するとともに、視覚センサ100において撮像が行われた際のカウンタ値がその撮像によって得られた計測結果それぞれのワークの位置情報とともに、ロボット制御装置200へ送信される。このように、本実施の形態に係る視覚センサ100は、実際の撮像が行われたタイミングを示すカウンタ値をその計測結果と関連付けて出力する。これにより、ロボット制御装置200で実行される位置決めおよびトラッキングシステム処理を正確に行うことができる。さらに、ロボット制御装置200において重複排除処理が実行される場合には、当該重複排除処理についても正確に実行することができる。図7~図9を参照して、本実施の形態に係るトラッキングシステムにおける制御動作についてより詳細に説明する。図7は、本発明の実施の形態1に係るトラッキングシステムにおける制御動作を示すシーケンス図である。図8は、本発明の実施の形態1に係るトラッキングシステムにおいて送信される計測結果のフォーマット例を示す図である。図9は、本発明の実施の形態1に係るトラッキングシステムにおける制御動作を示すタイムチャートである。図7には、上述の図5と同様に、コンベア10が所定距離だけ移動する毎に、撮像部110に対してロボット制御装置200が視覚センサ100に対して撮像指示を与える場合の処理を示す。図7を参照して、まず、視覚センサ100およびロボット制御装置200のいずれに対しても、互いに同一のパラメータカウンタ最大値、カウンタ最小値、1パルスに対する増加値などが設定されるステップS1およびS2。そして、視覚センサ100およびロボット制御装置200のいずれに対しても、それぞれのエンコーダカウンタに対するリセットカウンタリセットが実行されるステップS3およびS4。このようなエンコーダカウンタについての共通パラメータの設定およびカウンタリセットが実行されて、視覚センサ100およびロボット制御装置200との間で、エンコーダ14からのパルス信号に含まれるパルスの数についてのカウント動作を同期させることができる。続いて、ロボット制御装置200の演算処理部210は、エンコーダ14からのパルス信号に含まれるパルス数が前回撮像したときの値から所定値以上増加したか否かを判断するステップS5。すなわち、エンコーダカウンタ232での現在のカウンタ値が撮像タイミングに相当する距離以上増加したか否かが判断される。エンコーダ14からのパルス信号に含まれるパルス数が所定値以上に到達すれば、ロボット制御装置200の演算処理部210は、視覚センサ100に対して、撮像指示を送信するステップS6。この撮像指示は、ネットワークNWを介して、視覚センサ100へ伝送される。視覚センサ100の画像処理部120は、ロボット制御装置200からの撮像指示に応答して、視覚センサ100の画像処理部120は、エンコーダカウンタ132を参照して、撮像時のカウンタ値C0を取得するステップS7。続いて、視覚センサ100の画像処理部120は、撮像部110に撮像を実行させるステップS8。撮像部110が撮像して得られた画像は、画像処理部120へ伝送される。画像処理部120は、撮像部110からの画像に対して計測処理を実行するステップS9。さらに、画像処理部120は、ステップS9における計測処理によって得られた計測結果それぞれのワークの位置情報X,Y,θを、ステップS7において取得したカウンタ値C0とともに、ロボット制御装置200へ送信するステップS10。ロボット制御装置200は、画像処理部120からの計測結果に基づいて、重複排除処理を実行するステップS11。この重複排除処理は、上述したものと同様の処理である。ロボット制御装置200の演算処理部210は、新たなワークWについての位置情報が取得されたか否かを判断しステップS12、新たなワークWについての位置情報が取得された場合ステップS12においてYESの場合には、メモリに当該新たな位置情報を格納するステップS13。そして、処理はリターンする。図7のシーケンス図のステップS10において送信される計測結果は、図8に示すようなフォーマットに従って送信される。図8には、一例として、モデル画像と一致するワークWが3個検出された場合のデータ例を示す。すなわち、第1番目のアイテムには、検出されたワークWの数である3が格納され、続く第2番目から第10番目のアイテムには、検出された3個のワークWについての位置情報X座標値,Y座標値,回転角度θが格納される。さらに、最後のアイテムには、当該検出結果を生成するために用いられた画像が撮像されたタイミングを示すカウンタ値が格納される。図8に示す例では、カウンタ値が100のときに撮像が行われた例を示す。なお、図8に示すフォーマットは、検出数に応じて拡張されることは容易に理解されるであろう。なお、予め定められたモデル画像に一致するワークWが検出されなかった場合には、検出結果としてnullを送信してもよい。図9を参照して、本実施の形態に係るコンベアトラッキングシステムにおけるより具体的な制御動作について説明する。図9に示すタイムチャートにおいては、ロボット制御装置200は、エンコーダ14から3個のパルス数が発生するたびに、撮像指示を発生するものとする。上述したように、視覚センサ100およびロボット制御装置200のいずれに対しても、エンコーダカウンタに関して共通パラメータが設定され、かつ、いずれのエンコーダカウンタも予め初期化カウンタリセットされるので、エンコーダ14から発生するパルス信号に応答して、それぞれのエンコーダカウンタは実質的に同期してカウントアップすることになる。処理開始後、まず、エンコーダカウンタ232のカウンタ値が3に到達すると、視覚センサ100へ撮像指示が出力される。図6に示すタイムチャートと同様に、ロボット制御装置200が撮像指示を出力するタイミングにおいては、エンコーダカウンタ232のカウンタ値が既に4になっている可能性もある。さらに、ロボット制御装置200から視覚センサ100へネットワークNWを介して撮像指示が送信される場合には、その伝送遅延が発生する。一方、視覚センサ100から見れば、何らかのタイミングで撮像指示を受けると、撮像部110を用いた撮像動作および画像処理部120Aにおける計測処理を実行する。この撮像および計測処理と並行して、視覚センサ100では撮像時のカウンタ値が取得される。そして、視覚センサ100は、この撮像時のカウンタ値とともに、計測結果をロボット制御装置200へ送信する。以後同様にして、ロボット制御装置200から視覚センサ100へ撮像指示が出力され、視覚センサ100では、この撮像指示に応答して、撮像および計測処理が実行される。上述したように、視覚センサ100における撮像タイミングを示すカウンタ値が付加されて計測結果が送信されるので、ロボット制御装置200では、各計測値に対応するカウンタ値に基づいて正確なトラッキング処理を行うことができる。すなわち、本実施の形態に係るコンベアトラッキングシステムにおいては、ロボット制御装置200が撮像指示を送信するタイミングを厳密に制御する必要はなく言い換えれば、コンベアの搬送速度に応じた周期で撮像指示が送信されれば十分である、かつ、視覚センサ100からロボット制御装置200への計測結果の送信遅延は問題にならない。<F.撮像時カウンタ値の決定方法の変形例>上述の図9に示すタイムチャートにおいては、視覚センサ100の撮像動作の前にカウンタ値を取得する例を示したが、撮像動作は、エンコーダ14がパルス信号を発生するタイミングとは独立して行われるため、撮像動作中にカウンタ値が更新される場合もある。特に、搬送速度の高いベルトコンベアであれば、その可能性はより高くなる。また、撮像環境によっては、エンコーダ14がパルス信号を発生する周期より長い期間を撮像に要する場合も考えられる。このような場合には、撮像動作中開始前および終了後も含むの複数のタイミングでそれぞれカウンタ値を取得し、取得した複数のカウンタ値に基づいて、撮像タイミングを示すカウンタ値として決定してもよい。図10は、本発明の実施の形態1の変形例に係るトラッキングシステムにおける制御動作を示すタイムチャートである。図10に示すタイムチャートにおいては、一例として、撮像動作の前後においてそれぞれカウンタ値を取得し、当該取得した2つのカウンタ値を平均することで、撮像動作におけるカウンタ値として取扱う。このような処理を採用することで、撮像動作に要する時間がパルス信号の発生周期よりも長い場合であっても、撮像タイミングを示すカウンタ値を正確に取得することができる。<G.撮像指示発生の変形例>上述したように、本実施の形態に係るコンベアトラッキングシステムにおいては、ロボット制御装置200が撮像指示を送信するタイミングを厳密に制御する必要はない。そのため、ロボット制御装置200が撮像指示を発生する形態に代えて、視覚センサ100自身が内部的に撮像指示を発生してもよい。図11は、本発明の実施の形態1の別の変形例に係るトラッキングシステムにおける制御動作を示すタイムチャートである。図11に示す例では、視覚センサ100が自身のエンコーダカウンタ132のカウンタ値を参照して、エンコーダ14から3個のパルス数が発生するたびに、内部的に撮像指示を発生する。ロボット制御装置200から見れば、撮像動作が行われたタイミングを示すカウンタ値を取得することができるので、このような構成を採用したとしても、ワークの位置決めおよびトラッキング処理については、何ら問題なく実現できる。さらに、ネットワークNW上を撮像指示が伝送されないので、ネットワークNW上の負荷を軽減できる利点がある。<H.ロボット制御装置における処理>次に、ロボット制御装置200における処理について説明する。図12は、本発明の実施の形態1に係るロボット制御装置200における処理を示すフローチャートである。図12a~図12dには、ロボット制御装置200において実行される主要な処理を例示するが、ロボット制御装置200における処理は図12に示すものに限られない。図12aは、エンコーダ14がパルス信号を発生した場合に生じる処理を示す。より具体的には、図12aの処理は、エンコーダ14がパルス信号を発生し、エンコーダカウンタ232がカウントアップするステップS50ことをイベントとして起動される。エンコーダカウンタ232がカウントアップすると、ロボット制御装置200のメモリに格納されているそれぞれのワークの位置情報が更新されるステップS51。この位置情報の更新方法については、以下のとおりである。図2に示すように、ワークがX方向に搬送され、ロボット300のトラッキング範囲の右端をX方向の原点とする。このとき、エンコーダ14の1パルスあたりのコンベアの移動量移動ベクトルをΔMx,ΔMyとすると、更新前の位置情報がX0,Y0,θ0であるワークWの位置情報は、n個のパルスが入力したとすると、更新後の位置情報は、X0-ΔMx×n,Y0-ΔMy×n,θ0となる。すなわち、1パルス当たりのコンベア上の単位移動量にパルスの数を乗じて得られた値がワークWの移動量ΔMx×n,My×nとなる。そして、ワークWが原点方向に移動しているとすると、この移動量移動ベクトルの分だけワークの位置情報が更新される。そして、エンコーダカウンタ232が新たにカウントアップするまで待つ。図12bにおいても、エンコーダ14がパルス信号を発生した場合に生じる処理を示す。より具体的には、図12bの処理は、エンコーダ14がパルス信号を発生し、エンコーダカウンタ232がカウントアップするステップS50ことをイベントとして起動される。エンコーダカウンタ232がカウントアップすると、撮像指示の発生条件が成立したか否かが判断される。例えば、上述の例では、エンコーダ14からのパルス信号に含まれるパルス数が前回撮像したときの値から所定値以上増加したか否かが判断される。そして、撮像指示の発生条件が成立した場合ステップS50においてYESの場合には、ロボット制御装置200から視覚センサ100へ撮像指示が送信される。図12cは、ロボット300による把持動作について説明するものである。図12cのフローは、ワークの位置情報が更新されたステップS60ことをイベントとして起動される。より具体的には、ワークの位置情報が更新されると、ロボット300のトラッキング範囲内にいずれかのワークWが存在しているか否かが判断されるステップS61。ロボット300のトラッキング範囲内にいずれかのワークWが存在している場合ステップS61においてYESの場合には、ロボット300によるワークWの把持動作の制御が開始される。具体的には、トラッキング範囲内にある把持対象ワークの位置情報の取得ステップS62、把持対象ワークとロボット300との偏差の算出ステップS63、ステップS63において算出された偏差に基づいて、ロボット300および移動機構400についての指示の生成ステップS64、および、ワークWの位置情報の更新ステップS65が繰り返される。そして、ロボット300がワークWを把持することができる位置まで移動すると、ロボット制御装置200は、ロボット300に対して把持動作の指示を出力するステップS66。続いて、把持状態のロボット300に対して、把持しているワークWを目的の位置まで移動させるための、移動動作の指示をロボット300に対して出力するステップS67。そして処理は、リターンする。図12dは、他の位置情報を受けることをイベントとして起動される。より具体的には、現在の位置情報が算出されステップS69、さらに、重複排除処理が実行されるステップS70。その後、位置情報がメモリへ格納されるステップS71。ステップS69に示すワークWの現在の位置情報の算出方法については、撮像時のカウンタ値と各時点のカウンタ値との差分を算出し、この差分に1パルス当たりのコンベア上の単位移動量を乗じて得られた値が補正量となる。この補正量を計測結果視覚センサ100から受信したワークの位置情報に適用することで、現在の位置情報が算出される。図13は、本発明の実施の形態1に係るトラッキングシステムにおける全体の制御動作を示すタイムチャートである。図13を参照して、例えば、ロボット制御装置200のエンコーダカウンタ232のカウンタ値が7になったタイミングで、撮像指示が生成されたとする。この撮像指示は、視覚センサ100へ送出され、撮像および計測処理が実行される。そして、視覚センサ100のエンコーダカウンタ132の撮像時のカウンタ値である9とともに、その計測結果がロボット制御装置200へ送信される。ロボット制御装置200は、視覚センサ100から計測結果を受信すると、重複排除処理などの後、関連付けられている撮像時のカウンタ値この例では9と、現在のカウンタ値この例では12とを比較し、その差分であるカウンタ値3だけ計測結果が補正される座標計算。さらに、ロボット制御装置200は、エンコーダカウンタ232がカウントアップするたびに、格納している位置情報それぞれのワークの座標位置を更新する座標更新。その後、対象のワークWがロボット300のトラッキング範囲に入ると、ロボット制御装置200は、ロボット300に対して把持動作を指示する。ロボット300による把持動作が完了すると、ロボット制御装置200に格納されているワークの位置情報は削除される。以上のような処理手順によって、本実施の形態に係るコンベアトラッキングが実現される。<I.利点>本実施の形態によれば、視覚センサ100画像処理部120がエンコーダ14からのパルス信号の入力を直接的に受けるため、撮像動作および当該撮像動作によって得られた画像に対する計測処理が、ロボット制御装置200のプログラム実行サイクルに影響されない。また、ロボット制御装置200からの撮像指示がどのようなタイミングで発行されても、視覚センサ100撮像部110における撮像時のカウンタ値を正確に取得することができる。これにより、撮像指示と実際の撮像動作との間に無視できない遅延時間が生じるとしても、正確なトラッキング処理およびロボット300の正確な制御が可能となる。さらに、コンベアの速度が変化した場合でも、撮像時のカウンタ値を正確に取得することができるため、カウンタ動作に係るパラメータをコンベア速度に依存して調整する必要がない。[実施の形態2]上述した実施の形態1においては、視覚センサ100およびロボット制御装置200のいずれにもエンコーダ14からのパルス信号が入力され、それぞれの主体が同一のパラメータに設定されたエンコーダカウンタ132および232で当該パルス信号に含まれるパルスの数をカウントすることで、コンベアの移動量カウンタ値を同期して保持する。これに対して、実施の形態2においては、ネットワークを介して、コンベアの移動量カウンタ値を同期して保持する構成について例示する。図14は、本発明の実施の形態2に係る視覚センサを利用したコンベアトラッキングシステムにおける位置決めおよびトラッキング処理を説明するための図である。図14を参照して、実施の形態2に係る視覚センサを利用したコンベアトラッキングシステムは、エンコーダ14からのパルス信号が視覚センサ100にのみ入力されており、かつ、視覚センサ100とロボット制御装置200との間にフィールドネットワークFNが設けられている点において、図2に示す実施の形態1に係る視覚センサを利用したコンベアトラッキングシステムとは異なっている。その他の構成については、実施の形態1と同様であるので、以下では、主として相違点についてのみ説明する。図15は、本発明の実施の形態2に係る視覚センサを利用したコンベアトラッキングシステムのハードウェア構成について示す模式図である。図15を参照して、実施の形態2に係る視覚センサ100を構成する画像処理部120は、図3に示す画像処理部120に比較して、フィールドネットワークインターフェイスI/F160をさらに備えている。また、実施の形態2に係るロボット制御装置200は、図3に示すロボット制御装置200に比較して、エンコーダカウンタ232および入出力インターフェイスI/F230に代えて、フィールドネットワークインターフェイスI/F260が設けられている。その他の構成については、実施の形態1と同様であるので、以下では、主として相違点についてのみ説明する。視覚センサ100を構成する画像処理部120とロボット制御装置200との間では、フィールドネットワークFNを介して、画像処理部120内のエンコーダカウンタ132でカウントされるカウンタ値が共有される。フィールドネットワークFNとしては、典型的には、各種の産業用イーサネット登録商標を用いることができる。産業用イーサネット登録商標としては、例えば、EtherCAT登録商標、ProfinetIRT、MECHATROLINK登録商標-III、Powerlink、SERCOS登録商標-III、CIPMotionなどが知られており、これらのうちのいずれを採用してもよい。さらに、産業用イーサネット登録商標以外のフィールドネットワークを用いてもよい。例えば、モーション制御を行わない場合であれば、DeviceNet、CompoNet/IP登録商標などを用いてもよい。本実施の形態においては、典型的に、産業用イーサネット登録商標であるEtherCAT登録商標をフィールドネットワークFNとして採用する。一般的なフィールドネットワークでは、送受信に係る遅延時間が一定になるように構成されており、この遅延時間は数ns程度に抑えることができる。そのため、上述したような、ロボット制御装置200が撮像指示を送信してから実際に撮像が行われるまでに遅延タイムラグに比べれば十分に小さく、視覚センサ100とロボット制御装置200との間で、カウント値を実質的に同期して保持しているとみなすことができる。そのため、実施の形態1において説明したような共通のパラメータが設定されたエンコーダカウンタをそれぞれ設ける必要がなく、より簡素な構成で、2つの装置間でカウンタ値を同期して保持できる。すなわち、視覚センサ100とロボット制御装置200との間でコンベア10の搬送経路における移動量を同期して保持する手段としては、視覚センサ100または、ロボット制御装置200に設けられたパルス信号に含まれるパルス数をカウントするためのカウンタと、当該カウンタによるカウンタ値を装置間で実質的に同期して共有するフィールドネットワークFNとにより実現される。なお、フィールドネットワークFN内の遅延時間の大きさが無視できない場合であっても、フィールドネットワークFNにおける遅延時間は一定値に制御されるので、以下のような方法によって、カウンタ値を同期して保持することができる。図16は、本発明の実施の形態2に係るフィールドネットワークFNにおける遅延時間の影響を説明するための図である。図16を参照して、例えば、視覚センサ100で更新されるカウンタ値が遅延時間ΔDだけ遅れて、ロボット制御装置200に伝えられるとする。この遅延時間ΔDは基本的には一定予想可能であるので、この遅延時間ΔDを考慮して制御タイミングなどをずらすような対処が考えられる。例えば、視覚センサ100がカウンタ値に基づいて開始する制御動作の開始タイミングを遅延時間ΔDだけ遅延させれば、ロボット制御装置200との間の遅延時間ΔDを実質的に相殺できる。あるいは、遅延時間ΔDがカウンタ値の更新周期より長い場合には、エンコーダ14からのパルス信号に含まれるパルス周期に遅延時間ΔDを乗じて得られる補正量カウンタ補正値をカウンタ値に加えて、制御に用いるようにしてもよい。なお、上述の実施の形態2においては、視覚センサ100がフィールドネットワークFNのホストとなり、ロボット制御装置200がフィールドネットワークFNのスレーブとして構成される例を示したが、ホストとスレーブとの関係は逆であってもよい。この場合には、ロボット制御装置200側にのみエンコーダ14からのパルス信号が入力するとともに、ロボット制御装置200内にエンコーダカウンタが設けられる。[実施の形態3]次に、視覚センサ100およびロボット制御装置200とネットワークNWを介して接続されるサポート装置600について説明する。図17は、本発明の実施の形態3に係るサポート装置600のハードウェア構成を示す模式図である。サポート装置600は、典型的には、汎用のコンピュータで構成される。なお、メンテナンス性の観点からは、可搬性に優れたノート型のパーソナルコンピュータが好ましい。図17を参照して、サポート装置600は、OSを含む各種プログラムを実行するCPU61と、BIOSや各種データを格納するROMReadOnlyMemory62と、CPU61でのプログラムの実行に必要なデータを格納するための作業領域を提供するメモリRAM63と、CPU61で実行されるプログラムなどを不揮発的に格納するハードディスクHDD64とを含む。サポート装置600は、さらに、ユーザからの操作を受付けるキーボード65およびマウス66と、情報をユーザに提示するためのモニタ67とを含む。後述するように、サポート装置600で実行される各種プログラムは、CD-ROM69に格納されて流通する。このCD-ROM69に格納されたプログラムは、CD-ROMCompactDiskReadOnlyMemoryドライブ68によって読取られ、ハードディスクHDD64などへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。上述したように、サポート装置600は、汎用的なコンピュータを用いて実現されるので、これ以上の詳細な説明は行わない。このようなサポート装置600は、視覚センサ100およびロボット制御装置200のいずれともデータ通信可能であるので、各種のデータを収集することができる。そこで、本実施の形態に係るサポート装置600は、調整時において計測処理の対象となった画像を視覚センサ100から収集するように構成される。この視覚センサ100から計測処理の対象となった画像を収集する場合に、対応する、カウンタ値および計測値座標情報および角度等と各画像とを関連付けて保存する。これらの情報は、ネットワークNWを介して、視覚センサ100からサポート装置600へ送信される。そして、サポート装置600のハードディスク64などに格納される。特に、対応するカウンタ値をキーとして、画像および計測結果を関連付けて保存することで、所望のタイミングに対応するカウンタ値を用いて、必要な画像および計測結果を容易に検索することができる。このような画像および計測結果のデータベースを用意することで、以下のような機能を提供することができる。すなわち、ロボット300において、ロボット動作位置決めおよびトラッキング処理をカウンタ値と関連付けて記録しておくことで、ロボット動作と対応する画像処理を関連付けることができる。これにより、例えば、把持動作が失敗した場合などに、その失敗した原因を追求するために、把持対象であったワークの画像および計測結果をサポート装置600上で再現できる。そのため、不具合原因をより容易に解析することができる。今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。"