JP7391571B2 - 電子機器、その制御方法、プログラム、および記憶媒体 - Google Patents

電子機器、その制御方法、プログラム、および記憶媒体 Download PDF

Info

Publication number
JP7391571B2
JP7391571B2 JP2019155980A JP2019155980A JP7391571B2 JP 7391571 B2 JP7391571 B2 JP 7391571B2 JP 2019155980 A JP2019155980 A JP 2019155980A JP 2019155980 A JP2019155980 A JP 2019155980A JP 7391571 B2 JP7391571 B2 JP 7391571B2
Authority
JP
Japan
Prior art keywords
processing
captured image
image
type
setting
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
JP2019155980A
Other languages
English (en)
Other versions
JP2021033869A (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.)
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 JP2019155980A priority Critical patent/JP7391571B2/ja
Priority to US16/989,651 priority patent/US11710250B2/en
Priority to CN202010878179.6A priority patent/CN112446287A/zh
Publication of JP2021033869A publication Critical patent/JP2021033869A/ja
Application granted granted Critical
Publication of JP7391571B2 publication Critical patent/JP7391571B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • 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
    • 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/61Control of cameras or camera modules based on recognised objects
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Signal Processing (AREA)
  • Manipulator (AREA)
  • Stored Programmes (AREA)
  • Image Analysis (AREA)

Description

