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

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

Info

Publication number
JP6834232B2
JP6834232B2 JP2016156535A JP2016156535A JP6834232B2 JP 6834232 B2 JP6834232 B2 JP 6834232B2 JP 2016156535 A JP2016156535 A JP 2016156535A JP 2016156535 A JP2016156535 A JP 2016156535A JP 6834232 B2 JP6834232 B2 JP 6834232B2
Authority
JP
Japan
Prior art keywords
movement amount
work
timing
measurement
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016156535A
Other languages
English (en)
Other versions
JP2018024045A (ja
Inventor
純児 島村
純児 島村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2016156535A priority Critical patent/JP6834232B2/ja
Priority to CN201710091345.6A priority patent/CN107705282B/zh
Priority to EP17156886.8A priority patent/EP3282219B1/en
Priority to US15/438,666 priority patent/US10155317B2/en
Publication of JP2018024045A publication Critical patent/JP2018024045A/ja
Application granted granted Critical
Publication of JP6834232B2 publication Critical patent/JP6834232B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0093Programme-controlled manipulators co-operating with conveyor means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/02Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness
    • G01B21/04Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness by measuring coordinates of points
    • G01B21/045Correction of measurements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/4182Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell manipulators and conveyor only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/04Synchronising
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39102Manipulator cooperating with conveyor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39543Recognize object and plan hand shapes in grasping movements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40554Object recognition to track object on conveyor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/73Circuitry for compensating brightness variation in the scene by influencing the exposure time
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Manipulator (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Control Of Conveyors (AREA)
  • General Factory Administration (AREA)

Description

本開示は、コンベア上を搬送されるワークの位置を特定するための技術に関する。
FA(Factory Automation)分野において、コンベア上を搬送されるワークをピックアップすることができる産業用のロボットが普及している。当該ロボットは、たとえば、コンベア上を搬送されるワークを種別ごとに選別するために利用される。
産業用のロボットに関して、特開2015−174171号公報(特許文献1)は、「コンベアが、たわみ、膨らみ、または傾斜を有していても、ワークを正しく把持することができる」ロボット制御装置を開示している。特開2012−166308号公報(特許文献2)は、「撮像装置に対する撮像指示を発生してから実際に撮像が行われるまでにタイムラグが存在する場合であっても、正確にトラッキング処理を行うことのできる」画像処理装置を開示している。
コンベア上のワークを選別する際、ワークの位置を精度よく検出することが重要である。そのためには、計測機器の計測タイミングを正確に把握する必要がある。たとえば、特開2005−293567号公報(特許文献3)は、「計測対象物の計測値を、計測値が得られた時間に関する情報と共に外部制御機器に出力できる」計測装置を開示している。各機器の時間を同期する方法として、特開2009−157913号公報(特許文献4)は、「nsオーダーの計時機能を持つ時計を備えたユニット間であっても、制御に影響を与えることなく時間同期を行える」産業用コントローラを開示している。
特開2015−174171号公報 特開2012−166308号公報 特開2005−293567号公報 特開2009−157913号公報
産業用のロボットは、たとえば、PLC(Programmable Logic Controller)などのコントローラによって制御される。当該コントローラは、コンベア上のワークをトラッキングし、そのトラッキング結果に基づいて産業用のロボットを制御する。ワークをトラッキングするためには、コンベア上のワークの位置を正確に特定することが重要である。
ワークの位置特定方法の一例について説明する。まず、コントローラから画像センサに対して計測指示が送信される。画像センサは、接続されているカメラに対して撮影指示を出力する。カメラは、露光を開始し、露光が完了した時点でワークを含む画像を画像センサに出力する。画像センサは、得られた画像に対してパターンマッチングなどの画像処理を実行し、当該画像内のワークの位置をコントローラに送信する。コントローラは、画像内の原点からの相対位置であるワークの位置と、後述するカウンタ値から撮影時におけるコンベア上のワーク位置(以下、「基準位置」ともいう)を算出する。また、カウンタ値を基にワークが基準位置からどれだけ移動したかを算出し、ロボットに対してワークの現在位置を指定する。
コントローラが画像センサに計測指示を出力してから、計測結果がコントローラに送信されるまでの時間は、数十から数百ミリ秒の遅れがあり、この遅延時間は一定ではない。そのため、撮影された時点の時刻を正確に知る手段がない。
コンベアの移動量は、たとえば、カウンタなどの移動量計測装置によって計測される。カウンタは、エンコーダから発生するパルス波に基づいてコンベアの移動量を計測する。エンコーダは、コンベアの移動量に合わせてパルス波をカウンタに出力する。カウンタは、パルス波のカウント値をコントローラに一定の通信周期ごとに送信する。カウンタとコントローラとの通信間隔は一定であり、カウント値のサンプリング周期は、カウンタとコントローラとの通信周期に依存する。そのため、通信周期間のカウント値の変化は計測できない。
また、前述の通り、画像センサのカメラが撮影した時刻をコントローラが正確に知る手段がない。仮に撮影時刻を推定できたとしても、前回の送信タイミングと次回の送信タイミングとの間にワークが撮影された場合には、カウンタ値を計測することができない。撮影時刻でのカウンタ値を知る手段がないため、前述の基準位置を高精度に算出することができず、その後のトラッキング処理の精度が大きく低下してしまう。特許文献1〜4は、このような問題を解決することについては開示していない。したがって、コンベア上を搬送されるワークの位置をより正確に特定することが可能な技術が望まれている。
ある局面に従うと、コンベア上を搬送されるワークの位置を特定するための情報処理システムは、撮影タイミングの設定を受け付けるための情報処理装置と、上記情報処理装置から受信した上記撮影タイミングが到来したことに基づいて、上記コンベア上を搬送されるワークを撮影するとともに、得られた画像内においてワークの位置を計測し、当該画像内におけるワークの位置を上記情報処理装置に送信するための画像センサと、上記情報処理装置と通信することが可能な移動量計測装置とを備える。上記移動量計測装置は、上記情報処理装置との通信周期よりも短い間隔で、上記コンベアの移動量を複数回計測し、上記情報処理装置への送信タイミングが到来したことに基づいて、上記計測された複数の移動量と、当該複数の移動量の各々の計測タイミングとを計測結果として上記情報処理装置に送信する。上記情報処理装置は、上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するための移動量特定部と、上記画像センサから受信した上記画像内のワークの位置に基づいて、上記撮影タイミングにおけるワークの位置を基準位置として特定するための位置特定部と、上記移動量計測装置から受信した上記コンベアの現在の移動量と、上記基準移動量とに基づいて、上記撮影タイミングからの経過時間に応じた上記ワークの移動量を算出し、当該移動量を上記基準位置に加算することで上記ワークの現在位置を算出するための算出部とを含む。
好ましくは、上記算出部は、上記移動量計測装置から受信した上記コンベアの現在の移動量と、上記基準移動量との差を上記基準位置に加算することで上記ワークの現在位置を算出する。
好ましくは、上記情報処理装置は、上記算出部によって算出されたワークの現在位置を用いて、上記ワークをピッキングするロボットへの動作指示を出力するための出力部をさらに含む。
好ましくは、上記移動量特定部は、上記移動量計測装置から受信した上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに最も近い計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を上記基準移動量として特定する。
好ましくは、上記移動量特定部は、上記移動量計測装置から受信した上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに最も近い第1計測タイミングと2番目に近い第2計測タイミングとを特定し、上記第1計測タイミングに対応付けられている移動量と、上記第2計測タイミングに対応付けられている移動量との間になるように上記基準移動量を特定する。
好ましくは、上記移動量特定部は、上記第2計測タイミングに対応付けられている移動量よりも、上記第1計測タイミングに対応付けられている移動量に近くなるように上記基準移動量を特定する。
好ましくは、上記移動量計測装置は、上記コンベアの移動量に応じてパルス信号を発生するためのエンコーダと、上記パルス信号に含まれるパルス数を上記移動量としてカウントするためのカウンタとを含む。
好ましくは、上記移動量計測装置は、上記コンベアを駆動するためのモータと、上記モータの駆動量を上記移動量として計測するためのエンコーダとを含む。
好ましくは、上記情報処理装置は、上記移動量計測装置における上記移動量の計測間隔の設定を受け付けるための受付部をさらに含む。
好ましくは、上記画像センサは、上記情報処理装置から受信した上記撮影タイミングが到来したことを計測するめの第1タイマーを含む。上記移動量計測装置は、上記移動量の計測タイミングを計測するための第2タイマーを含む。上記第1タイマーおよび上記第2タイマーは、互いに同期している。
好ましくは、上記情報処理装置は、上記撮影タイミングとして、上記画像センサの露光開始時刻および露光終了時刻の少なくとも一方の設定を受け付ける。
好ましくは、上記情報処理装置は、上記撮影タイミングとして、上記画像センサにおける上記ワークの撮影間隔の設定を受け付ける。
好ましくは、上記画像センサは、上記設定された撮影間隔ごとに順次撮影処理を実行する。
他の局面に従うと、コンベア上を搬送されるワークの現在位置を特定するための情報処理装置は、上記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するための通信部を備える。上記通信部は、上記移動量計測装置との通信周期よりも短い間隔で複数回計測された上記移動量と、当該複数の移動量の各々の計測タイミングとを計測結果として上記移動量計測装置から受信する。上記情報処理装置は、さらに、上記コンベア上を搬送されるワークを撮影する画像センサに対する撮影タイミングの設定を受け付けるための受付部と、上記撮影タイミングにおいて上記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置を上記画像センサから取得するための取得部と、上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するための移動量特定部と、上記画像内のワークの上記位置に基づいて、上記撮影タイミングにおけるワークの位置を基準位置として特定するための位置特定部と、上記移動量計測装置から受信した上記コンベアの現在の移動量と、上記基準移動量とに基づいて、上記撮影タイミングからの経過時間に応じた上記ワークの移動量を算出し、当該移動量を上記基準位置に加算することで上記ワークの現在位置を算出するための算出部とを備える。
他の局面に従うと、コンベア上を搬送されるワークの現在位置を特定するための位置特定方法は、上記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するステップを備える。上記通信するステップは、上記移動量計測装置との通信周期よりも短い間隔で複数回計測された上記移動量と、当該複数の移動量の各々の計測タイミングとを上記移動量計測装置から計測結果として受信するステップを含む。上記位置特定方法は、さらに、上記コンベア上を搬送されるワークを撮影する画像センサに対する撮影タイミングの設定を受け付けるステップと、上記撮影タイミングにおいて上記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置を上記画像センサから取得するステップと、上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するステップと、上記画像内のワークの上記位置に基づいて、上記撮影タイミングにおけるワークの位置を基準位置として特定するステップと、上記移動量計測装置から受信した上記コンベアの現在の移動量と、上記基準移動量とに基づいて、上記撮影タイミングからの経過時間に応じた上記ワークの移動量を算出し、当該移動量を上記基準位置に加算することで上記ワークの現在位置を算出するステップとを備える。
他の局面に従うと、コンベア上を搬送されるワークの現在位置を特定するための位置特定プログラムは、情報処理装置に、上記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するステップを実行させる。上記通信するステップは、上記移動量計測装置との通信周期よりも短い間隔で複数回計測された上記移動量と、当該複数の移動量の各々の計測タイミングとを上記移動量計測装置から計測結果として受信するステップを含む。上記位置特定プログラムは、上記情報処理装置に、さらに、上記コンベア上を搬送されるワークを撮影する画像センサに対する撮影タイミングの設定を受け付けるステップと、上記撮影タイミングにおいて上記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置を上記画像センサから取得するステップと、上記計測結果に規定されている複数の計測タイミングの中から、上記撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するステップと、上記画像内のワークの上記位置に基づいて、上記撮影タイミングにおけるワークの位置を基準位置として特定するステップと、上記移動量計測装置から受信した上記コンベアの現在の移動量と、上記基準移動量とに基づいて、上記撮影タイミングからの経過時間に応じた上記ワークの移動量を算出し、当該移動量を上記基準位置に加算することで上記ワークの現在位置を算出するステップとを実行させる。
ある局面において、コンベア上を搬送されるワークの位置をより正確に特定することができる。
本開示の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
実施の形態に従う情報処理システムの基本構成を示す模式図である。 コンベア上を搬送されるワークを選別する作業工程を示す図である。 関連技術に従う情報処理システムにおける制御動作を示すタイムチャートである。 実施の形態に従う情報処理システムにおける制御動作を示すタイムチャートである。 カウンタ計測結果のデータ構造の一例を示す図である。 カウント値と計測タイミングとの関係をグラフで示す図である。 ワーク計測結果のデータ構造の一例を示す図である。 実施の形態に従う情報処理システムの機能構成の一例を示す図である。 カウンタ計測結果の一部を拡大した図である。 タイマーの同期処理を概略的に示す概念図である。 ファンクションブロックを概略的に示す概念図である。 実施の形態に従うカウンタが実行する処理の一部を表わすフローチャートである。 実施の形態に従う画像センサが実行する処理の一部を表わすフローチャートである。 実施の形態に従うコントローラが実行する処理の一部を表わすフローチャートである。 実施の形態に従うコントローラのハードウェア構成を示す模式図である。 変形例に従う情報処理システムの基本構成を示す模式図である。
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
<A.情報処理システム1>
図1および図2を参照して、本実施の形態に従う情報処理システム1の基本構成について説明する。図1は、本実施の形態に従う情報処理システム1の基本構成を示す模式図である。
図1に示されるように、情報処理システム1は、情報処理装置としてのコントローラ100と、画像センサ124と、カメラとしての撮影部125と、移動量計測装置126と、ロボットコントローラ129と、ロボット130とを含む。
コントローラ100は、たとえばPLCであり、情報処理システム1全体を制御する。コントローラ100には、表示部120および操作部122が接続され得る。表示部120は、画像を表示可能な液晶パネルなどで構成される。操作部122は、典型的には、タッチパネル、キーボード、マウスなどで構成される。
移動量計測装置126は、たとえば、カウンタ127とエンコーダ128とで構成されている。カウンタ127およびエンコーダ128は、電気的に接続されている。エンコーダ128は、コンベア123を駆動するためのモータに電気的に接続されている。
コントローラ100、画像センサ124、およびカウンタ127は、デイジーチェーンでフィールドネットワーク201に接続されている。フィールドネットワーク201として、たとえば、EtherCAT(登録商標)が採用される。また、コントローラ100は、フィールドネットワーク202を介してロボットコントローラ129と通信接続されている。フィールドネットワーク202として、たとえば、EtherNET(登録商標)が採用される。
情報処理システム1では、コンベア123上を搬送されるワークWに対して所定の作業を行う。ワークWは、製品または半製品であり、たとえば、食料品であってもよいし、コネクタなどの電子部品であってもよい。
カウンタ127は、エンコーダ128から発生するパルス波に基づいてコンベアの移動量を計測する。より具体的には、エンコーダ128は、コンベア123の移動量に応じてパルス信号を発生する。カウンタ127は、エンコーダ128からパルス信号を受け、当該パルス信号に含まれるパルス数をカウントすることでコンベア123の移動量を計測する。カウンタ127は、パルス波のカウント値を画像センサ124を介してコントローラ100に一定の通信周期ごとに送信する。
図2は、コンベア123上を搬送されるワークを選別する作業工程を示す図である。図2の例では、形状が丸いワークW1,W2が選別態様であるとする。
ステップS1において、選別対象のワークW1が撮影部125の撮影エリアAR1に到達したとする。
ステップS2において、コントローラ100は、画像センサ124に撮影指示を送信し、撮影部125に撮影処理を実行させる。撮影指示は、たとえば、定期的に画像センサ124に送信される。一例として、コントローラ100は、前回の撮影指示の出力時におけるカウンタ127のカウント値と、現在のカウント値との差分値が所定値を超えたタイミングで、画像センサ124に撮影指示を送信する。これにより、ワークWの撮影処理が定期的に実行される。
画像センサ124は、撮影部125から得られた入力画像内からワークW1を計測する。一例として、画像センサ124は、パターンマッチングなどの画像処理によりワークW1を計測する。より具体的には、選別対象のワークを表わすモデル画像が画像センサ124に予め登録されており、画像センサ124は、撮影部125から得られた入力画像内においてモデル画像と類似する画像領域を探索する。モデル画像と類似する画像領域が計測された場合には、画像センサ124は、当該画像領域の位置を記憶する。画像センサ124によって計測されたワークW1の位置は、カメラ座標系の座標値(cx,cy)[pixel]で表わされる。画像センサ124は、画像内におけるワーク位置をコントローラ100に出力する。
コントローラ100は、撮影タイミングにおけるカウント値と、予め定められた座標変換式とに基づいて、カメラ座標系の座標値をワールド座標系の座標値に変換する。撮影タイミングにおけるカウント値の取得方法の詳細については後述する。ワールド座標系は、ロボット130を制御するための座標系であり、ワールド座標系でのワークWの位置は、座標値(wx,wy,wz)[mm]で表わされる。当該座標値は、撮影タイミングにおけるワークの位置(すなわち、基準位置)を示す。
コントローラ100は、ワールド座標系で示されるワークW1の位置に基づいて、ワークW1をトラッキングする。より具体的には、コントローラ100は、カウンタ127から現在のカウント値を受信すると、当該現在の新たなカウント値と、ワークW1の撮影時におけるカウント値と差に基づいて、撮影タイミングからのワークW1の移動量を算出する。コントローラ100は、撮影タイミングにおけるワークの基準位置に当該移動量を加算することで、ワークW1の現在位置を算出する。この算出処理が繰り返されることで、ワークW1のトラッキング処理が実現される。
ステップS3において、ワークW1は、撮影エリアAR1を抜けるとする。撮影部125による次の撮影処理は、ワークW1が撮影エリアAR1を抜けるまで実行されない。一例として、コントローラ100は、ワークW1の現在位置が撮影エリアAR1に含まれている場合には、画像センサ124に撮影指示を出力しない。これにより、同一のワークW1が重複して撮影することが防止される。
ステップS4において、コントローラ100は、ワークW1の現在位置がロボット130の作業エリアAR2に到達したか否かを判断する。コントローラ100は、ワークW1の現在位置が作業エリアAR2に到達したと判断した場合、ワークW1の現在位置を用いてワークW1をピックアップするための動作指示を生成し、当該動作指示をロボットコントローラ129に送信する。ロボットコントローラ129は、コントローラ100から受信した動作指示に基づいて、ロボット130を駆動し、ワークW1をピックアップする。
また、コントローラ100は、次の撮影タイミングが到来したことに基づいて、画像センサ124に撮影指示を送信し、撮影部125に撮影処理を実行させる。これにより、選別対象のワークW2が撮影される。その後は、上述のワークW1と同様に、ワークW2の位置特定、ワークW2のトラッキング処理、ワークW2のピックアップ処理が順次実行される。
なお、図1には、画像センサ124および撮影部125が別個に構成されている例が示されているが、画像センサ124および撮影部125は、一体的に構成されてもよい。また、図1には、コントローラ100と画像センサ124とが別個に構成されている例が示されているが、コントローラ100および画像センサ124は、一体的に構成されてもよい。また、図1には、コントローラ100とロボットコントローラ129とが別個に構成されている例が示されているが、コントローラ100およびロボットコントローラ129は、一体的に構成されてもよい。
<B.関連技術>
図3を参照して、関連技術に従う情報処理システム1Xの課題について説明する。図3は、関連技術に従う情報処理システム1Xにおける制御動作を示すタイムチャートである。
図3に示されるように、情報処理システム1Xは、コントローラ100と、画像センサ124と、カウンタ127と、エンコーダ128とで構成されている。
エンコーダ128は、コンベア123が所定量移動する度にパルス波をカウンタ127に出力する。カウンタ127は、当該パルス波をカウントアップすることでコンベア123の移動量を計測する。カウンタ127は、パルス波のカウント値をコントローラ100に一定の通信周期Tごとに送信する。
一方で、時刻T1において、コントローラ100は、ワークの撮影指示を受け付けたとする。これにより、コントローラ100は、画像センサ124に撮影指示を送信する。時刻T2において、画像センサ124は、ワークの撮影処理の前処理を実行する。時刻T3において、当該前処理が終了したことに基づいて、画像センサ124は、撮影部125の露光を開始する。時刻T4において、撮影部125の露光が終了したことに基づいて、画像センサ124は、露光処理により得られた入力画像を撮影部125から取得する。画像センサ124は、当該入力画像に対するワークの計測処理を開始する。一例として、画像センサ124は、パターンマッチングなどの画像処理により入力画像内のワークの位置を計測する。当該ワークの位置は、カメラ座標系の座標値で表わされる。
時刻T5において、コントローラ100は、撮影時におけるカウント値(以下、「基準カウント値」ともいう。)と、カメラ座標系のワークの座標値とに基づいて、撮影タイミングにおけるワークの基準位置を算出する。その後、コントローラ100は、カウンタ127から現在のカウント値を受信し、現在のカウント値と基準カウント値との差に基づいて、撮影タイミングからのワークの移動量を算出し、当該移動量をワークの基準位置に加算する。これにより、ワークの現在位置が逐次更新されることで、ワークのトラッキングが実現される。
このように、コントローラ100は、撮影時の基準カウント値を元にワークをトラッキングする。そのため、基準カウント値を正確に計測することが重要である。関連技術に従う情報処理システム1Xは、通信周期Tごとにカウント値を取得するため、カウント値のサンプリング周期は、コントローラ100とカウンタ127との通信周期に依存する。そのため、通信周期間のカウント値の変化は計測できない。そのため、関連技術に従う情報処理システム1Xにおいては、基準カウント値が撮影タイミングからずれてしまい、トラッキング処理の精度が低下してしまう。
<C.オーバーサンプリング処理>
上述の基準カウント値のずれを抑制するために、本実施の形態に従う情報処理システム1は、コントローラ100とカウンタ127との通信周期Tよりも短い間隔でカウント値をオーバーサンプリングする。カウント値がオーバーサンプリングされることで、通信周期Tの制約を受けず、基準カウント値を正確に計測することができる。
以下では、図4〜図8を参照して、情報処理システム1によるオーバーサンプリング処理について説明する。図4は、本実施の形態に従う情報処理システム1における制御動作を示すタイムチャートである。
カウンタ127は、コントローラ100との通信間隔よりも短い間隔でカウント値を複数回計測する。すなわち、カウンタ127は、コントローラ100への前回の送信タイミングの経過後、次回の送信タイミングが到来するまでの間に、カウント値を複数回計測する。このとき、計測されたカウント値と、当該カウント値の計測タイミングとは、図5に示されるカウンタ計測結果127Aとしてカウンタ127に記憶される。図5は、カウンタ計測結果127Aのデータ構造の一例を示す図である。図5に示されるように、カウンタ計測結果127Aには、各カウント値に計測タイミングが関連付けられている。一例として、各カウント値の計測間隔は、10マイクロ秒である。カウンタ127は、カウンタ計測結果127Aの送信タイミングが到来したことに基づいて、カウンタ計測結果127Aをコントローラ100に送信する。
図6は、カウント値と計測タイミングとの関係をグラフで示す図である。より具体的には、図6(A)には、コントローラ100とカウンタ127との通信間隔ΔTの間にカウント値が複数回計測された場合におけるカウント値と計測タイミングとの関係が示されている。図6(B)には、通信間隔ΔTの間に1回だけカウント値が計測された場合におけるカウント値と計測タイミングとの関係が示されている。図6(A)に示されるように、カウント値は、計測タイミングに単純に比例するわけでなく、様々な要因で変動する。そのため、通信間隔ΔTの間にカウント値が計測される回数が多くなるほど、カウント値の変動がより正確に把握される。
再び図4を参照して、計測されたカウント値は、カウンタ計測結果127Aとしてコントローラ100に送信される。コントローラ100は、カウンタ計測結果127Aをカウンタ127から受信する一方で、画像センサ124からワークの計測結果を受信する。
より具体的には、時刻T1において、コントローラ100は、ワークの撮影タイミングの設定を受け付けたとする。これにより、コントローラ100は、設定された撮影タイミングを画像センサ124に送信する。時刻T2において、設定された撮影タイミングが到来したとする。これにより、画像センサ124は、ワークの撮影処理の前処理を実行する。時刻T3において、当該前処理が終了したことに基づいて、画像センサ124は、撮影部125の露光を開始する。
時刻T4において、撮影部125の露光が終了したことに基づいて、画像センサ124は、露光処理により得られた画像を撮影部125から取得する。画像センサ124は、当該画像に写るワークの計測処理を開始する。一例として、画像センサ124は、パターンマッチングなどの画像処理により画像内のワークの位置を計測する。当該ワークの位置は、カメラ座標系の座標値で表わされる。ワークの計測結果は、図7に示されるワーク計測結果124Aに書き込まれる。図7は、ワーク計測結果124Aのデータ構造の一例を示す図である。図7に示されるように、ワーク計測結果124Aには、計測された各ワークの識別番号と、カメラ座標系で示される各ワークの座標値とが対応付けられている。
再び図4を参照して、時刻T5において、コントローラ100は、ワーク計測結果124Aを画像センサ124から受信する。次に、コントローラ100は、カウンタ計測結果127Aに規定されている複数の計測タイミングの中から、時刻T1において設定された撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値(移動量)を基準カウント値として特定する。コントローラ100は、撮影タイミングからの経過時間に応じたワークの移動量を基準位置に加算することで、ワークの現在位置を算出する。このような算出処理が繰り返されることで、トラッキング処理が実現される。
より具体的には、コントローラ100は、カウンタ127から受信した現在のカウント値と、基準カウント値との差に基づいて、撮影タイミングからの経過時間に応じてワークの移動量を算出する。コントローラ100は、当該移動量をワークの基準位置に加算することで、ワークの現在位置を算出する。
コントローラ100は、逐次更新されるワークの現在位置を用いて、ロボット130(図1参照)への動作指示を出力する。これにより、ロボット130は、ワークの現在位置を把握することができ、ワークをピッキングすることができる。
以上のように、撮影時における基準カウント値が、オーバーサンプリングされたカウント値の中から選択されることで、コントローラ100とカウンタ127との間の通信周期Tの制約を受けず、撮影時における基準カウント値が正確に把握される。その結果、トラッキング処理の精度が改善される。
<D.情報処理システム1の機能構成>
図8を参照して、本実施の形態に従う情報処理システム1の機能構成について説明する。図8は、情報処理システム1の機能構成の一例を示す図である。
図8に示されるように、情報処理システム1は、コントローラ100と、画像センサ124と、カウンタ127とで構成されている。コントローラ100は、機能構成として、受付部159と、移動量特定部172と、位置特定部173と、記憶部174と、算出部176と、出力部179とを含む。画像センサ124は、機能構成として、撮影制御部160と、計測部161とを含む。カウンタ127は、機能構成として、カウント部151と、更新部152とを含む。
カウント部151は、エンコーダ128(図1参照)から発生するパルス波に含まれるパルス数をカウントする。カウント値の計測間隔は、コントローラ100とカウンタ127との通信周期よりも短い。これにより、カウント値のオーバーサンプリングが実現される。カウント部151は、カウント値をカウントアップする度にカウント値を更新部152に出力する。
更新部152は、カウント部151からカウント値を受け付けると、当該カウント値を現在時刻に関連付けた上で、カウント値と現在時刻とを上述のカウンタ計測結果127A(図5参照)に書き込む。これにより、各カウント値の計測タイミングがカウンタ計測結果127Aに書き込まれる。カウンタ計測結果127Aは、コントローラ100とカウンタ127との通信周期ごとにコントローラ100に送信される。
受付部159は、撮影部125(図1参照)に対する撮影タイミングの設定を受け付ける。撮影タイミングの設定は、たとえば、表示部120(図1参照)に表示される設定画面に対して行われる。一例として、当該設定画面に対する入力操作は、操作部122(図1参照)に対するユーザ操作よって実現される。
ある局面において、受付部159は、撮影タイミングとして、撮影部125の露光開始時刻および撮影部125の露光終了時刻の少なくとも一方の設定を受け付ける。他の局面において、受付部159は、撮影タイミングとして、撮影部125におけるワークの撮影間隔の設定を受け付ける。設定された撮影タイミングは、画像センサ124に送信される。
撮影制御部160は、コントローラ100から受信した撮影タイミングに基づいて、撮影部125に撮影指示を出力する。より具体的には、撮影制御部160は、後述のタイマー124T(図10参照)が示す時刻と、コントローラ100から指定された撮影タイミングとを比較し、当該比較結果が予め定められた条件を満たした場合に、撮影部125に撮影指示を出力する。
たとえば、撮影タイミングとして露光開始タイミングが指定されている場合には、撮影制御部160は、タイマー124Tの時刻が、指定された露光開始タイミングと一致または略一致したときに、撮影部125に撮影指示を出力する。撮影タイミングとして露光終了タイミングが指定されている場合には、撮影制御部160は、タイマー124Tの時刻が、指定された露光終了タイミングの所定時間前の時刻に一致または略一致したときに、撮影部125に撮影指示を出力する。あるいは、撮影タイミングとして撮影間隔が指定されている場合には、撮影制御部160は、タイマー124Tを用いて撮影間隔を計測し、当該撮影間隔ごとに撮影部125に順次撮影指示を出力する。
計測部161は、ワークを撮影して得られた入力画像を撮影部125から受け付けたことに基づいて、入力画像内におけるワークの座標値を計測する。当該座標値は、カメラ座標系で表わされている。計測された座標値は、上述のワーク計測結果124A(図7参照)に書き込まれる。
受信部171は、一定の通信周期ごとにカウンタ127からカウンタ計測結果127Aを受信する。受信したカウンタ計測結果127Aは、移動量特定部172に出力される。また、受信部171(取得部)は、一定の通信間隔ごとに画像センサ124からワーク計測結果124Aを受信する。ワーク計測結果124Aは、設定された撮影タイミングに基づく撮影処理により得られた画像から計測されたワークの位置を規定している。受信したワーク計測結果124Aは、位置特定部173に出力される。
移動量特定部172は、カウンタ計測結果127Aに規定されている計測タイミングの中から、受付部159が受け付けた撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値を基準カウント値として特定する。基準カウント値は、記憶部174に出力される。
位置特定部173は、予め規定されている座標変換式に基づいて、ワーク計測結果124Aに規定されているカメラ座標系の各ワークの座標値を、ワールド座標系の座標値に変換する。当該座標変換式は、撮影部125およびコンベアの位置関係に基づいて規定されている。変換後の各ワークの座標値は、ワークの基準位置として記憶部174に出力される。
記憶部174は、移動量特定部172によって特定された基準カウント値と、位置特定部173によって特定されたコンベア上のワークの基準位置とを関連付けて基準情報112として記憶する。
算出部176は、カウンタ127から現在のカウント値を受信し、当該現在のカウント値と、基準情報112に規定されている基準カウント値との差に基づいて、撮影タイミングからのワークの移動量を算出し、当該移動量をワークの基準位置に加算することでワークの現在位置113を算出する。典型的には、現在位置113の算出処理は、カウンタ127からカウント値を新たに受信する度に実行される。これにより、ワークの現在位置113が逐次算出され、ワークのトラッキング処理が実現される。
出力部179は、ワークの現在位置113がロボット130の作業エリアAR2(図1参照)に到達したことに基づいて、ワークをピックアップするための動作指示をロボットコントローラ129(図1参照)に出力する。これにより、ロボットコントローラ129は、ロボット130のアーム部分をワークの現在位置に移動し、ロボット130にワークをピックアップさせる。その後、ロボット130は、ワークを所定の場所に移動し、ワークをリリースする。
なお、図8では、計測部161の機能が画像センサ124に実装されている例について説明を行ったが、計測部161の機能は、コントローラ100に実装されてもよい。また、図8では、受付部159、移動量特定部172、位置特定部173、記憶部174、算出部176、および出力部179の機能がコントローラ100に実装されている例について説明を行ったが、これらの機能の少なくとも1つは、画像センサ124に実装されてもよいし、ロボットコントローラ129(図1参照)に実装されてもよい。
<E.基準カウント値の特定処理>
上述の図5で説明したように、カウンタ計測結果127Aには、各カウント値と、各カウント値の計測タイミングとが規定されている。移動量特定部172(図8参照)は、カウンタ計測結果127Aに規定されている計測タイミングの中から、設定された撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値を基準カウント値として特定する。
基準カウント値の特定方法としては、様々な方法が考えられる。ある局面において、移動量特定部172は、カウンタ計測結果127Aに規定されている複数の計測タイミングの中から、ワークの撮影タイミングに最も近い計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値を基準カウント値として特定する。
他の局面において、移動量特定部172は、カウンタ計測結果127Aに規定されている計測タイミングの中から、設定された撮影タイミングに最も近い第1計測タイミングと2番目に近い第2計測タイミングとを特定する。移動量特定部172は、第1計測タイミングに対応付けられているカウント値と、第2計測タイミングに対応付けられているカウント値との間になるように基準移動量を特定する。以下では、図9を参照して、この特定方法について説明する。図9は、カウンタ計測結果127Aの一部を拡大した図である。
撮影タイミングtは、ワークの撮影時刻を表わす。移動量特定部172は、撮影タイミングtに最も近い計測タイミングtと、撮影タイミングtに2番目に近い計測タイミングtとを特定する。移動量特定部172は、計測タイミングtに対応付けられているカウント値cと、計測タイミングtに対応付けられているカウント値cとの間になるように基準カウント値cを特定する。異なる言い方をすれば、移動量特定部172は、カウント値c,cの間を補間した上で、撮影タイミングtに対応する基準カウント値を特定する。
好ましくは、移動量特定部172は、撮影タイミングtに2番目に近い計測タイミングt(第2計測タイミング)に対応付けられているカウント値cよりも、撮影タイミングtに最も近い計測タイミングt(第1計測タイミング)に対応付けられているカウント値cに近くなるように基準カウント値cを特定する。より具体的には、移動量特定部172は、下記の式(1)に基づいて、基準カウント値cを特定する。
={c(t−t)−c(t−t)}/(t−t)・・・(1)
このように、カウント値が補間された上で基準カウント値cを特定することで、計測されるカウント値が離散的であったとしても、撮影タイミングにおける基準カウント値cが正確に特定される。
さらに他の局面において、移動量特定部172は、カウンタ計測結果127Aに規定されている各カウント値と各計測タイミングとに基づいて、カウント値と計測タイミングとの関係を表わす近似式を生成し、当該近似式に撮影タイミングを代入することで基準カウント値cを特定してもよい。当該近似式は、たとえば最小二乗法などで求められる。
<F.同期処理>
上述したように、基準カウント値を特定するために、各カウント値の計測タイミングを撮影タイミングと比較する。そのため、各カウント値の計測タイミングを計測するタイマーと、撮影タイミングを計測するタイマーとは、同期されていることが好ましい。以下では、図10を参照して、タイマーの同期処理について説明する。図10は、タイマーの同期処理を概略的に示す概念図である。
図10に示されるように、情報処理システム1は、コントローラ100と、画像センサ124と、カウンタ127と、ロボットコントローラ129とで構成されている。コントローラ100は、タイマー100Tを有する。画像センサ124は、ワークを撮影したタイミングを計測するめのタイマー124Tを有する。カウンタ127は、カウント値の計測タイミングを計測するためのタイマー127Tを有する。ロボット130は、タイマー129Tを有する。
タイマー100T,124T,127T,129Tの1つのタイマーはマスターとして機能し、他のタイマーはスレーブとして機能する。すなわち、マスターとしてのタイマーに合わせて、スレーブとしてのタイマーが同期される。図10の例では、コントローラ100のタイマー100Tがマスターとして設定されている。
コントローラ100は、一定の周期でタイマー100Tの時刻を、画像センサ124、カウンタ127、およびロボットコントローラ129に送信する。画像センサ124は、コントローラ100から時刻を受信すると、当該時刻に合わせてタイマー124Tを修正する。同様に、カウンタ127は、コントローラ100から時刻を受信すると、当該時刻に合わせてタイマー127Tを修正する。同様に、ロボットコントローラ129は、コントローラ100から時刻を受信すると、当該時刻に合わせてタイマー129Tを修正する。これにより、タイマー124T,127T,129Tがタイマー100Tと同期する。
なお、本実施の形態においては、タイマー100T,124T,127T,129Tの全てが同期する必要はなく、少なくとも、ワークを撮影したタイミングを計測するめのタイマー124T(第1タイマー)と、カウント値の計測タイミングを計測するためのタイマー127T(第2タイマー)とが同期していればよい。基準カウント値を特定するためには、タイマー124T,127Tが同期していれば十分であるからである。タイマー124T,127Tが同期している状態で、撮影タイミングと、カウント値の計測タイミングとが計測されることで、撮影タイミングに対応する計測タイミングを正確に求めることができる。
<G.ファンクションブロック>
上述のオーバーサンプリング機能を実現するためのプログラムは、ファンクションブロックとして提供される。図11を参照して、そのファンクションブロックについて説明する。図11は、ファンクションブロック190を概略的に示す概念図である。
ファンクションブロック190は、たとえば、コントローラ100の主メモリ102(図15参照)や記憶装置110(図15参照)などに格納されている。ファンクションブロック190は、オーバーサンプリング機能に対する設定を受け付ける受付部191〜193と、当該設定に対する応答を出力する出力部194,195を有する。
受付部191は、カウンタ127におけるカウント値の計測間隔の設定を受け付ける。すなわち、受付部191に対する計測間隔の設定により、カウンタ127の計測間隔は、任意に変更され得る。
受付部192は、計測間隔を設定する対象のカウンタの識別番号を受け付ける。すなわち、受付部192に対する識別番号の設定で、計測間隔を変更する対象のカウンタが指定される。
受付部193は、計測間隔の変更を実行するか否かを指定する変数の入力を受け付ける。一例として、受付部193が「TRUE」を受け付けると、計測間隔の変更が実行される。受付部193が「FALSE」を受け付けている間は、計測間隔の変更が実行されない。
出力部194,195は、計測間隔の変更が正常に実行されたか否かを出力する。一例として、計測間隔の変更が正常に実行された場合には、出力部194は「TRUE」を出力し、出力部195は「FALSE」を出力する。一方で、計測間隔の変更が正常に実行さなかった場合には、出力部194は「FALSE」を出力し、出力部195は「TRUE」を出力する。
<H.フローチャート>
図12〜14を参照して、情報処理システム1の制御構造について説明する。図12は、情報処理システム1を構成するカウンタ127が実行する処理の一部を表わすフローチャートである。図13は、情報処理システム1を構成する画像センサ124が実行する処理の一部を表わすフローチャートである。図14は、情報処理システム1を構成するコントローラ100が実行する処理の一部を表わすフローチャートである。
以下では、カウンタ127、画像センサ124、コントローラ100の制御フローについて順に説明する。
(H1.カウンタ127の制御構造)
まず、図12を参照して、カウンタ127の制御フローについて説明する。図12の処理は、カウンタ127の制御装置がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
ステップS110において、カウンタ127は、上述のカウント部151(図8参照)として、エンコーダ128(図1参照)からパルス波を受け、当該パルス波に含まれるパルス数をカウントする。当該パルス数のカウント値は、コンベア123(図1参照)の移動量を表わす。また、カウンタ127は、カウント値を計測したタイミングを計測タイミングとしてタイマー127T(図10参照)から取得する。計測されたカウント値と、その計測タイミングとは、上述のカウンタ計測結果127A(図5参照)において関連付けられる。
ステップS112において、カウンタ127は、カウンタ計測結果127Aの送信タイミングが到来したか否かを判断する。当該送信タイミングは、コントローラ100とカウンタ127との通信周期の度に到来する。カウンタ計測結果127Aの送信タイミングが到来したか否かは、たとえば、タイマー127T(図10参照)の時刻に基づいて判断される。カウンタ127は、カウンタ計測結果127Aの送信タイミングが到来したと判断した場合(ステップS112においてYES)、制御をステップS114に切り替える。そうでない場合には(ステップS112においてNO)、カウンタ127は、制御をステップS110に戻す。
ステップS114において、カウンタ127は、カウンタ計測結果127Aをコントローラ100に送信する。なお、カウンタ計測結果127Aは、コントローラ100に送信された時点で削除されてもよい。
ステップS116において、カウンタ127は、カウント値の計測を終了するか否かを判断する。一例として、カウンタ127は、ワークの選別処理の終了操作を受け付けたことに基づいて、カウント値の計測を終了すると判断する。カウンタ127は、カウント値の計測を終了すると判断した場合(ステップS116においてYES)、図12に示される処理を終了する。そうでない場合には(ステップS116においてNO)、カウンタ127は、制御をステップS110に戻す。
(H2.画像センサ124の制御構造)
次に、図13を参照して、画像センサ124の制御フローについて説明する。図13の処理は、画像センサ124の制御装置がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
ステップS118において、画像センサ124は、コントローラ100において設定された撮影タイミングをコントローラ100から受信する。一例として、画像センサ124は、撮影部125の露光開始時刻および撮影部125の露光終了時刻の少なくとも一方を撮影タイミングとして受信する。あるいは、画像センサ124は、撮影部125におけるワークの撮影間隔を撮影タイミングとして受信する。
ステップS120において、画像センサ124は、上述の撮影制御部160(図8参照)として、指定された撮影タイミングが到来したか否かを判断する。一例として、画像センサ124は、指定された撮影タイミングと、タイマー124T(図10参照)の時刻とを比較することで、指定された撮影タイミングが到来したか否かを判断する。画像センサ124は、ワークの撮影タイミングが到来したと判断した場合(ステップS120においてYES)、制御をステップS122に切り替える。そうでない場合には(ステップS120においてNO)、画像センサ124は、制御をステップS120の処理を再び実行する。
ステップS122において、画像センサ124は、撮影部125(図1参照)に撮影指示を出力し、コンベア上を搬送されるワークを撮影部125に撮影させる。これにより、画像センサ124は、撮影部125から入力画像を取得する。このとき、画像センサ124は、ワークの撮影タイミングをタイマー124T(図10参照)から取得する。
ステップS124において、画像センサ124は、上述の計測部161(図8参照)として、入力画像内のワークを計測する。一例として、画像センサ124は、パターンマッチングなどの画像処理により画像内のワークの位置を計測する。当該ワークの位置は、カメラ座標系の座標値で表わされる。当該ワークの座標値と、ステップS122で取得された撮影タイミングとは、上述のワーク計測結果124A(図7参照)において関連付けられる。
ステップS126において、画像センサ124は、ワーク計測結果124Aをコントローラ100に送信する。なお、ワーク計測結果124Aは、コントローラ100に送信された時点で削除されてもよい。
(H3.コントローラ100の制御構造)
次に、図14を参照して、コントローラ100の制御フローについて説明する。図14の処理は、コントローラ100の制御装置101(図15参照)がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
ステップS150において、コントローラ100は、上述の受信部171(図8参照)として、ワーク計測結果124A(図7参照)を画像センサ124から受信する。また、コントローラ100は、カウンタ計測結果127A(図5参照)をカウンタ127から受信する。
ステップS152において、コントローラ100は、上述の移動量特定部172(図8参照)として、カウンタ計測結果127Aに規定されている計測タイミングの中から、設定された撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値を基準カウント値として特定する。基準カウント値の特定方法は、上述の図9で説明した通りである。
ステップS154において、コントローラ100は、上述の位置特定部173(図8参照)として、予め規定されている座標変換式に基づいて、ワーク計測結果124Aに規定されているカメラ座標系の各ワークの座標値を、ワールド座標系の座標値に変換する。当該座標変換式は、コンベア123および撮影部125の位置関係に基づいて規定されている。変換後の各ワークの座標値は、基準位置として記憶される。
ステップS160において、コントローラ100は、現在のカウント値をカウンタ127から受信したか否かを判断する。コントローラ100は、現在のカウント値をカウンタ127から受信したと判断した場合(ステップS160においてYES)、制御をステップS162に切り替える。そうでない場合には(ステップS160においてNO)、コントローラ100は、ステップS160の処理を再び実行する。
ステップS162において、コントローラ100は、上述の算出部176(図8参照)として、ステップS160で受信した現在のカウント値と、ステップS152で特定された基準カウント値との差に基づいて、各ワークの撮影タイミングからの移動量を算出する。典型的には、1カウント当たりの単位移動量は予め規定されており、コントローラ100は、現在のカウント値と基準カウント値との差に当該単位移動量を乗算した結果を、撮影タイミングからの各ワークの移動量として算出する。コントローラ100は、当該移動量を各ワークの基準位置に加算することで、各ワークの現在位置を算出する。ステップS162の算出処理が繰り返されることで、ワークのトラッキングが実現される。
ステップS170において、コントローラ100は、ワークの現在位置がロボット130の作業エリアAR2(図1参照)に到達したか否かを判断する。コントローラ100は、ワークの現在位置がロボット130の作業エリアAR2に到達したと判断した場合(ステップS170においてYES)、制御をステップS17に切り替える。そうでない場合には(ステップS170においてNO)、コントローラ100は、制御をステップS160に戻す。
ステップS172において、コントローラ100は、上述の出力部179(図8参照)として、ワークの現在位置を用いて、ワークをピックアップするための動作指示をロボットコントローラ129(図1参照)に出力する。これにより、ロボットコントローラ129は、ロボット130のアーム部分をワークの現在位置に移動し、ロボット130にワークをピックアップさせる。その後、ロボット130は、所定の場所にワークを移動し、ワークをリリースする。好ましくは、ワークの移動先は、ワークの種別ごとに変えられてもよい。これにより、コンベア上を搬送されるワークが種別ごとに選別される。
ステップS180において、コントローラ100は、ワークの選別処理を終了するか否かを判断する。一例として、コントローラ100は、終了操作を受け付けたことに基づいて、ワークの選別処理を終了すると判断する。コントローラ100は、ワークの選別処理を終了すると判断した場合(ステップS180においてYES)、図14に示される処理を終了する。そうでない場合には(ステップS180においてNO)、コントローラ100は、制御をステップS150に戻す。
<I.コントローラ100のハードウェア構成>
図15を参照して、本実施の形態に従うコントローラ100のハードウェア構成について説明する。図15は、本実施の形態に従うコントローラ100のハードウェア構成を示す模式図である。
コントローラ100は、一例として、汎用的なコンピュータアーキテクチャに準じて構成されるコンピュータからなる。コントローラ100は、たとえば、PLCである。コントローラ100は、制御装置101と、主メモリ102と、通信インターフェイス103と、センサインターフェイス104と、操作インターフェイス105と、表示インターフェイス106と、光学ドライブ107と、記憶装置110(記憶部)とを含む。これらのコンポーネントは、内部バス119を介して互いに通信可能に接続されている。
制御装置101は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU(Central Processing Unit)、少なくとも1つのASIC(Application Specific Integrated Circuit)、少なくとも1つのFPGA(Field Programmable Gate Array)、またはそれらの組み合わせなどによって構成される。制御装置101は、記憶装置110に格納されている位置特定プログラム114を主メモリ102に展開して実行することで、本実施の形態に従う各種処理を実現する。主メモリ102は、揮発性メモリにより構成され、制御装置101によるプログラム実行に必要なワークメモリとして機能する。
通信インターフェイス103は、外部機器との間でネットワークを介してデータを遣り取りする。当該外部機器は、たとえば、上述の画像センサ124(図1参照)、上述のカウンタ127(図1参照)、上述のロボットコントローラ129(図1参照)、サーバ、その他の通信機器などを含む。コントローラ100は、通信インターフェイス103を介して、本実施の形態に従う位置特定プログラム114をダウンロードできるように構成されてもよい。
センサインターフェイス104は、上述の画像センサ124と接続される。画像センサ124には、上述の撮影部125が接続され、センサインターフェイス104は、撮影部125の撮影により得られる画像信号を取り込むとともに、画像センサ124を介して撮影部125に撮影タイミングなどの指令を送る。撮影部125は、一例として、レンズなどの光学系に加えて、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった、複数の画素に区画された撮像素子を含んで構成される。
操作インターフェイス105は、操作部122に接続され、操作部122からのユーザ操作を示す信号を取り込む。操作部122は、典型的には、キーボード、マウス、タッチパネル、タッチパッドなどからなり、ユーザからの操作を受け付ける。
表示インターフェイス106は、表示部120と接続され、制御装置101などからの指令に従って、表示部120に対して、画像を表示するための画像信号を送出する。表示部120は、ディスプレイ、インジケータなどからなり、ユーザに対して各種情報を提示する。
光学ドライブ107は、光学ディスク107Aなどから、その中に格納されている各種プログラムを読み出して、記憶装置110にインストールする。記憶装置110は、たとえば、位置特定プログラム114などを格納する。
図15には、光学ドライブ107を介して必要なプログラムをコントローラ100にインストールする構成例を示すが、これに限られることなく、ネットワーク上のサーバ装置などからダウンロードするようにしてもよい。あるいは、コントローラ100上のプログラムは、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード、CF(Compact Flash)などの記憶媒体に書き込まれているプログラムによって書き換えられるように構成されてもよい。
記憶装置110は、たとえば、ハードディスクや外付けの記憶媒体である。一例として、記憶装置110は、選別対象の画像を表わすモデル画像111と、上述の基準情報112(図8参照)と、ワークの現在位置113(図8参照)と、本実施の形態に従う各種の処理を実現するための位置特定プログラム114とを格納する。
位置特定プログラム114は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、任意のプログラムと協働して本実施の形態に従う処理が実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従うコントローラ100の趣旨を逸脱するものではない。さらに、本実施の形態に従う位置特定プログラム114によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、コントローラ100と画像センサ124とカウンタ127とロボットコントローラ129と少なくとも2つが協働して、本実施の形態に従う処理を実現するようにしてもよい。さらに、少なくとも1つのサーバが本実施の形態に従う処理を実現する、所謂クラウドサービスの形態でコントローラ100が構成されてもよい。
<J.変形例>
図16を参照して、変形例に従う情報処理システム1について説明する。図16は、変形例に従う情報処理システム1の基本構成を示す模式図である。
図1に示される情報処理システム1においては、移動量計測装置126がカウンタ127とエンコーダ128とで構成されていた。これに対して、変形例に従う情報処理システム1においては、移動量計測装置126は、サーボアンプ147と、サーボモータ148と、エンコーダ149とで構成されている。その他の点については図1に示される情報処理システム1と同じであるので、それらの説明については繰り返さない。
サーボモータ148は、コンベア123を駆動する。エンコーダ149は、コンベア123の移動量として、サーボモータ148の駆動量を計測し、当該駆動量をサーボアンプ147に順次出力する。当該駆動量は、たとえば、サーボモータ148の回転角として表される。
サーボアンプ147は、コントローラ100への前回の送信タイミングの経過後、次回の送信タイミングが到来するまでの間に、コンベア123の駆動量を複数回計測し、次回の送信タイミングが到来したことに基づいて、計測された各駆動量と、当該駆動量の各々の計測タイミングとを画像センサ124を介してコントローラ100に送信する。その後の処理については上述の通りであるので、その説明については繰り返さない。
なお、コンベア123を駆動するためのモータは、サーボモータ148に限定されない。たとえば、コンベア123を駆動するためのモータは、誘導モータであってもよい。誘導モータは、インバータに電気的に接続されている。インバータから出力される交流電圧の周波数が制御されることで、誘導モータの回転速度が調整される。エンコーダ149は、コンベア123の移動量として、誘導モータの駆動量を計測する。
<K.利点>
以上のようにして、本実施の形態に従うコントローラ100は、撮影タイミングの設定を受け付け、設定された撮影タイミングを画像センサ124に送信する。画像センサ124は、指定された撮影タイミングが到来するとワークの撮影処理を実行し、当該撮影処理により得られた入力画像内においてワークの座標値を計測する。計測されたワークの座標値は、コントローラ100に送信される。
一方で、カウンタ127は、コントローラ100への前回の送信タイミングの経過後、次回の送信タイミングが到来するまでの間に、コンベアの移動量を表わすカウント値を複数回計測する。これにより、コントローラ100とカウンタ127との通信間隔よりも短い間隔でカウント値が計測され、カウント値のオーバーサンプリングが実現される。カウンタ127は、次回の送信タイミングが到来したことに基づいて、計測されたカウント値と、各カウント値の計測タイミングとをコントローラ100に送信する。
コントローラ100は、カウンタ127から受信した各カウント値の計測タイミングの中から、設定された撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられているカウント値を基準カウント値として特定する。コントローラ100は、画像センサ124から受信したカメラ座標系のワーク座標値をワールド座標系のワーク座標値に変換し、当該変換後の座標値を基準カウント値に関連付けて記憶する。オーバーサンプリングされた計測タイミングの中から基準カウント値が特定されることで、撮影タイミングにおけるワーク位置が正確に特定される。
他の利点として、画像センサ124とカウンタ127との間を配線する必要がなくなる。より具体的には、画像センサ124とカウンタ127との間が電気的に接続されている場合には、画像センサ124およびカウンタ127は、通信周期の制約を受けずにカウント値をやり取りすることができるが、そのためには、画像センサ124とカウンタ127との間が配線で接続されている必要がある。本実施の形態に従う情報処理システム1は、カウント値をオーバーサンプリングすることができるので、画像センサ124とカウンタ127との間に配線を設ける必要がない。特に、近年では、食品衛生管理が厳しく求められており、食品向けのロボットではコンベアシステム全体を洗浄する場合がある。この場合には、画像センサ124とカウンタ127との間を防水ケーブルで配線する必要があり、衛生面が懸念される。本実施の形態に従う情報処理システム1においては、画像センサ124とカウンタ127との間を配線する必要がないため、コスト削減でき、さらには、衛生面改善することができる。
さらに他の利点として、本実施の形態に従う情報処理システム1は、サーボモータを利用するシステムにも利用できることが挙げられる。より具体的には、システムによっては、カウンタ値を計測する機能が、カウンタ127ではなく、画像センサ124自体に搭載されているものがある。このような画像センサ124は、撮影タイミングとカウント値との両方を自身で計測することができるため、撮影タイミングとカウント値との間でずれがなくなる。しかしながら、サーボモータからのエンコーダ値は、コントローラ100および画像センサ124の両方に分配できないため、当該エンコーダ値は、画像センサ124に出力されると、コントローラ100には出力されなくなる。本実施の形態に従う情報処理システム1は、サーボモータからのエンコーダ値をコントローラ100および画像センサ124の両方に分配することなく、撮影タイミングと基準カウント値とのずれを解消することができる。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
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 更新部、159,191〜193 受付部、160 撮影制御部、161 計測部、171 受信部、172 移動量特定部、173 位置特定部、174 記憶部、176 算出部、179,194,195 出力部、190 ファンクションブロック。

Claims (16)

  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〜10のいずれか1項に記載の情報処理システム。
  12. 前記情報処理装置は、前記撮影タイミングとして、前記画像センサにおける前記ワークの撮影間隔の設定を受け付ける、請求項1〜11のいずれか1項に記載の情報処理システム。
  13. 前記画像センサは、前記設定された撮影間隔ごとに順次撮影処理を実行する、請求項12に記載の情報処理システム。
  14. コンベア上を搬送されるワークの現在位置を特定するための情報処理装置であって、
    前記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するための通信部を備え、前記通信部は、前記移動量計測装置との通信周期よりも短い間隔で複数回計測された前記移動量と、当該複数の移動量の各々の計測タイミングとを計測結果として前記移動量計測装置から受信し、さらに、
    前記コンベア上を搬送されるワークを撮影する画像センサに対する撮影タイミングの設定を受け付けるための受付部と、
    前記撮影タイミングにおいて前記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置を前記画像センサから取得するための取得部と、
    前記計測結果に規定されている複数の計測タイミングの中から、前記撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するための移動量特定部と、
    前記画像内のワークの前記位置に基づいて、前記撮影タイミングにおけるワークの位置を基準位置として特定するための位置特定部と、
    前記移動量計測装置から受信した前記コンベアの現在の移動量と、前記基準移動量とに基づいて、前記撮影タイミングからの経過時間に応じた前記ワークの移動量を算出し、当該移動量を前記基準位置に加算することで前記ワークの現在位置を算出するための算出部とを備える、情報処理装置。
  15. コンベア上を搬送されるワークの現在位置を特定するための位置特定方法であって、
    前記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するステップを備え、前記通信するステップは、前記移動量計測装置との通信周期よりも短い間隔で複数回計測された前記移動量と、当該複数の移動量の各々の計測タイミングとを前記移動量計測装置から計測結果として受信するステップを含み、さらに、
    前記コンベア上を搬送されるワークを撮影する画像センサに対する撮影タイミングの設定を受け付けるステップと、
    前記撮影タイミングにおいて前記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置を前記画像センサから取得するステップと、
    前記計測結果に規定されている複数の計測タイミングの中から、前記撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するステップと、
    前記画像内のワークの前記位置に基づいて、前記撮影タイミングにおけるワークの位置を基準位置として特定するステップと、
    前記移動量計測装置から受信した前記コンベアの現在の移動量と、前記基準移動量とに基づいて、前記撮影タイミングからの経過時間に応じた前記ワークの移動量を算出し、当該移動量を前記基準位置に加算することで前記ワークの現在位置を算出するステップとを備える、位置特定方法。
  16. コンベア上を搬送されるワークの現在位置を特定するための位置特定プログラムであって、
    前記位置特定プログラムは、情報処理装置に、
    前記コンベア上を搬送されるワークの移動量を順次計測する移動量計測装置と通信するステップを実行させ、前記通信するステップは、前記移動量計測装置との通信周期よりも短い間隔で複数回計測された前記移動量と、当該複数の移動量の各々の計測タイミングとを前記移動量計測装置から計測結果として受信するステップを含み、さらに、
    前記コンベア上を搬送されるワークを撮影する画像センサに対する撮影タイミングの設定を受け付けるステップと、
    前記撮影タイミングにおいて前記コンベア上を搬送されるワークを撮影して得られた画像から計測された当該ワークの位置を前記画像センサから取得するステップと、
    前記計測結果に規定されている複数の計測タイミングの中から、前記撮影タイミングに相対的に近い1つ以上の計測タイミングを特定し、当該計測タイミングに対応付けられている移動量を基準移動量として特定するステップと、
    前記画像内のワークの前記位置に基づいて、前記撮影タイミングにおけるワークの位置を基準位置として特定するステップと、
    前記移動量計測装置から受信した前記コンベアの現在の移動量と、前記基準移動量とに基づいて、前記撮影タイミングからの経過時間に応じた前記ワークの移動量を算出し、当該移動量を前記基準位置に加算することで前記ワークの現在位置を算出するステップとを実行させる、位置特定プログラム。
JP2016156535A 2016-08-09 2016-08-09 情報処理システム、情報処理装置、ワークの位置特定方法、およびワークの位置特定プログラム Active JP6834232B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016156535A JP6834232B2 (ja) 2016-08-09 2016-08-09 情報処理システム、情報処理装置、ワークの位置特定方法、およびワークの位置特定プログラム
CN201710091345.6A CN107705282B (zh) 2016-08-09 2017-02-20 信息处理系统、信息处理装置、位置确定方法及记录介质
EP17156886.8A EP3282219B1 (en) 2016-08-09 2017-02-20 Information processing system, information processing device, workpiece position identifying method, and workpiece position identifying program
US15/438,666 US10155317B2 (en) 2016-08-09 2017-02-21 Information processing system, information processing device, workpiece position identifying method, and workpiece position identifying program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016156535A JP6834232B2 (ja) 2016-08-09 2016-08-09 情報処理システム、情報処理装置、ワークの位置特定方法、およびワークの位置特定プログラム

Publications (2)

Publication Number Publication Date
JP2018024045A JP2018024045A (ja) 2018-02-15
JP6834232B2 true JP6834232B2 (ja) 2021-02-24

Family

ID=58530353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016156535A Active JP6834232B2 (ja) 2016-08-09 2016-08-09 情報処理システム、情報処理装置、ワークの位置特定方法、およびワークの位置特定プログラム

Country Status (4)

Country Link
US (1) US10155317B2 (ja)
EP (1) EP3282219B1 (ja)
JP (1) JP6834232B2 (ja)
CN (1) CN107705282B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110636922B (zh) * 2017-05-16 2023-03-21 Abb瑞士股份有限公司 用于控制机器人运动序列的方法和控制系统
JP6452916B1 (ja) * 2018-03-28 2019-01-16 三菱電機株式会社 プログラミング支援装置、プログラミング支援方法およびプログラム
JP6856583B2 (ja) 2018-07-25 2021-04-07 ファナック株式会社 センシングシステム、作業システム、拡張現実画像の表示方法、拡張現実画像の記憶方法、およびプログラム
JP6856590B2 (ja) * 2018-08-31 2021-04-07 ファナック株式会社 センシングシステム、作業システム、拡張現実画像の表示方法、およびプログラム
CN109903333B (zh) * 2019-02-02 2021-02-09 宁波吉利汽车研究开发有限公司 机器人工件的坐标系修正方法、装置及电子设备
JP7056613B2 (ja) * 2019-03-08 2022-04-19 オムロン株式会社 カウンタユニット、カウンタユニットの制御方法、制御装置、および制御システム
JP7275827B2 (ja) 2019-05-10 2023-05-18 オムロン株式会社 カウンタユニット、データ処理装置、計測システム、カウンタユニット制御方法、およびデータ処理方法
JP7247752B2 (ja) 2019-05-29 2023-03-29 オムロン株式会社 データ転送装置、制御装置、設定装置、および、データ転送装置の制御方法
US11213953B2 (en) 2019-07-26 2022-01-04 Google Llc Efficient robot control based on inputs from remote client devices

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7337082B2 (en) 2004-03-12 2008-02-26 Omron Corporation Digital measurement instrument for acquiring measurement and time values
JP4650620B2 (ja) 2004-03-12 2011-03-16 オムロン株式会社 計測装置
JP5141972B2 (ja) 2007-12-07 2013-02-13 オムロン株式会社 産業用コントローラ
JP5316563B2 (ja) * 2011-02-15 2013-10-16 オムロン株式会社 画像処理装置および画像処理システム
JP5370398B2 (ja) * 2011-03-15 2013-12-18 オムロン株式会社 画像処理装置および画像処理プログラム
JP5561214B2 (ja) * 2011-03-15 2014-07-30 オムロン株式会社 画像処理装置および画像処理プログラム
JP5810562B2 (ja) * 2011-03-15 2015-11-11 オムロン株式会社 画像処理システムに向けられたユーザ支援装置、そのプログラムおよび画像処理装置
JP5879800B2 (ja) * 2011-08-03 2016-03-08 オムロン株式会社 同期制御装置
JP5003840B1 (ja) * 2011-10-31 2012-08-15 オムロン株式会社 画像処理装置および画像処理プログラム
JP6264967B2 (ja) 2014-03-14 2018-01-24 オムロン株式会社 ロボット制御装置
CN105335971B (zh) * 2015-10-19 2018-07-13 上海交通大学 基于图像的工件加工精确定位方法

Also Published As

Publication number Publication date
CN107705282A (zh) 2018-02-16
EP3282219A1 (en) 2018-02-14
US10155317B2 (en) 2018-12-18
EP3282219B1 (en) 2020-10-07
US20180043541A1 (en) 2018-02-15
CN107705282B (zh) 2022-01-04
JP2018024045A (ja) 2018-02-15

Similar Documents

Publication Publication Date Title
JP6834232B2 (ja) 情報処理システム、情報処理装置、ワークの位置特定方法、およびワークの位置特定プログラム
JP2018024044A (ja) 情報処理システム、情報処理装置、ワークの位置特定方法、およびワークの位置特定プログラム
US10407250B2 (en) Image processing system, image processing apparatus, workpiece pickup method, and workpiece pickup program
CN110154017B (zh) 输送机跟踪系统以及校准方法
KR101485722B1 (ko) 화상 처리 장치 및 화상 처리 시스템
EP3223093B1 (en) Optical measurement device
CN108778637B (zh) 致动器控制系统、致动器控制方法及记录介质
JP2018151163A (ja) 計測装置、処理装置および物品製造方法
JP7078894B2 (ja) 制御システム、制御装置、画像処理装置およびプログラム
JP2019119027A (ja) ロボットシステムの制御方法、およびロボットシステム
US11958196B2 (en) Production system and information storage medium
KR20180006285A (ko) 광학 계측 장치
EP3936286A1 (en) Robot control device, robot control method, and robot control program
JP6950631B2 (ja) 位置決めシステム、制御方法およびプログラム
CN108326825B (zh) 检查系统、控制器、检查方法以及记录介质
JP2019007983A (ja) 計測装置、処理装置および物品製造方法
JP7490483B2 (ja) システム、情報処理方法、物品の製造方法、プログラム及び記録媒体
CN109328126B (zh) 拍摄装置及拍摄系统
KR102560944B1 (ko) 제어 장치 및 위치 정렬 장치
JPWO2014136230A1 (ja) 分散型制御装置及び制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200731

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210118

R150 Certificate of patent or registration of utility model

Ref document number: 6834232

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150