図面 (/)

技術 情報処理システム、情報処理装置、ワークの位置特定方法、およびワークの位置特定プログラム

出願人 オムロン株式会社
発明者 島村純児小林昭朗
出願日 2016年8月9日 (4年4ヶ月経過) 出願番号 2016-156530
公開日 2018年2月15日 (2年10ヶ月経過) 公開番号 2018-024044
状態 未査定
技術分野 マニプレータ
主要キーワード 防水ケーブル 基準移動量 産業用コントローラ ピックアップ処理 センサインターフェイス 基準カウント値 トラッキング結果 外部制御機器
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2018年2月15日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (17)

課題

コンベア上を搬送されるワークの位置をより正確に特定することができる情報処理システムを提供する。

解決手段

カウンタ127は、コントローラ100との通信間隔よりも短い間隔で、コンベアの移動量を複数回計測し、計測された複数の移動量と、各移動量の計測タイミングとを計測結果としてコントローラ100に送信する。コントローラ100は、ワークを撮影して得られた画像から計測されたワークの位置と、撮影タイミングとを受信する受信部171と、上記計測タイミングの中から撮影タイミングに相対的に近い計測タイミングを特定し、当該計測タイミングに対応付けられている基準移動量を特定する移動量特定部172と、画像内のワーク位置に基づいて撮影タイミングにおけるワークの基準位置を特定する位置特定部173と、コンベアの現在の移動量と基準移動量との差を基準位置に加算することでワークの現在位置を算出する算出部176とを含む。

概要

背景

FA(Factory Automation)分野において、コンベア上を搬送されるワークをピックアップすることができる産業用ロボットが普及している。当該ロボットは、たとえば、コンベア上を搬送されるワークを種別ごと選別するために利用される。

産業用のロボットに関して、特開2015−174171号公報(特許文献1)は、「コンベアが、たわみ、膨らみ、または傾斜を有していても、ワークを正しく把持することができる」ロボット制御装置を開示している。特開2012−166308号公報(特許文献2)は、「撮像装置に対する撮像指示を発生してから実際に撮像が行われるまでにタイムラグが存在する場合であっても、正確にトラッキング処理を行うことのできる」画像処理装置を開示している。

コンベア上のワークを選別する際、ワークの位置を精度よく検出することが重要である。そのためには、計測機器計測タイミングを正確に把握する必要がある。たとえば、特開2005−293567号公報(特許文献3)は、「計測対象物計測値を、計測値が得られた時間に関する情報と共に外部制御機器に出力できる」計測装置を開示している。各機器の時間を同期する方法として、特開2009−157913号公報(特許文献4)は、「nsオーダー計時機能を持つ時計を備えたユニット間であっても、制御に影響を与えることなく時間同期を行える」産業用コントローラを開示している。

概要

コンベア上を搬送されるワークの位置をより正確に特定することができる情報処理システムを提供する。カウンタ127は、コントローラ100との通信間隔よりも短い間隔で、コンベアの移動量を複数回計測し、計測された複数の移動量と、各移動量の計測タイミングとを計測結果としてコントローラ100に送信する。コントローラ100は、ワークを撮影して得られた画像から計測されたワークの位置と、撮影タイミングとを受信する受信部171と、上記計測タイミングの中から撮影タイミングに相対的に近い計測タイミングを特定し、当該計測タイミングに対応付けられている基準移動量を特定する移動量特定部172と、画像内のワーク位置に基づいて撮影タイミングにおけるワークの基準位置を特定する位置特定部173と、コンベアの現在の移動量と基準移動量との差を基準位置に加算することでワークの現在位置を算出する算出部176とを含む。

目的

したがって、コンベア上を搬送されるワークの位置をより正確に特定することが可能な技術が望まれている

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンベア上を搬送されるワークの現在位置を特定するための情報処理システムであって、情報処理装置と、前記情報処理装置から撮影指示受け付けたことに基づいて、前記コンベア上を搬送されるワークを撮影し、得られた画像内においてワークの位置を計測するとともに、当該ワークの撮影タイミングを計測し、当該画像内におけるワークの位置と当該撮影タイミングとを前記情報処理装置に送信するための画像センサと、前記情報処理装置と通信することが可能な移動量計測装置とを備え、前記移動量計測装置は、前記情報処理装置との通信周期よりも短い間隔で、前記コンベアの移動量を複数回計測し、前記情報処理装置への送信タイミング到来したことに基づいて、前記計測された複数の移動量と、当該複数の移動量の各々の計測タイミングとを計測結果として前記情報処理装置に送信し、前記情報処理装置は、前記計測結果に規定されている複数の計測タイミングの中から、前記撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するための移動量特定部と、前記画像センサから受信した前記画像内のワークの位置に基づいて、前記撮影タイミングにおけるワークの位置を基準位置として特定するための位置特定部と、前記移動量計測装置から受信した前記コンベアの現在の移動量と、前記基準移動量とに基づいて、前記撮影タイミングからの経過時間に応じた前記ワークの移動量を算出し、当該移動量を前記基準位置に加算することで前記ワークの現在位置を算出するための算出部とを含む、情報処理システム。

請求項2

前記算出部は、前記移動量計測装置から受信した前記コンベアの現在の移動量と、前記基準移動量との差を前記基準位置に加算することで前記ワークの現在位置を算出する、請求項1に記載の情報処理システム。

請求項3

前記情報処理装置は、前記算出部によって算出されたワークの現在位置を用いて、前記ワークをピッキングするロボットへの動作指示を出力するための出力部をさらに含む、請求項2に記載の情報処理システム。

請求項4

前記移動量特定部は、前記移動量計測装置から受信した前記計測結果に規定されている複数の計測タイミングの中から、前記撮影タイミングに最も近い計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を前記基準移動量として特定する、請求項1〜3のいずれか1項に記載の情報処理システム。

請求項5

前記移動量特定部は、前記移動量計測装置から受信した前記計測結果に規定されている複数の計測タイミングの中から、前記撮影タイミングに最も近い第1計測タイミングと2番目に近い第2計測タイミングとを特定し、前記第1計測タイミングに対応付けられている移動量と、前記第2計測タイミングに対応付けられている移動量との間になるように前記基準移動量を特定する、請求項1〜3のいずれか1項に記載の情報処理システム。

請求項6

前記移動量特定部は、前記第2計測タイミングに対応付けられている移動量よりも、前記第1計測タイミングに対応付けられている移動量に近くなるように前記基準移動量を特定する、請求項5に記載の情報処理システム。

請求項7

前記移動量計測装置は、前記コンベアの移動量に応じてパルス信号を発生するためのエンコーダと、前記パルス信号に含まれるパルス数を前記移動量としてカウントするためのカウンタとを含む、請求項1〜6のいずれか1項に記載の情報処理システム。

請求項8

前記移動量計測装置は、前記コンベアを駆動するためのモータと、前記モータの駆動量を前記移動量として計測するためのエンコーダとを含む、請求項1〜6のいずれか1項に記載の情報処理システム。

請求項9

前記情報処理装置は、前記移動量計測装置における前記移動量の計測間隔の設定を受け付けるための受付部をさらに含む、請求項1〜8のいずれか1項に記載の情報処理システム。

請求項10

前記画像センサは、前記撮影タイミングを計測するめの第1タイマーを含み、前記移動量計測装置は、前記移動量の計測タイミングを計測するための第2タイマーを含み、前記第1タイマーおよび前記第2タイマーは、互いに同期している、請求項1〜9のいずれか1項に記載の情報処理システム。

請求項11