本発明は、装置を制御する処理手順を設定する電子機器、その制御方法、プログラムおよび記憶媒体に関する。
ワークを撮像して得られた画像に基づいて、ロボットアーム、アクチュエータ、および搬送機構などのロボットを制御する制御装置がある。
このような制御装置では、複数の処理単位(機能単位)をユーザが目的に応じて組み合わせて処理手順(フローチャート)を設定することが可能な装置がある。ユーザが予め処理手順を設定することにより、処理手順を制御装置が実行することでユーザが達成したい目的に沿った処理を自動的に実行することが可能となる。
特許文献1には、入力された画像に複数の画像処理を適用した各々の結果を表示することが開示されている。
特開2001-178686号公報
多くの種類の処理単位から処理手順の生成に使用する処理単位を選択することを可能とした場合、ユーザは適切な処理単位を選択することが困難である場合がある。
本発明は前述の問題点に鑑み、ユーザが処理手順を生成するため用いる処理単位をユーザに提示することが可能な電子機器、その制御方法、プログラム、および記憶媒体を提供することを目的とする。
本発明に係る電子機器は、撮像画像を取得する取得手段と、複数の処理項目を組み合わせて前記撮像画像に基づいて装置を制御するための処理手順を設定する設定手段とを有し、前記設定手段は、前記処理手順を設定する場合に、撮像画像に含まれるオブジェクトの種類に対応する1以上の処理項目を提示し、前記提示された1以上の処理項目のうち少なくとも1つの処理項目を前記処理手順に加える処理を実行し、前記撮像画像と、前記撮像画像に含まれる前記オブジェクトの種類に対応する前記1以上の処理項目を示す情報と、を示す画面を表示部に表示させるとともに、前記オブジェクトの種類に対応する前記1以上の処理項目に対応する処理の結果を示す情報を前記表示部に表示させることを特徴とする。
本発明の電子機器、その制御方法、プログラム、および記憶媒体によれば、撮像画像に含まれるオブジェクトの種類に応じた処理単位をユーザに提示する。したがって、ユーザが当該撮像画像の取得を含む処理手順を生成するため用いる処理単位をユーザに提示することが可能となる。
実施形態に係る画像処理装置を含むシステム全体の構成例を示す図である。 実施形態に係る画像処理装置の詳細な内部構成例を示すブロック図である。 実行プログラムを実行するためのフローチャート作成画面の一例を示す図である。 フローチャートの作成手順を説明するための図である。 フローチャート作成支援画面の一例を説明するための図である。 フローチャートの作成を支援する処理手順の一例を示すフローチャートである。 ワークの種別と推奨される処理項目との関係のテーブルを説明するための図である。 フローチャート作成支援画面の一例を説明するための図である。 フローチャート作成支援画面の他の例を説明するための図である。 2種類のワークを含むフローチャート作成支援画面の一例を説明するための図である。
(第1の実施形態)
以下、本発明の実施形態について、図面を参照しながら説明する。
図1は、画像処理装置101を含むシステム全体の構成例を示す図である。システムは、画像処理装置101、カメラ102、ロボット103、ロボット制御装置104、クライアント端末105、および照明装置106を有する。また、システムは、作業台107のワーク108を、ロボット103によって、配置台109~111のいずれかに積載するために用いられるとする。なお、システムの用途は、これに限らない。
画像処理装置101は、カメラ102およびロボット103を制御する制御装置である。画像処理装置101は、ロボット制御装置104を介してロボット103を制御する。画像処理装置101は、内部のプログラムや外部の制御装置の制御指示に基づいて所定のタイミングでロボット103を直接制御してもよい。また、画像処理装置101は、ロボット103およびロボット制御装置104とは筐体が異なるものとして説明するが、同一の筐体であってもよい。
画像処理装置101は、カメラ102の撮像条件(撮像パラメータ)の設定、および撮像指示を行う。画像処理装置101は、カメラ102から撮像画像を取得し、画像処理を適用する。また、画像処理装置101は、処理された撮像画像をクライアント端末105に出力して、画像を表示させる。画像処理装置101は、ロボット制御装置104に制御指示を送信する。
画像処理装置101は、カメラ102、ロボット103、ロボット制御装置104、クライアント端末105、および照明装置106に対する制御処理、および、取得した画像に対する画像処理を、あらかじめ定められた処理手順に基づいて実行する。処理手順は、画像処理装置101が実行可能な複数の処理単位の組み合わせとして設定される。画像処理装置101は、処理手順を示すプログラムを作成、編集、および更新することが可能な電子機器である。
カメラ102は、オブジェクト(以下、ワーク)を含む画像の撮像を行う撮像装置である。カメラ102は、ズーム倍率や、焦点距離、絞り、信号増幅率など各種撮像パラメータを変更するための機構を有し、画像処理装置101からの指示に応じてそれぞれが個別に決定可能である。
ロボット103は、ロボット制御装置104からの指示に応じて駆動する産業用の装置である。本実施形態において、ロボット103は、把持機構(ハンド)と把持機構を移動させるアーム機構(アーム)とを有する。ロボット103は、ハンドとアームとを制御することにより、ワークを把持し、移動することが可能なロボットアームである。なお、ロボット103のアームには、カメラ102が取り付けられている。したがって、カメラ102の位置は、ロボット103のアームを移動することによって制御することが可能となる。
ロボット制御装置104は画像処理装置101からの制御指示を受け、ロボット103の各軸やハンドの動作を制御する制御装置である。
クライアント端末105は、ディスプレイ、入力装置、および制御装置を備え、画像処理装置101と接続する装置である。ディスプレイは、液晶ディスプレイなどの表示装置である。入力装置は、キーボードやマウス、入力操作コントローラ、ジェスチャ入力装置などにより構成される各種操作入力用の入力手段である。またディスプレイに設けられたタッチパネルを入力装置としてもよい。
クライアント端末105は、画像処理装置101から入力された画像に基づいてディスプレイに画像を表示する。また、ユーザは、クライアント端末105の入力装置を操作することにより、画像処理装置101に指示を入力することが可能である。クライアント端末105の制御装置は、画像処理装置101と接続し、画像や指示を送受信する。以降、クライアント端末105のディスプレイ、入力装置、および制御装置を総称して、クライアント端末105と表記する。
照明装置106は、ハロゲン照明や発光ダイオード照明などで構成された照明装置である。
図2は、画像処理装置101の詳細な内部構成例を示すブロック図である。画像処理装置101は、インターフェース201、演算部202、および記憶部210を備える。
画像処理装置101は、カメラ102、ロボット制御装置104、クライアント端末105、および照明装置106と、内部バス上に配置されたインターフェース201を介して接続される。インターフェース201は上記各装置と通信するのに適した規格に基づき構成される。例えば、ネットワークインターフェース、シリアル通信インターフェースなどから、選択されうる。
演算部202は、画像処理装置101が実行する処理を制御する制御手段である。演算部202は、汎用マイクロプロセッサとして構成されたCPUや、画像処理プロセッサなどにより構成されるとする。
記憶部210は、例えばROMやRAM、あるいはE(E)PROMなどの不揮発メモリデバイスである。また、画像処理装置101はデータ保存領域を拡大するために外部記憶装置と接続されていてもよい。記憶部210は、画像処理装置101と接続する外部記憶装置上のファイル領域や仮想記憶領域などによって構成することができる。
記憶部210は、演算部202が実行するプログラムを格納するプログラム格納領域211と、処理データを保存する保存領域212とを有する。プログラム格納領域211は、処理手順を実行するための実行プログラム213と、実行プログラム213に記載される処理手順をユーザが設定することを支援するための支援プログラム214とが記憶されている。保存領域212は、記憶部210のRAM領域や、外部記憶装置のファイル領域や仮想記憶領域などによって構成される。保存領域212は、処理データを一時記憶させる他、画像処理の設定パラメータなどの記憶に用いられる。
プログラム格納領域211に格納される実行プログラム213には、例として、作業台107のワーク108を、ロボット103によって、配置台109~111のいずれかに積載するための処理手順が設定されているとする。具体的には、画像処理装置101は、作業台107の上空からワーク108を含む領域を撮像することが可能な位置(撮像位置Pa)にカメラ102が配置されるように、ロボット103の位置、および姿勢を制御する。カメラ102が撮像位置Paに移動したのち、画像処理装置101は、ワーク108を含む領域を撮像するようカメラ102を制御する。画像処理装置101は、カメラ102から撮像画像を取得し、画像処理(解析処理)を行い、ワーク108の位置および姿勢を示すパラメータを取得する。画像処理装置101は、解析処理で得られたワーク108の位置および姿勢を示すパラメータに基づいて、ロボット103の把持位置を補正するよう制御する。画像処理装置101は、ワーク108の位置および姿勢を示すパラメータに基づいて、ロボット103のアームがワーク108を把持するように、ロボット103の移動を制御する。さらに、画像処理装置101は、把持したワーク108を配置台109~111のいずれかにワーク108を整列して積載する。図1には、ワーク112が配置された例を示しており、整列して所定の数量のワークが配置台109~111のそれぞれに積載されている。また、画像処理装置101の処理後や処理途中に、処理経過や結果、応答などを表示装置111に適宜表示させるようにしてもよい。
演算部202が支援プログラム214を実行すると、演算部202は、クライアント端末105のディスプレイに実行プログラム213の処理手順をフローチャートの形式で示す画面を表示する。また、演算部202は、クライアント端末105のディスプレイに実行プログラム213の処理手順を更新するための編集画面を表示する。図3は、実行プログラム213の処理手順を示すフローチャートと編集画面とを示す模式図である。なお、他の実施形態として、別体の電子機器で実行プログラム213を更新したのち、画像処理装置101の記憶部210に実行プログラム213を記憶させる形態であってもよい。
クライアント端末105のディスプレイに表示される画面(編集画面)は、編集領域301とフローチャート領域302とを有する。編集領域301は、フローチャートを編集するための複数の処理パーツを選択するためのリスト320と、作成もしくは編集する対象の実行プログラム213を選択するためのリストボックス316と、を有する。
編集領域301は、実行プログラム213の作成もしくは編集を完了し、保存領域に格納するためのボタン(OKボタン)317と、実行プログラム213の作成もしくは編集をキャンセルするためボタン(キャンセルボタン)318とを有する。
編集領域301は、フローチャートの作成を支援する機能を起動させるためのボタン(作成支援ボタン)319を有する。フローチャート領域302は、実行プログラム213の処理手順を示すフローチャートを示す領域である。ユーザは、クライアント端末105を操作して、フローチャート領域302に表示されたフローチャートを編集することによって、実行プログラム213の処理手順を設定することが可能である。
リスト320は、実行プログラム213の処理手順を示すフローチャートを作成するための処理パーツ(処理単位)のリストである。ユーザはクライアント端末105の入力装置を用いて、リスト320から処理パーツをフローチャート領域302にドラッグ&ドロップし、パーツ間を線で結合することによってフローチャートが作成される。
リストボックス316は、画面に表示するフローチャートを選択するためのリストボックスである。ユーザがクライアント端末105の入力装置を操作してリストボックス316を選択することによって、表示するフローチャートを切り替えたり、リストボックスに新しいフローチャート名を入力したりすることができる。図3に示した例では、ワークの種別が箱であった場合の処理手順を示しているが、ワークの種別がその他のものである場合には、処理パーツの一部が異なる。このため、その他のワークを扱うためのフローチャートを作成する際には、リストボックス316を操作して表示するフローチャートを切り替える必要がある。
ボタン317は、作成したフローチャートを保存して実行プログラム213を更新することを指示するためのボタンである。キャンセルボタン318は、これまでの設定内容を破棄する処理を行うためのボタンである。作成支援ボタン319は、フローチャートの作成を支援する機能を起動させるためのボタンである。作成支援ボタン319を選択した場合の処理の詳細な説明については後述する。
フローチャート領域302に表示されるフローチャート330は、前述した一連の制御の処理手順を記述したものである。ここで、図3に示す個々の処理パーツについて説明する。
処理パーツ304は、ロボット103のアーム機構を移動させる処理(移動処理)を示す移動パーツである。処理パーツ304の処理を演算部202が実行すると、ロボット103のアーム機構に取り付けられたカメラ102が作業台107のワーク108を撮像可能な位置に移動するように、ロボット103のアーム機構を作業台107の上空にカメラ102を移動させる。
処理パーツ305は、カメラ102に撮像動作を実行させる処理(撮像処理)を示す撮像パーツである。処理パーツ305の処理を演算部202が実行すると、カメラ102に対して撮像処理を実行させる制御コマンドが出力される。
処理パーツ306は、ワーク108の位置を計測する位置計測処理を示す位置計測パーツである。処理パーツ307は、ワーク108の位相を計測する位相計測処理を示す位相計測パーツである。これらの処理パーツの詳細については後述するが、これらの処理パーツは、それぞれ画像情報の輝度勾配や濃淡情報、色情報などの特徴情報を用いてワーク108を計測するためのパーツである。
処理パーツ308は、ロボット103のハンドの位置や姿勢を相対的に移動させる補正移動処理を示す補正移動パーツである。処理パーツ308の処理を演算部202が実行すると、処理パーツ306、307で計測されたワークの位置及び位相に従ってロボット103を補正制御し、ロボット103のハンド(エンドエフェクト)を回転させるなどの補正移動を行う処理が実行される。
処理パーツ309は、ロボット103のアーム機構を移動させる処理(移動処理)を示す移動パーツである。処理パーツ309の処理を演算部202が実行すると、ロボット103のハンドがワークの把持(ピッキング)が可能な位置、例えばワークの直上に位置するように、ロボット103のアームが制御される。
処理パーツ310は、ロボット103のハンドの開閉や吸着装置の吸引量を制御するハンド制御処理を示すハンド制御パーツである。処理パーツ310の処理を演算部202が実行すると、ハンドの開閉を制御してワーク108を把持する。
処理パーツ311は、ロボット103のアーム機構を移動させる処理(移動処理)を示す移動パーツである。処理パーツ311の処理を演算部202が実行すると、ワークの種別に応じた配置台の上空に、ロボット103のハンドを移動させるようにアームの動作が制御される。
処理パーツ312は、ロボット103のアーム機構を移動させる処理(移動処理)を示す移動パーツである。処理パーツ312の処理を演算部202が実行すると、ワークを配置する位置の上空にロボット103のハンドを移動させるようにアームの動作が制御される。
処理パーツ313は、ロボット103のハンドの開閉や吸着装置の吸引量を制御するハンド制御処理を示すハンド制御パーツである。処理パーツ313の処理を演算部202が実行すると、ハンドの開閉や吸着量が制御されワーク108を配置(プレイス)する。
処理パーツ314は、ロボット103のアーム機構を移動させる処理(移動処理)を示す移動パーツである。処理パーツ314の処理を演算部202が実行すると、ロボット103のアームを配置台の上空に移動する。
処理パーツ315は、条件分岐を判定する判定処理を示す分岐パーツである。処理パーツ315の処理を演算部202が実行すると、演算部202は、処理パーツ304~314の一連の処理が実行された回数(実行回数)が、閾値以上であるか否かを判定する。実行回数が閾値未満である場合、演算部202は、処理パーツ304に処理を戻す。また、実行回数が閾値以上である場合、演算部202は、処理を終了させる(終了処理)。
ユーザが、クライアント端末105を操作してフローチャート領域302に表示されたフローチャート330の処理パーツのいずれかに対してダブルクリックなどの特定の操作を行ったことに応じて、当該処理パーツの設定画面に遷移する。設定画面では、例えば、移動パーツである場合には、アームを移動させる目標位置(座標)、移動速度、移動経路などのパラメータを設定することができる。
次に、図3に示したフローチャートをユーザが作成する場合の課題と、本実施形態によるその解決方法について説明する。
図4は、フローチャートの作成手順を説明するための図である。図4は、編集画面を示す。編集領域301、フローチャート領域302およびそれらに含まれる処理パーツやボタン等は、図3で示したものと同等であるので説明を省略する。
ユーザは、作業台107のワーク108を、ロボット103によって配置台109~111のいずれかに積載するための処理手順を示すフローチャートを作成することを目的として作業を開始するとする。
ユーザは初めに、作業台107上のワーク108を認識するための撮像画像を取得するフローを作成する。
はじめに、ユーザは、クライアント端末105の入力装置を操作して、リスト320から移動パーツを選択(ドラッグ)し、矢印401の方向にフローチャート領域302へ移動(ドロップ)する。カメラ102を撮像位置に移動させるためのアームも目標位置を示す座標情報は、記憶部210の保存領域212に、移動パーツの目標位置のデフォルトとして予め記憶されている。したがって、ユーザは移動パーツを選択するのみで、作業台107の上空の位置へロボット103を移動させることができる。
次に、ユーザは、クライアント端末105の入力装置を操作して、撮像パーツを選択し、矢印402の方向にフローチャート領域302へ移動する。また、移動パーツと撮像パーツとは連続した処理であることを示す直線で結ばれる。撮像パーツを実行する場合に用いられる撮像パラメータ(露出、ズーム倍率など)および撮像パラメータの決定方法(固定値利用や自動露出、自動焦点など)も記憶部210の保存領域212に予め記憶されている。そのため、ユーザは撮像パーツを選択するだけで、その撮像パラメータを用いて撮像を行うことができる。
処理パーツ304と処理パーツ305との処理を演算部202が実行することにより、ロボット103のアームが移動し、アームに取り付けられたカメラ102があらかじめ定められた撮像位置に移動する。そして、カメラ102で撮像が行われる。
次に、ユーザは、撮像画像に基づいてワーク108を把持する処理をフローチャートとして作成するが、画像処理技術について詳細な知識を持たないユーザは、リスト320に含まれる処理パーツのうち、どれを選択すればよいかが判断がつかない場合がある。
本実施形態では、撮像画像に基づいて後段に配置する処理パーツ(処理単位)をユーザに提示する作成支援処理を行うことにより、画像処理に関連する処理パーツの選択をアシストする。
図5は、図4の作成支援ボタン319が選択されたことによって遷移する支援画面501を示す模式図である。なお、図5の支援画面501は、図3のフローチャート作成画面を表示してすぐに表示されるようにしてもよい。
支援画面501は、撮像画像や後述する画像処理の結果を示す表示領域502、撮像画像に含まれるワークの種類を解析した結果を示す表示領域503、解析で得られたワークの種類に対応する1以上の処理単位の候補を示す処理項目504を含む。また、支援画面501は、作成支援処理を制御するためのボタン505~508を含む。
ボタン505は、処理項目504に表示されていない処理項目をさらに表示させるためのボタンである。現在表示されている推奨の処理項目504の中に好適な処理項目が存在しなかったり、別な処理項目と比較したりする場合に、ボタン505を選択すると異なる推奨の処理項目を表示させることができる。
ボタン506は、撮像画像の入力、物体認識、推奨処理の提示などを再度行う(更新する)ようにするためのボタンである。例えば同じワークであってより鮮明な撮像画像に切り替えるような場合、同じ種別の異なるワークを撮像した撮像画像に変更された場合などにボタン506が用いられる。なお、リアルタイムに撮像画像を入力し、周期的に撮像画像を更新するようなライブビューのような形態にしてもよい。
ボタン507は、パーツとして採用する処理項目を決定するためのボタンである。ボタン507が選択されると、処理項目504の選択結果が画像処理装置101の保存領域212に実行プログラム213と紐付けて記憶される。また、ボタン508が選択された場合は、図5に示す画面の処理結果が破棄され、図4に示す画面に戻る。
次に、支援画面501に遷移したことに応じて、演算部202が実行を開始するフローチャート作成の支援処理について説明する。
図6は、演算部202が実行する支援処理を示すフローチャートである。なお、図6に示す各処理は、記憶部210に記憶された支援プログラム214を読み出して演算部202がそのプログラムを実行することにより実現される。
S601で、演算部202は、ワークを撮像した撮像画像を取得する。S601で取得する撮像画像は、図1の作業台107に置かれたワーク108を上から撮像された撮像画像であるとする。S601で取得される撮像画像は、ユーザが不図示の撮像指示ボタンを押下したことに応じて撮像された画像であってもよいし、ライブビュー画像であってもよい。
S602で、演算部202は、撮像画像中のワークの種別を判定(認識)する処理を行う。具体的な方法としては、例えば背景差分や閾値抽出処理などでワークと背景を分離した後、抽出されたワークに対して形状や色、濃淡分布などの画像特徴を用いてワークの種類を判定する処理を行う。なお、ニューラルネットワークなどを用いて予め学習された学習モデルから推論して、ワークの種類を判定してもよい。演算部202が認識したワークの種別を示す情報は、支援画面501の表示領域503に表示される。
S603で、演算部202は、S602で認識されたワークの種類(種別)に対応する1以上の処理単位(処理項目)を特定する。図7は、ワークの種類と、対応する処理単位との関係を示す対応情報を説明するための図である。
図7で、IDは、ワークの種別ごとに割り振られた識別番号である。ワークの種別は、例えば、「箱」、「円環」、「1D/2Dコード」、「文字」、であるとする。「候補処理」は、ワークの各種別に対応する処理単位(処理項目)である。
図7に示すように、ワークの種類に応じて、対応する候補処理の内容が変化する。例えば、ワークの種類が「箱」である場合には、位置計測処理、位相計測処理、傷検出処理、面積計測処理が候補処理としてあらかじめ設定される。また、ワークの種類が「円環」である場合には、位置計測処理、外形計測処理、内径出処理、個数計測処理が候補処理としてあらかじめ設定される。
「候補処理」として設定される複数の処理項目の間では、優先度があらかじめ設定されている。例えば、物体認識結果としてワークが「箱」として認識された場合は、ロボットがハンドリングできるようにすることが一番重視されるので、位置計測、位相計測の優先度が高く設定されている。また、「1D/2Dコード」または「文字」として認識された場合には、文字列や数値的なデータを読み取れるよう、データの読み取り処理の優先度が高く設定されている。なお、図7に示したテーブルは、記憶部210の保存領域212に予め記憶されているものとする。
図7に示したテーブルにおけるワークの種別と候補処理の処理項目との対応関係、および候補処理における処理項目の優先度は、支援処理を繰り返す中で、より選択された回数が多い処理項目の優先度を高くするように学習して更新されてもよい。テーブルを複数の画像処理装置でネットワークを介して共有し、情報を更新するようにしてもよい。ワークの種別と候補処理(および優先度)とが関連付けられたテーブルが学習またはネットワークを介して共有することによって更新されると、多用される処理項目の優先度が高くなる。したがって、より現実的に優先度の高い処理項目から推奨されるようにすることができる。
S603で、演算部202がS602で認識されたワークの種類(種別)に対応する1以上の処理単位(処理項目)を取得した結果は、支援画面501の処理項目504に表示される。処理項目504において、優先度が高い処理項目がより上に表示される。
支援画面501の各々の処理項目504には合わせてチェックボックスが表示される。ユーザは、チェックボックスを用いて処理結果をプレビューする処理項目を選択する。例えば、位置計測処理と位相計測処理とが選択されたとする。なお、処理結果を示す処理項目は、S602で認識されたワークの種類(種別)に対応する1以上の処理単位(処理項目)すべてとすることも可能である。
S604で、演算部202は、撮像画像に含まれるワークに対して、選択された処理項目に対応する画像処理を実行する。
S605で、演算部202は、S604で得られた画像処理の結果を、表示領域502に表示する。
上述したように、位置計測処理と位相計測処理とが選択されている場合、表示領域502には、位置計測処理の結果と、位相計測処理の結果とがそれぞれ示される。
S606で、演算部202は、ユーザがクライアント端末105の入力装置を操作してボタン505が選択されたか否かを判定する。すなわち、演算部202は、ユーザが他の処理項目の選択が可能なように処理項目504の表示を切り換えることを要求したか否かを判定する。
S606でボタン505が選択されたと判定された場合、処理項目504に示される複数の処理項目のうち少なくとも1つの処理項目が異なる複数の処理項目に対応する処理項目504を表示するように切り換える。処理は、S603に戻る。S606でボタン505が選択されていないと判定された場合、S607に進む。
S607で、演算部202は、ユーザが処理項目の選択を終えたか否かを判定する。具体的には、演算部202は、ユーザがクライアント端末105の入力装置を操作して、ボタン507を選択したか否かを判定する。ユーザがボタン507を選択されたときに、選択されている処理項目が、選択処理項目として記憶部210に記憶される。例として、位置計測処理に対応する処理項目と、位相計測処理に対応する処理項目とが選択された状態で、ボタン507が押下されたとする。演算部202は、クライアント端末105の表示部の表示を支援画面501から図4の編集画面に遷移させる。ユーザが処理項目の選択を終えていないと判定された場合、処理はS601に戻る。
S608で、演算部202は、編集画面で作成中のフローチャートにおいて、S607で選択された処理項目を処理パーツとして追加する。
図8は、図6の処理後に表示される画面の一例を説明するための図である。図8に示すように、フローチャート801には位置計測パーツと位相計測パーツとが追加される。なお、フローチャート領域302において、追加された位置計測パーツおよび位相計測パーツは、変更や削除などの編集が可能である。
その後、ユーザはリスト320から補正移動パーツを選択し、フローチャート領域302へドラッグ&ドロップすることにより、フローチャート801に補正移動パーツが追加される。その後、同様にリスト320から移動パーツやハンド制御パーツなどが選択され、順次フローチャートに処理パーツが追加される。ワークを把持する場合、持ち上げる場合、ワークを配置台に移動する場合、配置する場合も同様に、移動先の座標情報やロボットの高さなどの詳細なパラメータは記憶部210の保存領域212に予め記憶されている。そのため、ユーザはその処理パーツを選択するだけでロボットによるワークの把持や配置台への移動などを設定することができる。
また、ワークの種別が認識されたことによって、処理パーツの詳細な設定を変更した方がよい場合もある。例えば位置や位相、面積などを計測する場合には、ワークと背景とを精度よく分離するために、一般的にはワークと背景との濃淡比率、および色成分の変化量が大きい撮像画像を入力することが好ましい。また、キズや汚れを検出する場合は、一般的には色や濃淡変化情報が重要な場合が多いので、ダイナミックレンジの範囲内にワークが広く分布するような撮像画像を入力することが好ましい。
前述したように、ユーザがクライアント端末105の入力装置を操作して詳細な設定を変更したい処理パーツがダブルクリックされると、その処理パーツの詳細な処理を設定するための設定画面に遷移する。その設定画面において、位置や位相、面積などを計測する場合には撮像パラメータでコントラストが大きくなるように調整することができる。また、キズや汚れを検出する場合は、露光値や信号増幅率、ホワイトバランスなどの設定を変更することができる。
以上のように本実施形態によれば、ワークを撮像した撮像画像からワークの種別を認識し、そのワークに関連付けられた処理項目を提示する。また、処理項目による処理結果を合わせて提示した。ユーザは提示された処理項目および処理結果に応じて、フローチャートに加える処理項目を選択することが可能となる。推奨する処理項目が提示されるため、ユーザは様々な処理項目を組み合わせたり事前に確認したりする手間を省くことができる。
本実施形態では、支援画面において、ワークの種別と関連付けて推奨される処理項目を提示し、画像処理に関連する処理パーツを追加するようにした。一方で、ロボットの移動などロボットの制御と組み合わせてフローチャートに追加するようにしてもよい。例えば、物体認識によってワークの種別が箱であった場合には、後段の処理にロボット補正移動パーツ、ロボット移動パーツおよびロボットハンド制御パーツも併せてフローチャートに追加するようにしてもよい。このように、支援画面を表示している時に、関連性の高いロボット制御に係る処理パーツをフローチャートに追加することで、ユーザによるフローチャートの作成の手間をさらに省略することができる。
さらに本実施形態では、支援画面の表示領域502に撮像画像および画像処理の結果が表示されるようにした。一方で、表示領域502を複数の領域に分割して、それぞれの領域に複数の撮像画像やその処理結果を同時に表示するようにしてもよい。
図9は、支援画面の変形例を示す模式図である。図9に示す支援画面901は、複数の表示領域902を有する。各々の表示領域902は少なくとも1つの処理項目に対応し、それぞれの処理項目に対応する画像処理の結果が表示される。図9では、4つの処理項目について画像処理の結果が表示される。ユーザはそれぞれの画像処理の結果を確認して比較しながら、処理パーツとして追加する処理項目を選択することができる。
(第2の実施形態)
第1の実施形態では、物体認識処理を行う撮像画像の中に1つのワークしか存在しないことを前提として説明した。本実施形態では、撮像画像に2つ以上のワークが含まれ、それぞれ異なる種別のワークであることが認識された場合の例について説明する。本実施形態では、2つ以上のワークが認識された場合には、認識されたワークそれぞれについてフローチャート作成支援画面を起動する。以下、第1の実施形態と異なる点についてのみ説明する。
図10は、複数のワークが認識された場合の支援画面1001の一例を説明するための図である。図10に示すように、複数のワークが認識された場合には、表示領域1002にはそれぞれのワークが表示され、それぞれのワークに識別子(以下、ワークIDと呼ぶ)が付与される。図10に示す例では、箱1011に対してワークID「1」が付与され、円環のワーク1012に対してワークID「2」が付与されている。
それぞれのワークに対して物体認識および計測が行われると、それぞれのワークに対して画像処理の結果が表示領域1002に表示される。また、表示領域503に表示されるワークの種類を解析した結果、および処理項目504は、選択されたワークに対してのみ表示され、切替ボタン1010によってワークIDを切り替えることができる。
なお、ロボットを制御するフローチャートの作成手順は、基本的には図6と同様の手順であるが、異なるワークIDのワークに対するロボット制御のフローチャートを作成する場合は、S601~S604の処理を省略することができる。つまり、本実施形態によれば、1つの撮像画像から複数種類のワークの物体認識を行うと、フローチャートを作成する手順において、一部の処理を省略することができる。
(その他の実施形態)
本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
204 演算部

