(57)【要約】【課題】コンベア上を搬送されるワークの位置をより正確に特定することができる情報処理システムを提供する。【解決手段】カウンタ１２７は、コントローラ１００との通信間隔よりも短い間隔で、コンベアの移動量を複数回計測し、計測された複数の移動量と各移動量の計測タイミングとをコントローラ１００に送信する。コントローラ１００は、設定された撮影タイミングにおいて得られた画像から計測されたワークの位置を受信する受信部１７１と、上記計測タイミングの中から、撮影タイミングに相対的に近い計測タイミングを特定し、当該計測タイミングに付けられている基準移動量を特定する移動量特定部１７２と、画像内のワーク位置に基づいて撮影タイミングにおけるワークの基準位置を特定する位置特定部１７３と、コンベアの現在の移動量と基準移動量との差を基準位置に加算することでワークの現在位置を算出する算出部１７６とを含む。【選択図】図８
2018024045.tif 000002
【特許請求の範囲】
【請求項１】
コンベア上を搬送されるワークの位置を特定するための情報処理システムであって、
撮影タイミングの設定を受け付けるための情報処理装置と、
前記情報処理装置から受信した前記撮影タイミングが到来したことに基づいて、前記コンベア上を搬送されるワークを撮影するとともに、得られた画像内においてワークの位置を計測し、当該画像内におけるワークの位置を前記情報処理装置に送信するための画像センサと、
前記情報処理装置と通信することが可能な移動量計測装置とを備え、
前記移動量計測装置は、
前記情報処理装置との通信周期よりも短い間隔で、前記コンベアの移動量を複数回計測し、
前記情報処理装置への送信タイミングが到来したことに基づいて、前記計測された複数の移動量と、当該複数の移動量の各々の計測タイミングとを計測結果として前記情報処理装置に送信し、
前記情報処理装置は、
前記計測結果に規定されている複数の計測タイミングの中から、前記撮影タイミングに相対的に近い１つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するための移動量特定部と、
前記画像センサから受信した前記画像内のワークの位置に基づいて、前記撮影タイミングにおけるワークの位置を基準位置として特定するための位置特定部と、
前記移動量計測装置から受信した前記コンベアの現在の移動量と、前記基準移動量とに基づいて、前記撮影タイミングからの経過時間に応じた前記ワークの移動量を算出し、当該移動量を前記基準位置に加算することで前記ワークの現在位置を算出するための算出部とを含む、情報処理システム。
【請求項２】
前記算出部は、前記移動量計測装置から受信した前記コンベアの現在の移動量と、前記基準移動量との差を前記基準位置に加算することで前記ワークの現在位置を算出する、請求項１に記載の情報処理システム。
【請求項３】
前記情報処理装置は、前記算出部によって算出されたワークの現在位置を用いて、前記ワークをピッキングするロボットへの動作指示を出力するための出力部をさらに含む、請求項２に記載の情報処理システム。
【請求項４】
前記移動量特定部は、前記移動量計測装置から受信した前記計測結果に規定されている複数の計測タイミングの中から、前記撮影タイミングに最も近い計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を前記基準移動量として特定する、請求項１〜３のいずれか１項に記載の情報処理システム。
【請求項５】
前記移動量特定部は、
前記移動量計測装置から受信した前記計測結果に規定されている複数の計測タイミングの中から、前記撮影タイミングに最も近い第１計測タイミングと２番目に近い第２計測タイミングとを特定し、
前記第１計測タイミングに対応付けられている移動量と、前記第２計測タイミングに対応付けられている移動量との間になるように前記基準移動量を特定する、請求項１〜３のいずれか１項に記載の情報処理システム。
【請求項６】
前記移動量特定部は、前記第２計測タイミングに対応付けられている移動量よりも、前記第１計測タイミングに対応付けられている移動量に近くなるように前記基準移動量を特定する、請求項５に記載の情報処理システム。
【請求項７】
前記移動量計測装置は、
前記コンベアの移動量に応じてパルス信号を発生するためのエンコーダと、
前記パルス信号に含まれるパルス数を前記移動量としてカウントするためのカウンタとを含む、請求項１〜６のいずれか１項に記載の情報処理システム。
【請求項８】
前記移動量計測装置は、
前記コンベアを駆動するためのモータと、
前記モータの駆動量を前記移動量として計測するためのエンコーダとを含む、請求項１〜６のいずれか１項に記載の情報処理システム。
【請求項９】
前記情報処理装置は、前記移動量計測装置における前記移動量の計測間隔の設定を受け付けるための受付部をさらに含む、請求項１〜８のいずれか１項に記載の情報処理システム。
【請求項１０】
前記画像センサは、前記情報処理装置から受信した前記撮影タイミングが到来したことを計測するめの第１タイマーを含み、
前記移動量計測装置は、前記移動量の計測タイミングを計測するための第２タイマーを含み、
前記第１タイマーおよび前記第２タイマーは、互いに同期している、請求項１〜９のいずれか１項に記載の情報処理システム。
【請求項１１】
前記情報処理装置は、前記撮影タイミングとして、前記画像センサの露光開始時刻および露光終了時刻の少なくとも一方の設定を受け付ける、請求項１〜１０のいずれか１項に記載の情報処理システム。
【請求項１２】
前記情報処理装置は、前記撮影タイミングとして、前記画像センサにおける前記ワークの撮影間隔の設定を受け付ける、請求項１〜１１のいずれか１項に記載の情報処理システム。
【請求項１３】
前記画像センサは、前記設定された撮影間隔ごとに順次撮影処理を実行する、請求項１２に記載の情報処理システム。
【請求項１４】
コンベア上を搬送されるワークの現在位置を特定するための情報処理装置であって、
前記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するための通信部を備え、前記通信部は、前記移動量計測装置との通信周期よりも短い間隔で複数回計測された前記移動量と、当該複数の移動量の各々の計測タイミングとを計測結果として前記移動量計測装置から受信し、さらに、
前記コンベア上を搬送されるワークを撮影する画像センサに対する撮影タイミングの設定を受け付けるための受付部と、
前記撮影タイミングにおいて前記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置を前記画像センサから取得するための取得部と、
前記計測結果に規定されている複数の計測タイミングの中から、前記撮影タイミングに相対的に近い１つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するための移動量特定部と、
前記画像内のワークの前記位置に基づいて、前記撮影タイミングにおけるワークの位置を基準位置として特定するための位置特定部と、
前記移動量計測装置から受信した前記コンベアの現在の移動量と、前記基準移動量とに基づいて、前記撮影タイミングからの経過時間に応じた前記ワークの移動量を算出し、当該移動量を前記基準位置に加算することで前記ワークの現在位置を算出するための算出部とを備える、情報処理装置。
【請求項１５】
コンベア上を搬送されるワークの現在位置を特定するための位置特定方法であって、
前記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するステップを備え、前記通信するステップは、前記移動量計測装置との通信周期よりも短い間隔で複数回計測された前記移動量と、当該複数の移動量の各々の計測タイミングとを前記移動量計測装置から計測結果として受信するステップを含み、さらに、
前記コンベア上を搬送されるワークを撮影する画像センサに対する撮影タイミングの設定を受け付けるステップと、
前記撮影タイミングにおいて前記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置を前記画像センサから取得するステップと、
前記計測結果に規定されている複数の計測タイミングの中から、前記撮影タイミングに相対的に近い１つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するステップと、
前記画像内のワークの前記位置に基づいて、前記撮影タイミングにおけるワークの位置を基準位置として特定するステップと、
前記移動量計測装置から受信した前記コンベアの現在の移動量と、前記基準移動量とに基づいて、前記撮影タイミングからの経過時間に応じた前記ワークの移動量を算出し、当該移動量を前記基準位置に加算することで前記ワークの現在位置を算出するステップとを備える、位置特定方法。
【請求項１６】
コンベア上を搬送されるワークの現在位置を特定するための位置特定プログラムであって、
前記位置特定プログラムは、情報処理装置に、
前記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するステップを実行させ、前記通信するステップは、前記移動量計測装置との通信周期よりも短い間隔で複数回計測された前記移動量と、当該複数の移動量の各々の計測タイミングとを前記移動量計測装置から計測結果として受信するステップを含み、さらに、
前記コンベア上を搬送されるワークを撮影する画像センサに対する撮影タイミングの設定を受け付けるステップと、
前記撮影タイミングにおいて前記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置を前記画像センサから取得するステップと、
前記計測結果に規定されている複数の計測タイミングの中から、前記撮影タイミングに相対的に近い１つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するステップと、
前記画像内のワークの前記位置に基づいて、前記撮影タイミングにおけるワークの位置を基準位置として特定するステップと、
前記移動量計測装置から受信した前記コンベアの現在の移動量と、前記基準移動量とに基づいて、前記撮影タイミングからの経過時間に応じた前記ワークの移動量を算出し、当該移動量を前記基準位置に加算することで前記ワークの現在位置を算出するステップとを実行させる、位置特定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンベア上を搬送されるワークの位置を特定するための技術に関する。
【背景技術】
【０００２】
ＦＡ（Factory  Automation）分野において、コンベア上を搬送されるワークをピックアップすることができる産業用のロボットが普及している。当該ロボットは、たとえば、コンベア上を搬送されるワークを種別ごとに選別するために利用される。
【０００３】
産業用のロボットに関して、特開２０１５−１７４１７１号公報（特許文献１）は、「コンベアが、たわみ、膨らみ、または傾斜を有していても、ワークを正しく把持することができる」ロボット制御装置を開示している。特開２０１２−１６６３０８号公報（特許文献２）は、「撮像装置に対する撮像指示を発生してから実際に撮像が行われるまでにタイムラグが存在する場合であっても、正確にトラッキング処理を行うことのできる」画像処理装置を開示している。
【０００４】
コンベア上のワークを選別する際、ワークの位置を精度よく検出することが重要である。そのためには、計測機器の計測タイミングを正確に把握する必要がある。たとえば、特開２００５−２９３５６７号公報（特許文献３）は、「計測対象物の計測値を、計測値が得られた時間に関する情報と共に外部制御機器に出力できる」計測装置を開示している。各機器の時間を同期する方法として、特開２００９−１５７９１３号公報（特許文献４）は、「ｎｓオーダーの計時機能を持つ時計を備えたユニット間であっても、制御に影響を与えることなく時間同期を行える」産業用コントローラを開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−１７４１７１号公報
【特許文献２】特開２０１２−１６６３０８号公報
【特許文献３】特開２００５−２９３５６７号公報
【特許文献４】特開２００９−１５７９１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
産業用のロボットは、たとえば、ＰＬＣ（Programmable Logic Controller）などのコントローラによって制御される。当該コントローラは、コンベア上のワークをトラッキングし、そのトラッキング結果に基づいて産業用のロボットを制御する。ワークをトラッキングするためには、コンベア上のワークの位置を正確に特定することが重要である。
【０００７】
ワークの位置特定方法の一例について説明する。まず、コントローラから画像センサに対して計測指示が送信される。画像センサは、接続されているカメラに対して撮影指示を出力する。カメラは、露光を開始し、露光が完了した時点でワークを含む画像を画像センサに出力する。画像センサは、得られた画像に対してパターンマッチングなどの画像処理を実行し、当該画像内のワークの位置をコントローラに送信する。コントローラは、画像内の原点からの相対位置であるワークの位置と、後述するカウンタ値から撮影時におけるコンベア上のワーク位置（以下、「基準位置」ともいう）を算出する。また、カウンタ値を基にワークが基準位置からどれだけ移動したかを算出し、ロボットに対してワークの現在位置を指定する。
【０００８】
コントローラが画像センサに計測指示を出力してから、計測結果がコントローラに送信されるまでの時間は、数十から数百ミリ秒の遅れがあり、この遅延時間は一定ではない。そのため、撮影された時点の時刻を正確に知る手段がない。
【０００９】
コンベアの移動量は、たとえば、カウンタなどの移動量計測装置によって計測される。カウンタは、エンコーダから発生するパルス波に基づいてコンベアの移動量を計測する。エンコーダは、コンベアの移動量に合わせてパルス波をカウンタに出力する。カウンタは、パルス波のカウント値をコントローラに一定の通信周期ごとに送信する。カウンタとコントローラとの通信間隔は一定であり、カウント値のサンプリング周期は、カウンタとコントローラとの通信周期に依存する。そのため、通信周期間のカウント値の変化は計測できない。
【００１０】
また、前述の通り、画像センサのカメラが撮影した時刻をコントローラが正確に知る手段がない。仮に撮影時刻を推定できたとしても、前回の送信タイミングと次回の送信タイミングとの間にワークが撮影された場合には、カウンタ値を計測することができない。撮影時刻でのカウンタ値を知る手段がないため、前述の基準位置を高精度に算出することができず、その後のトラッキング処理の精度が大きく低下してしまう。特許文献１〜４は、このような問題を解決することについては開示していない。したがって、コンベア上を搬送されるワークの位置をより正確に特定することが可能な技術が望まれている。
【課題を解決するための手段】
【００１１】
ある局面に従うと、コンベア上を搬送されるワークの位置を特定するための情報処理システムは、撮影タイミングの設定を受け付けるための情報処理装置と、上記情報処理装置から受信した上記撮影タイミングが到来したことに基づいて、上記コンベア上を搬送されるワークを撮影するとともに、得られた画像内においてワークの位置を計測し、当該画像内におけるワークの位置を上記情報処理装置に送信するための画像センサと、上記情報処理装置と通信することが可能な移動量計測装置とを備える。上記移動量計測装置は、上記情報処理装置との通信周期よりも短い間隔で、上記コンベアの移動量を複数回計測し、上記情報処理装置への送信タイミングが到来したことに基づいて、上記計測された複数の移動量と、当該複数の移動量の各々の計測タイミングとを計測結果として上記情報処理装置に送信する。上記情報処理装置は、上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに相対的に近い１つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するための移動量特定部と、上記画像センサから受信した上記画像内のワークの位置に基づいて、上記撮影タイミングにおけるワークの位置を基準位置として特定するための位置特定部と、上記移動量計測装置から受信した上記コンベアの現在の移動量と、上記基準移動量とに基づいて、上記撮影タイミングからの経過時間に応じた上記ワークの移動量を算出し、当該移動量を上記基準位置に加算することで上記ワークの現在位置を算出するための算出部とを含む。
【００１２】
好ましくは、上記算出部は、上記移動量計測装置から受信した上記コンベアの現在の移動量と、上記基準移動量との差を上記基準位置に加算することで上記ワークの現在位置を算出する。
【００１３】
好ましくは、上記情報処理装置は、上記算出部によって算出されたワークの現在位置を用いて、上記ワークをピッキングするロボットへの動作指示を出力するための出力部をさらに含む。
【００１４】
好ましくは、上記移動量特定部は、上記移動量計測装置から受信した上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに最も近い計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を上記基準移動量として特定する。
【００１５】
好ましくは、上記移動量特定部は、上記移動量計測装置から受信した上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに最も近い第１計測タイミングと２番目に近い第２計測タイミングとを特定し、上記第１計測タイミングに対応付けられている移動量と、上記第２計測タイミングに対応付けられている移動量との間になるように上記基準移動量を特定する。
【００１６】
好ましくは、上記移動量特定部は、上記第２計測タイミングに対応付けられている移動量よりも、上記第１計測タイミングに対応付けられている移動量に近くなるように上記基準移動量を特定する。
【００１７】
好ましくは、上記移動量計測装置は、上記コンベアの移動量に応じてパルス信号を発生するためのエンコーダと、上記パルス信号に含まれるパルス数を上記移動量としてカウントするためのカウンタとを含む。
【００１８】
好ましくは、上記移動量計測装置は、上記コンベアを駆動するためのモータと、上記モータの駆動量を上記移動量として計測するためのエンコーダとを含む。
【００１９】
好ましくは、上記情報処理装置は、上記移動量計測装置における上記移動量の計測間隔の設定を受け付けるための受付部をさらに含む。
【００２０】
好ましくは、上記画像センサは、上記情報処理装置から受信した上記撮影タイミングが到来したことを計測するめの第１タイマーを含む。上記移動量計測装置は、上記移動量の計測タイミングを計測するための第２タイマーを含む。上記第１タイマーおよび上記第２タイマーは、互いに同期している。
【００２１】
好ましくは、上記情報処理装置は、上記撮影タイミングとして、上記画像センサの露光開始時刻および露光終了時刻の少なくとも一方の設定を受け付ける。
【００２２】
好ましくは、上記情報処理装置は、上記撮影タイミングとして、上記画像センサにおける上記ワークの撮影間隔の設定を受け付ける。
【００２３】
好ましくは、上記画像センサは、上記設定された撮影間隔ごとに順次撮影処理を実行する。
【００２４】
他の局面に従うと、コンベア上を搬送されるワークの現在位置を特定するための情報処理装置は、上記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するための通信部を備える。上記通信部は、上記移動量計測装置との通信周期よりも短い間隔で複数回計測された上記移動量と、当該複数の移動量の各々の計測タイミングとを計測結果として上記移動量計測装置から受信する。上記情報処理装置は、さらに、上記コンベア上を搬送されるワークを撮影する画像センサに対する撮影タイミングの設定を受け付けるための受付部と、上記撮影タイミングにおいて上記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置を上記画像センサから取得するための取得部と、上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに相対的に近い１つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するための移動量特定部と、上記画像内のワークの上記位置に基づいて、上記撮影タイミングにおけるワークの位置を基準位置として特定するための位置特定部と、上記移動量計測装置から受信した上記コンベアの現在の移動量と、上記基準移動量とに基づいて、上記撮影タイミングからの経過時間に応じた上記ワークの移動量を算出し、当該移動量を上記基準位置に加算することで上記ワークの現在位置を算出するための算出部とを備える。
【００２５】
他の局面に従うと、コンベア上を搬送されるワークの現在位置を特定するための位置特定方法は、上記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するステップを備える。上記通信するステップは、上記移動量計測装置との通信周期よりも短い間隔で複数回計測された上記移動量と、当該複数の移動量の各々の計測タイミングとを上記移動量計測装置から計測結果として受信するステップを含む。上記位置特定方法は、さらに、上記コンベア上を搬送されるワークを撮影する画像センサに対する撮影タイミングの設定を受け付けるステップと、上記撮影タイミングにおいて上記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置を上記画像センサから取得するステップと、上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに相対的に近い１つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するステップと、上記画像内のワークの上記位置に基づいて、上記撮影タイミングにおけるワークの位置を基準位置として特定するステップと、上記移動量計測装置から受信した上記コンベアの現在の移動量と、上記基準移動量とに基づいて、上記撮影タイミングからの経過時間に応じた上記ワークの移動量を算出し、当該移動量を上記基準位置に加算することで上記ワークの現在位置を算出するステップとを備える。
【００２６】
他の局面に従うと、コンベア上を搬送されるワークの現在位置を特定するための位置特定プログラムは、情報処理装置に、上記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するステップを実行させる。上記通信するステップは、上記移動量計測装置との通信周期よりも短い間隔で複数回計測された上記移動量と、当該複数の移動量の各々の計測タイミングとを上記移動量計測装置から計測結果として受信するステップを含む。上記位置特定プログラムは、上記情報処理装置に、さらに、上記コンベア上を搬送されるワークを撮影する画像センサに対する撮影タイミングの設定を受け付けるステップと、上記撮影タイミングにおいて上記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置を上記画像センサから取得するステップと、上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに相対的に近い１つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するステップと、上記画像内のワークの上記位置に基づいて、上記撮影タイミングにおけるワークの位置を基準位置として特定するステップと、上記移動量計測装置から受信した上記コンベアの現在の移動量と、上記基準移動量とに基づいて、上記撮影タイミングからの経過時間に応じた上記ワークの移動量を算出し、当該移動量を上記基準位置に加算することで上記ワークの現在位置を算出するステップとを実行させる。
【発明の効果】
【００２７】
ある局面において、コンベア上を搬送されるワークの位置をより正確に特定することができる。
【００２８】
本開示の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００２９】
【図１】実施の形態に従う情報処理システムの基本構成を示す模式図である。
【図２】コンベア上を搬送されるワークを選別する作業工程を示す図である。
【図３】関連技術に従う情報処理システムにおける制御動作を示すタイムチャートである。
【図４】実施の形態に従う情報処理システムにおける制御動作を示すタイムチャートである。
【図５】カウンタ計測結果のデータ構造の一例を示す図である。
【図６】カウント値と計測タイミングとの関係をグラフで示す図である。
【図７】ワーク計測結果のデータ構造の一例を示す図である。
【図８】実施の形態に従う情報処理システムの機能構成の一例を示す図である。
【図９】カウンタ計測結果の一部を拡大した図である。
【図１０】タイマーの同期処理を概略的に示す概念図である。
【図１１】ファンクションブロックを概略的に示す概念図である。
【図１２】実施の形態に従うカウンタが実行する処理の一部を表わすフローチャートである。
【図１３】実施の形態に従う画像センサが実行する処理の一部を表わすフローチャートである。
【図１４】実施の形態に従うコントローラが実行する処理の一部を表わすフローチャートである。
【図１５】実施の形態に従うコントローラのハードウェア構成を示す模式図である。
【図１６】変形例に従う情報処理システムの基本構成を示す模式図である。
【発明を実施するための形態】
【００３０】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
【００３１】
＜Ａ．情報処理システム１＞
図１および図２を参照して、本実施の形態に従う情報処理システム１の基本構成について説明する。図１は、本実施の形態に従う情報処理システム１の基本構成を示す模式図である。
【００３２】
図１に示されるように、情報処理システム１は、情報処理装置としてのコントローラ１００と、画像センサ１２４と、カメラとしての撮影部１２５と、移動量計測装置１２６と、ロボットコントローラ１２９と、ロボット１３０とを含む。
【００３３】
コントローラ１００は、たとえばＰＬＣであり、情報処理システム１全体を制御する。コントローラ１００には、表示部１２０および操作部１２２が接続され得る。表示部１２０は、画像を表示可能な液晶パネルなどで構成される。操作部１２２は、典型的には、タッチパネル、キーボード、マウスなどで構成される。
【００３４】
移動量計測装置１２６は、たとえば、カウンタ１２７とエンコーダ１２８とで構成されている。カウンタ１２７およびエンコーダ１２８は、電気的に接続されている。エンコーダ１２８は、コンベア１２３を駆動するためのモータに電気的に接続されている。
【００３５】
コントローラ１００、画像センサ１２４、およびカウンタ１２７は、デイジーチェーンでフィールドネットワーク２０１に接続されている。フィールドネットワーク２０１として、たとえば、ＥｔｈｅｒＣＡＴ（登録商標）が採用される。また、コントローラ１００は、フィールドネットワーク２０２を介してロボットコントローラ１２９と通信接続されている。フィールドネットワーク２０２として、たとえば、ＥｔｈｅｒＮＥＴ（登録商標）が採用される。
【００３６】
情報処理システム１では、コンベア１２３上を搬送されるワークＷに対して所定の作業を行う。ワークＷは、製品または半製品であり、たとえば、食料品であってもよいし、コネクタなどの電子部品であってもよい。
【００３７】
カウンタ１２７は、エンコーダ１２８から発生するパルス波に基づいてコンベアの移動量を計測する。より具体的には、エンコーダ１２８は、コンベア１２３の移動量に応じてパルス信号を発生する。カウンタ１２７は、エンコーダ１２８からパルス信号を受け、当該パルス信号に含まれるパルス数をカウントすることでコンベア１２３の移動量を計測する。カウンタ１２７は、パルス波のカウント値を画像センサ１２４を介してコントローラ１００に一定の通信周期ごとに送信する。
【００３８】
図２は、コンベア１２３上を搬送されるワークを選別する作業工程を示す図である。図２の例では、形状が丸いワークＷ１，Ｗ２が選別態様であるとする。
【００３９】
ステップＳ１において、選別対象のワークＷ１が撮影部１２５の撮影エリアＡＲ１に到達したとする。
【００４０】
ステップＳ２において、コントローラ１００は、画像センサ１２４に撮影指示を送信し、撮影部１２５に撮影処理を実行させる。撮影指示は、たとえば、定期的に画像センサ１２４に送信される。一例として、コントローラ１００は、前回の撮影指示の出力時におけるカウンタ１２７のカウント値と、現在のカウント値との差分値が所定値を超えたタイミングで、画像センサ１２４に撮影指示を送信する。これにより、ワークＷの撮影処理が定期的に実行される。
【００４１】
画像センサ１２４は、撮影部１２５から得られた入力画像内からワークＷ１を計測する。一例として、画像センサ１２４は、パターンマッチングなどの画像処理によりワークＷ１を計測する。より具体的には、選別対象のワークを表わすモデル画像が画像センサ１２４に予め登録されており、画像センサ１２４は、撮影部１２５から得られた入力画像内においてモデル画像と類似する画像領域を探索する。モデル画像と類似する画像領域が計測された場合には、画像センサ１２４は、当該画像領域の位置を記憶する。画像センサ１２４によって計測されたワークＷ１の位置は、カメラ座標系の座標値（ｃｘ，ｃｙ）［ｐｉｘｅｌ］で表わされる。画像センサ１２４は、画像内におけるワーク位置をコントローラ１００に出力する。
【００４２】
コントローラ１００は、撮影タイミングにおけるカウント値と、予め定められた座標変換式とに基づいて、カメラ座標系の座標値をワールド座標系の座標値に変換する。撮影タイミングにおけるカウント値の取得方法の詳細については後述する。ワールド座標系は、ロボット１３０を制御するための座標系であり、ワールド座標系でのワークＷの位置は、座標値（ｗｘ，ｗｙ，ｗｚ）［ｍｍ］で表わされる。当該座標値は、撮影タイミングにおけるワークの位置（すなわち、基準位置）を示す。
【００４３】
コントローラ１００は、ワールド座標系で示されるワークＷ１の位置に基づいて、ワークＷ１をトラッキングする。より具体的には、コントローラ１００は、カウンタ１２７から現在のカウント値を受信すると、当該現在の新たなカウント値と、ワークＷ１の撮影時におけるカウント値と差に基づいて、撮影タイミングからのワークＷ１の移動量を算出する。コントローラ１００は、撮影タイミングにおけるワークの基準位置に当該移動量を加算することで、ワークＷ１の現在位置を算出する。この算出処理が繰り返されることで、ワークＷ１のトラッキング処理が実現される。
【００４４】
ステップＳ３において、ワークＷ１は、撮影エリアＡＲ１を抜けるとする。撮影部１２５による次の撮影処理は、ワークＷ１が撮影エリアＡＲ１を抜けるまで実行されない。一例として、コントローラ１００は、ワークＷ１の現在位置が撮影エリアＡＲ１に含まれている場合には、画像センサ１２４に撮影指示を出力しない。これにより、同一のワークＷ１が重複して撮影することが防止される。
【００４５】
ステップＳ４において、コントローラ１００は、ワークＷ１の現在位置がロボット１３０の作業エリアＡＲ２に到達したか否かを判断する。コントローラ１００は、ワークＷ１の現在位置が作業エリアＡＲ２に到達したと判断した場合、ワークＷ１の現在位置を用いてワークＷ１をピックアップするための動作指示を生成し、当該動作指示をロボットコントローラ１２９に送信する。ロボットコントローラ１２９は、コントローラ１００から受信した動作指示に基づいて、ロボット１３０を駆動し、ワークＷ１をピックアップする。
【００４６】
また、コントローラ１００は、次の撮影タイミングが到来したことに基づいて、画像センサ１２４に撮影指示を送信し、撮影部１２５に撮影処理を実行させる。これにより、選別対象のワークＷ２が撮影される。その後は、上述のワークＷ１と同様に、ワークＷ２の位置特定、ワークＷ２のトラッキング処理、ワークＷ２のピックアップ処理が順次実行される。
【００４７】
なお、図１には、画像センサ１２４および撮影部１２５が別個に構成されている例が示されているが、画像センサ１２４および撮影部１２５は、一体的に構成されてもよい。また、図１には、コントローラ１００と画像センサ１２４とが別個に構成されている例が示されているが、コントローラ１００および画像センサ１２４は、一体的に構成されてもよい。また、図１には、コントローラ１００とロボットコントローラ１２９とが別個に構成されている例が示されているが、コントローラ１００およびロボットコントローラ１２９は、一体的に構成されてもよい。
【００４８】
＜Ｂ．関連技術＞
図３を参照して、関連技術に従う情報処理システム１Ｘの課題について説明する。図３は、関連技術に従う情報処理システム１Ｘにおける制御動作を示すタイムチャートである。
【００４９】
図３に示されるように、情報処理システム１Ｘは、コントローラ１００と、画像センサ１２４と、カウンタ１２７と、エンコーダ１２８とで構成されている。
【００５０】
エンコーダ１２８は、コンベア１２３が所定量移動する度にパルス波をカウンタ１２７に出力する。カウンタ１２７は、当該パルス波をカウントアップすることでコンベア１２３の移動量を計測する。カウンタ１２７は、パルス波のカウント値をコントローラ１００に一定の通信周期Ｔごとに送信する。
【００５１】
一方で、時刻Ｔ１において、コントローラ１００は、ワークの撮影指示を受け付けたとする。これにより、コントローラ１００は、画像センサ１２４に撮影指示を送信する。時刻Ｔ２において、画像センサ１２４は、ワークの撮影処理の前処理を実行する。時刻Ｔ３において、当該前処理が終了したことに基づいて、画像センサ１２４は、撮影部１２５の露光を開始する。時刻Ｔ４において、撮影部１２５の露光が終了したことに基づいて、画像センサ１２４は、露光処理により得られた入力画像を撮影部１２５から取得する。画像センサ１２４は、当該入力画像に対するワークの計測処理を開始する。一例として、画像センサ１２４は、パターンマッチングなどの画像処理により入力画像内のワークの位置を計測する。当該ワークの位置は、カメラ座標系の座標値で表わされる。
【００５２】
時刻Ｔ５において、コントローラ１００は、撮影時におけるカウント値（以下、「基準カウント値」ともいう。）と、カメラ座標系のワークの座標値とに基づいて、撮影タイミングにおけるワークの基準位置を算出する。その後、コントローラ１００は、カウンタ１２７から現在のカウント値を受信し、現在のカウント値と基準カウント値との差に基づいて、撮影タイミングからのワークの移動量を算出し、当該移動量をワークの基準位置に加算する。これにより、ワークの現在位置が逐次更新されることで、ワークのトラッキングが実現される。
【００５３】
このように、コントローラ１００は、撮影時の基準カウント値を元にワークをトラッキングする。そのため、基準カウント値を正確に計測することが重要である。関連技術に従う情報処理システム１Ｘは、通信周期Ｔごとにカウント値を取得するため、カウント値のサンプリング周期は、コントローラ１００とカウンタ１２７との通信周期に依存する。そのため、通信周期間のカウント値の変化は計測できない。そのため、関連技術に従う情報処理システム１Ｘにおいては、基準カウント値が撮影タイミングからずれてしまい、トラッキング処理の精度が低下してしまう。
【００５４】
＜Ｃ．オーバーサンプリング処理＞
上述の基準カウント値のずれを抑制するために、本実施の形態に従う情報処理システム１は、コントローラ１００とカウンタ１２７との通信周期Ｔよりも短い間隔でカウント値をオーバーサンプリングする。カウント値がオーバーサンプリングされることで、通信周期Ｔの制約を受けず、基準カウント値を正確に計測することができる。
【００５５】
以下では、図４〜図８を参照して、情報処理システム１によるオーバーサンプリング処理について説明する。図４は、本実施の形態に従う情報処理システム１における制御動作を示すタイムチャートである。
【００５６】
カウンタ１２７は、コントローラ１００との通信間隔よりも短い間隔でカウント値を複数回計測する。すなわち、カウンタ１２７は、コントローラ１００への前回の送信タイミングの経過後、次回の送信タイミングが到来するまでの間に、カウント値を複数回計測する。このとき、計測されたカウント値と、当該カウント値の計測タイミングとは、図５に示されるカウンタ計測結果１２７Ａとしてカウンタ１２７に記憶される。図５は、カウンタ計測結果１２７Ａのデータ構造の一例を示す図である。図５に示されるように、カウンタ計測結果１２７Ａには、各カウント値に計測タイミングが関連付けられている。一例として、各カウント値の計測間隔は、１０マイクロ秒である。カウンタ１２７は、カウンタ計測結果１２７Ａの送信タイミングが到来したことに基づいて、カウンタ計測結果１２７Ａをコントローラ１００に送信する。
【００５７】
図６は、カウント値と計測タイミングとの関係をグラフで示す図である。より具体的には、図６（Ａ）には、コントローラ１００とカウンタ１２７との通信間隔ΔＴの間にカウント値が複数回計測された場合におけるカウント値と計測タイミングとの関係が示されている。図６（Ｂ）には、通信間隔ΔＴの間に１回だけカウント値が計測された場合におけるカウント値と計測タイミングとの関係が示されている。図６（Ａ）に示されるように、カウント値は、計測タイミングに単純に比例するわけでなく、様々な要因で変動する。そのため、通信間隔ΔＴの間にカウント値が計測される回数が多くなるほど、カウント値の変動がより正確に把握される。
【００５８】
再び図４を参照して、計測されたカウント値は、カウンタ計測結果１２７Ａとしてコントローラ１００に送信される。コントローラ１００は、カウンタ計測結果１２７Ａをカウンタ１２７から受信する一方で、画像センサ１２４からワークの計測結果を受信する。
【００５９】
より具体的には、時刻Ｔ１において、コントローラ１００は、ワークの撮影タイミングの設定を受け付けたとする。これにより、コントローラ１００は、設定された撮影タイミングを画像センサ１２４に送信する。時刻Ｔ２において、設定された撮影タイミングが到来したとする。これにより、画像センサ１２４は、ワークの撮影処理の前処理を実行する。時刻Ｔ３において、当該前処理が終了したことに基づいて、画像センサ１２４は、撮影部１２５の露光を開始する。
【００６０】
時刻Ｔ４において、撮影部１２５の露光が終了したことに基づいて、画像センサ１２４は、露光処理により得られた画像を撮影部１２５から取得する。画像センサ１２４は、当該画像に写るワークの計測処理を開始する。一例として、画像センサ１２４は、パターンマッチングなどの画像処理により画像内のワークの位置を計測する。当該ワークの位置は、カメラ座標系の座標値で表わされる。ワークの計測結果は、図７に示されるワーク計測結果１２４Ａに書き込まれる。図７は、ワーク計測結果１２４Ａのデータ構造の一例を示す図である。図７に示されるように、ワーク計測結果１２４Ａには、計測された各ワークの識別番号と、カメラ座標系で示される各ワークの座標値とが対応付けられている。
【００６１】
再び図４を参照して、時刻Ｔ５において、コントローラ１００は、ワーク計測結果１２４Ａを画像センサ１２４から受信する。次に、コントローラ１００は、カウンタ計測結果１２７Ａに規定されている複数の計測タイミングの中から、時刻Ｔ１において設定された撮影タイミングに相対的に近い１つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値（移動量）を基準カウント値として特定する。コントローラ１００は、撮影タイミングからの経過時間に応じたワークの移動量を基準位置に加算することで、ワークの現在位置を算出する。このような算出処理が繰り返されることで、トラッキング処理が実現される。
【００６２】
より具体的には、コントローラ１００は、カウンタ１２７から受信した現在のカウント値と、基準カウント値との差に基づいて、撮影タイミングからの経過時間に応じてワークの移動量を算出する。コントローラ１００は、当該移動量をワークの基準位置に加算することで、ワークの現在位置を算出する。
【００６３】
コントローラ１００は、逐次更新されるワークの現在位置を用いて、ロボット１３０（図１参照）への動作指示を出力する。これにより、ロボット１３０は、ワークの現在位置を把握することができ、ワークをピッキングすることができる。
【００６４】
以上のように、撮影時における基準カウント値が、オーバーサンプリングされたカウント値の中から選択されることで、コントローラ１００とカウンタ１２７との間の通信周期Ｔの制約を受けず、撮影時における基準カウント値が正確に把握される。その結果、トラッキング処理の精度が改善される。
【００６５】
＜Ｄ．情報処理システム１の機能構成＞
図８を参照して、本実施の形態に従う情報処理システム１の機能構成について説明する。図８は、情報処理システム１の機能構成の一例を示す図である。
【００６６】
図８に示されるように、情報処理システム１は、コントローラ１００と、画像センサ１２４と、移動量計測装置１２６とで構成されている。コントローラ１００は、機能構成として、受付部１５９と、移動量特定部１７２と、位置特定部１７３と、記憶部１７４と、算出部１７６と、出力部１７９とを含む。画像センサ１２４は、機能構成として、撮影制御部１６０と、計測部１６１とを含む。カウンタ１２７は、機能構成として、カウント部１５１と、更新部１５２とを含む。
【００６７】
カウント部１５１は、エンコーダ１２８（図１参照）から発生するパルス波に含まれるパルス数をカウントする。カウント値の計測間隔は、コントローラ１００とカウンタ１２７との通信周期よりも短い。これにより、カウント値のオーバーサンプリングが実現される。カウント部１５１は、カウント値をカウントアップする度にカウント値を更新部１５２に出力する。
【００６８】
更新部１５２は、カウント部１５１からカウント値を受け付けると、当該カウント値を現在時刻に関連付けた上で、カウント値と現在時刻とを上述のカウンタ計測結果１２７Ａ（図５参照）に書き込む。これにより、各カウント値の計測タイミングがカウンタ計測結果１２７Ａに書き込まれる。カウンタ計測結果１２７Ａは、コントローラ１００とカウンタ１２７との通信周期ごとにコントローラ１００に送信される。
【００６９】
受付部１５９は、撮影部１２５（図１参照）に対する撮影タイミングの設定を受け付ける。撮影タイミングの設定は、たとえば、表示部１２０（図１参照）に表示される設定画面に対して行われる。一例として、当該設定画面に対する入力操作は、操作部１２２（図１参照）に対するユーザ操作よって実現される。
【００７０】
ある局面において、受付部１５９は、撮影タイミングとして、撮影部１２５の露光開始時刻および撮影部１２５の露光終了時刻の少なくとも一方の設定を受け付ける。他の局面において、受付部１５９は、撮影タイミングとして、撮影部１２５におけるワークの撮影間隔の設定を受け付ける。設定された撮影タイミングは、画像センサ１２４に送信される。
【００７１】
撮影制御部１６０は、コントローラ１００から受信した撮影タイミングに基づいて、撮影部１２５に撮影指示を出力する。より具体的には、撮影制御部１６０は、後述のタイマー１２４Ｔ（図１０参照）が示す時刻と、コントローラ１００から指定された撮影タイミングとを比較し、当該比較結果が予め定められた条件を満たした場合に、撮影部１２５に撮影指示を出力する。
【００７２】
たとえば、撮影タイミングとして露光開始タイミングが指定されている場合には、撮影制御部１６０は、タイマー１２４Ｔの時刻が、指定された露光開始タイミングと一致または略一致したときに、撮影部１２５に撮影指示を出力する。撮影タイミングとして露光終了タイミングが指定されている場合には、撮影制御部１６０は、タイマー１２４Ｔの時刻が、指定された露光終了タイミングの所定時間前の時刻に一致または略一致したときに、撮影部１２５に撮影指示を出力する。あるいは、撮影タイミングとして撮影間隔が指定されている場合には、撮影制御部１６０は、タイマー１２４Ｔを用いて撮影間隔を計測し、当該撮影間隔ごとに撮影部１２５に順次撮影指示を出力する。
【００７３】
計測部１６１は、ワークを撮影して得られた入力画像を撮影部１２５から受け付けたことに基づいて、入力画像内におけるワークの座標値を計測する。当該座標値は、カメラ座標系で表わされている。計測された座標値は、上述のワーク計測結果１２４Ａ（図７参照）に書き込まれる。
【００７４】
受信部１７１は、一定の通信周期ごとにコントローラ１００からカウンタ計測結果１２７Ａを受信する。受信したカウンタ計測結果１２７Ａは、移動量特定部１７２に出力される。また、受信部１７１（取得部）は、一定の通信間隔ごとに画像センサ１２４からワーク計測結果１２４Ａを受信する。ワーク計測結果１２４Ａは、設定された撮影タイミングに基づく撮影処理により得られた画像から計測されたワークの位置を規定している。受信したワーク計測結果１２４Ａは、位置特定部１７３に出力される。
【００７５】
移動量特定部１７２は、カウンタ計測結果１２７Ａに規定されている計測タイミングの中から、受付部１５９が受け付けた撮影タイミングに相対的に近い１つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値を基準カウント値として特定する。基準カウント値は、記憶部１７４に出力される。
【００７６】
位置特定部１７３は、予め規定されている座標変換式に基づいて、ワーク計測結果１２４Ａに規定されているカメラ座標系の各ワークの座標値を、コンベア座標系の座標値に変換する。当該座標変換式は、撮影部１２５およびコンベアの位置関係に基づいて規定されている。変換後の各ワークの座標値は、ワークの基準位置として記憶部１７４に出力される。
【００７７】
記憶部１７４は、移動量特定部１７２によって特定された基準カウント値と、位置特定部１７３によって特定されたコンベア上のワークの基準位置とを関連付けて基準情報１１２として記憶する。
【００７８】
算出部１７６は、カウンタ１２７から現在のカウント値を受信し、当該現在のカウント値と、基準情報１１２に規定されている基準カウント値との差に基づいて、撮影タイミングからのワークの移動量を算出し、当該移動量をワークの基準位置に加算することでワークの現在位置１１３を算出する。典型的には、現在位置１１３の算出処理は、カウンタ１２７からカウント値を新たに受信する度に実行される。これにより、ワークの現在位置１１３が逐次算出され、ワークのトラッキング処理が実現される。
【００７９】
出力部１７９は、ワークの現在位置１１３がロボット１３０の作業エリアＡＲ２（図１参照）に到達したことに基づいて、ワークをピックアップするための動作指示をロボットコントローラ１２９（図１参照）に出力する。これにより、ロボットコントローラ１２９は、ロボット１３０のアーム部分をワークの現在位置に移動し、ロボット１３０にワークをピックアップさせる。その後、ロボット１３０は、ワークを所定の場所に移動し、ワークをリリースする。
【００８０】
なお、図８では、計測部１６１の機能が画像センサ１２４に実装されている例について説明を行ったが、計測部１６１の機能は、コントローラ１００に実装されてもよい。また、図８では、受付部１５９、移動量特定部１７２、位置特定部１７３、記憶部１７４、算出部１７６、および出力部１７９の機能がコントローラ１００に実装されている例について説明を行ったが、これらの機能の少なくとも１つは、画像センサ１２４に実装されてもよいし、ロボットコントローラ１２９（図１参照）に実装されてもよい。
【００８１】
＜Ｅ．基準カウント値の特定処理＞
上述の図５で説明したように、カウンタ計測結果１２７Ａには、各カウント値と、各カウント値の計測タイミングとが規定されている。移動量特定部１７２（図８参照）は、カウンタ計測結果１２７Ａに規定されている計測タイミングの中から、設定された撮影タイミングに相対的に近い１つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値を基準カウント値として特定する。
【００８２】
基準カウント値の特定方法としては、様々な方法が考えられる。ある局面において、移動量特定部１７２は、カウンタ計測結果１２７Ａに規定されている複数の計測タイミングの中から、ワークの撮影タイミングに最も近い計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値を基準カウント値として特定する。
【００８３】
他の局面において、移動量特定部１７２は、カウンタ計測結果１２７Ａに規定されている計測タイミングの中から、設定された撮影タイミングに最も近い第１計測タイミングと２番目に近い第２計測タイミングとを特定する。移動量特定部１７２は、第１計測タイミングに対応付けられているカウント値と、第２計測タイミングに対応付けられているカウント値との間になるように基準移動量を特定する。以下では、図９を参照して、この特定方法について説明する。図９は、カウンタ計測結果１２７Ａの一部を拡大した図である。
【００８４】
撮影タイミングｔＡは、ワークの撮影時刻を表わす。移動量特定部１７２は、撮影タイミングｔＡに最も近い計測タイミングｔ１と、撮影タイミングｔＡに２番目に近い計測タイミングｔ２とを特定する。移動量特定部１７２は、計測タイミングｔ１に対応付けられているカウント値ｃ１と、計測タイミングｔ２に対応付けられているカウント値ｃ２との間になるように基準カウント値ｃＡを特定する。異なる言い方をすれば、移動量特定部１７２は、カウント値ｃ１，ｃ２の間を補間した上で、撮影タイミングｔＡに対応する基準カウント値を特定する。
【００８５】
好ましくは、移動量特定部１７２は、撮影タイミングｔＡに２番目に近い計測タイミングｔ２（第２計測タイミング）に対応付けられているカウント値ｃ２よりも、撮影タイミングｔＡに最も近い計測タイミングｔ１（第１計測タイミング）に対応付けられているカウント値ｃ１に近くなるように基準カウント値ｃＡを特定する。より具体的には、移動量特定部１７２は、下記の式（１）に基づいて、基準カウント値ｃＡを特定する。
【００８６】
ｃＡ＝｛ｃ１（ｔ２−ｔＡ）−ｃ２（ｔ１−ｔＡ）｝／（ｔ２−ｔ１）・・・（１）
このように、カウント値が補間された上で基準カウント値ｃＡを特定することで、計測されるカウント値が離散的であったとしても、撮影タイミングにおける基準カウント値ｃＡが正確に特定される。
【００８７】
さらに他の局面において、移動量特定部１７２は、カウンタ計測結果１２７Ａに規定されている各カウント値と各計測タイミングとに基づいて、カウント値と計測タイミングとの関係を表わす近似式を生成し、当該近似式に撮影タイミングを代入することで基準カウント値ｃＡを特定してもよい。当該近似式は、たとえば最小二乗法などで求められる。
【００８８】
＜Ｆ．同期処理＞
上述したように、基準カウント値を特定するために、各カウント値の計測タイミングを撮影タイミングと比較する。そのため、各カウント値の計測タイミングを計測するタイマーと、撮影タイミングを計測するタイマーとは、同期されていることが好ましい。以下では、図１０を参照して、タイマーの同期処理について説明する。図１０は、タイマーの同期処理を概略的に示す概念図である。
【００８９】
図１０に示されるように、情報処理システム１は、コントローラ１００と、画像センサ１２４と、カウンタ１２７と、ロボットコントローラ１２９とで構成されている。コントローラ１００は、タイマー１００Ｔを有する。画像センサ１２４は、ワークを撮影したタイミングを計測するめのタイマー１２４Ｔを有する。カウンタ１２７は、カウント値の計測タイミングを計測するためのタイマー１２７Ｔを有する。ロボット１３０は、タイマー１２９Ｔを有する。
【００９０】
タイマー１００Ｔ，１２４Ｔ，１２７Ｔ，１２９Ｔの１つのタイマーはマスターとして機能し、他のタイマーはスレーブとして機能する。すなわち、マスターとしてのタイマーに合わせて、スレーブとしてのタイマーが同期される。図１０の例では、コントローラ１００のタイマー１００Ｔがマスターとして設定されている。
【００９１】
コントローラ１００は、一定の周期でタイマー１００Ｔの時刻を、画像センサ１２４、カウンタ１２７、およびロボットコントローラ１２９に送信する。画像センサ１２４は、コントローラ１００から時刻を受信すると、当該時刻に合わせてタイマー１２４Ｔを修正する。同様に、カウンタ１２７は、コントローラ１００から時刻を受信すると、当該時刻に合わせてタイマー１２７Ｔを修正する。同様に、ロボットコントローラ１２９は、コントローラ１００から時刻を受信すると、当該時刻に合わせてタイマー１２９Ｔを修正する。これにより、タイマー１２４Ｔ，１２７Ｔ，１２９Ｔがタイマー１００Ｔと同期する。
【００９２】
なお、本実施の形態においては、タイマー１００Ｔ，１２４Ｔ，１２７Ｔ，１２９Ｔの全てが同期する必要はなく、少なくとも、ワークを撮影したタイミングを計測するめのタイマー１２４Ｔ（第１タイマー）と、カウント値の計測タイミングを計測するためのタイマー１２７Ｔ（第２タイマー）とが同期していればよい。基準カウント値を特定するためには、タイマー１２４Ｔ，１２７Ｔが同期していれば十分であるからである。タイマー１２４Ｔ，１２７Ｔが同期している状態で、撮影タイミングと、カウント値の計測タイミングとが計測されることで、撮影タイミングに対応する計測タイミングを正確に求めることができる。
【００９３】
＜Ｇ．ファンクションブロック＞
上述のオーバーサンプリング機能を実現するためのプログラムは、ファンクションブロックとして提供される。図１１を参照して、そのファンクションブロックについて説明する。図１１は、ファンクションブロック１９０を概略的に示す概念図である。
【００９４】
ファンクションブロック１９０は、たとえば、コントローラ１００の主メモリ１０２（図１５参照）や記憶装置１１０（図１５参照）などに格納されている。ファンクションブロック１９０は、オーバーサンプリング機能に対する設定を受け付ける受付部１９１〜１９３と、当該設定に対する応答を出力する出力部１９４，１９５を有する。
【００９５】
受付部１９１は、カウンタ１２７におけるカウント値の計測間隔の設定を受け付ける。すなわち、受付部１９１に対する計測間隔の設定により、カウンタ１２７の計測間隔は、任意に変更され得る。
【００９６】
受付部１９２は、計測間隔を設定する対象のカウンタの識別番号を受け付ける。すなわち、受付部１９２に対する識別番号の設定で、計測間隔を変更する対象のカウンタが指定される。
【００９７】
受付部１９３は、計測間隔の変更を実行するか否かを指定する変数の入力を受け付ける。一例として、受付部１９３が「ＴＲＵＥ」を受け付けると、計測間隔の変更が実行される。受付部１９３が「ＦＡＬＳＥ」を受け付けている間は、計測間隔の変更が実行されない。
【００９８】
出力部１９４，１９５は、計測間隔の変更が正常に実行されたか否かを出力する。一例として、計測間隔の変更が正常に実行された場合には、出力部１９４は「ＴＲＵＥ」を出力し、出力部１９５は「ＦＡＬＳＥ」を出力する。一方で、計測間隔の変更が正常に実行さなかった場合には、出力部１９４は「ＦＡＬＳＥ」を出力し、出力部１９５は「ＴＲＵＥ」を出力する。
【００９９】
＜Ｈ．フローチャート＞
図１２〜１４を参照して、情報処理システム１の制御構造について説明する。図１２は、情報処理システム１を構成するカウンタ１２７が実行する処理の一部を表わすフローチャートである。図１３は、情報処理システム１を構成する画像センサ１２４が実行する処理の一部を表わすフローチャートである。図１４は、情報処理システム１を構成するコントローラ１００が実行する処理の一部を表わすフローチャートである。
【０１００】
以下では、カウンタ１２７、画像センサ１２４、コントローラ１００の制御フローについて順に説明する。
【０１０１】
（Ｈ１．カウンタ１２７の制御構造）
まず、図１２を参照して、カウンタ１２７の制御フローについて説明する。図１２の処理は、カウンタ１２７の制御装置がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
【０１０２】
ステップＳ１１０において、カウンタ１２７は、上述のカウント部１５１（図８参照）として、エンコーダ１２８（図１参照）からパルス波を受け、当該パルス波に含まれるパルス数をカウントする。当該パルス数のカウント値は、コンベア１２３（図１参照）の移動量を表わす。また、カウンタ１２７は、カウント値を計測したタイミングを計測タイミングとしてタイマー１２７Ｔ（図１０参照）から取得する。計測されたカウント値と、その計測タイミングとは、上述のカウンタ計測結果１２７Ａ（図５参照）において関連付けられる。
【０１０３】
ステップＳ１１２において、カウンタ１２７は、カウンタ計測結果１２７Ａの送信タイミングが到来したか否かを判断する。当該送信タイミングは、コントローラ１００とカウンタ１２７との通信周期の度に到来する。カウンタ計測結果１２７Ａの送信タイミングが到来したか否かは、たとえば、タイマー１２７Ｔ（図１０参照）の時刻に基づいて判断される。カウンタ１２７は、カウンタ計測結果１２７Ａの送信タイミングが到来したと判断した場合（ステップＳ１１２においてＹＥＳ）、制御をステップＳ１１４に切り替える。そうでない場合には（ステップＳ１１２においてＮＯ）、カウンタ１２７は、制御をステップＳ１１０に戻す。
【０１０４】
ステップＳ１１４において、カウンタ１２７は、カウンタ計測結果１２７Ａをコントローラ１００に送信する。なお、カウンタ計測結果１２７Ａは、コントローラ１００に送信された時点で削除されてもよい。
【０１０５】
ステップＳ１１６において、カウンタ１２７は、カウント値の計測を終了するか否かを判断する。一例として、カウンタ１２７は、ワークの選別処理の終了操作を受け付けたことに基づいて、カウント値の計測を終了すると判断する。カウンタ１２７は、カウント値の計測を終了すると判断した場合（ステップＳ１１６においてＹＥＳ）、図１２に示される処理を終了する。そうでない場合には（ステップＳ１１６においてＮＯ）、カウンタ１２７は、制御をステップＳ１１０に戻す。
【０１０６】
（Ｈ２．画像センサ１２４の制御構造）
次に、図１３を参照して、画像センサ１２４の制御フローについて説明する。図１３の処理は、画像センサ１２４の制御装置がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
【０１０７】
ステップＳ１１８において、画像センサ１２４は、コントローラ１００において設定された撮影タイミングをコントローラ１００から受信する。一例として、画像センサ１２４は、撮影部１２５の露光開始時刻および撮影部１２５の露光終了時刻の少なくとも一方を撮影タイミングとして受信する。あるいは、画像センサ１２４は、撮影部１２５におけるワークの撮影間隔を撮影タイミングとして受信する。
【０１０８】
ステップＳ１２０において、画像センサ１２４は、上述の撮影制御部１６０（図８参照）として、指定された撮影タイミングが到来したか否かを判断する。一例として、画像センサ１２４は、指定された撮影タイミングと、タイマー１２４Ｔ（図１０参照）の時刻とを比較することで、指定された撮影タイミングが到来したか否かを判断する。画像センサ１２４は、ワークの撮影タイミングが到来したと判断した場合（ステップＳ１２０においてＹＥＳ）、制御をステップＳ１２２に切り替える。そうでない場合には（ステップＳ１２０においてＮＯ）、画像センサ１２４は、制御をステップＳ１２０の処理を再び実行する。
【０１０９】
ステップＳ１２２において、画像センサ１２４は、撮影部１２５（図１参照）に撮影指示を出力し、コンベア上を搬送されるワークを撮影部１２５に撮影させる。これにより、画像センサ１２４は、撮影部１２５から入力画像を取得する。このとき、画像センサ１２４は、ワークの撮影タイミングをタイマー１２４Ｔ（図１０参照）から取得する。
【０１１０】
ステップＳ１２４において、画像センサ１２４は、上述の計測部１６１（図８参照）として、入力画像内のワークを計測する。一例として、画像センサ１２４は、パターンマッチングなどの画像処理により画像内のワークの位置を計測する。当該ワークの位置は、カメラ座標系の座標値で表わされる。当該ワークの座標値と、ステップＳ１２２で取得された撮影タイミングとは、上述のワーク計測結果１２４Ａ（図７参照）において関連付けられる。
【０１１１】
ステップＳ１２６において、画像センサ１２４は、ワーク計測結果１２４Ａをコントローラ１００に送信する。なお、ワーク計測結果１２４Ａは、コントローラ１００に送信された時点で削除されてもよい。
【０１１２】
（Ｈ３．コントローラ１００の制御構造）
次に、図１４を参照して、コントローラ１００の制御フローについて説明する。図１４の処理は、コントローラ１００の制御装置１０１（図１５参照）がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
【０１１３】
ステップＳ１５０において、コントローラ１００は、上述の受信部１７１（図８参照）として、ワーク計測結果１２４Ａ（図７参照）を画像センサ１２４から受信する。また、コントローラ１００は、カウンタ計測結果１２７Ａ（図５参照）をカウンタ１２７から受信する。
【０１１４】
ステップＳ１５２において、コントローラ１００は、上述の移動量特定部１７２（図８参照）として、カウンタ計測結果１２７Ａに規定されている計測タイミングの中から、設定された撮影タイミングに相対的に近い１つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値を基準カウント値として特定する。基準カウント値の特定方法は、上述の図９で説明した通りである。
【０１１５】
ステップＳ１５４において、コントローラ１００は、上述の位置特定部１７３（図８参照）として、予め規定されている座標変換式に基づいて、ワーク計測結果１２４Ａに規定されているカメラ座標系の各ワークの座標値を、コンベア座標系の座標値に変換する。当該座標変換式は、コンベア１２３および撮影部１２５の位置関係に基づいて規定されている。変換後の各ワークの座標値は、基準位置として記憶される。
【０１１６】
ステップＳ１６０において、コントローラ１００は、現在のカウント値をカウンタ１２７から受信したか否かを判断する。コントローラ１００は、現在のカウント値をカウンタ１２７から受信したと判断した場合（ステップＳ１６０においてＹＥＳ）、制御をステップＳ１６２に切り替える。そうでない場合には（ステップＳ１６０においてＮＯ）、コントローラ１００は、ステップＳ１６０の処理を再び実行する。
【０１１７】
ステップＳ１６２において、コントローラ１００は、上述の算出部１７６（図８参照）として、ステップＳ１６０で受信した現在のカウント値と、ステップＳ１５２で特定された基準カウント値との差に基づいて、各ワークの撮影タイミングからの移動量を算出する。典型的には、１カウント当たりの単位移動量は予め規定されており、コントローラ１００は、現在のカウント値と基準カウント値との差に当該単位移動量を乗算した結果を、撮影タイミングからの各ワークの移動量として算出する。コントローラ１００は、当該移動量を各ワークの基準位置に加算することで、各ワークの現在位置を算出する。ステップＳ１６２の算出処理が繰り返されることで、ワークのトラッキングが実現される。
【０１１８】
ステップＳ１７０において、コントローラ１００は、ワークの現在位置がロボット１３０の作業エリアＡＲ２（図１参照）に到達したか否かを判断する。コントローラ１００は、ワークの現在位置がロボット１３０の作業エリアＡＲ２に到達したと判断した場合（ステップＳ１７０においてＹＥＳ）、制御をステップＳ１７０に切り替える。そうでない場合には（ステップＳ１７０においてＮＯ）、コントローラ１００は、制御をステップＳ１６０に戻す。
【０１１９】
ステップＳ１７２において、コントローラ１００は、上述の出力部１７９（図８参照）として、ワークの現在位置を用いて、ワークをピックアップするための動作指示をロボットコントローラ１２９（図１参照）に出力する。これにより、ロボットコントローラ１２９は、ロボット１３０のアーム部分をワークの現在位置に移動し、ロボット１３０にワークをピックアップさせる。その後、ロボット１３０は、所定の場所にワークを移動し、ワークをリリースする。好ましくは、ワークの移動先は、ワークの種別ごとに変えられてもよい。これにより、コンベア上を搬送されるワークが種別ごとに選別される。
【０１２０】
ステップＳ１８０において、コントローラ１００は、ワークの選別処理を終了するか否かを判断する。一例として、コントローラ１００は、終了操作を受け付けたことに基づいて、ワークの選別処理を終了すると判断する。コントローラ１００は、ワークの選別処理を終了すると判断した場合（ステップＳ１８０においてＹＥＳ）、図１４に示される処理を終了する。そうでない場合には（ステップＳ１８０においてＮＯ）、コントローラ１００は、制御をステップＳ１５０に戻す。
【０１２１】
＜Ｉ．コントローラ１００のハードウェア構成＞
図１５を参照して、本実施の形態に従うコントローラ１００のハードウェア構成について説明する。図１５は、本実施の形態に従うコントローラ１００のハードウェア構成を示す模式図である。
【０１２２】
コントローラ１００は、一例として、汎用的なコンピュータアーキテクチャに準じて構成されるコンピュータからなる。コントローラ１００は、たとえば、ＰＬＣである。コントローラ１００は、制御装置１０１と、主メモリ１０２と、通信インターフェイス１０３と、センサインターフェイス１０４と、操作インターフェイス１０５と、表示インターフェイス１０６と、光学ドライブ１０７と、記憶装置１１０（記憶部）とを含む。これらのコンポーネントは、内部バス１１９を介して互いに通信可能に接続されている。
【０１２３】
制御装置１０１は、たとえば、少なくとも１つの集積回路によって構成される。集積回路は、たとえば、少なくとも１つのＣＰＵ（Central  Processing  Unit）、少なくとも１つのＡＳＩＣ（Application  Specific  Integrated  Circuit）、少なくとも１つのＦＰＧＡ（Field  Programmable  Gate  Array）、またはそれらの組み合わせなどによって構成される。制御装置１０１は、記憶装置１１０に格納されている位置特定プログラム１１４を主メモリ１０２に展開して実行することで、本実施の形態に従う各種処理を実現する。主メモリ１０２は、揮発性メモリにより構成され、制御装置１０１によるプログラム実行に必要なワークメモリとして機能する。
【０１２４】
通信インターフェイス１０３は、外部機器との間でネットワークを介してデータを遣り取りする。当該外部機器は、たとえば、上述の画像センサ１２４（図１参照）、上述のカウンタ１２７（図１参照）、上述のロボットコントローラ１２９（図１参照）、サーバ、その他の通信機器などを含む。コントローラ１００は、通信インターフェイス１０３を介して、本実施の形態に従う位置特定プログラム１１４をダウンロードできるように構成されてもよい。
【０１２５】
センサインターフェイス１０４は、上述の画像センサ１２４と接続される。画像センサ１２４には、上述の撮影部１２５が接続され、センサインターフェイス１０４は、撮影部１２５の撮影により得られる画像信号を取り込むとともに、画像センサ１２４を介して撮影部１２５に撮影タイミングなどの指令を送る。撮影部１２５は、一例として、レンズなどの光学系に加えて、ＣＣＤ（Coupled Charged Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサといった、複数の画素に区画された撮像素子を含んで構成される。
【０１２６】
操作インターフェイス１０５は、操作部１２２に接続され、操作部１２２からのユーザ操作を示す信号を取り込む。操作部１２２は、典型的には、キーボード、マウス、タッチパネル、タッチパッドなどからなり、ユーザからの操作を受け付ける。
【０１２７】
表示インターフェイス１０６は、表示部１２０と接続され、制御装置１０１などからの指令に従って、表示部１２０に対して、画像を表示するための画像信号を送出する。表示部１２０は、ディスプレイ、インジケータなどからなり、ユーザに対して各種情報を提示する。
【０１２８】
光学ドライブ１０７は、光学ディスク１０７Ａなどから、その中に格納されている各種プログラムを読み出して、記憶装置１１０にインストールする。記憶装置１１０は、たとえば、位置特定プログラム１１４などを格納する。
【０１２９】
図１５には、光学ドライブ１０７を介して必要なプログラムをコントローラ１００にインストールする構成例を示すが、これに限られることなく、ネットワーク上のサーバ装置などからダウンロードするようにしてもよい。あるいは、コントローラ１００上のプログラムは、ＵＳＢ（Universal Serial Bus）メモリ、ＳＤ（Secure Digital）カード、ＣＦ（Compact Flash）などの記憶媒体に書き込まれているプログラムによって書き換えられるように構成されてもよい。
【０１３０】
記憶装置１１０は、たとえば、ハードディスクや外付けの記憶媒体である。一例として、記憶装置１１０は、選別対象の画像を表わすモデル画像１１１と、上述の基準情報１１２（図８参照）と、ワークの現在位置１１３（図８参照）と、本実施の形態に従う各種の処理を実現するための位置特定プログラム１１４とを格納する。
【０１３１】
位置特定プログラム１１４は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、任意のプログラムと協働して本実施の形態に従う処理が実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従うコントローラ１００の趣旨を逸脱するものではない。さらに、本実施の形態に従う位置特定プログラム１１４によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、コントローラ１００と画像センサ１２４とカウンタ１２７とロボットコントローラ１２９と少なくとも２つが協働して、本実施の形態に従う処理を実現するようにしてもよい。さらに、少なくとも１つのサーバが本実施の形態に従う処理を実現する、所謂クラウドサービスの形態でコントローラ１００が構成されてもよい。
【０１３２】
＜Ｊ．変形例＞
図１６を参照して、変形例に従う情報処理システム１について説明する。図１６は、変形例に従う情報処理システム１の基本構成を示す模式図である。
【０１３３】
図１に示される情報処理システム１においては、移動量計測装置１２６がカウンタ１２７とエンコーダ１２８とで構成されていた。これに対して、変形例に従う情報処理システム１においては、移動量計測装置１２６は、サーボアンプ１４７と、サーボモータ１４８と、エンコーダ１４９とで構成されている。その他の点については図１に示される情報処理システム１と同じであるので、それらの説明については繰り返さない。
【０１３４】
サーボモータ１４８は、コンベア１２３を駆動する。エンコーダ１４９は、コンベア１２３の移動量として、サーボモータ１４８の駆動量を計測し、当該駆動量をサーボアンプ１４７に順次出力する。当該駆動量は、たとえば、サーボモータ１４８の回転角として表される。
【０１３５】
サーボアンプ１４７は、コントローラ１００への前回の送信タイミングの経過後、次回の送信タイミングが到来するまでの間に、コンベア１２３の駆動量を複数回計測し、次回の送信タイミングが到来したことに基づいて、計測された各駆動量と、当該駆動量の各々の計測タイミングとを画像センサ１２４を介してコントローラ１００に送信する。その後の処理については上述の通りであるので、その説明については繰り返さない。
【０１３６】
なお、コンベア１２３を駆動するためのモータは、サーボモータ１４８に限定されない。たとえば、コンベア１２３を駆動するためのモータは、誘導モータであってもよい。誘導モータは、インバータに電気的に接続されている。インバータから出力される交流電圧の周波数が制御されることで、誘導モータの回転速度が調整される。エンコーダ１４９は、コンベア１２３の移動量として、誘導モータの駆動量を計測する。
【０１３７】
＜Ｋ．利点＞
以上のようにして、本実施の形態に従うコントローラ１００は、撮影タイミングの設定を受け付け、設定された撮影タイミングを画像センサ１２４に送信する。画像センサ１２４は、指定された撮影タイミングが到来するとワークの撮影処理を実行し、当該撮影処理により得られた入力画像内においてワークの座標値を計測する。計測されたワークの座標値は、コントローラ１００に送信される。
【０１３８】
一方で、カウンタ１２７は、コントローラ１００への前回の送信タイミングの経過後、次回の送信タイミングが到来するまでの間に、コンベアの移動量を表わすカウント値を複数回計測する。これにより、コントローラ１００とカウンタ１２７との通信間隔よりも短い間隔でカウント値が計測され、カウント値のオーバーサンプリングが実現される。カウンタ１２７は、次回の送信タイミングが到来したことに基づいて、計測されたカウント値と、各カウント値の計測タイミングとをコントローラ１００に送信する。
【０１３９】
コントローラ１００は、カウンタ１２７から受信した各カウント値の計測タイミングの中から、設定された撮影タイミングに相対的に近い１つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値を基準カウント値として特定する。コントローラ１００は、画像センサ１２４から受信したカメラ座標系のワーク座標値をコンベア座標系のワーク座標値に変換し、当該変換後の座標値を基準カウント値に関連付けて記憶する。オーバーサンプリングされた計測タイミングの中から基準カウント値が特定されることで、撮影タイミングにおけるワーク位置が正確に特定される。
【０１４０】
他の利点として、画像センサ１２４とカウンタ１２７との間を配線する必要がなくなる。より具体的には、画像センサ１２４とカウンタ１２７との間が電気的に接続されている場合には、画像センサ１２４およびカウンタ１２７は、通信周期の制約を受けずにカウント値をやり取りすることができるが、そのためには、画像センサ１２４とカウンタ１２７との間が配線で接続されている必要がある。本実施の形態に従う情報処理システム１は、カウント値をオーバーサンプリングすることができるので、画像センサ１２４とカウンタ１２７との間に配線を設ける必要がない。特に、近年では、食品衛生管理が厳しく求められており、食品向けのロボットではコンベアシステム全体を洗浄する場合がある。この場合には、画像センサ１２４とカウンタ１２７との間を防水ケーブルで配線する必要があり、衛生面が懸念される。本実施の形態に従う情報処理システム１においては、画像センサ１２４とカウンタ１２７との間を配線する必要がないため、コストの削減でき、さらには、衛生面の改善することができる。
【０１４１】
さらに他の利点として、本実施の形態に従う情報処理システム１は、サーボモータを利用するシステムにも利用できることが挙げられる。より具体的には、システムによっては、カウンタ値を計測する機能が、カウンタ１２７ではなく、画像センサ１２４自体に搭載されているものがある。このような画像センサ１２４は、撮影タイミングとカウント値との両方を自身で計測することができるため、撮影タイミングとカウント値との間でずれがなくなる。しかしながら、サーボモータからのエンコーダ値は、コントローラ１００および画像センサ１２４の両方に分配できないため、当該エンコーダ値は、画像センサ１２４に出力されると、コントローラ１００には出力されなくなる。本実施の形態に従う情報処理システム１は、サーボモータからのエンコーダ値をコントローラ１００および画像センサ１２４の両方に分配することなく、撮影タイミングと基準カウント値とのずれを解消することができる。
【０１４２】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１４３】
１，１Ｘ  情報処理システム、１００  コントローラ、１００Ｔ，１２４Ｔ，１２７Ｔ，１２９Ｔ  タイマー、１０１  制御装置、１０２  主メモリ、１０３  通信インターフェイス、１０４  センサインターフェイス、１０５  操作インターフェイス、１０６  表示インターフェイス、１０７  光学ドライブ、１０７Ａ  光学ディスク、１１０  記憶装置、１１１  モデル画像、１１２  基準情報、１１３  現在位置、１１４  位置特定プログラム、１１９  内部バス、１２０  表示部、１２２  操作部、１２３  コンベア、１２４  画像センサ、１２４Ａ  ワーク計測結果、１２５  撮影部、１２６  移動量計測装置、１２７  カウンタ、１２７Ａ  カウンタ計測結果、１２８，１４９  エンコーダ、１２９  ロボットコントローラ、１３０  ロボット、１４７  サーボアンプ、１４８  サーボモータ、１５１  カウント部、１５２  更新部、１５９，１９１〜１９３  受付部、１６０  撮影制御部、１６１  計測部、１７１  受信部、１７２  移動量特定部、１７３  位置特定部、１７４  記憶部、１７６  算出部、１７９，１９４，１９５  出力部、１９０  ファンクションブロック。
【図１】
2018024045.tif 000003
【図２】
2018024045.tif 000004
【図３】
2018024045.tif 000005
【図４】
2018024045.tif 000006
【図５】
2018024045.tif 000007
【図６】
2018024045.tif 000008
【図７】
2018024045.tif 000009
【図８】
2018024045.tif 000010
【図９】
2018024045.tif 000011
【図１０】
2018024045.tif 000012
【図１１】
2018024045.tif 000013
【図１２】
2018024045.tif 000014
【図１３】
2018024045.tif 000015
【図１４】
2018024045.tif 000016
【図１５】
2018024045.tif 000017
【図１６】
2018024045.tif 000018