コンベア上を搬送されるワークの現在位置を特定するための情報処理装置であって、前記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するための通信部を備え、前記通信部は、前記移動量計測装置との通信周期よりも短い間隔で複数回計測された前記移動量と、当該複数の移動量の各々の計測タイミングとを計測結果として前記移動量計測装置から受信し、さらに、前記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置と、当該ワークの撮影タイミングとを取得するための取得部と、前記計測結果に規定されている複数の計測タイミングの中から、前記撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するための移動量特定部と、前記画像内のワークの前記位置に基づいて、前記撮影タイミングにおけるワークの位置を基準位置として特定するための位置特定部と、前記移動量計測装置から受信した前記コンベアの現在の移動量と、前記基準移動量とに基づいて、前記撮影タイミングからの経過時間に応じた前記ワークの移動量を算出し、当該移動量を前記基準位置に加算することで前記ワークの現在位置を算出するための算出部とを備える、情報処理装置。

請求項12

コンベア上を搬送されるワークの現在位置を特定するための位置特定方法であって、前記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するステップを備え、前記通信するステップは、前記移動量計測装置との通信周期よりも短い間隔で複数回計測された前記移動量と、当該複数の移動量の各々の計測タイミングとを計測結果として前記移動量計測装置から受信するステップを含み、さらに、前記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置と、当該ワークの撮影タイミングとを取得するステップと、前記計測結果に規定されている複数の計測タイミングの中から、前記撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するステップと、前記画像内のワークの前記位置に基づいて、前記撮影タイミングにおけるワークの位置を基準位置として特定するステップと、前記移動量計測装置から受信した前記コンベアの現在の移動量と、前記基準移動量とに基づいて、前記撮影タイミングからの経過時間に応じた前記ワークの移動量を算出し、当該移動量を前記基準位置に加算することで前記ワークの現在位置を算出するステップとを備える、位置特定方法。

請求項13

コンベア上を搬送されるワークの現在位置を特定するための位置特定プログラムであって、前記位置特定プログラムは、情報処理装置に、前記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するステップを実行させ、前記通信するステップは、前記移動量計測装置との通信周期よりも短い間隔で複数回計測された前記移動量と、当該複数の移動量の各々の計測タイミングとを計測結果として前記移動量計測装置から受信するステップを含み、さらに、前記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置と、当該ワークの撮影タイミングとを取得するステップと、前記計測結果に規定されている複数の計測タイミングの中から、前記撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するステップと、前記画像内のワークの前記位置に基づいて、前記撮影タイミングにおけるワークの位置を基準位置として特定するステップと、前記移動量計測装置から受信した前記コンベアの現在の移動量と、前記基準移動量とに基づいて、前記撮影タイミングからの経過時間に応じた前記ワークの移動量を算出し、当該移動量を前記基準位置に加算することで前記ワークの現在位置を算出するステップとを実行させる、位置特定プログラム。

技術分野

0001

本開示は、コンベア上を搬送されるワークの位置を特定するための技術に関する。

背景技術

0002

FA(Factory Automation)分野において、コンベア上を搬送されるワークをピックアップすることができる産業用ロボットが普及している。当該ロボットは、たとえば、コンベア上を搬送されるワークを種別ごと選別するために利用される。

0003

産業用のロボットに関して、特開2015−174171号公報(特許文献1)は、「コンベアが、たわみ、膨らみ、または傾斜を有していても、ワークを正しく把持することができる」ロボット制御装置を開示している。特開2012−166308号公報(特許文献2)は、「撮像装置に対する撮像指示を発生してから実際に撮像が行われるまでにタイムラグが存在する場合であっても、正確にトラッキング処理を行うことのできる」画像処理装置を開示している。

0004

コンベア上のワークを選別する際、ワークの位置を精度よく検出することが重要である。そのためには、計測機器計測タイミングを正確に把握する必要がある。たとえば、特開2005−293567号公報(特許文献3)は、「計測対象物計測値を、計測値が得られた時間に関する情報と共に外部制御機器に出力できる」計測装置を開示している。各機器の時間を同期する方法として、特開2009−157913号公報(特許文献4)は、「nsオーダー計時機能を持つ時計を備えたユニット間であっても、制御に影響を与えることなく時間同期を行える」産業用コントローラを開示している。

先行技術

0005

特開2015−174171号公報
特開2012−166308号公報
特開2005−293567号公報
特開2009−157913号公報

発明が解決しようとする課題

0006

産業用のロボットは、たとえば、PLC(Programmable Logic Controller)などのコントローラによって制御される。当該コントローラは、コンベア上のワークをトラッキングし、そのトラッキング結果に基づいて産業用のロボットを制御する。ワークをトラッキングするためには、コンベア上のワークの位置を正確に特定することが重要である。

0007

ワークの位置特定方法の一例について説明する。まず、コントローラから画像センサに対して計測指示が送信される。画像センサは、接続されているカメラに対して撮影指示を出力する。カメラは、露光を開始し、露光が完了した時点でワークを含む画像を画像センサに出力する。画像センサは、得られた画像に対してパターンマッチングなどの画像処理を実行し、当該画像内のワークの位置をコントローラに送信する。コントローラは、画像内の原点からの相対位置であるワークの位置と、後述するカウンタ値から撮影時におけるコンベア上のワーク位置(以下、「基準位置」ともいう)を算出する。また、カウンタ値を基にワークが基準位置からどれだけ移動したかを算出し、ロボットに対してワークの現在位置を指定する。

0008

コントローラが画像センサに計測指示を出力してから、計測結果がコントローラに送信されるまでの時間は、数十から数百ミリ秒遅れがあり、この遅延時間は一定ではない。そのため、撮影された時点の時刻を正確に知る手段がない。

0009

コンベアの移動量は、たとえば、カウンタなどの移動量計測装置によって計測される。カウンタは、エンコーダから発生するパルス波に基づいてコンベアの移動量を計測する。エンコーダは、コンベアの移動量に合わせてパルス波をカウンタに出力する。カウンタは、パルス波のカウント値をコントローラに一定の通信周期ごとに送信する。カウンタとコントローラとの通信間隔は一定であり、カウント値のサンプリング周期は、カウンタとコントローラとの通信周期に依存する。そのため、通信周期間のカウント値の変化は計測できない。

0010

また、前述の通り、画像センサのカメラが撮影した時刻をコントローラが正確に知る手段がない。仮に撮影時刻推定できたとしても、前回送信タイミングと次回の送信タイミングとの間にワークが撮影された場合には、カウンタ値を計測することができない。撮影時刻でのカウンタ値を知る手段がないため、前述の基準位置を高精度に算出することができず、その後のトラッキング処理の精度が大きく低下してしまう。特許文献1〜4は、このような問題を解決することについては開示していない。したがって、コンベア上を搬送されるワークの位置をより正確に特定することが可能な技術が望まれている。

課題を解決するための手段

0011

ある局面に従うと、情報処理システムは、情報処理装置と、上記情報処理装置から撮影指示を受け付けたことに基づいて、上記コンベア上を搬送されるワークを撮影し、得られた画像内においてワークの位置を計測するとともに、当該ワークの撮影タイミングを計測し、当該画像内におけるワークの位置と当該撮影タイミングとを上記情報処理装置に送信するための画像センサと、上記情報処理装置と通信することが可能な移動量計測装置とを備える。上記移動量計測装置は、上記情報処理装置との通信周期よりも短い間隔で、上記コンベアの移動量を複数回計測し、上記情報処理装置への送信タイミングが到来したことに基づいて、上記計測された複数の移動量と、当該複数の移動量の各々の計測タイミングとを計測結果として上記情報処理装置に送信する。上記情報処理装置は、上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するための移動量特定部と、上記画像センサから受信した上記画像内のワークの位置に基づいて、上記撮影タイミングにおけるワークの位置を基準位置として特定するための位置特定部と、上記移動量計測装置から受信した上記コンベアの現在の移動量と、上記基準移動量とに基づいて、上記撮影タイミングからの経過時間に応じた上記ワークの移動量を算出し、当該移動量を上記基準位置に加算することで上記ワークの現在位置を算出するための算出部とを含む。

0012

好ましくは、上記算出部は、上記移動量計測装置から受信した上記コンベアの現在の移動量と、上記基準移動量との差を上記基準位置に加算することで上記ワークの現在位置を算出する。

0013

