JP2020108038A - 制御装置、その制御方法、産業用自動化システム、プログラム、および記憶媒体 - Google Patents

制御装置、その制御方法、産業用自動化システム、プログラム、および記憶媒体 Download PDF

Info

Publication number
JP2020108038A
JP2020108038A JP2018246040A JP2018246040A JP2020108038A JP 2020108038 A JP2020108038 A JP 2020108038A JP 2018246040 A JP2018246040 A JP 2018246040A JP 2018246040 A JP2018246040 A JP 2018246040A JP 2020108038 A JP2020108038 A JP 2020108038A
Authority
JP
Japan
Prior art keywords
processing
control device
image
result
condition
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.)
Pending
Application number
JP2018246040A
Other languages
English (en)
Inventor
寛人 岡
Hiroto Oka
寛人 岡
和暉 鵜殿
Kazuki Udono
和暉 鵜殿
朋比古 原口
Tomohiko Haraguchi
朋比古 原口
元気 長
Motoki Cho
元気 長
慎也 大森
Shinya Omori
慎也 大森
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2018246040A priority Critical patent/JP2020108038A/ja
Priority to US16/710,803 priority patent/US20200210700A1/en
Priority to EP19215778.2A priority patent/EP3675486A1/en
Priority to CN201911299551.1A priority patent/CN111385468B/zh
Publication of JP2020108038A publication Critical patent/JP2020108038A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • G08B13/18Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
    • G08B13/189Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
    • G08B13/194Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
    • G08B13/196Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
    • G08B13/19602Image analysis to detect motion of the intruder, e.g. by frame subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/44Event detection

Abstract

【課題】 接続する撮像装置が増加しても、画像に対する処理の遅延を抑制することが可能な制御装置を提供することを目的とする。【解決手段】 取得した画像にイベント検知処理を実行するカメラ101と接続する制御装置102であって、カメラ101からイベント検知結果に関する情報を取得し、イベント検知結果がトリガ条件を満たす場合に、カメラ101から取得した画像がエラー判定条件を満たすか否かを判定するエラー判定処理を実行するCPU302を備えることを特徴とする。【選択図】 図1

Description