Claims (11)

  1. 撮像画像を取得する取得手段と、
    複数の処理項目を組み合わせて前記撮像画像に基づいて装置を制御するための処理手順を設定する設定手段とを有し、
    前記設定手段は、前記処理手順を設定する場合に、撮像画像に含まれるオブジェクトの種類に対応する1以上の処理項目を提示し、前記提示された1以上の処理項目のうち少なくとも1つの処理項目を前記処理手順に加える処理を実行し、前記撮像画像と、前記撮像画像に含まれる前記オブジェクトの種類に対応する前記1以上の処理項目を示す情報と、を示す画面を表示部に表示させるとともに、前記オブジェクトの種類に対応する前記1以上の処理項目に対応する処理の結果を示す情報を前記表示部に表示させる
    ことを特徴とする電子機器。
  2. 前記設定手段は、前記表示部の表示領域を複数の領域に分割し、前記分割した領域ごとに前記1以上の処理項目の各々と該処理項目による処理結果を表示することを特徴とする請求項に記載の電子機器。
  3. 前記設定手段が前記処理手順を設定するために用いる前記複数の処理項目は、前記撮像画像に含まれる前記オブジェクトの位置を計測する画像処理、前記オブジェクトの大きさを計測する画像処理、および前記オブジェクトに示される情報を解析する画像処理を含む
    ことを特徴とする請求項1または2に記載の電子機器。
  4. 前記装置は、前記撮像画像に含まれる前記オブジェクトを移動させる産業用の装置である
    ことを特徴とする請求項1乃至のいずれか1項に記載の電子機器。
  5. 撮像画像を取得する取得手段と、
    複数の処理項目を組み合わせて前記撮像画像に基づいて装置を制御するための処理手順を設定する設定手段と、
    前記撮像画像に含まれるオブジェクトの種類と、前記撮像画像に含まれるオブジェクトの種類に対応する1以上の処理項目との対応関係を示す対応情報を記憶媒体に記憶する記憶手段とを有し、
    前記設定手段は、前記対応情報に基づいて、前記撮像画像に含まれる前記オブジェクトの種類に対応する前記1以上の処理項目を特定し、前記処理手順を設定する場合に、前記1以上の処理項目を提示し、前記提示された1以上の処理項目のうち少なくとも1つの処理項目を前記処理手順に加える処理を実行し、
    前記対応情報には、前記オブジェクトの種類に対応する前記1以上の処理項目の優先度を示す情報をさらに含む
    ことを特徴とする電子機器。
  6. 前記設定手段が前記処理手順を設定するために用いる前記複数の処理項目は、前記撮像画像に含まれる前記オブジェクトの位置を計測する画像処理、前記オブジェクトの大きさを計測する画像処理、および前記オブジェクトに示される情報を解析する画像処理を含む
    ことを特徴とする請求項に記載の電子機器。
  7. 前記装置は、前記撮像画像に含まれる前記オブジェクトを移動させる産業用の装置である
    ことを特徴とする請求項5または6に記載の電子機器。
  8. 撮像画像を取得する取得工程と、
    複数の処理項目を組み合わせて前記撮像画像に基づいて装置を制御するための処理手順を設定する設定工程とを有し、
    前記設定工程は、前記処理手順を設定する場合に、撮像画像に含まれるオブジェクトの種類に対応する1以上の処理項目を提示し、前記提示された1以上の処理項目のうち少なくとも1つの処理項目を前記処理手順に加える処理を実行し、前記撮像画像と、前記撮像画像に含まれる前記オブジェクトの種類に対応する前記1以上の処理項目を示す情報と、を示す画面を表示部に表示させるとともに、前記オブジェクトの種類に対応する前記1以上の処理項目に対応する処理の結果を示す情報を前記表示部に表示させる
    ことを特徴とする電子機器の制御方法。
  9. 撮像画像を取得する取得工程と、
    複数の処理項目を組み合わせて前記撮像画像に基づいて装置を制御するための処理手順を設定する設定工程と、
    前記撮像画像に含まれるオブジェクトの種類と、前記撮像画像に含まれるオブジェクトの種類に対応する1以上の処理項目との対応関係を示す対応情報を記憶媒体に記憶する記憶工程とを有し、
    前記設定工程は、前記対応情報に基づいて、前記撮像画像に含まれる前記オブジェクトの種類に対応する前記1以上の処理項目を特定し、前記処理手順を設定する場合に、前記1以上の処理項目を提示し、前記提示された1以上の処理項目のうち少なくとも1つの処理項目を前記処理手順に加える処理を実行し、
    前記対応情報には、前記オブジェクトの種類に対応する前記1以上の処理項目の優先度を示す情報をさらに含む
    ことを特徴とする電子機器の制御方法。
  10. 請求項1乃至のいずれか1項に記載の電子機器の各手段としてコンピュータを機能させるためのプログラム。
  11. 請求項10に記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