好ましくは、上記情報処理装置は、上記算出部によって算出されたワークの現在位置を用いて、上記ワークをピッキングするロボットへの動作指示を出力するための出力部をさらに含む。

0014

好ましくは、上記移動量特定部は、上記移動量計測装置から受信した上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに最も近い計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を上記基準移動量として特定する。

0015

好ましくは、上記移動量特定部は、上記移動量計測装置から受信した上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに最も近い第1計測タイミングと2番目に近い第2計測タイミングとを特定し、上記第1計測タイミングに対応付けられている移動量と、上記第2計測タイミングに対応付けられている移動量との間になるように上記基準移動量を特定する。

0016

好ましくは、上記移動量特定部は、上記第2計測タイミングに対応付けられている移動量よりも、上記第1計測タイミングに対応付けられている移動量に近くなるように上記基準移動量を特定する。

0017

好ましくは、上記移動量計測装置は、上記コンベアの移動量に応じてパルス信号を発生するためのエンコーダと、上記パルス信号に含まれるパルス数を上記移動量としてカウントするためのカウンタとを含む。

0018

好ましくは、上記移動量計測装置は、上記コンベアを駆動するためのモータと、上記モータの駆動量を上記移動量として計測するためのエンコーダとを含む。

0019

好ましくは、上記情報処理装置は、上記移動量計測装置における上記移動量の計測間隔の設定を受け付けるための受付部をさらに含む。

0020

好ましくは、上記画像センサは、上記撮影タイミングを計測するめの第1タイマーを含む。上記移動量計測装置は、上記移動量の計測タイミングを計測するための第2タイマーを含む。上記第1タイマーおよび上記第2タイマーは、互いに同期している。

0021

他の局面に従うと、コンベア上を搬送されるワークの現在位置を特定するための情報処理装置は、上記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するための通信部を備える。上記通信部は、上記移動量計測装置との通信周期よりも短い間隔で複数回計測された上記移動量と、当該複数の移動量の各々の計測タイミングとを計測結果として上記移動量計測装置から受信する。上記情報処理装置は、さらに、上記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置と、当該ワークの撮影タイミングとを取得するための取得部と、上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するための移動量特定部と、上記画像内のワークの上記位置に基づいて、上記撮影タイミングにおけるワークの位置を基準位置として特定するための位置特定部と、上記移動量計測装置から受信した上記コンベアの現在の移動量と、上記基準移動量とに基づいて、上記撮影タイミングからの経過時間に応じた上記ワークの移動量を算出し、当該移動量を上記基準位置に加算することで上記ワークの現在位置を算出するための算出部とを備える。

0022

他の局面に従うと、コンベア上を搬送されるワークの現在位置を特定するための位置特定方法は、上記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するステップを備える。上記通信するステップは、上記移動量計測装置との通信周期よりも短い間隔で複数回計測された上記移動量と、当該複数の移動量の各々の計測タイミングとを計測結果として上記移動量計測装置から受信するステップを含む。上記位置特定方法は、さらに、上記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置と、当該ワークの撮影タイミングとを取得するステップと、上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するステップと、上記画像内のワークの上記位置に基づいて、上記撮影タイミングにおけるワークの位置を基準位置として特定するステップと、上記移動量計測装置から受信した上記コンベアの現在の移動量と、上記基準移動量とに基づいて、上記撮影タイミングからの経過時間に応じた上記ワークの移動量を算出し、当該移動量を上記基準位置に加算することで上記ワークの現在位置を算出するステップとを備える。

0023

他の局面に従うと、コンベア上を搬送されるワークの現在位置を特定するための位置特定プログラムは、情報処理装置に、上記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するステップを実行させる。上記通信するステップは、上記移動量計測装置との通信周期よりも短い間隔で複数回計測された上記移動量と、当該複数の移動量の各々の計測タイミングとを計測結果として上記移動量計測装置から受信するステップを含む。上記位置特定プログラムは、上記情報処理装置に、さらに、上記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置と、当該ワークの撮影タイミングとを取得するステップと、上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するステップと、上記画像内のワークの上記位置に基づいて、上記撮影タイミングにおけるワークの位置を基準位置として特定するステップと、上記移動量計測装置から受信した上記コンベアの現在の移動量と、上記基準移動量とに基づいて、上記撮影タイミングからの経過時間に応じた上記ワークの移動量を算出し、当該移動量を上記基準位置に加算することで上記ワークの現在位置を算出するステップとを実行させる。

発明の効果

0024

ある局面において、コンベア上を搬送されるワークの位置をより正確に特定することができる。

0025

本開示の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。

図面の簡単な説明

0026

実施の形態に従う情報処理システムの基本構成を示す模式図である。
コンベア上を搬送されるワークを選別する作業工程を示す図である。
関連技術に従う情報処理システムにおける制御動作を示すタイムチャートである。
実施の形態に従う情報処理システムにおける制御動作を示すタイムチャートである。
カウンタ計測結果のデータ構造の一例を示す図である。
カウント値と計測タイミングとの関係をグラフで示す図である。
ワーク計測結果のデータ構造の一例を示す図である。
実施の形態に従う情報処理システムの機能構成の一例を示す図である。
カウンタ計測結果の一部を拡大した図である。
タイマーの同期処理を概略的に示す概念図である。
ファンクションブロックを概略的に示す概念図である。
実施の形態に従うカウンタが実行する処理の一部を表わすフローチャートである。
実施の形態に従う画像センサが実行する処理の一部を表わすフローチャートである。
実施の形態に従うコントローラが実行する処理の一部を表わすフローチャートである。
実施の形態に従うコントローラのハードウェア構成を示す模式図である。
変形例に従う情報処理システムの基本構成を示す模式図である。

実施例

0027

以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。

0028

<A.情報処理システム1>
図1および図2を参照して、本実施の形態に従う情報処理システム1の基本構成について説明する。図1は、本実施の形態に従う情報処理システム1の基本構成を示す模式図である。

0029

図1に示されるように、情報処理システム1は、情報処理装置としてのコントローラ100と、画像センサ124と、カメラとしての撮影部125と、移動量計測装置126と、ロボットコントローラ129と、ロボット130とを含む。

0030

コントローラ100は、たとえばPLCであり、情報処理システム1全体を制御する。コントローラ100には、表示部120および操作部122が接続され得る。表示部120は、画像を表示可能な液晶パネルなどで構成される。操作部122は、典型的には、タッチパネルキーボードマウスなどで構成される。

0031

移動量計測装置126は、たとえば、カウンタ127とエンコーダ128とで構成されている。カウンタ127およびエンコーダ128は、電気的に接続されている。エンコーダ128は、コンベア123を駆動するためのモータに電気的に接続されている。

0032

コントローラ100、画像センサ124、およびカウンタ127は、デイジーチェーンフィールドネットワーク201に接続されている。フィールドネットワーク201として、たとえば、EtherCAT登録商標)が採用される。また、コントローラ100は、フィールドネットワーク202を介してロボットコントローラ129と通信接続されている。フィールドネットワーク202として、たとえば、EtherNET(登録商標)が採用される。

0033

情報処理システム1では、コンベア123上を搬送されるワークWに対して所定の作業を行う。ワークWは、製品または半製品であり、たとえば、食料品であってもよいし、コネクタなどの電子部品であってもよい。

0034

カウンタ127は、エンコーダ128から発生するパルス波に基づいてコンベアの移動量を計測する。より具体的には、エンコーダ128は、コンベア123の移動量に応じてパルス信号を発生する。カウンタ127は、エンコーダ128からパルス信号を受け、当該パルス信号に含まれるパルス数をカウントすることでコンベア123の移動量を計測する。カウンタ127は、パルス波のカウント値を画像センサ124を介してコントローラ100に一定の通信周期ごとに送信する。

0035

図2は、コンベア123上を搬送されるワークを選別する作業工程を示す図である。図2の例では、形状が丸いワークW1,W2が選別態様であるとする。

0036