本発明は、撮像装置が撮像した画像を処理する制御装置、制御方法、産業用自動化システム、プログラム、および記憶媒体に関する。
カメラ等の撮像装置から対象物(ワーク)を含む領域を撮像した画像を取得し、当該画像に基づいて取得したワークの位置情報を用いて、ロボットアーム等の装置の動作を制御する制御装置および制御装置を含む産業用自動化システムがある。また、制御装置は、カメラから取得した画像に解析処理を施して、撮像対象の領域にエラーが発生していないかを判定し、判定結果に基づいて画像の記録処理等を実行する。
また、このような制御装置は、より多くの視点から画像を取得するため、複数の撮像装置と接続して画像を取得することがある。
特許文献1ではカメラと、カメラによって取り込まれた画像を解析処理する前段解析装置と、前段解析装置による解析結果に基づく画像解析を実行するサーバ(後段解析装置)と、を備える画像解析システムが記載されている。
特開2007−19697号公報
しかしながら、特許文献1では、複数のカメラ(前段解析装置)がある場合、後段解析装置は常に、それぞれのカメラによって取り込まれた画像に対する前段解析装置の処理結果に基づいて画像解析を実行する。上述した産業用自動化システムにおける制御装置を後段解析装置とすると、接続するカメラ(前段解析装置)の数が増加すると、後段解析装置における解析処理の処理負荷が高くなる。制御装置が解析処理以外の処理、例えば、装置の動作の制御処理や記録処理を実行する場合、遅延が発生することがある。
本発明は、上述の課題に鑑みて、接続する撮像装置が増加しても、画像に対する処理の負荷を低減し、各種処理の遅延を抑制することが可能な制御装置を提供することを目的とする。
本発明の制御装置は、取得した画像に第1処理を実行する撮像装置と接続する制御装置であって、前記撮像装置から前記第1処理の結果に関する情報を取得する取得手段と、前記第1処理の結果が第1条件を満たす場合に、前記撮像装置から取得した画像が第2条件を満たすか否かを判定する第2処理を実行する処理手段と、を備えることを特徴とする。
本発明に係る制御装置によれば、接続する撮像装置が増加しても、撮像装置における処理の結果に応じて制御装置の処理の実行を制御することが可能となる。したがって、接続する撮像装置が増加しても、画像に対する処理の負荷を低減し、各種処理の遅延を抑制することが可能な制御装置を提供することが可能となる。
制御装置を含む産業用自動化システムの第1の構成図である。 カメラの機能ブロックを示すブロック図である。 制御装置の機能ブロックを示すブロック図である。 カメラの動作を示すフローチャートである。 カメラが取得する画像を示す第1の模式図である。 制御装置の動作を設定するためのGUIを示す模式図である。 制御装置の全体動作を示す第1のフローチャートである。 制御装置の処理を示すフローチャートである。 エラー状態と判定がされた場合に表示装置に表示される画像を示す模式図である。 制御装置の基本動作および判定処理を設定するためのGUIを示す模式図である。 イベント検知結果と対応優先度とを関連づけたテーブルを示す模式図である。 カメラで得られたイベント検知結果のログを示す第1の模式図である。 カメラで得られたイベント検知結果のログを示す第2の模式図である。 産業用自動化システムの構成を示す第2の構成図である。 制御装置の全体動作を示す第2のフローチャートである。 カメラが取得する画像を示す第2の模式図である。
以下、図面を用いて本発明の実施の形態について説明する。なお、本発明の技術的範囲は、特許請求の範囲によって確定され、以下に例示する実施形態によって限定されるものではない。また、実施形態の中で説明されている特徴の組み合わせすべてが本発明に必須とは限らない。本明細書および図面に記載の内容は例示であって、本発明を制限するものと見なすべきではない。本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から除外するものではない。即ち、各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
<実施例1>
実施例1の産業用自動化システムは、複数の撮像装置と、制御装置とを備える。撮像装置は、設定された領域を撮像して画像を取得し、画像に基づき所定のイベントが発生したか否かを判定し、イベントを検知する検知処理を実行する。制御装置は、所定のイベントが検知された撮像装置から画像を取得し、取得した画像を解析する処理を実行することによって、エラー状態であるか否かを判定する判定処理を実行する。さらに、制御装置は、エラー状態と判定した場合、あらかじめ定められたエラー時の動作(例外処理)を実行する。ここで、エラー状態は、例えば、作業台に積載されたワークの荷崩れや、ロボットアームの作業領域近傍への第三者の立ち入り等である。
これにより、制御装置は、撮像装置が取得した画像に対して、常にエラー状態を判定するための画像解析処理を実行する必要がなく、制御装置の負荷を抑制することが可能となる。
図1は、制御装置102を含む産業用自動化システムの構成図である。産業用自動化システムは、カメラ101、制御装置102、ロボットアーム103、表示装置104、およびマウス105を備える。
また、産業用自動化システムは、制御装置102から出力された情報を処理するための外部サーバ106を備える。産業用自動化システムの制御装置102は、カメラ101から得られた画像に基づいて、ロボットアーム103の動作を制御する。実施例1の産業用自動化システムは、カメラ101で撮像した画像に基づいてロボットアーム103を制御し、作業台107上に積載されたワーク(対象物)108を、作業台109上に積載する作業(基本動作)を実行するものとする。
カメラ101は、被写体を撮像して画像(撮像画像)を得る撮像装置である。本実施例では、産業用自動化システムはカメラ101a、101b、101cを含む。カメラ101aは、作業台107と作業台107上のワーク108とを含む領域を撮像して画像を取得する。カメラ101bは、ロボットアーム103を含む領域を撮像して画像を取得する。カメラ101cは、作業台109と作業台109上のワーク108とを含む領域を撮像して画像を取得する。以降、カメラに対して、カメラ101a、101b、101cとする場合には、それぞれ撮像領域の異なるカメラを区別して扱う。一方で、カメラをカメラ101として示す場合には、全てのカメラに共通する内容を説明する。
制御装置102は、産業用自動化システムの各装置を制御する制御装置である。制御装置102の詳細は後述する。
ロボットアーム103は、制御装置102からの指示に応じて動作する装置である。ロボットアーム103は、ロボット制御装置を内蔵しており、外部からの制御指示を受け、軸やハンドの動作を制御する。制御装置102から送信された動作コマンドや、座標位置等に応じて、ロボットアーム103の動作が制御される。
また、制御装置102は、ロボットアーム103と同一の筐体に格納されていてもよい。なお、ロボットアーム103は、制御装置102の指示に応じて動作する装置であればよく、ベルトコンベア等の搬送装置や、検査装置等の装置であってもよい。なお、産業用システムを構成する装置は、上述の装置以外を含むことも可能である。ハロゲン照明や発光ダイオード照明などで構成された照明装置や、外部記憶装置を含んでいてもよい。
表示装置104は、制御装置102と接続し、制御装置102の動作を設定するためのグラフィカルユーザインターフェース(GUI)を表示するモニターである。
マウス105は、制御装置102にユーザ指示を入力するための操作入力デバイスである。ユーザは、表示装置104に表示されたGUIに対する操作を、マウス105を用いて入力することにより、システムの動作開始や終了を指示することが可能である。また、ユーザは、表示装置104に表示されたGUIを、マウス105を用いて操作することにより、制御装置102の動作フローを設定することが可能である。なお、操作入力デバイスはマウス105に限らず、キーボードや表示装置104の画面に設けられたタッチ操作を検出するタッチデバイス、音声入力デバイス等を用いることが可能である。
サーバ106は、制御装置102から取得した情報を処理する情報処理装置である。サーバ106は、制御装置102から入力された映像信号を内部の記録媒体に記録する。また、サーバ106は、制御装置102からシステムにエラーが発生したことを示す情報を取得した場合に、発生した時刻とともにログを記録することもできる。また、サーバ106は、制御装置102からシステムにエラーが発生したことを示す情報を取得した場合に、アラートを発報するものであってもよい。
図2は、カメラ101の機能ブロックを示すブロック図である。カメラ101は、撮像部201、CPU202、メモリ203、記憶媒体204、およびI/F部205を備える。
撮像部201は、撮像レンズ、レンズ駆動系、センサ、画像処理チップを含む撮像ユニットである。
CPU202は、メモリ203に記憶されたプログラムを実行することにより、カメラ101を動作させるプロセッサである。なお、CPU202は、複数のプロセッサで構成されていてもよい。また、CPU202が実行する機能のうち、一部の機能を1以上の電子回路によって実行することも可能である。
CPU202は、撮像部201に対して撮像条件の設定や、撮像の指示を行い、撮像部201の撮像処理を制御する。CPU202は、取得した撮像画像をメモリ203や記憶媒体204に記憶する。また、CPU202は、取得した撮像画像に対してあらかじめ設定されたイベントを検知する処理(イベント検知処理)を実行する。
メモリ203は、CPU202が実行するプログラムを記憶する。メモリ203は、例えばROMであるとする。なお、メモリ203は、RAM、EPROM、もしくはEEPROMなどの他の不揮発メモリデバイスであってもよく、複数で構成されてもよい。記憶媒体204は、撮像画像を記録する。
I/F部205は、制御装置102と接続し、画像やイベント検知結果を制御装置102に出力するインターフェースである。また、I/F部205は、制御装置102から撮像の指示や撮像条件を示す情報を受信する。
カメラ101は、取得した画像を、I/F部205を介して制御装置102に送信する。また、カメラ101のCPU202は、取得した画像からイベントを検知するイベント検知処理を実行する。CPU202は、イベント検知処理で得られた結果に関する情報をメモリ203に記憶する。
カメラ101は、ホワイトバランス、撮像角度(パン・チルト)やズーム倍率、焦点距離や絞り、信号増幅率などの撮像条件(撮像パラメータ)を変更するための機構を有する。カメラ101は、制御装置102からの指示によって撮像条件を変更可能である。
図3は、制御装置102の機能ブロックを示すブロック図である。制御装置102は、I/F部301、CPU302、メモリ303、およびHDD304を備える。
I/F部301は、システムを構成する他の装置と接続し、CPU302の指示に応じて情報の送受信を行うインターフェースである。制御装置102は複数のI/F部301を備える。
I/F部301a〜cは、カメラ101a〜cとそれぞれ接続し、カメラ101a〜cから画像や、カメラ101a〜cが実行した処理の結果に関する情報を受信する。また、I/F部301a〜cは、カメラ101a〜cに、撮像開始指示、撮像終了指示、および撮像条件の変更指示を送信する。
I/F部301dは、ロボットアーム103と接続し、ロボットアーム103に制御指示を送信する。また、I/F部301dは、ロボットアーム103から動作完了を示す情報等のロボットアーム103の制御に関する情報を受信する。
I/F部301eは、サーバ106と接続し、サーバ106に画像やエラー発生信号を送信する。
I/F部301fは、表示装置104と接続し、表示装置104に映像信号を送信する。
I/F部301gは、マウス105と接続し、操作信号を受け付ける。
I/F部301は、外部の装置と通信するのに適した規格に基づき構成される。例えば、ネットワークインターフェース、シリアル通信インターフェースなどから構成される。
CPU302は、メモリ303に記憶されたプログラムを実行することにより、後述する制御装置102の動作を実行するプロセッサである。なお、CPU302は、複数のプロセッサで構成されていてもよいし、後述する制御装置102に関する制御の一部、もしくはすべてを1以上の電子回路によって実行することも可能である。
メモリ303は、CPU302が制御装置102の処理を実行するためのソフトウェアおよびパラメータを記憶する記憶媒体である。メモリ303は、画像処理、画像処理ライブラリ、画像処理設定、およびI/Oルーチンを実現する1以上のソフトウェアを記憶する。CPU302は、画像処理のソフトウェアを使って後述のエラー判定処理を実行する。
メモリ303は、例えばROMであるとする。なお、メモリ303は、RAM、EPROM、もしくはEEPROMなどの他の不揮発メモリデバイスであってもよい。メモリ303は、複数の記憶媒体から構成されていてもよい。
図4は、カメラ101の動作を示すフローチャートである。
S401で、CPU202は、イベント検知処理を実行するための画像を撮像するための撮像条件を設定する。撮像条件は、イベント検知処理のために最適なパン、チルト、ズーム等の撮像条件があらかじめ設定され、メモリ203に記憶されているとする。CPU202は、メモリ203から撮像条件を読み出して撮像部201に設定する。
S402で、CPU202は、撮像部201に撮像開始指示を出力し画像(撮像画像)を取得する。なお、本実施例において、カメラ101が取得する画像は動画像であるとする。
S403で、CPU202は、取得した撮像画像に対して、イベント検知処理を実行する。
S404で、CPU202は、イベント検知処理に用いた画像を取得した時刻とイベント検知結果とを記憶媒体204に記憶する。
S405で、CPU202は、撮像画像を記憶媒体204に記憶する。
S406で、CPU202は、制御装置102から記録フラグ変更要求を受信したか否かを判定する。記録フラグ変更要求は、制御装置102がエラー判定処理の結果、エラー状態であると判定した場合に、制御装置102が実行する例外処理の1つであるポスト画像記録処理の開始もしくは停止に対応する制御信号である。記録フラグ変更要求は、記録フラグをオンにする要求(オン要求)と、記録フラグをオフにする要求(オフ要求)と、を含む。いずれかの記録フラグ変更要求を受信した場合、処理はS407に進む。そうでない場合、処理はS410に進む。
S407で、CPU202は、受信した記録フラグ変更要求がオン要求であるか否かを判定する。受信した記録フラグ変更要求がオン要求である場合、処理はS408に進む。受信した記録フラグ変更要求がオン要求でない、すなわち、オフ要求を受信した場合、処理はS409に進む。
S408で、CPU202は、メモリ203の記録フラグをオンに設定する。処理は、S410に進む。
S409で、CPU202は、メモリ203の記録フラグをオフに設定する。処理は、S410に進む。
S410で、CPU202は、メモリ203の記録フラグがオンに設定されているか否かを判定する。記録フラグがオンに設定されている場合には、処理はS411に進む。そうでない場合、処理はS412に進む。
S411で、CPU202は、S402で取得した撮像画像を制御装置102に出力する。
S412で、CPU202は、制御装置102からI/F部205を介してプレ画像を要求する指示が入力されたか否かを判定する。プレ画像の要求は、制御装置102がエラー判定処理の結果、エラー状態であると判定した場合に、制御装置102が実行する例外処理の1つであるプレ画像記録処理の実行に対応する制御信号である。プレ画像の要求は、要求を受信した時点から所定の期間前までに取得された画像を要求する指示であるとする。なお、プレ画像の要求は、制御装置102が期間を指定することも可能である。プレ画像の要求がある場合、処理はS413に進む。そうでない場合、処理はS414に進む。
S413で、CPU202は、記憶媒体204から現時点から所定の期間前までに取得された画像を読み出して、制御装置102に出力する。
S414で、CPU202は、制御装置102からI/F部205を介してイベント検知結果を示す情報を要求する指示が入力されたか否かを判定する。イベント検知結果を示す情報を要求する指示が入力された場合には、処理はS415に進む。そうでない場合、処理はS416に進む。
S415で、CPU202は、I/F部205を介してイベント検知結果を示す情報を制御装置102に出力する。
S416で、CPU202は、制御装置102からI/F部205を介して撮像処理を実行する指示が入力されたか否かを判定する。撮像処理の実行指示は、制御装置102が基本動作等に用いる画像をカメラ101に撮像させるための指示である。例えば、撮像処理の実行指示は、制御装置102がエラー判定処理や、ワーク108の位置情報の検出等のための解析処理等、あらかじめ定められた画像処理を実行するために用いる画像をカメラ101に撮像させるための制御信号である。撮像処理を実行する指示が入力された場合には、処理はS417に進む。そうでない場合、処理はS420に進む。
S417で、CPU202は、撮像処理を実行するための画像を撮像するための撮像条件を設定する。制御装置102は、撮像処理の実行指示を送信した場合、撮像条件を設定するための情報をカメラ101に出力する。撮像条件は、制御装置102が取得した撮像画像に対して実行する処理に応じてそれぞれ定められていてもよい。なお、S417で設定する撮像条件は、イベント検知用の撮像条件と同じでもよい。CPU202は、制御装置102から取得した撮像条件を設定するための情報に基づいて、撮像部201の撮像条件を設定する。
S418で、CPU202は、撮像部201に撮像指示を出力し撮像条件に基づく撮像処理を実行し、撮像画像を取得する。
S419で、CPU202は、I/F部205を介して取得した撮像画像を制御装置102に出力する。
S420で、CPU202は、撮像終了の指示が入力されたか否かを判定する。撮像終了の指示が入力された場合、撮像制御を終了する。そうでない場合、S401に戻る。
次に、カメラ101が実行するイベント検知処理について説明する。
カメラ101のCPU202は、「動体」、「置き去り」、「持ち去り」、「いたずら」、「侵入」、「通過」の各イベントを検知することが可能である。
動体検知処理は、取得した画像のうち、検知領域内に動いている物体を検出した場合に、「動体あり」の検知結果を出力する処理である。なお、検知領域内で動いている物体が検出されない場合は、「動体なし」の検知結果が出力される。すなわち、撮像画像のフレームにおいて検知領域内に動く物体が検出されている間、「動体あり」の検知結果が出力される。
置き去り検知処理は、取得した画像のうち、前のフレームの検知領域内に存在しなかった物体が、後のフレームの検知領域内に一定時間以上、存在する場合に、「置き去りあり」の検知結果を出力する。
持ち去り検知処理は、取得した画像のうち、前のフレームの検知領域内の物体が、後のフレームで検出されないまま、一定時間以上経過したことに応じて「持ち去りあり」の検知結果を出力する。
通過検知処理は、取得した画像において、あらかじめ設定した検知ラインを物体が通過したことが検出された場合に、「通過あり」の検知結果を出力する。
侵入検知処理は、取得した画像において、あらかじめ設定した検知領域に、人や動いている物体が検出され、一定時間以上経過した場合に、「侵入あり」の検知結果を出力する。
CPU202は、全ての検知処理を取得した画像に対して実行してもよい。ユーザがあらかじめCPU202が実行するイベント検知処理を選択することも可能である。
図5は、カメラ101が取得した画像を示す模式図である。図5(a)、図5(b)は、カメラ101aが取得した画像を示す。図5(a)に示すように、カメラ101aは、作業台107とワーク108とを含む領域を撮像する。カメラ101aは、検知領域R1を予め設定される。検知領域R1は、作業台107とワーク108とを含まない、ワーク108や作業者の侵入がないと想定される領域に設定されている。
図5(a)に示すように、作業台107に複数のワーク108が積まれている状態のフレームが続く場合は、検知領域R1に変化がないことから、CPU202は侵入や置き去り等のイベントを検知しない。作業台107上のワーク108が崩れることにより、図5(b)に示すように検知領域R1にワーク108が転がって侵入したとする。カメラ101aの動体検知処理が有効で、ワーク108が検知領域R1で動いている間は、「動体あり」の検知結果が出力される。また、カメラ101aの置き去り検知処理が有効である場合には、ワーク108が検知領域R1に入り、動きを止めてから所定の期間経過後に「置き去りあり」の検知結果が出力される。また、カメラ101aの侵入検知処理が有効である場合には、ワーク108が検知領域R1に入り、所定の期間経過後に「侵入あり」の検知結果が出力される。上述のようにイベント検知をすることにより、例えばワーク108が作業領域外に落下するような変化を検知することが可能となる。
図5(c)、図5(d)は、カメラ101bが取得した画像を示す。図5(c)に示すように、カメラ101bは、ロボットアーム103を含む領域を撮像する。カメラ101bは、検知ラインR2が予め設定される。検知ラインR2は、ロボットアーム103から一定距離離れた位置に設けられるとする。
図5(c)に示すように、ロボットアーム103の周囲に何もない場合、CPU202は通過等のイベントを検知しない。図5(d)に示すように、人物が検知ラインR2を超えてロボットアーム103に近づこうとしたとする。カメラ101aの通過検知処理が有効である場合には、人物が検知ラインR2を超えたタイミングで、「通過あり」の検知結果が出力される。これにより、ロボットアーム103に人が近づくことを検知することが可能となる。なお、検知領域を、ロボットアーム103を含む領域とすることにより、侵入検知処理等の他の検知処理を用いることも可能である。
図5(e)、図5(f)は、カメラ101cが取得した画像を示す。図5(e)に示すように、カメラ101cは、作業台109とワーク108とを含む領域を撮像する。カメラ101cは、検知領域R3を予め設定される。検知領域R3は、作業台109とワーク108とを含む領域であるとする。
図5(e)に示す状態から、何者かにより作業台109上に積み上げられた2つのワーク108のうち、上側のワーク108が持ち去られ図5(f)に示す状態に遷移したとする。カメラ101cの持ち去り検知処理が有効である場合には、ワーク108が持ち去られてから一定期間が経過したことに応じて「持ち去りあり」の検知結果が出力される。
上述のようにして、カメラ101が撮像している領域、対象物に応じて、有効とする検知処理や検知条件(検知領域、検知ライン)を設定することにより、作業に応じて検知すべきイベントを検知することが可能である。
制御装置102が起動すると、CPU302がメモリ303からソフトウェアを読み出して起動処理を開始する。CPU302は、制御装置102の動作を設定するためのGUIを表示装置104に表示する。
図6は、制御装置102の動作を設定するためのGUIを示す模式図である。GUI600は、本実施例における制御装置102の基本動作とエラー時動作を設定するために、表示装置104に表示されるGUIである。ユーザは、GUI600の各項目を、マウス105を用いて設定することにより、制御装置102の制御条件を設定する。
ボックス601は、使用するカメラ101を指定するためのリストボックスである。ユーザは、ボックス601を操作してカメラ101を選択する。
設定ボタン602は、選択されたカメラ101の撮像条件を設定するためのボタンである。設定ボタン602がクリックされたことに応じて、CPU302は、選択されたカメラ101の撮像条件を設定するためのGUIに表示を変更する。設定可能な撮像条件は、ホワイトバランス、撮像角度(パン・チルト)やズーム倍率、焦点距離や絞り、信号増幅率などの撮像条件(撮像パラメータ)等である。
映像表示領域603は、ボックス601で選択されたカメラ101のライブビュー画像が表示される領域である。
ボックス604は、ユーザが、本システムが基本的に実行する処理(基本動作)を設定するためのリストボックスである。図6では、基本動作として「Flow1」が設定されている。
ボックス605はユーザが基本動作の終了条件を設定するためのテキストボックスである。図6のGUIで設定される動作は、ユーザが基本動作の繰り返し回数を設定し、Flow1の処理が設定された回数実行されたことに応じて、基本動作が終了するとする。なお、基本動作のフロー内で定義された終了条件が満たされるまで処理を繰り返すように設定することもできる。
ボックス606はユーザが監視を実施するかどうかを設定するためのチェックボックスである。ここで、監視とは、制御装置102がカメラ101のイベント検知処理の結果を取得する処理、および、そのイベント検知結果に関連するエラー判定処理である。
タブ607はカメラ101が実行したイベント検知処理の結果に応じて実行するエラー判定処理およびエラーがあると判定された場合に移行する例外処理をユーザが設定するためのタブである。本実施例では、カメラ101ごとにトリガ条件、エラー判定処理、および例外処理の内容を設定可能であるとする。図6のタブ607は、カメラ101bに対するトリガ条件、エラー判定処理、および例外処理を設定するタブである。他のカメラ101についても、タブを切り替えてトリガ条件、エラー判定処理、および例外処理をユーザが設定することが可能である。すなわち、各カメラ101が撮像している領域ごとに、トリガ条件、エラー判定処理、および例外処理を設定することができる。また、同一のカメラに対して、複数のトリガ条件、エラー判定処理、および例外処理を設定することも可能である。トリガ条件、エラー判定処理、および例外処理を設定するためのタブは、ユーザが追加や削除をすることにより枚数を自由に変更することが可能である。
ボックス608は、検知結果を取得する対象のカメラ101を、ユーザが設定するためのリストボックスである。
ボックス609は,対象のカメラ101が取得可能な複数の検知内容のうち、どの検知内容をエラー判定処理の開始トリガにするかを示すトリガ条件を、ユーザが設定するためのリストボックスである。図6では、カメラ101bから「侵入あり」を示す情報を取得した場合に、設定されたエラー判定処理を実行すると設定されている。
なお、上述したようにカメラ101は複数のイベントを検知可能である。制御装置102は、あらかじめイベント検知結果と対応優先度とを関連づけたテーブルを記憶する。制御装置102は、ボックス609で設定したイベント検知結果に対応する優先度以上の優先度に対応する検知結果が得られた場合においてもエラー判定処理が実行されるとしてもよい。図11は、イベント検知結果と対応優先度とを関連づけたテーブルを示す模式図である。例えば、「置き去りあり」がボックス609に設定されている場合、侵入あり、動体あり、置き去りありのいずれかが検知されるとエラー判定処理が実行される。
なお、カメラ101が変化を検知する対象の範囲や、制御装置102が例外処理に移行するためのトリガ条件を、カメラ101が画像を取得した時刻によって変化させることも可能である。例えば、制御装置102を用いる生産ラインシステムにおいて、周囲に作業員が多く働いている昼間は、システムの誤検知を抑制するために、カメラ101が変化を検知する対象の範囲を狭くする。一方で、作業員が少ない夜間は、監視範囲を広める。さらに、昼間では、例外処理に移行するためのトリガ条件をより対応優先度が高いイベント検知結果に設定し、エラー判定処理の実行頻度を下げる。一方で、夜間では、トリガ条件を昼間より対応優先度が低いイベント検知結果に設定し、エラー判定処理の実行頻度を上げる。
また、イベント検知結果の種類ごとに発生時刻を記録し、その発生間隔に基づいて、エラー判定処理を実行するか否かを制御してもよい。図12は、カメラ101bで得られたイベント検知結果のログを示す表である。カメラ101bによって侵入ありが複数回検知されているが、ID1〜3とID7〜8は、次の侵入ありの検知までの間隔が十分に大きいので、エラー判定処理に移行しないように制御する。一方で、ID4〜6は、次の侵入ありの検知までの間隔が短いことから、所定回数(例えば3回)目に検知されたID6のイベント検知結果に応じてエラー判定処理に移行するように制御する。
人とロボットが協働で作業するような際は、ワークの供給等の作業目的で、人が侵入し、一時的に人が写り込むことがある。このような一定時間内において発生頻度が少ないイベントは、エラーではないのでエラー判定処理を行わない。
また、カメラ101a〜101cそれぞれのイベント検知の組み合わせに応じて、後段の処理内容を切り換えたりしてもよい。図13は、カメラ101cで得られたイベント検知結果のログを示す表である。図12および図13によると、カメラ101bがID4〜ID6のイベント検知結果を取得した期間に、カメラ101cがID3のイベント検知結果を取得している。このように、複数のカメラ101でイベント検知結果が取得された場合に、エラー判定処理を実行するようにしてもよい。この場合は、カメラ101bの動体ありの検知結果と、カメラ101cの動体ありの検知結果との組み合わせに基づいて、制御装置102は、エラー判定処理に移行する。また、エラー判定処理へ移行するトリガ条件でなく、例外処理への移行を判定するための条件として、複数のカメラ101に対するイベント検知結果の組み合わせを参照してもよい。
ボックス610は、ボックス609で設定された検知内容が検知されたときに本システムが実行するエラー判定処理をユーザが設定するためのリストボックスである。図6では、エラー判定処理として「Flow5」が設定されている。「Flow5」に示された処理の詳細は、後述する。
ボックス611およびボックス612は、エラー判定時の動作を設定する項目である。ボックス611は、エラーありと判定された時に、画像を記録(録画)するか否か、および録画条件を設定するためのリストボックスである。図6のボックス611には,エラー検知後の映像を録画(ポスト録画)し、5分後に録画を停止する設定が入力されている。なお、カメラ101が所定期間だけ画像を一時記録しておき、エラー状態を判定した時刻より所定期間だけ前までの画像を記録(プレ録画)することも可能である。エラーの原因を把握するためには、プレ録画を実行することは有効である。
ボックス612は、エラー状態であると判定された時に、実行中の基本動作を停止するか否かを、ユーザが設定するためのチェックボックスである。
ボタン613は、ユーザが基本動作、エラー判定処理、例外処理をテスト実行するためのボタンである。ボタン614は、オンラインで、システム基本動作およびエラー時動作を外部からの指示を受領可能とするボタンである。テスト実行時に検知されたログはボックス615に表示される。
図7、図8は、制御装置102の制御フローを示すフローチャートである。図7は、制御装置102の全体動作を示すフローチャートである。制御装置102が起動したことに応じて、CPU302はメモリ303に記憶されたソフトウェアを実行し、図7のフローチャートが開始される。
S701で、制御装置102のCPU302は、各カメラ101に対してイベント検知結果を示す情報を要求する。イベント検知結果の要求処理は、フローチャートを実行中、繰り返し実行される。
S702で、CPU302は、各カメラ101のイベント検知結果を示す情報を取得する。
S703で、CPU302は、イベント検知結果があらかじめ設定されたトリガ条件を満たすか否かを判定する。少なくとも1つのカメラ101のイベント検知結果がトリガ条件を満たす場合、処理はS704に進む。そうでない場合、処理はS706に進む。ここで、あらかじめ設定されたトリガ条件は、取得したイベント検知結果が、図6のタブ607のボックス609で設定されたイベント検知結果と一致することである。
S704は、CPU302があらかじめ設定された判定処理を実行するサブプロセスである。ここで、エラー判定処理は、トリガ条件を満たすイベント検知結果を取得したカメラ101から取得した画像を解析して、エラーが発生したか否かを判定するエラー判定処理である。エラー判定処理は、カメラ101から取得した画像が、あらかじめ定められたエラー判定条件を満たすか否かを判定する。エラー判定条件は、例えば、画像に含まれるワーク108の位置および姿勢のうち少なくとも一方が、あらかじめ定められた条件を満たすか否かである。例えば、ワーク108が所定の角度以上傾いていることを検出した場合、エラー状態であると判定する。位置または姿勢と、ワークの種類を合わせてエラー判定条件としてもよい。また、画像のうち、あらかじめ定められた作業領域に、人物が侵入しているか否かをエラー判定条件としてもよい。CPU302は、エラー判定処理でエラーが発生したと判定した場合、エラーフラグをオンにする。
図8(a)は、S704で実行するエラー判定処理のフローを示すフローチャートである。
S801で、CPU302は、I/F部301を介してイベント検知結果がトリガ条件を満たすカメラ101から画像を取得する。
S802で、CPU302は、取得した画像に基づいてエラーの有無を検出するための画像解析処理を実行する。画像解析処理は、あらかじめユーザが設定したフローに基づいて実行される。例えば、図6に示すように、イベント検知結果がトリガ条件を満たす場合、「Flow5」を実行するとあらかじめ設定されている。Flow5で、CPU302は、撮像画像に含まれるワーク108のエッジやワーク108に含まれるバーコードを解析する。そして、CPU302は、撮像画像に含まれるワーク108の種類、および位置情報を取得し、ワーク108が所定の位置および姿勢にない場合に、エラー状態であると判定する。
S803で、CPU302は、解析処理の結果、エラー状態が検出されたか否かを判定する。
S804で、CPU302は、エラー状態である場合、エラーフラグをオンとする。そうでない場合、エラーフラグをオンにせずに、判定処理を終了する。
なお、エラー状態か否かを判定するエラー判定処理は、カメラ101が撮像している対象物、領域、および環境に応じて、それぞれ設定可能である。CPU302は、イベント検知結果がトリガ条件を満たすカメラ101から画像を取得し、取得した画像に含まれるオブジェクトがどのような種類のオブジェクトであるかを判定することにより、エラー状態か否かを判定してもよい。
例えば、ロボットアーム103を含む領域を撮像しているカメラ101bが、侵入ありを検知したとする。このときCPU302は、侵入ありが検知されたカメラ101bから取得した画像を解析し、対象の領域に侵入したオブジェクトがどのような種類であるかを判定する。具体的にはCPU302は、メモリ303に格納されたオブジェクトの特徴を示すデータと、画像を解析して得られた侵入オブジェクトの特徴量とを比較する。CPU302は、比較の結果、侵入オブジェクトが人であると判定した場合、ロボットアーム103の作業領域に人が侵入したとしてエラー状態(人立ち入り)であると判定する。
図7のフローチャートの説明に戻る。
S705で、CPU302は、エラーフラグがオンであるか否かを判定する。エラーフラグがオンである場合は、処理はS710に進む。そうでない場合は、処理はS706に進む。
S706は、CPU302が、基本動作を実行するサブプロセスである。基本動作のステップの動作が継続中である場合、継続中の動作を継続する。例えば、ロボットアーム103に移動指示を出力し、ロボットアーム103が移動を開始してから移動を完了するまでの間であれば、CPU302は継続中の動作を継続させる。
図8(b)は、S706で実行する基本動作処理のフローを示すフローチャートである。
S811で、CPU302は、ロボットアーム103を初期位置に移動させる。ロボットアーム103の移動制御は、あらかじめ定められたロボットアーム103の移動可能空間における座標系に対して、ハンドの目標座標と移動速度とを指示することによって実行されるとする。なお、ロボットアーム103の駆動系への電力の印加を直接制御装置102から制御してもよい。
S812で、CPU302は、作業台107上の対象ワークの位置情報を取得する。
S813で、CPU302は、ロボットアーム103を対象ワークの位置に対応する位置、および姿勢に移動するように制御する。
S814で、CPU302は、ロボットアーム103に対象ワークを把持させる。
S815で、CPU302は、対象ワークを設置する作業台109の情報を取得する。CPU302は、カメラ101cに撮像要求を送信し、作業台109を含む領域を撮像した画像を取得する。CPU302は、撮像画像のエッジを検出することにより、作業台109の位置、作業台109に積載されたワーク108の位置、姿勢、および種類等の情報を取得する。
S816で、CPU302は、取得した作業台109の情報に基づいて、ロボットアーム103を移動させる。
S817で、CPU302は、作業台109の目標設置位置に対象ワークを設置するようにロボットアーム103を移動させ、ハンドから対象ワークを離すように制御する。
S818で、CPU302は、あらかじめ設定された基本動作の終了条件を満たすか否かを判定する。
CPU302は、図6のボックス605に入力された繰り返し実行回数だけ、基本動作を実行した場合には、終了条件を満たすと判断して、基本動作を終了する。そうでない場合は、基本動作を継続する。
図7のフローチャートの説明に戻る。
S707で、CPU302は、基本動作が完了したか否かを判定する。基本動作が完了していれば、CPU302は、制御フローを終了する。そうでない場合、処理は、S701に戻る。
S705で、エラーフラグがオンであると判定された場合、例外処理を実行する。例外処理は、図6のGUIを用いてあらかじめ設定されている処理であるとする。
S710〜S715の処理は、例外処理である。S710で、CPU302は、基本動作ステップを中断する処理を実行する。これは、図6に示した全体制御の設定において、エラー時にシステムを停止するか否かを示すチェックボックス612が有効になっていることから実行する処理である。チェックボックス612があらかじめ無効である場合は、この処理を行わなくてもよい。
S711で、CPU302は、プレ画像の要求処理をカメラ101に実行する。プレ画像の要求は、画像処理の結果を示す情報が判定結果を満たすカメラ101に対して要求するとする。なお、画像処理の結果を示す情報が判定結果を満たすカメラ101を含む複数のカメラ101に対してプレ画像を要求してもよい。例えば、画像処理の結果を示す情報が判定結果を満たすカメラ101と、その周囲に設けられているカメラ101とに対して、プレ画像を要求してもよい。
S712で、CPU302は、カメラ101から取得したプレ画像をHDD304に記録する。なお、S711、S712のプレ画像の記録処理は、設定に応じて実行されなくともよい。
S713で、CPU302は、カメラ101に対して記録フラグをオンにする指示を送信する。S713は、ポスト画像の記録処理を開始する処理である。記録フラグは、接続するカメラ101それぞれに対して個別に設定できるとする。CPU302は、エラー判定処理の結果、エラー状態であると判定されたカメラ101の記録フラグをオンにする。なお、エラー状態であると判定されなかったカメラ101を含む複数のカメラ101に対して記録フラグをオンにしてもよい。例えば、エラー判定処理の結果、エラー状態と判定されたイベントを検知したカメラ101と、その周囲に設けられているカメラ101に対して、記録フラグをオンにしてもよい。なお、CPU302は、ポスト画像の記録を開始した時刻と、記録された画像とを関連付けて記録する。
S714で、CPU302は、カメラ101から取得した画像をHDD304に記録し、記録開始からの経過時間が、設定された記録時間を超えたか否かを判定する。経過時間が設定された記録時間を超えた場合、処理は、S715に進む。そうでない場合、処理はS714を繰り返す。なお、設定された記録時間は、図6のGUIのボックス611で設定された期間である。
S715で、CPU302は、記録フラグをオフにして、ポスト画像の記録処理を終了する。なお、S713、S714、S715のポスト画像の記録処理は、設定に応じて実行されなくともよい。例えば、図6に示したGUIのボックス611で「録画なし」と設定されている場合には、ポスト画像の記録処理を実行せずに制御フローを終了する。
上述のようにして、制御装置102は、カメラ101が実行したイベント検知処理の結果が所定の条件を満たす場合に、エラー判定処理を実行する。したがって、制御装置102は、取得した全ての画像に対してエラー判定のための解析処理を実行する必要がなくなることから、制御装置102の処理負荷を軽減することが可能となる。
したがって、接続する撮像装置が増加しても、制御装置102のエラー判定処理にかかる負荷を抑制し、他の処理、例えば基本動作に用いられる画像処理の遅延を抑制することが可能な制御装置を提供することが可能となる。
なお、制御装置102は、所定のイベント検知結果をカメラ101が検知したことに応じて、判定処理の実行前に、当該カメラ101で撮像した映像の録画を開始してもよい。さらに、制御装置102は、当該カメラ101に関連する他のカメラの映像も自動的に録画してもよい。これによって,ユーザが後にエラーの発生原因を解析する際に,あるカメラの映像ではオクルージョンのため死角になっている部分があっても、他のカメラの映像でその部分を見ることができる可能性が高まる。
なお、図7のフローチャートにおいて、エラーフラグが有効である場合の例外処理として、基本動作中断処理、プレ画像記録処理、ポスト画像記録処理を示したが、他の処理を実行してもよい。さらに,基本動作中断処理、プレ画像記録処理、ポスト画像記録処理のうちいずれかを実行しなくてもよい。
エラー状態であると判定された場合に実行される例外処理は、表示装置104にエラー判定処理に用いた画像を出力する処理でもよい。図9は、制御装置102がエラー判定処理に用いた画像を表示装置104に出力した場合に、表示装置104に表示される画面を示す模式図である。
図9は、カメラ101aでイベント検知結果が「置き去りあり」であり、カメラ101aから取得した画像に基づいてワーク108の位置および姿勢の計測を行った結果、エラー状態と判定がされた場合に、表示装置104に表示される画像を示す。制御装置102は、カメラ101cで取得した画像と、エラー判定処理で解析して得られた結果を示す情報とを合わせて表示する。図9では、表示装置104は、姿勢が崩れているワーク108の情報として「種別:箱(書籍・洗剤)」という情報を示している。表示された情報は、ワークの種別や、さらに登録されているバーコードと、内容物を紐付けて表示する例である。
なお、表示装置104に表示される画像は、エラーが判定された画像を取得したカメラ101のライブビュー画像であってもよい。このように、表示装置104にエラーが発生した領域の画像を表示することにより、ユーザは、ワークの位置姿勢・種別からエラーへの対処方法を判断できる。例えば、落下したワークが破損しやすいものであれば新品と交換し、そうでないものであれば検査した後に再利用したりするなどである。
また、エラー状態であると判定された場合に実行される例外処理は、エラーが検出された画像を取得したカメラ101が撮像している領域を、他のカメラ101で異なる角度から撮像するように、カメラ101の撮像条件(視野)を制御する処理でもよい。例えば、ロボットアーム103の近傍の領域でエラー状態と判定された場合、制御装置102は、周囲のカメラ101a、101cの撮像角度やズーム倍率、フォーカスを変更する。これによりエラーが発生した場所(カメラ101bの撮像対象の領域)を多方向から撮像することが可能になるため、ユーザが状況を把握したり改善策を施したりすることがより容易となる。
(ジョブの設定GUI)
本実施例において、制御装置102が実行するジョブは、ユーザが設定することが可能である。例えば、基本動作や、エラー判定処理、例外処理を、ジョブとしてユーザが設定することができる。
図10は、制御装置102の基本動作を設定するためのGUIを示す模式図である。具体的には、図10は、制御装置102の基本動作に関するジョブ(Flow1)を作成するためのフローチャート作成GUI1000を表す図である。GUI1000は表示装置104に表示される。
リスト領域1001はフローチャートに使用可能な各処理に対応する作業ユニットのリストを表示する領域である。ユーザはマウス105を用いてリスト1001から作業ユニットをフローチャート領域1002にドラッグ&ドロップし、作業ユニット間を線で結合してフローチャートを作成する。
フローチャート1003は、設定されたフローチャートの一例である。フローチャート1003は、ロボットアーム103によってワークを作業台107から取り出し、作業台109に整列する処理を記述している。
作業ユニット1004で、CPU302は、作業台107上空にロボットを移動する。これは、図8で説明したS811の処理に対応する。
作業ユニット1005で、CPU302は、カメラ101aに作業台107上のワーク108を含む領域を撮像する指示を送信し、カメラ101aから動画像を取得する。
作業ユニット1006で、CPU302は、取得した画像からエッジを検出することによって、ワーク108を検出する。そして、ワーク108の位置、位相、および姿勢を示す位置情報を取得する。
作業ユニット1007で、CPU302は、ワークに貼りつけられたバーコードや色模様などを認識し、バーコード等のワーク108に貼付された画像を読み取る処理を実行することにより、ワーク108の種別を取得する。作業ユニット1005〜1007は、図8で説明したS812の処理に対応する。
作業ユニット1008で、CPU302は、作業ユニット1006で計算された対象のワーク108の位置情報に基づいて、ロボットアーム103の補正移動を実行する。
補正移動は、ロボットアーム103のハンド(エンドエフェクト)を移動または回転させて、対象ワークの位置や位相に応じた位置に設置する移動制御である。
作業ユニット1009で、CPU302は、ハンド(エンドエフェクト)でワークの把持が可能な位置、例えばワークの直上などまでロボットアーム103を移動させる。作業ユニット1008、1009は、図8で説明したS813の処理に対応する。
作業ユニット1010で、CPU302は、ハンドの開閉を制御してワーク108を把持(ピッキング)する。
作業ユニット1011で、CPU302は、ワークの種別に応じた作業台109の上空に移動する。作業ユニット1010、1011は、図8で説明したS814の処理に対応する。
作業ユニット1012で、CPU302は、カメラ101cを用いて作業台109と、対象ワークを接地する空間を含む領域を撮像する指示を送信し、カメラ101cから画像を取得する。
作業ユニット1013で、CPU302は、取得した画像を用いて作業台109、および積載されたワーク108の位置姿勢計測などを行い、ワークを設置する位置を計測する。作業ユニット1012、1013は、図8で説明したS815の処理に対応する。
作業ユニット1014で、CPU302は、フローチャートの繰り返し数や外部から取得した積載個数に対応し、設置位置の高さにロボットを移動する。これは、図8で説明したS816の処理に対応する。
作業ユニット1015で、CPU302は、ハンドの開閉を制御して対象ワーク108を設置(プレイス)する。
作業ユニット1016で、CPU302は、ロボットアーム103のハンドを作業台109の上に移動する。作業ユニット1015、1016は、図8で説明したS817の処理に対応する。
作業ユニット1017で、CPU302は、あらかじめ定められた終了条件を満たすか否か判定する。例えば、図6に示したように、繰り返し実行する作業回数が定められている場合、CPU302は、総作業回数が定められた作業回数に達した場合に、Flow1を終了する。CPU302は、総作業回数が定められた作業回数未満である場合、作業ユニット1004に戻る。作業ユニット1017は、S818に対応する。
ユーザが、操作入力装置(マウス)105を用いて、GUI1000上のフローチャート1003の作業ユニットのいずれかをダブルクリックすると、その作業ユニットの詳細な処理を設定するための設定画面に遷移する。
リストボックス1019は、ユーザが設定対象のフローチャートを選択するためのボックスである。ユーザは、リストボックス1019から対象のフローチャートを選択してもよいし、新しいフローチャート名を入力して本システムに新しいフローチャートを追加してもよい。
ユーザがボタン1018を押下することに応じて、リストボックス1019で選択されたフローを、フローチャート領域1002に記載されたフローチャート1003の内容に決定する。CPU302は、上記処理を実行するためのフローチャートを含むジョブを作成して、メモリ303に記録する。
図10(b)は、制御装置102の判定処理に関するジョブを作成するためのフローチャート作成GUI1100を示す模式図である。GUI1100は表示装置104に表示される。GUI1100で設定されたフローチャートは、図8に示したS802の処理に対応する。
作業ユニット1104で、CPU302は、バーコード読取の画像処理を行う。
作業ユニット1105で、CPU302は、読み取られたバーコード情報よりワークの種別を検索する処理を行う。
作業ユニット1106で、CPU302は、取得した画像からエッジを検出することによって、ワーク108を検出する。そして、ワーク108の位置、位相、および姿勢を示す位置情報を取得する。
作業ユニット1107で、CPU302は、ワークの種別とワークの位置情報をもとに、エラー状態(エラー)であるか否かを判定する。
例えば、作業台107に積載された複数のワーク108のうちの1つが動いたことにより、カメラ110aが動体ありを検知したとする。このとき、CPU302は、作業ユニット1107で、各ワーク108の位置情報に基づいて、各ワーク108の位置、および姿勢の変化を取得する。検出されたワーク108の位置および姿勢のいずれかが、あらかじめ定められた位置および姿勢から所定以上ずれていた場合、CPU302は、エラー状態であると判定する。
一方、作業台107付近に、小動物や作業員がわずかに侵入したことにより、カメラ110aが動体ありを検知したとする。この場合、CPU302が取得する各ワーク108の移動量が小さい。したがって、CPU302は、荷崩れは発生していないためエラー状態であると判定しない。
CPU302は、エラー状態であると判定した場合、エラーフラグをオンに変更して、Flow5を終了する。
なお、ユーザが外部のジョブ作成装置で作成したジョブを記憶(コピー)して実行することも可能である。予め機能別や目的別に定型で用意された組合せ済みの画像処理フローチャートを内包したパッケージ機能をユーザがGUI上で選択したり、パラメータを調整したりするような形態などで提供してもよい。
<実施例2>
実施例2の産業用自動化システムおよび制御装置は、カメラのイベント検知の結果が所定の条件を満たす場合に、カメラを制御して計測器の表示器を含む領域を撮像し、当該計測器の計測値を取得する。制御装置は、取得した計測値が所定の範囲に含まれるか否かを判定する。取得した計測値が所定の範囲に含まれない場合、制御装置はエラー状態であると判定し、例外処理を実行する。制御装置は、例外処理として、エラー状態が発生したことを通知する処理を実行する。
図14は、実施例2の産業用自動化システムの構成を示す模式図である。
産業用自動化システムは、カメラ1401、制御装置1402、表示装置1404、マウス1405、およびサーバ1406を備える。カメラ1401、表示装置1404、マウス1405、およびサーバ1406の動作は、実施例1と同様であるので、説明を省略する。また、制御装置1402の機能ブロックは、実施例1の制御装置102と同様であるので、説明を省略する。
カメラ1401は、部屋の温度を検出する温度計の出力値をアナログメータで表示する計測器1407を含む部屋の領域を撮像する。制御装置1402は、温度計の出力値が所定の範囲に含まれない場合に、所定の通知を実行する。温度計が設置されている部屋は、例えば、クリーンルームや環境試験を行う部屋であり、温度管理が必要な部屋であるとする。部屋の温度は、人の立ち入り等の環境変化により、変化する。
実施例2の産業用自動化システムは、部屋の温度変化を監視するシステムであって、カメラ1401が侵入や通過のイベントを検知したことに応じて、制御装置1402が、温度が所定の範囲内であるか否かを判定する判定処理を実行する。
図15は、制御装置1402の動作を示すフローチャートである。
S1501で、制御装置1402のCPU302は、各カメラ1401に対してイベント検知処理の結果を示す情報を要求する。
S1502で、CPU302は、各カメラ1401のイベント検知処理の結果を示す情報を取得する。
S1503で、CPU302は、侵入ありのイベント検知結果を少なくとも1つのカメラ1401から取得したか否かを判定する。少なくとも1つのカメラ1401から取得した場合、処理はS1504に進む。そうでない場合、処理はS1507に進む。
S1504で、CPU302は、メータ読取プロセスを実行する。メータ読取プロセスは、あらかじめ定められた計測器1407の表示器(アナログメータ)を含む領域を撮像し、当該計測器1407の計測値を取得する処理である。メータ読取プロセスの詳細は後述する。
S1505で、CPU302は、メータ読取プロセスで取得した計測値が、所定の範囲に含まれるか否かを判定する。計測値が所定の範囲に含まれない場合、CPU302は計測値がエラーであると判定する。処理をS1506に進む。そうでない場合、処理はS1507に進む。
S1506で、CPU302は、ユーザに計測値がエラーであることを示す通知処理を実行する。通知処理は、例えば、表示装置104に警告画面を表示する処理であるとする。また、通知処理は、管理者の端末に電子メール等のアラート情報を送信する処理でもよい。また、サーバ106のログに、エラーが発生した時刻と、計測値と、エラーが発生したことを占める情報を記録する処理であってもよい。
図15(b)は、メータ読取プロセスのフローチャートである。
S1511で、CPU302は、カメラ1401に撮像条件を変更する設定処理を実行する。CPU302はあらかじめ定められた計測器1407の表示部の目盛りを読取可能な撮像画像を得るために、撮像位置、ズーム倍率、焦点距離、および露出等の設定を送信する。また、自動調整をカメラに実行させるように指示を送信してもよい。
S1512で、CPU302は、カメラ1401に撮像指示を出力する。
S1513で、CPU302は、カメラ1401が送信された撮像条件と撮像指示とに応じて撮像した画像をカメラ1401から取得する。
図16は、カメラ1401が取得する画像を示す模式図である。
図16(a)は、カメラ1401がS302で設定されたイベント検知処理用の撮像条件で撮像した画像を示す模式図である。図16(a)に示すように、メータ読取プロセスを実行していない間、カメラ1401は、計測器1407を含む領域を低倍率すなわち広角で撮像する。これにより、より広い範囲が撮像されるので人物の侵入を検知しやすくなる。なお、侵入検知処理の検知領域を図中の点線で示した領域に設定するとする。
図16(b)は、カメラ1401が処理S1512で、撮像した画像を示す模式図である。メータ読取プロセスのS1511で撮像条件を設定された結果、計測器1407の表示部の目盛りや指示値を制御装置1402が解析可能なように、表示部を含む領域が高倍率で撮像される。
S1514で、CPU302は、取得した画像から計測値を読み出す。CPU302は、画像のうち、目盛りを示す領域と、針を示す領域とを検出する。目盛り領域に示されたスケール値と、針の位置とに基づいて、計測器1407が示す値を取得する。例えば、図16(b)に示す画像を処理する場合、CPU302は、13℃を計測値として取得する。
S1515で、CPU302は、取得した計測値を目盛り503に出力する。
上述のようにして、制御装置1402は、カメラ1401が実行したイベント検知処理の結果が所定の条件を満たす場合に、計測値を取得する処理を実行し、計測値がエラーであるか否かを判定する処理を実行する。したがって、制御装置1402は、頻繁に計測器1407の画像に対してエラー判定のための解析処理を実行する必要がなくなることから、制御装置1402の処理負荷を軽減することが可能となる。
したがって、接続する撮像装置が増加しても、制御装置のエラー判定処理にかかる負荷を抑制し、他の処理の遅延を抑制することが可能な制御装置を提供することが可能となる。
なお、実施例2では、制御装置1402が計測値を読み取る計測器1407として、アナログメータで計測値を表示する計測器を示したが、これに限らない。例えば、計測器は、デジタルで数値を表示するデジタルパネルメーター(デジタルOCR)で、計測値を表示するものであってもよい。この場合、制御装置1402は、画像に含まれる数値をパターンマッチング等の画像解析処理で取得し、計測値を読み取る。
また、流量を浮きの位置で示す、浮き子式流量計であってもよい。この場合、制御装置1402は、浮きを含むテーパ管に示された目盛りに対する浮きの位置を画像解析処理によって取得し、計測値を読み取る。
<その他の実施例>
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101 制御装置
102 カメラ
103 ロボットアーム