JP2019155980A 2019-08-28 2019-08-28 電子機器、その制御方法、プログラム、および記憶媒体 Active JP7391571B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019155980A JP7391571B2 (ja) 2019-08-28 2019-08-28 電子機器、その制御方法、プログラム、および記憶媒体
US16/989,651 US11710250B2 (en) 2019-08-28 2020-08-10 Electronic device, method, and storage medium for setting processing procedure for controlling apparatus
CN202010878179.6A CN112446287A (zh) 2019-08-28 2020-08-27 设置设备的控制处理过程的电子装置、方法和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019155980A JP7391571B2 (ja) 2019-08-28 2019-08-28 電子機器、その制御方法、プログラム、および記憶媒体

Publications (2)

Publication Number Publication Date
JP2021033869A JP2021033869A (ja) 2021-03-01
JP7391571B2 true JP7391571B2 (ja) 2023-12-05

Family

ID=74678282

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019155980A Active JP7391571B2 (ja) 2019-08-28 2019-08-28 電子機器、その制御方法、プログラム、および記憶媒体

Country Status (3)

Country Link
US (1) US11710250B2 (ja)
JP (1) JP7391571B2 (ja)
CN (1) CN112446287A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116917301A (zh) 2021-03-03 2023-10-20 国立大学法人东京工业大学 非对称型磷酸三酯的制造方法、对称型磷酸三酯的制造方法、磷酸酯的制造方法、以及有机磷化合物的制造方法
WO2024004746A1 (ja) * 2022-07-01 2024-01-04 ソニーセミコンダクタソリューションズ株式会社 システム及びプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002251603A (ja) 2001-02-23 2002-09-06 Matsushita Electric Works Ltd 画像処理プログラム作成方法およびそのシステム
DE102008043752A1 (de) 2007-11-16 2009-06-10 Keyence Corporation Test-Supportsystem und Bildverarbeitungs-Steuereinrichtung
JP2012071394A (ja) 2010-09-29 2012-04-12 Dainippon Screen Mfg Co Ltd シミュレーションシステムおよびそのためのシミュレーションプログラム
JP2015136762A (ja) 2014-01-23 2015-07-30 セイコーエプソン株式会社 処理装置、ロボット、ロボットシステム及び処理方法
JP2017094407A (ja) 2015-11-18 2017-06-01 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
WO2018034251A1 (ja) 2016-08-14 2018-02-22 ライフロボティクス株式会社 食器洗浄システム及びロボット装置
JP2019114142A (ja) 2017-12-25 2019-07-11 キヤノン株式会社 表示制御装置及びその制御方法、並びにプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06337778A (ja) * 1993-05-28 1994-12-06 Sharp Corp プログラム選択装置
JP2001178686A (ja) 1999-12-24 2001-07-03 Konica Corp 画像表示方法および画像生成装置
US8929615B2 (en) * 2011-11-03 2015-01-06 Facebook, Inc. Feature-extraction-based image scoring
US9272421B2 (en) * 2013-01-07 2016-03-01 Milos Misha Subotincic Visually controlled end effector
JP6711591B2 (ja) * 2015-11-06 2020-06-17 キヤノン株式会社 ロボット制御装置およびロボット制御方法
CN108214486A (zh) * 2016-12-22 2018-06-29 精工爱普生株式会社 控制装置、机器人及机器人***
JP6880982B2 (ja) * 2017-04-21 2021-06-02 セイコーエプソン株式会社 制御装置およびロボットシステム
CN108965690B (zh) * 2017-05-17 2021-02-26 欧姆龙株式会社 图像处理***、图像处理装置及计算机可读存储介质
CN112512754A (zh) * 2018-08-13 2021-03-16 Abb瑞士股份有限公司 对工业机器人编程的方法
JP7337495B2 (ja) * 2018-11-26 2023-09-04 キヤノン株式会社 画像処理装置およびその制御方法、プログラム
KR20200101139A (ko) * 2019-02-19 2020-08-27 삼성전자주식회사 객체 인식 방법 및 이를 지원하는 전자 장치
CN110298380A (zh) * 2019-05-22 2019-10-01 北京达佳互联信息技术有限公司 图像处理方法、装置及电子设备
JP7248516B2 (ja) * 2019-06-20 2023-03-29 株式会社日立製作所 作業支援装置、作業支援方法、および作業支援プログラム
JP2021174098A (ja) * 2020-04-21 2021-11-01 キヤノン株式会社 画像処理装置、画像処理装置の制御方法およびプログラム
US20220138612A1 (en) * 2020-10-29 2022-05-05 Micron Technology, Inc. Anomaly detection and resolution
CN113033447A (zh) * 2021-04-02 2021-06-25 蔚来汽车科技(安徽)有限公司 视频帧序列内跟踪对象的方法、自动泊车方法及其装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002251603A (ja) 2001-02-23 2002-09-06 Matsushita Electric Works Ltd 画像処理プログラム作成方法およびそのシステム
DE102008043752A1 (de) 2007-11-16 2009-06-10 Keyence Corporation Test-Supportsystem und Bildverarbeitungs-Steuereinrichtung
JP2012071394A (ja) 2010-09-29 2012-04-12 Dainippon Screen Mfg Co Ltd シミュレーションシステムおよびそのためのシミュレーションプログラム
JP2015136762A (ja) 2014-01-23 2015-07-30 セイコーエプソン株式会社 処理装置、ロボット、ロボットシステム及び処理方法
JP2017094407A (ja) 2015-11-18 2017-06-01 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
WO2018034251A1 (ja) 2016-08-14 2018-02-22 ライフロボティクス株式会社 食器洗浄システム及びロボット装置
JP2019114142A (ja) 2017-12-25 2019-07-11 キヤノン株式会社 表示制御装置及びその制御方法、並びにプログラム