ステップS1において、選別対象のワークW1が撮影部125の撮影エリアAR1に到達したとする。

0037

ステップS2において、コントローラ100は、画像センサ124に撮影指示を送信し、撮影部125に撮影処理を実行させる。撮影指示は、たとえば、定期的に画像センサ124に送信される。一例として、コントローラ100は、前回の撮影指示の出力時におけるカウンタ127のカウント値と、現在のカウント値との差分値所定値を超えたタイミングで、画像センサ124に撮影指示を送信する。これにより、ワークWの撮影処理が定期的に実行される。

0038

画像センサ124は、撮影部125から得られた入力画像内からワークW1を計測する。一例として、画像センサ124は、パターンマッチングなどの画像処理によりワークW1を計測する。より具体的には、選別対象のワークを表わすモデル画像が画像センサ124に予め登録されており、画像センサ124は、撮影部125から得られた入力画像内においてモデル画像と類似する画像領域を探索する。モデル画像と類似する画像領域が検知された場合には、画像センサ124は、当該画像領域の位置を記憶する。画像センサ124によって計測されたワークW1の位置は、カメラ座標系座標値(cx,cy)[pixel]で表わされる。画像センサ124は、画像内におけるワーク位置をコントローラ100に出力する。

0039

コントローラ100は、撮影タイミングにおけるカウント値と、予め定められた座標変換式とに基づいて、カメラ座標系の座標値をワールド座標系の座標値に変換する。撮影タイミングにおけるカウント値の取得方法の詳細については後述する。ワールド座標系は、ロボット130を制御するための座標系であり、ワールド座標系でのワークWの位置は、座標値(wx,wy,wz)[mm]で表わされる。当該座標値は、撮影タイミングにおけるワークの位置(すなわち、基準位置)を示す。

0040

コントローラ100は、ワールド座標系で示されるワークW1の位置に基づいて、ワークW1をトラッキングする。より具体的には、コントローラ100は、カウンタ127から現在のカウント値を受信すると、当該現在の新たなカウント値と、ワークW1の撮影時におけるカウント値と差に基づいて、撮影タイミングからのワークW1の移動量を算出する。コントローラ100は、撮影タイミングにおけるワークの基準位置に当該移動量を加算することで、ワークW1の現在位置を算出する。この算出処理が繰り返されることで、ワークW1のトラッキング処理が実現される。

0041

ステップS3において、ワークW1は、撮影エリアAR1を抜けるとする。撮影部125による次の撮影処理は、ワークW1が撮影エリアAR1を抜けるまで実行されない。一例として、コントローラ100は、ワークW1の現在位置が撮影エリアAR1に含まれている場合には、画像センサ124に撮影指示を出力しない。これにより、同一のワークW1が重複して撮影することが防止される。

0042

ステップS4において、コントローラ100は、ワークW1の現在位置がロボット130の作業エリアAR2に到達したか否かを判断する。コントローラ100は、ワークW1の現在位置が作業エリアAR2に到達したと判断した場合、ワークW1の現在位置を用いてワークW1をピックアップするための動作指示を生成し、当該動作指示をロボットコントローラ129に送信する。ロボットコントローラ129は、コントローラ100から受信した動作指示に基づいて、ロボット130を駆動し、ワークW1をピックアップする。

0043

また、コントローラ100は、次の撮影タイミングが到来したことに基づいて、画像センサ124に撮影指示を送信し、撮影部125に撮影処理を実行させる。これにより、選別対象のワークW2が撮影される。その後は、上述のワークW1と同様に、ワークW2の位置特定、ワークW2のトラッキング処理、ワークW2のピックアップ処理が順次実行される。

0044

なお、図1には、画像センサ124および撮影部125が別個に構成されている例が示されているが、画像センサ124および撮影部125は、一体的に構成されてもよい。また、図1には、コントローラ100と画像センサ124とが別個に構成されている例が示されているが、コントローラ100および画像センサ124は、一体的に構成されてもよい。また、図1には、コントローラ100とロボットコントローラ129とが別個に構成されている例が示されているが、コントローラ100およびロボットコントローラ129は、一体的に構成されてもよい。

0045

<B.関連技術>
図3を参照して、関連技術に従う情報処理システム1Xの課題について説明する。図3は、関連技術に従う情報処理システム1Xにおける制御動作を示すタイムチャートである。

0046

図3に示されるように、情報処理システム1Xは、コントローラ100と、画像センサ124と、カウンタ127と、エンコーダ128とで構成されている。

0047

エンコーダ128は、コンベア123が所定量移動する度にパルス波をカウンタ127に出力する。カウンタ127は、当該パルス波をカウントアップすることでコンベア123の移動量を計測する。カウンタ127は、パルス波のカウント値をコントローラ100に一定の通信周期Tごとに送信する。

0048

一方で、時刻T1において、コントローラ100は、ワークの撮影指示を受け付けたとする。これにより、コントローラ100は、画像センサ124に撮影指示を送信する。時刻T2において、画像センサ124は、ワークの撮影処理の前処理を実行する。時刻T3において、当該前処理が終了したことに基づいて、画像センサ124は、撮影部125の露光を開始する。時刻T4において、撮影部125の露光が終了したことに基づいて、画像センサ124は、露光処理により得られた入力画像を撮影部125から取得する。画像センサ124は、当該入力画像に対するワークの計測処理を開始する。一例として、画像センサ124は、パターンマッチングなどの画像処理により入力画像内のワークの位置を計測する。当該ワークの位置は、カメラ座標系の座標値で表わされる。

0049

時刻T5において、コントローラ100は、撮影時におけるカウント値(以下、「基準カウント値」ともいう。)と、カメラ座標系のワークの座標値とに基づいて、撮影タイミングにおけるワークの基準位置を算出する。その後、コントローラ100は、カウンタ127から現在のカウント値を受信し、現在のカウント値と基準カウント値との差に基づいて、撮影タイミングからのワークの移動量を算出し、当該移動量をワークの基準位置に加算する。これにより、ワークの現在位置が逐次更新されることで、ワークのトラッキングが実現される。

0050

このように、コントローラ100は、撮影時の基準カウント値を元にワークをトラッキングする。そのため、基準カウント値を正確に計測することが重要である。関連技術に従う情報処理システム1Xは、通信周期Tごとにカウント値を取得するため、カウント値のサンプリング周期は、コントローラ100とカウンタ127との通信周期に依存する。そのため、通信周期間のカウント値の変化は計測できない。そのため、関連技術に従う情報処理システム1Xにおいては、基準カウント値が撮影タイミングからずれてしまい、トラッキング処理の精度が低下してしまう。

0051

<C.オーバーサンプリング処理
上述の基準カウント値のずれを抑制するために、本実施の形態に従う情報処理システム1は、コントローラ100とカウンタ127との通信周期Tよりも短い間隔でカウント値をオーバーサンプリングする。カウント値がオーバーサンプリングされることで、通信周期Tの制約を受けず、基準カウント値を正確に計測することができる。

0052

以下では、図4図8を参照して、情報処理システム1によるオーバーサンプリング処理について説明する。図4は、本実施の形態に従う情報処理システム1における制御動作を示すタイムチャートである。

0053

カウンタ127は、コントローラ100との通信間隔よりも短い間隔でカウント値を複数回計測する。すなわち、カウンタ127は、コントローラ100への前回の送信タイミングの経過後、次回の送信タイミングが到来するまでの間に、カウント値を複数回計測する。このとき、計測されたカウント値と、当該カウント値の計測タイミングとは、図5に示されるカウンタ計測結果127Aとしてカウンタ127に記憶される。図5は、カウンタ計測結果127Aのデータ構造の一例を示す図である。図5に示されるように、カウンタ計測結果127Aには、各カウント値に計測タイミングが関連付けられている。一例として、各カウント値の計測間隔は、10マイクロ秒である。カウンタ127は、カウンタ計測結果127Aの送信タイミングが到来したことに基づいて、カウンタ計測結果127Aをコントローラ100に送信する。

0054