Claims (19)

  1. 取得した画像に第1処理を実行する撮像装置と接続する制御装置であって、
    前記撮像装置から前記第1処理の結果に関する情報を取得する取得手段と、
    前記第1処理の結果が第1条件を満たす場合に、前記撮像装置から取得した画像が第2条件を満たすか否かを判定する第2処理を実行する処理手段と、
    を備えることを特徴とする制御装置。
  2. 前記処理手段は、前記第1処理の結果が前記第1条件を満たさない場合に、前記第2処理と異なる第3処理を実行することを特徴とする請求項1に記載の制御装置。
  3. 前記処理手段は、前記第2処理の結果が前記第2条件を満たさない場合に、前記第3処理を実行することを特徴とする請求項2に記載の制御装置。
  4. 前記制御装置は、前記制御装置からの指示に基づいて対象物の搬送を行う装置と接続が可能であり、
    前記第3処理は、前記装置の動作を指示する処理を含むことを特徴とする請求項2または請求項3に記載の制御装置。
  5. 前記処理手段は、前記第2処理の結果が前記第2条件を満たす場合に、前記撮像装置が取得した画像を記録媒体へ記録する処理を開始することを特徴とする請求項1乃至請求項4のいずれか1項に記載の制御装置。
  6. 前記画像の記録が開始された時刻と記憶された前記画像とを関連付けて記録する記録手段をさらに備えることを特徴とする請求項5に記載の制御装置。
  7. 前記制御装置は、複数の前記撮像装置と接続が可能であって、
    前記処理手段は、前記複数の撮像装置のうち前記第1処理の結果が前記第1条件を満たす撮像装置が取得する画像に前記第2処理を実行することを特徴とする請求項1乃至請求項6のいずれか1項に記載の制御装置。
  8. 前記処理手段は、前記複数の撮像装置それぞれから取得した複数の前記第1処理の結果の組み合わせに基づいて、前記第2処理を実行するか否かを判断することを特徴とする請求項7に記載の制御装置。
  9. 前記第2処理の結果が前記第2条件を満たした場合の処理を設定する設定手段をさらに備えることを特徴とする請求項1乃至請求項8のいずれか1項に記載の制御装置。
  10. 前記処理手段は、前記第2処理の結果が前記第2条件を満たす場合、前記撮像装置の視野に関する制御、および焦点に関する制御の少なくとも一方を実行することを特徴とする請求項1乃至請求項9のいずれか1項に記載の制御装置。
  11. 前記処理手段は、前記第2処理の結果が前記第2条件を満たす場合、前記第2処理の結果に関する情報を、外部装置に出力する出力手段をさらに備えることを特徴とする請求項1乃至請求項10のいずれか1項に記載の制御装置。
  12. 複数の撮像装置と、駆動装置と、前記複数の撮像装置から取得した画像に基づいて前記駆動装置を制御する制御装置と、を含む産業用自動化システムであって、
    各撮像装置は、
    撮像手段と、
    前記撮像手段によって撮像された画像に第1処理を実行する第1処理手段と、
    前記第1処理の結果に関する情報および前記画像のいずれかを出力する出力手段と、
    を備え、
    前記制御装置は、
    各撮像装置から前記第1処理の結果に関する情報を取得する取得手段と、
    前記第1処理の結果が第1条件を満たす撮像装置から取得した画像が第2条件を満たすか否かを判定する第2処理を実行する第2処理手段と、
    前記第2処理の結果に応じて前記駆動装置に対する制御を異ならせる制御手段と、
    を備えることを特徴とする産業用自動化システム。
  13. 取得した画像に第1処理を実行する撮像装置と接続する制御装置の制御方法であって、
    前記撮像装置から前記第1処理の結果に関する情報を取得する取得工程と、
    前記第1処理の結果が第1条件を満たす場合に、前記撮像装置から取得した画像が第2条件を満たすか否かを判定する第2処理を実行する処理工程と、
    を備えることを特徴とする制御装置の制御方法。
  14. 前記処理工程は、前記第1処理の結果が前記第1条件を満たさない場合に、前記第2処理と異なる第3処理を実行することを特徴とする請求項13に記載の制御装置の制御方法。
  15. 前記処理工程は、前記第2処理の結果が前記第2条件を満たさない場合に、前記第3処理を実行することを特徴とする請求項14に記載の制御装置の制御方法。
  16. 前記制御装置は、前記制御装置からの指示に基づいて対象物の搬送を行う装置と接続が可能であり、
    前記第3処理は、前記装置の動作を指示する処理を含むことを特徴とする請求項14または請求項15に記載の制御装置の制御方法。
  17. 前記処理工程は、前記第2処理の結果が前記第2条件を満たす場合に、前記撮像装置が取得した画像を記録媒体へ記録する処理を開始することを特徴とする請求項13乃至請求項15のいずれか1項に記載の制御装置の制御方法。
  18. 請求項1乃至請求項11のいずれか1項に記載された制御装置を動作させるために、プロセッサが実行することが可能なプログラム。
  19. 請求項18に記載のプログラムを記憶したプロセッサが読み取り可能な記憶媒体。