Also Published As

Publication number Publication date
US11710250B2 (en) 2023-07-25
US20210065399A1 (en) 2021-03-04
JP2021033869A (ja) 2021-03-01
CN112446287A (zh) 2021-03-05

Similar Documents

Publication Publication Date Title
JP4950837B2 (ja) 画像検査システムおよび画像検査方法
US20070076944A1 (en) Magnified machine vision user interface
US8902307B2 (en) Machine vision system editing environment for a part program in which a continuous stream of image acquisition operations are performed during a run mode
US11520472B2 (en) Inspection program editing environment including integrated alignment program planning and editing features
JP4933785B2 (ja) 画像検査システムのビデオツール制御方法
US10306149B2 (en) Image processing apparatus, robot system, robot, and image processing method
US7590276B2 (en) System and method for programming interrupting operations during moving image acquisition sequences in a vision system
JP6553552B2 (ja) カメラを使って計測動作を自動化する機能を備えた数値制御装置
JP6071452B2 (ja) マシンビジョンシステムのパートプログラム編集環境内で編集初期化ブロックを利用するシステム及び方法
JP7391571B2 (ja) 電子機器、その制御方法、プログラム、および記憶媒体
JP5415182B2 (ja) 画像処理装置及びプログラム作成支援装置並びに画像処理方法
US20140286565A1 (en) Robot system and image processing method
JP7337495B2 (ja) 画像処理装置およびその制御方法、プログラム
JP2009116377A (ja) 画像処理コントローラ用のプログラム作成装置
CN115803155A (zh) 编程装置
JP2009146075A (ja) 画像処理コントローラ及び検査支援システム
WO2021215333A1 (ja) プログラム編集装置
US9167215B2 (en) Machine vision system editing environment for a part program in which a continuous stream of image acquisition operations are performed during a run mode
JP5696194B2 (ja) プログラム作成支援装置及び画像処理装置
JP4944737B2 (ja) 画像処理コントローラ用のプログラム作成装置
JP5861743B2 (ja) 画像処理装置
US20220261943A1 (en) Image processing device, image processing method, production system, product manufacturing method, and storage medium
JP2023077056A (ja) 外観検査装置及び外観検査方法
JP6284428B2 (ja) 顕微鏡システム
CN113064376A (zh) 生产***、生产方法以及信息存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230927

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: 20231024

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231122

R151 Written notification of patent or utility model registration

Ref document number: 7391571

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151