図6は、カウント値と計測タイミングとの関係をグラフで示す図である。より具体的には、図6(A)には、コントローラ100とカウンタ127との通信間隔ΔTの間にカウント値が複数回計測された場合におけるカウント値と計測タイミングとの関係が示されている。図6(B)には、通信間隔ΔTの間に1回だけカウント値が計測された場合におけるカウント値と計測タイミングとの関係が示されている。図6(A)に示されるように、カウント値は、計測タイミングに単純に比例するわけでなく、様々な要因で変動する。そのため、通信間隔ΔTの間にカウント値が計測される回数が多いほど、カウント値の変動をより正確に把握することができる。

0055

再び図4を参照して、計測されたカウント値は、カウンタ計測結果127Aとしてコントローラ100に送信される。コントローラ100は、カウンタ計測結果127Aをカウンタ127から受信する一方で、画像センサ124からワークの計測結果を受信する。

0056

より具体的には、時刻T1において、コントローラ100は、ワークの撮影指示を受け付けたとする。これにより、コントローラ100は、画像センサ124に撮影指示を送信する。時刻T2において、画像センサ124は、ワークの撮影処理の前処理を実行する。時刻T3において、当該前処理が終了したことに基づいて、画像センサ124は、撮影部125の露光を開始する。

0057

時刻T4において、撮影部125の露光が終了したことに基づいて、画像センサ124は、露光処理により得られた画像を撮影部125から取得する。画像センサ124は、当該画像に写るワークの計測処理を開始する。一例として、画像センサ124は、パターンマッチングなどの画像処理により画像内のワークの位置を計測する。当該ワークの位置は、カメラ座標系の座標値で表わされる。ワークの計測結果は、ワークの撮影タイミングとともに、図7に示されるワーク計測結果124Aに書き込まれる。図7は、ワーク計測結果124Aのデータ構造の一例を示す図である。図7に示されるように、ワーク計測結果124Aには、ワークの撮影タイミングと、計測された各ワークの識別番号と、カメラ座標系で示される各ワークの座標値とが対応付けられている。

0058

再び図4を参照して、時刻T5において、コントローラ100は、ワーク計測結果124Aを画像センサ124から受信する。次に、コントローラ100は、カウンタ計測結果127Aに規定されている複数の計測タイミングの中から、ワーク計測結果124Aに規定されている撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値(移動量)を基準カウント値として特定する。図5および図7の例では、計測タイミングt1〜tNの内、撮影タイミングtAに相対的に近い計測タイミングが基準カウント値として特定される。コントローラ100は、撮影タイミングからの経過時間に応じたワークの移動量を基準位置に加算することで、ワークの現在位置を算出する。このような算出処理が繰り返されることで、トラッキング処理が実現される。

0059

より具体的には、コントローラ100は、カウンタ127から受信した現在のカウント値と、基準カウント値との差に基づいて、撮影タイミングからの経過時間に応じてワークの移動量を算出する。コントローラ100は、当該移動量をワークの基準位置に加算することで、ワークの現在位置を算出する。

0060

コントローラ100は、逐次算出されるワークの現在位置を用いて、ロボット130(図1参照)への動作指示を出力する。これにより、ロボット130は、ワークの現在位置を把握することができ、ワークをピッキングすることができる。

0061

以上のように、撮影時における基準カウント値が、オーバーサンプリングされたカウント値の中から選択されることで、コントローラ100とカウンタ127との間の通信周期Tの制約を受けず、撮影時における基準カウント値が正確に把握される。その結果、トラッキング処理の精度が改善される。

0062

<D.情報処理システム1の機能構成>
図8を参照して、本実施の形態に従う情報処理システム1の機能構成について説明する。図8は、情報処理システム1の機能構成の一例を示す図である。

0063

図8に示されるように、情報処理システム1は、コントローラ100と、画像センサ124と、移動量計測装置126とで構成されている。コントローラ100は、機能構成として、受信部171と、移動量特定部172と、位置特定部173と、記憶部174と、算出部176と、出力部179とを含む。画像センサ124は、機能構成として、計測部161と、更新部162とを含む。カウンタ127は、機能構成として、カウント部151と、更新部152とを含む。

0064

カウント部151は、エンコーダ128(図1参照)から発生するパルス波に含まれるパルス数をカウントする。カウント値の計測間隔は、コントローラ100とカウンタ127との通信周期よりも短い。これにより、カウント値のオーバーサンプリングが実現される。カウント部151は、カウント値をカウントアップする度にカウント値を更新部152に出力する。

0065

更新部152は、カウント部151からカウント値を受け付けると、当該カウント値を現在時刻に関連付けた上で、カウント値と現在時刻とを上述のカウンタ計測結果127A(図5参照)に書き込む。これにより、各カウント値の計測タイミングがカウンタ計測結果127Aに書き込まれる。カウンタ計測結果127Aは、コントローラ100とカウンタ127との通信周期ごとにコントローラ100に送信される。

0066

計測部161は、ワークを撮影して得られた入力画像を撮影部125から受け付けたことに基づいて、入力画像内におけるワークの座標値を計測する。当該座標値は、カメラ座標系で表わされている。計測された座標値は、更新部162に出力される。

0067

更新部162は、ワークの座標値を計測部161から受け付けると、当該座標値を撮影タイミングに関連付けた上で、当該座標値と撮影タイミングとを上述のワーク計測結果124A(図7参照)に書き込む。

0068

受信部171は、一定の通信周期ごとにコントローラ100からカウンタ計測結果127Aを受信する。受信したカウンタ計測結果127Aは、移動量特定部172に出力される。また、受信部171は、一定の通信間隔ごとに画像センサ124からワーク計測結果124Aを受信する。これにより、受信部171(取得部)は、入力画像内のワークの位置と、当該ワークの撮影タイミングとを取得する。受信したワーク計測結果124Aは、移動量特定部172および位置特定部173に出力される。

0069

移動量特定部172は、カウンタ計測結果127Aに規定されている計測タイミングの中から、ワーク計測結果124Aに規定されている撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値を基準カウント値として特定する。基準カウント値は、記憶部174に出力される。

0070

位置特定部173は、予め規定されている座標変換式に基づいて、ワーク計測結果124Aに規定されているカメラ座標系の各ワークの座標値を、ワールド座標系の座標値に変換する。当該座標変換式は、撮影部125およびコンベアの位置関係に基づいて規定されている。変換後の各ワークの座標値は、ワークの基準位置として記憶部174に出力される。

0071

記憶部174は、移動量特定部172によって特定された基準カウント値と、位置特定部173によって撮影タイミングにおけるワークの基準位置とを関連付けて基準情報112として記憶する。

0072

算出部176は、カウンタ127から現在のカウント値を受信し、当該現在のカウント値と、基準情報112に規定されている基準カウント値との差に基づいて、撮影タイミングからのワークの移動量を算出し、当該移動量をワークの基準位置に加算することでワークの現在位置113を算出する。典型的には、現在位置113の算出処理は、カウンタ127からカウント値を新たに受信する度に実行される。これにより、ワークの現在位置113が逐次算出され、ワークのトラッキング処理が実現される。

0073

出力部179は、ワークの現在位置113がロボット130の作業エリアAR2(図1参照)に到達したことに基づいて、ワークをピックアップするための動作指示をロボットコントローラ129(図1参照)に出力する。これにより、ロボットコントローラ129は、ロボット130のアーム部分をワークの現在位置に移動し、ロボット130にワークをピックアップさせる。その後、ロボット130は、ワークを所定の場所に移動し、ワークをリリースする。

0074

なお、図8では、計測部161および更新部162の機能が画像センサ124に実装されている例について説明を行ったが、計測部161および更新部162の少なくとも一方の機能は、コントローラ100に実装されてもよい。また、図8では、移動量特定部172、位置特定部173、記憶部174、算出部176、および出力部179の機能がコントローラ100に実装されている例について説明を行ったが、これらの機能の少なくとも1つは、画像センサ124に実装されてもよいし、ロボットコントローラ129(図1参照)に実装されてもよい。