JP2018246040A 2018-12-27 2018-12-27 制御装置、その制御方法、産業用自動化システム、プログラム、および記憶媒体 Pending JP2020108038A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018246040A JP2020108038A (ja) 2018-12-27 2018-12-27 制御装置、その制御方法、産業用自動化システム、プログラム、および記憶媒体
US16/710,803 US20200210700A1 (en) 2018-12-27 2019-12-11 Control device, industrial automation system, method of controlling control device, and non-transitory computer readable storage medium
EP19215778.2A EP3675486A1 (en) 2018-12-27 2019-12-12 Control device, industrial automation system, method of controlling control device, program, and non-transitory computer-readable storage medium
CN201911299551.1A CN111385468B (zh) 2018-12-27 2019-12-17 控制装置及其控制方法和工业自动化系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018246040A JP2020108038A (ja) 2018-12-27 2018-12-27 制御装置、その制御方法、産業用自動化システム、プログラム、および記憶媒体

Publications (1)

Publication Number Publication Date
JP2020108038A true JP2020108038A (ja) 2020-07-09

Family

ID=68916239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018246040A Pending JP2020108038A (ja) 2018-12-27 2018-12-27 制御装置、その制御方法、産業用自動化システム、プログラム、および記憶媒体

Country Status (4)

Country Link
US (1) US20200210700A1 (ja)
EP (1) EP3675486A1 (ja)
JP (1) JP2020108038A (ja)
CN (1) CN111385468B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112809679A (zh) * 2021-01-25 2021-05-18 清华大学深圳国际研究生院 可形变物体抓取的方法、装置及计算机可读存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6896195B1 (ja) * 2020-08-28 2021-06-30 三菱電機株式会社 制御装置及び画像記録方法
KR20220087623A (ko) * 2020-12-17 2022-06-27 삼성전자주식회사 기판 처리 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013000854A (ja) * 2011-06-20 2013-01-07 Yaskawa Electric Corp ピッキングシステム
JP2016062177A (ja) * 2014-09-16 2016-04-25 セイコーエプソン株式会社 コントローラー、情報処理装置、及びロボットシステム
JP2016066277A (ja) * 2014-09-25 2016-04-28 日本電気株式会社 物体管理システム、物体管理装置、物体管理方法及び物体管理プログラム
WO2018008595A1 (ja) * 2016-07-04 2018-01-11 日本電気株式会社 対象物認識システム、物体制御装置、対象物認識装置、対象物認識方法、物体制御方法および記録媒体

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4400167B2 (ja) * 2003-10-08 2010-01-20 三菱電機株式会社 監視システム
AT502931A2 (de) * 2004-10-05 2007-06-15 Keba Ag Arbeitsbereichsüberwachung für automatisierte, programmgesteuerte maschinen und roboter
JP4761029B2 (ja) 2005-07-06 2011-08-31 横河電機株式会社 画像解析システム
JP2011221337A (ja) * 2010-04-12 2011-11-04 Sanyo Electric Co Ltd 電子カメラ
US8606400B2 (en) * 2011-06-20 2013-12-10 Kabushiki Kaisha Yaskawa Denki Robot system
JP5776716B2 (ja) * 2013-03-15 2015-09-09 株式会社安川電機 ロボットシステム及び被作業物の製造方法
JP6270433B2 (ja) * 2013-11-26 2018-01-31 キヤノン株式会社 情報処理装置、情報処理方法、情報処理システム
JP6312426B2 (ja) * 2013-12-26 2018-04-18 キヤノン株式会社 撮像装置およびその制御方法
CN103985230B (zh) * 2014-05-14 2016-06-01 深圳市大疆创新科技有限公司 一种基于图像的通知方法、装置及通知系统
CN104023212B (zh) * 2014-06-23 2017-08-11 太原理工大学 一种基于多终端的远程智能视频监控系统
DE102015221337A1 (de) * 2015-10-30 2017-05-04 Keba Ag Verfahren und Steuerungssystem zum Steuern der Bewegungen von Gelenkarmen eines Industrieroboters sowie dabei eingesetztes Bewegungsvorgabemittel
US10392037B2 (en) * 2017-01-12 2019-08-27 Siemens Mobility, Inc. Automated warning time inspection at railroad grade crossings on a given track route
JP7166767B2 (ja) * 2017-05-25 2022-11-08 キヤノン株式会社 機器、製造方法、およびシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013000854A (ja) * 2011-06-20 2013-01-07 Yaskawa Electric Corp ピッキングシステム
JP2016062177A (ja) * 2014-09-16 2016-04-25 セイコーエプソン株式会社 コントローラー、情報処理装置、及びロボットシステム
JP2016066277A (ja) * 2014-09-25 2016-04-28 日本電気株式会社 物体管理システム、物体管理装置、物体管理方法及び物体管理プログラム
WO2018008595A1 (ja) * 2016-07-04 2018-01-11 日本電気株式会社 対象物認識システム、物体制御装置、対象物認識装置、対象物認識方法、物体制御方法および記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112809679A (zh) * 2021-01-25 2021-05-18 清华大学深圳国际研究生院 可形变物体抓取的方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN111385468A (zh) 2020-07-07
CN111385468B (zh) 2022-11-15
EP3675486A1 (en) 2020-07-01
US20200210700A1 (en) 2020-07-02