0075

<E.基準カウント値の特定処理
上述の図5で説明したように、カウンタ計測結果127Aには、各カウント値と、各カウント値の計測タイミングとが規定されている。移動量特定部172(図8参照)は、カウンタ計測結果127Aに規定されている計測タイミングの中から撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値を基準カウント値として特定する。

0076

基準カウント値の特定方法としては、様々な方法が考えられる。ある局面において、移動量特定部172は、カウンタ計測結果127Aに規定されている複数の計測タイミングの中から、ワークの撮影タイミングに最も近い計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値を基準カウント値として特定する。

0077

他の局面において、移動量特定部172は、カウンタ計測結果127Aに規定されている計測タイミングの中から、撮影タイミングに最も近い第1計測タイミングと2番目に近い第2計測タイミングとを特定する。移動量特定部172は、第1計測タイミングに対応付けられているカウント値と、第2計測タイミングに対応付けられているカウント値との間になるように基準移動量を特定する。以下では、図9を参照して、この特定方法について説明する。図9は、カウンタ計測結果127Aの一部を拡大した図である。

0078

撮影タイミングtAは、ワークの撮影時刻を表わす。移動量特定部172は、撮影タイミングtAに最も近い計測タイミングt1と、撮影タイミングtAに2番目に近い計測タイミングt2とを特定する。移動量特定部172は、計測タイミングt1に対応付けられているカウント値c1と、計測タイミングt2に対応付けられているカウント値c2との間になるように基準カウント値cAを特定する。異なる言い方をすれば、移動量特定部172は、カウント値c1,c2の間を補間した上で、撮影タイミングtAに対応する基準カウント値を特定する。

0079

好ましくは、移動量特定部172は、撮影タイミングtAに2番目に近い計測タイミングt2(第2計測タイミング)に対応付けられているカウント値c2よりも、撮影タイミングtAに最も近い計測タイミングt1(第1計測タイミング)に対応付けられているカウント値c1に近くなるように基準カウント値cAを特定する。より具体的には、移動量特定部172は、下記の式(1)に基づいて、基準カウント値cAを特定する。

0080

cA={c1(t2−tA)−c2(t1−tA)}/(t2−t1)・・・(1)
このように、補間処理が実行された上で基準カウント値cAを特定することで、計測されるカウント値が離散的であったとしても、撮影タイミングにおける基準カウント値cAがより正確に特定される。

0081

さらに他の局面において、移動量特定部172は、カウンタ計測結果127Aに規定されている各カウント値と各計測タイミングとに基づいて、カウント値と計測タイミングとの関係を表わす近似式を生成し、当該近似式に撮影タイミングを代入することで基準カウント値cAを特定してもよい。当該近似式は、たとえば最小二乗法などで求められる。

0082

<F.同期処理>
上述したように、基準カウント値を特定するために、各カウント値の計測タイミングを撮影タイミングと比較する。そのため、各カウント値の計測タイミングを計測するタイマーと、撮影タイミングを計測するタイマーとは、同期されていることが好ましい。以下では、図10を参照して、タイマーの同期処理について説明する。図10は、タイマーの同期処理を概略的に示す概念図である。

0083

図10に示されるように、情報処理システム1は、コントローラ100と、画像センサ124と、カウンタ127と、ロボットコントローラ129とで構成されている。コントローラ100は、タイマー100Tを有する。画像センサ124は、ワークを撮影したタイミングを計測するめのタイマー124Tを有する。カウンタ127は、カウント値の計測タイミングを計測するためのタイマー127Tを有する。ロボット130は、タイマー129Tを有する。

0084

タイマー100T,124T,127T,129Tの1つのタイマーはマスターとして機能し、他のタイマーはスレーブとして機能する。すなわち、マスターとしてのタイマーに合わせて、スレーブとしてのタイマーが同期される。図10の例では、コントローラ100のタイマー100Tがマスターとして設定されている。

0085

コントローラ100は、一定の周期でタイマー100Tの時刻を、画像センサ124、カウンタ127、およびロボットコントローラ129に送信する。画像センサ124は、コントローラ100から時刻を受信すると、当該時刻に合わせてタイマー124Tを修正する。同様に、カウンタ127は、コントローラ100から時刻を受信すると、当該時刻に合わせてタイマー127Tを修正する。同様に、ロボットコントローラ129は、コントローラ100から時刻を受信すると、当該時刻に合わせてタイマー129Tを修正する。これにより、タイマー124T,127T,129Tがタイマー100Tと同期する。

0086

なお、本実施の形態においては、タイマー100T,124T,127T,129Tの全てが同期する必要はなく、少なくとも、ワークを撮影したタイミングを計測するめのタイマー124T(第1タイマー)と、カウント値の計測タイミングを計測するためのタイマー127T(第2タイマー)とが同期していればよい。基準カウント値を特定するためには、タイマー124T,127Tが同期していれば十分であるからである。タイマー124T,127Tが同期している状態で、撮影タイミングと、カウント値の計測タイミングとが計測されることで、撮影タイミングに対応する計測タイミングを正確に求めることができる。

0087

<G.ファンクションブロック>
上述のオーバーサンプリング機能を実現するためのプログラムは、ファンクションブロックとして提供される。図11を参照して、そのファンクションブロックについて説明する。図11は、ファンクションブロック190を概略的に示す概念図である。

0088

ファンクションブロック190は、たとえば、コントローラ100の主メモリ102(図15参照)や記憶装置110(図15参照)などに格納されている。ファンクションブロック190は、オーバーサンプリング機能に対する設定を受け付ける受付部191〜193と、当該設定に対する応答を出力する出力部194,195を有する。

0089

受付部191は、カウンタ127におけるカウント値の計測間隔の設定を受け付ける。すなわち、受付部191に対する計測間隔の設定により、カウンタ127の計測間隔は、任意に変更され得る。

0090

受付部192は、計測間隔を設定する対象のカウンタの識別番号を受け付ける。すなわち、受付部192に対する識別番号の設定で、計測間隔を変更する対象のカウンタが指定される。

0091

受付部193は、計測間隔の変更を実行するか否かを指定する変数の入力を受け付ける。一例として、受付部193が「TRUE」を受け付けると、計測間隔の変更が実行される。受付部193が「FALSE」を受け付けている間は、計測間隔の変更が実行されない。

0092

出力部194,195は、計測間隔の変更が正常に実行されたか否かを出力する。一例として、計測間隔の変更が正常に実行された場合には、出力部194は「TRUE」を出力し、出力部195は「FALSE」を出力する。一方で、計測間隔の変更が正常に実行さなかった場合には、出力部194は「FALSE」を出力し、出力部195は「TRUE」を出力する。

0093

<H.フローチャート>
図12〜14を参照して、情報処理システム1の制御構造について説明する。図12は、情報処理システム1を構成するカウンタ127が実行する処理の一部を表わすフローチャートである。図13は、情報処理システム1を構成する画像センサ124が実行する処理の一部を表わすフローチャートである。図14は、情報処理システム1を構成するコントローラ100が実行する処理の一部を表わすフローチャートである。

0094

以下では、カウンタ127、画像センサ124、コントローラ100の制御フローについて順に説明する。

0095

(H1.カウンタ127の制御構造)
まず、図12を参照して、カウンタ127の制御フローについて説明する。図12の処理は、カウンタ127の制御装置がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。

0096

ステップS110において、カウンタ127は、上述のカウント部151(図8参照)として、エンコーダ128(図1参照)からパルス波を受け、当該パルス波に含まれるパルス数をカウントする。当該パルス数のカウント値は、コンベア123(図1参照)の移動量を表わす。また、カウンタ127は、カウント値を計測したタイミングを計測タイミングとしてタイマー127T(図10参照)から取得する。計測されたカウント値と、その計測タイミングとは、上述のカウンタ計測結果127A(図5参照)において関連付けられる。

0097

ステップS112において、カウンタ127は、カウンタ計測結果127Aの送信タイミングが到来したか否かを判断する。当該送信タイミングは、コントローラ100とカウンタ127との通信周期ごとに到来する。カウンタ計測結果127Aの送信タイミングが到来したか否かは、たとえば、タイマー127T(図10参照)の時刻に基づいて判断される。カウンタ127は、カウンタ計測結果127Aの送信タイミングが到来したと判断した場合(ステップS112においてYES)、制御をステップS114に切り替える。そうでない場合には(ステップS112においてNO)、カウンタ127は、制御をステップS110に戻す。

0098

ステップS114において、カウンタ127は、カウンタ計測結果127Aをコントローラ100に送信する。なお、カウンタ計測結果127Aは、コントローラ100に送信された時点で削除されてもよい。

0099

ステップS116において、カウンタ127は、カウント値の計測を終了するか否かを判断する。一例として、カウンタ127は、ワークの選別処理終了操作を受け付けたことに基づいて、カウント値の計測を終了すると判断する。カウンタ127は、カウント値の計測を終了すると判断した場合(ステップS116においてYES)、図12に示される処理を終了する。そうでない場合には(ステップS116においてNO)、カウンタ127は、制御をステップS110に戻す。

0100

(H2.画像センサ124の制御構造)
次に、図13を参照して、画像センサ124の制御フローについて説明する。図13の処理は、画像センサ124の制御装置がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。

0101

ステップS120において、画像センサ124は、ワークの撮影タイミングが到来したか否かを判断する。一例として、撮影タイミングは、予め設定された撮影間隔ごとに周期的に到来する。画像センサ124は、ワークの撮影タイミングが到来したと判断した場合(ステップS120においてYES)、制御をステップS122に切り替える。そうでない場合には(ステップS120においてNO)、画像センサ124は、制御をステップS120の処理を再び実行する。

0102

ステップS122において、画像センサ124は、撮影部125(図1参照)に撮影指示を出力し、コンベア上を搬送されるワークを撮影部125に撮影させる。これにより、画像センサ124は、撮影部125から入力画像を取得する。このとき、画像センサ124は、ワークの撮影タイミングをタイマー124T(図10参照)から取得する。

0103

ステップS124において、画像センサ124は、上述の計測部161(図8参照)として、入力画像内のワークを計測する。一例として、画像センサ124は、パターンマッチングなどの画像処理により画像内のワークの位置を計測する。当該ワークの位置は、カメラ座標系の座標値で表わされる。当該ワークの座標値と、ステップS122で取得された撮影タイミングとは、上述のワーク計測結果124A(図7参照)において関連付けられる。

0104

ステップS126において、画像センサ124は、ワーク計測結果124Aをコントローラ100に送信する。なお、ワーク計測結果124Aは、コントローラ100に送信された時点で削除されてもよい。

0105

(H3.コントローラ100の制御構造)
次に、図14を参照して、コントローラ100の制御フローについて説明する。図14の処理は、コントローラ100の制御装置101(図15参照)がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。

0106

ステップS150において、コントローラ100は、上述の受信部171(図8参照)として、ワーク計測結果124A(図7参照)を画像センサ124から受信する。また、コントローラ100は、カウンタ計測結果127A(図5参照)をカウンタ127から受信する。

0107

ステップS152において、コントローラ100は、上述の移動量特定部172(図8参照)として、カウンタ計測結果127Aに規定されている計測タイミングの中から、ワーク計測結果124Aに規定されている撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値を基準カウント値として特定する。基準カウント値の特定方法は、上述の図9で説明した通りである。

0108

ステップS154において、コントローラ100は、上述の位置特定部173(図8参照)として、予め規定されている座標変換式に基づいて、ワーク計測結果124Aに規定されているカメラ座標系の各ワークの座標値を、ワールド座標系の座標値に変換する。当該座標変換式は、コンベア123および撮影部125の位置関係に基づいて規定されている。変換後の各ワークの座標値は、基準位置として記憶される。

0109

ステップS160において、コントローラ100は、現在のカウント値をカウンタ127から受信したか否かを判断する。コントローラ100は、現在のカウント値をカウンタ127から受信したと判断した場合(ステップS160においてYES)、制御をステップS162に切り替える。そうでない場合には(ステップS160においてNO)、コントローラ100は、ステップS160の処理を再び実行する。

0110

ステップS162において、コントローラ100は、上述の算出部176(図8参照)として、ステップS160で受信した現在のカウント値と、ステップS152で特定された基準カウント値との差に基づいて、各ワークの撮影タイミングからの移動量を算出する。典型的には、1カウント当たりの単位移動量は予め規定されており、コントローラ100は、現在のカウント値と基準カウント値との差に当該単位移動量を乗算した結果を、撮影タイミングからの各ワークの移動量として算出する。コントローラ100は、当該移動量を各ワークの基準位置に加算することで、各ワークの現在位置を算出する。ステップS162の算出処理が繰り返されることで、ワークのトラッキングが実現される。

0111

ステップS170において、コントローラ100は、ワークの現在位置がロボット130の作業エリアAR2(図1参照)に到達したか否かを判断する。コントローラ100は、ワークの現在位置がロボット130の作業エリアAR2に到達したと判断した場合(ステップS170においてYES)、制御をステップS170に切り替える。そうでない場合には(ステップS170においてNO)、コントローラ100は、制御をステップS160に戻す。

0112

ステップS172において、コントローラ100は、上述の出力部179(図8参照)として、ワークの現在位置を用いて、ワークをピックアップするための動作指示をロボットコントローラ129(図1参照)に出力する。これにより、ロボットコントローラ129は、ロボット130のアーム部分をワークの現在位置に移動し、ロボット130にワークをピックアップさせる。その後、ロボット130は、所定の場所にワークを移動し、ワークをリリースする。好ましくは、ワークの移動先は、ワークの種別ごとに変えられてもよい。これにより、コンベア上を搬送されるワークが種別ごとに選別される。

0113

ステップS180において、コントローラ100は、ワークの選別処理を終了するか否かを判断する。一例として、コントローラ100は、終了操作を受け付けたことに基づいて、ワークの選別処理を終了すると判断する。コントローラ100は、ワークの選別処理を終了すると判断した場合(ステップS180においてYES)、図14に示される処理を終了する。そうでない場合には(ステップS180においてNO)、コントローラ100は、制御をステップS150に戻す。

0114

<I.コントローラ100のハードウェア構成>
図15を参照して、本実施の形態に従うコントローラ100のハードウェア構成について説明する。図15は、本実施の形態に従うコントローラ100のハードウェア構成を示す模式図である。

0115

コントローラ100は、一例として、汎用的なコンピュータアーキテクチャに準じて構成されるコンピュータからなる。コントローラ100は、たとえば、PLCである。コントローラ100は、制御装置101と、主メモリ102と、通信インターフェイス103と、センサインターフェイス104と、操作インターフェイス105と、表示インターフェイス106と、光学ドライブ107と、記憶装置110(記憶部)とを含む。これらのコンポーネントは、内部バス119を介して互いに通信可能に接続されている。

0116

制御装置101は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU(Central Processing Unit)、少なくとも1つのASIC(Application Specific IntegratedCircuit)、少なくとも1つのFPGA(Field Programmable Gate Array)、またはそれらの組み合わせなどによって構成される。制御装置101は、記憶装置110に格納されている位置特定プログラム114を主メモリ102に展開して実行することで、本実施の形態に従う各種処理を実現する。主メモリ102は、揮発性メモリにより構成され、制御装置101によるプログラム実行に必要なワークメモリとして機能する。

0117

通信インターフェイス103は、外部機器との間でネットワークを介してデータを遣り取りする。当該外部機器は、たとえば、上述の画像センサ124(図1参照)、上述のカウンタ127(図1参照)、上述のロボットコントローラ129(図1参照)、サーバ、その他の通信機器などを含む。コントローラ100は、通信インターフェイス103を介して、本実施の形態に従う位置特定プログラム114をダウンロードできるように構成されてもよい。