Similar Documents

Publication Publication Date Title
US10796543B2 (en) Display control apparatus, display control method, camera system, control method for camera system, and storage medium
US10404947B2 (en) Information processing apparatus, information processing method, camera system, control method for camera system, and storage medium
JP2020108038A (ja) 制御装置、その制御方法、産業用自動化システム、プログラム、および記憶媒体
JP2017505079A5 (ja)
JP2022103189A (ja) 作業現場監視装置、作業現場監視システム、作業現場監視方法およびプログラム
CN112217998A (zh) 拍摄装置、信息处理装置及其控制方法、存储介质
US20110317037A1 (en) Image pickup apparatus
JP2019191748A (ja) 生産性向上支援システムおよび生産性向上支援プログラム
JP5947568B2 (ja) カメラ制御装置及びそのコンピュータプログラム
JP2017097702A (ja) 監視システムとその監視制御装置
JP6624800B2 (ja) 画像処理装置、画像処理方法、及び画像処理システム
US20160224209A1 (en) Video monitoring system and video display method
JP2017011417A (ja) 表示制御装置、表示制御方法、プログラム
JP2019176380A (ja) 制御装置及び監視システム
US9525816B2 (en) Display control apparatus and camera system
JP6898825B2 (ja) 監視装置
US11839980B2 (en) Image processing apparatus monitoring target, control method therefor, and storage medium storing control program therefor
JP6210758B2 (ja) 撮影システム、撮像装置及びサーバ
JP4513722B2 (ja) 監視制御装置及び監視制御方法
JP2022030859A (ja) 監視情報処理装置、方法およびプログラム
JP6898826B2 (ja) 監視装置
JP6072163B2 (ja) カメラ制御装置及びそのコンピュータプログラム
JP2013145996A (ja) 監視カメラシステムおよび情報設定端末
US20220335723A1 (en) Management apparatus, management method, management system, computer program and recording medium
WO2023132131A1 (ja) 検査装置、検査方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221220

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230627