0118

センサインターフェイス104は、上述の画像センサ124と接続される。画像センサ124には、上述の撮影部125が接続され、センサインターフェイス104は、撮影部125の撮影により得られる画像信号を取り込むとともに、画像センサ124を介して撮影部125に撮影タイミングなどの指令を送る。撮影部125は、一例として、レンズなどの光学系に加えて、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった、複数の画素区画された撮像素子を含んで構成される。

0119

操作インターフェイス105は、操作部122に接続され、操作部122からのユーザ操作を示す信号を取り込む。操作部122は、典型的には、キーボード、マウス、タッチパネル、タッチパッドなどからなり、ユーザからの操作を受け付ける。

0120

表示インターフェイス106は、表示部120と接続され、制御装置101などからの指令に従って、表示部120に対して、画像を表示するための画像信号を送出する。表示部120は、ディスプレイインジケータなどからなり、ユーザに対して各種情報提示する。

0121

光学ドライブ107は、光学ディスク107Aなどから、その中に格納されている各種プログラムを読み出して、記憶装置110にインストールする。記憶装置110は、たとえば、位置特定プログラム114などを格納する。

0122

図15には、光学ドライブ107を介して必要なプログラムをコントローラ100にインストールする構成例を示すが、これに限られることなく、ネットワーク上のサーバ装置などからダウンロードするようにしてもよい。あるいは、コントローラ100上のプログラムは、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード、CF(Compact Flash)などの記憶媒体に書き込まれているプログラムによって書き換えられるように構成されてもよい。

0123

記憶装置110は、たとえば、ハードディスク外付けの記憶媒体である。一例として、記憶装置110は、選別対象の画像を表わすモデル画像111と、上述の基準情報112(図8参照)と、ワークの現在位置113(図8参照)と、本実施の形態に従う各種の処理を実現するための位置特定プログラム114とを格納する。

0124

位置特定プログラム114は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、任意のプログラムと協働して本実施の形態に従う処理が実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従うコントローラ100の趣旨を逸脱するものではない。さらに、本実施の形態に従う位置特定プログラム114によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、コントローラ100と画像センサ124とカウンタ127とロボットコントローラ129と少なくとも2つが協働して、本実施の形態に従う処理を実現するようにしてもよい。さらに、少なくとも1つのサーバが本実施の形態に従う処理を実現する、所謂クラウドサービスの形態でコントローラ100が構成されてもよい。

0125

<J.変形例>
図16を参照して、変形例に従う情報処理システム1について説明する。図16は、変形例に従う情報処理システム1の基本構成を示す模式図である。

0126

図1に示される情報処理システム1においては、移動量計測装置126がカウンタ127とエンコーダ128とで構成されていた。これに対して、変形例に従う情報処理システム1においては、移動量計測装置126は、サーボアンプ147と、サーボモータ148と、エンコーダ149とで構成されている。その他の点については図1に示される情報処理システム1と同じであるので、それらの説明については繰り返さない。

0127

サーボモータ148は、コンベア123を駆動する。エンコーダ149は、コンベア123の移動量として、サーボモータ148の駆動量を計測し、当該駆動量をサーボアンプ147に順次出力する。当該駆動量は、たとえば、サーボモータ148の回転角として表される。

0128

サーボアンプ147は、コントローラ100への前回の送信タイミングの経過後、次回の送信タイミングが到来するまでの間に、コンベア123の駆動量を複数回計測し、次回の送信タイミングが到来したことに基づいて、計測された各駆動量と、当該駆動量の各々の計測タイミングとを画像センサ124を介してコントローラ100に送信する。その後の処理については上述の通りであるので、その説明については繰り返さない。

0129

なお、コンベア123を駆動するためのモータは、サーボモータ148に限定されない。たとえば、コンベア123を駆動するためのモータは、誘導モータであってもよい。誘導モータは、インバータに電気的に接続されている。インバータから出力される交流電圧周波数が制御されることで、誘導モータの回転速度が調整される。エンコーダ149は、コンベア123の移動量として、誘導モータの駆動量を計測する。

0130

<K.利点>
以上のようにして、本実施の形態に従うカウンタ127は、コントローラ100への前回の送信タイミングの経過後、次回の送信タイミングが到来するまでの間に、コンベアの移動量を表わすカウント値を複数回計測する。これにより、コントローラ100とカウンタ127との通信間隔よりも短い間隔でカウント値が計測され、カウント値のオーバーサンプリングが実現される。カウンタ127は、次回の送信タイミングが到来したことに基づいて、計測されたカウント値と、各カウント値の計測タイミングとをコントローラ100に送信する。

0131

コントローラ100は、カウンタ127からのカウンタ計測結果を受信する一方で、ワークを撮影して得られた入力画像から計測されたワーク位置と、当該ワークの撮影タイミングとを画像センサ124から受信する。コントローラ100は、カウンタ127から受信した各計測タイミングの中から、撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値を基準カウント値として特定する。コントローラ100は、入力画像内のワーク位置から特定されたコンベア座標系のワーク位置を、基準カウント値に関連付けて記憶する。オーバーサンプリングされた計測タイミングの中から基準カウント値が特定されることで、撮影タイミングにおけるワーク位置が正確に特定される。

0132

他の利点として、画像センサ124とカウンタ127との間を配線する必要がなくなる。より具体的には、画像センサ124とカウンタ127との間が電気的に接続されている場合には、画像センサ124およびカウンタ127は、通信周期の制約を受けずにカウント値をやり取りすることができるが、そのためには、画像センサ124とカウンタ127との間が配線で接続されている必要がある。本実施の形態に従う情報処理システム1は、カウント値をオーバーサンプリングすることができるので、画像センサ124とカウンタ127との間に配線を設ける必要がない。特に、近年では、食品衛生管理が厳しく求められており、食品向けのロボットではコンベアシステム全体を洗浄する場合がある。この場合には、画像センサ124とカウンタ127との間を防水ケーブルで配線する必要があり、衛生面が懸念される。本実施の形態に従う情報処理システム1においては、画像センサ124とカウンタ127との間を配線する必要がないため、コストの削減でき、さらには、衛生面の改善することができる。

0133

さらに他の利点として、本実施の形態に従う情報処理システム1は、サーボモータを利用するシステムにも利用できることが挙げられる。より具体的には、システムによっては、カウンタ値を計測する機能が、カウンタ127ではなく、画像センサ124自体に搭載されているものがある。このような画像センサ124は、撮影タイミングとカウント値との両方を自身で計測することができるため、撮影タイミングとカウント値との間でずれがなくなる。しかしながら、サーボモータからのエンコーダ値は、コントローラ100および画像センサ124の両方に分配できないため、当該エンコーダ値は、画像センサ124に出力されると、コントローラ100には出力されなくなる。本実施の形態に従う情報処理システム1は、サーボモータからのエンコーダ値をコントローラ100および画像センサ124の両方に分配することなく、撮影タイミングと基準カウント値とのずれを解消することができる。

0134

今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。

0135

1,1X情報処理システム、100コントローラ、100T,124T,127T,129Tタイマー、101制御装置、102主メモリ、103通信インターフェイス、104センサインターフェイス、105操作インターフェイス、106表示インターフェイス、107光学ドライブ、107A光学ディスク、110記憶装置、111モデル画像、112基準情報、113 現在位置、114位置特定プログラム、119内部バス、120 表示部、122 操作部、123コンベア、124画像センサ、124A ワーク計測結果、125撮影部、126移動量計測装置、127カウンタ、127A カウンタ計測結果、128,149エンコーダ、129ロボットコントローラ、130ロボット、147サーボアンプ、148サーボモータ、151カウント部、152,162更新部、161計測部、171 受信部、172 移動量特定部、173位置特定部、174 記憶部、176 算出部、179,194,195 出力部、190ファンクションブロック、191〜193 受付部、201,202フィールドネットワーク。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