(57)【要約】【課題】作業を短時間で復元して所期の作業を再現可能な画像処理装置を提供する。【解決手段】作業システムは、ロボット制御装置１０１およびロボット１０２、画像処理装置１０３および撮像装置１０４を備える。ロボット制御装置１０１は教示点によりロボット１０２の動作を制御する。画像処理装置１０３は、撮像装置１０４を制御して教示点でのワーク１０６を撮像して画像を取得し、撮像後の画像データを、教示点に対応するロボット１０２の動作位置のデータを関連付けて記憶する。ユーザが作業復元を行うときに画像処理装置１０３は、作業復元時にロボット１０２の動作位置で撮像装置１０４によって撮像された画像を取得する制御を行い、当該画像と記憶済みの画像との差異を表示して、作業復元の設定を支援する処理を行う。【選択図】図１
2020082273.tif 000002
【特許請求の範囲】
【請求項１】
作業用装置の位置または姿勢を示す教示点により前記作業用装置の動作を制御する制御手段と、
被写体を撮像する撮像手段と、
前記撮像手段によって撮像された前記教示点での画像データと前記教示点に対応する前記作業用装置の位置または姿勢のデータとを関連付けて記憶する記憶手段と、
作業復元を行うときに前記作業用装置の教示点で前記撮像手段によって撮像された第１の画像のデータ、および前記記憶手段から読み出した前記教示点での第２の画像のデータを処理し、前記第１および第２の画像を表示することにより作業復元の設定を支援する支援処理を行う画像処理手段と、を備える
ことを特徴とする画像処理装置。
【請求項２】
前記画像処理手段は、前記第１および第２の画像の特徴をそれぞれ抽出し、前記第１の画像の特徴と前記第２の画像の特徴との位置または姿勢のずれ量を計算して作業復元の復元率を表示することにより前記支援処理を行う
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像処理手段は、前記復元率として前記第１の画像の特徴と前記第２の画像の特徴との一致率または類似度を表示することにより前記支援処理を行う
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記画像処理手段は、前記ずれ量を用いて前記復元率を向上させる補正方向を求めて表示することにより前記支援処理を行う
ことを特徴とする請求項２または請求項３に記載の画像処理装置。
【請求項５】
前記画像処理手段は、前記支援処理にて画像表示領域を有する設定画面を表示し、前記画像表示領域に前記第１および第２の画像を重畳して表示する制御を行う
ことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記画像処理手段は、前記画像表示領域にて画像処理により抽出された画像の特徴情報を前記第１および第２の画像と併せて表示する制御を行う
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記画像処理手段は、前記作業用装置の作業中における撮影画像の特徴情報を時系列で比較して前記特徴情報を推定し、前記画像表示領域にて前記特徴情報の抽出範囲を表示する制御を行う
ことを特徴とする請求項５に記載の画像処理装置。
【請求項８】
前記画像処理手段は、前記画像表示領域に前記第１の画像の特徴量が閾値より大きい領域を表示して、作業復元の調整または設定の変更を受け付ける処理を行う
ことを特徴とする請求項５に記載の画像処理装置。
【請求項９】
前記画像処理手段は、前記作業用装置の作業中に画像処理プログラムを実行している途中で、前記ずれ量が指定された誤差量の範囲外となった場合に前記画像処理プログラムの実行を停止させる処理を行う
ことを特徴とする請求項２に記載の画像処理装置。
【請求項１０】
前記画像処理手段は、前記画像処理プログラムを繰り返し実行して画像の特徴抽出結果または前記ずれ量の変化を監視してグラフ化または傾向分析の処理結果を出力する
ことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
作業用装置の位置または姿勢を示す教示点により前記作業用装置の動作を制御する工程と、
撮像手段により前記教示点で被写体を撮像する制御を行う工程と、
前記撮像手段によって撮像された前記教示点での画像データと前記教示点に対応する前記作業用装置の位置または姿勢のデータとを関連付けて記憶手段に記憶する工程と、
作業復元を行うときに前記作業用装置の教示点で前記撮像手段によって撮像された第１の画像のデータ、および前記記憶手段から読み出した前記教示点での第２の画像のデータを処理して前記第１および第２の画像を表示することにより作業復元の設定を支援する処理を行う工程と、有する
ことを特徴とする画像処理装置の制御方法。
【請求項１２】
請求項１１に記載の各工程を画像処理装置のコンピュータに実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット等の作業用装置の制御における画像処理技術に関する。
【背景技術】
【０００２】
撮像装置とロボット装置を使用して製品の生産や品質確認、運搬等を行うシステムでは、対象（以下、ワークという）の把持機構、ロボットアーム、アクチュエータや搬送機構等の制御が行われる。撮像装置でワークを撮像し、画像処理を行ってワークの位置を計測したり、検査を行ったりすることで、ロボット装置の制御指示の切り換えや動作補正が可能となるので、より多様な作業を行うシステムを構築することができる。
【０００３】
撮像装置や画像処理装置を利用したロボットシステムでは、装置の接触や経年変化等によって、各種装置があらかじめ定められた設置条件から外れて、位置または姿勢のずれ（以下、位置ずれという）を起こす場合がある。この場合、作業の再現性の低下や作業不能をもたらす可能性がある。作業を復元するためには、システムを構成するロボット装置や、作業台、治工具等の作業道具の位置の復元や調整が必要である。
【０００４】
ところでロボット装置や作業道具の位置ずれが発生するたびに位置や姿勢の調整作業を行う方法は手間がかかる。そこでロボット装置や各種部材、周辺機器を剛性の高い架台やステージ等に接着剤や溶接、金具、ねじ等で固定する方法がある。しかし、このような位置ずれの抑制方法では、作業内容の変更に手間がかかる。例えば人と協働で作業するロボットや制御機器を使用し、頻繁に作業内容が変更されるシステムを想定する。作業者がロボットや制御機器、あるいは周辺の作業道具等と接触することで位置ずれが頻繁に起こる可能性があり、より簡易にシステムの作業を復元できることが望ましい。
【０００５】
特許文献１では位置ずれ量に基づき被撮像物（ワークや背景等）の位置・姿勢を、被撮像物を基準にして修正することと、位置ずれ量に応じた分だけ設計データを修正することの何れか一方を行う補正方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−２３７１５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
カメラとロボットを備える従来のシステムは、システムを構成する装置の位置ずれ等が起きた場合に作業の復元を支援する処理が十分でなく、所期の作業を再現することが困難である。
本発明は、作業を短時間で復元して所期の作業を再現可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の実施形態の画像処理装置は、作業用装置の位置または姿勢を示す教示点により前記作業用装置の動作を制御する制御手段と、被写体を撮像する撮像手段と、前記撮像手段によって撮像された前記教示点での画像データと前記教示点に対応する前記作業用装置の位置または姿勢のデータとを関連付けて記憶する記憶手段と、作業復元を行うときに前記作業用装置の教示点で前記撮像手段によって撮像された第１の画像のデータ、および前記記憶手段から読み出した前記教示点での第２の画像のデータを処理し、前記第１および第２の画像を表示することにより作業復元の設定を支援する支援処理を行う画像処理手段と、を備える。
【発明の効果】
【０００９】
本発明の画像処理装置によれば、作業を短時間で復元して所期の作業を再現可能な画像処理装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係る画像処理装置を含むシステムの全体構成図である。
【図２】実施形態に係る画像処理装置のブロック図である。
【図３】実施形態に係るフローチャート作成画面を表す図である。
【図４】実施形態に係るロボット移動の設定処理画面を表す図である
【図５】移動ポイントと対応する記憶画像の関連付け方法を表す図である。
【図６】作業復元の支援機能の画面を表す図である。
【図７】作業復元の支援機能の処理を説明するフローチャートである。
【図８】作業復元の支援機能を利用した確認処理を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
以下に本発明の実施形態について、図面を参照して詳細に説明する。本実施形態ではロボットの制御によって作業を行うシステムの例を示すが、マニプレータや搬送装置等の作業用装置を備える各種システムへの適用が可能である。
【００１２】
図１は、本実施形態に係る画像処理装置を含むシステムの全体構成図である。ロボット制御装置１０１は外部装置からの制御指示にしたがってロボット１０２の各軸やハンドを制御する。本実施形態のロボット制御装置１０１は、画像処理装置１０３から制御指示を受けとることとするが、とりうるシステム構成や指示形態はこの限りではない。また、ロボット制御装置１０１や画像処理装置１０３はロボット１０２と同一の筐体に格納される場合もあるが、本実施形態では別体の装置として説明する。
【００１３】
画像処理装置１０３は任意の手順にしたがって所定の撮影パラメータの設定で撮像装置１０４による撮像動作を制御し、撮像された画像の処理や処理結果の出力を行う。本実施形態の撮像装置１０４はロボット１０２に取り付けられた形態とするが、両者を分離して設置してもよい。
【００１４】
画像処理装置１０３はロボット制御装置１０１に制御指示を送る。ロボット制御装置１０１は制御指示を受け付け、ロボット１０２を制御して作業台１０５上のワーク１０６を撮影できるようにロボット１０２の姿勢（以下、撮影姿勢という）を変更する。ロボット１０２の姿勢が撮影姿勢になると、画像処理装置１０３は撮像装置１０４を用いて、被写体であるワーク１０６を撮影する。画像処理装置１０３は撮影された画像データを用いて画像処理を行い、ワーク１０６の種別を判別する。そして画像処理装置１０３は種別に対応した配置台１０７〜１０９にワーク１０６を配置する。この際に画像処理装置１０３は、必要に応じてさらにワーク１０６の位置姿勢を計測し、ロボット１０２の把持姿勢を補正したり、ワーク１０６の品質に問題がないかを検査したりしてもよい。本システムで配置されたワークの一例１１０に示すように、ワークはその種類に応じて配置台１０７〜１０９へ分別して配置される。
【００１５】
例えば産業用途において、画像処理装置および撮像装置がロボットの視覚装置として用いられる場合、画像処理等を随時に行ってロボットを制御するシステムは生産効率が低下するので、画像処理に好適な撮影のタイミングや構図を予め設定することが多い。
【００１６】
図１のように、ロボット１０２に撮像装置１０４が取り付けられる場合、ロボット１０２を撮影姿勢に変更してから、撮像装置１０４の撮影パラメータを調整して撮影が行われる。ユーザは作業台１０５の上方の位置を撮影用の教示点としてロボットに予め教示しておき、それ以降には教示点を用いて繰り返し撮影や画像処理が行われる。教示点およびこれに対応する撮影パラメータまたは撮影パラメータの決定方法（固定値利用や自動露出、自動焦点調節等）を画像処理装置１０３が記憶しており、撮影パラメータを用いて以降の撮影が行われる。教示点はロボット１０２、ロボット制御装置１０１、または画像処理装置１０３に記憶される。また、画像処理の撮影パラメータや画像処理の内容を示すデータは画像処理装置１０３に記憶される。ロボット１０２がワーク１０６を把持したり、持ち上げたりする場合や配置台１０７〜１０９の上方に移動する場合、あるいは配置台の空き状況を確認する場合も同様である。ロボット１０２の位置や姿勢を予め教示する処理や、画像処理の内容を予め設定する処理が実行される。
【００１７】
ロボット１０２や作業台１０５、配置台１０７〜１０９等が位置ずれを起こして相対位置関係が確保できなくなった場合、所期の作業が保証されないという問題が生じる。そのような場合のシステムの復旧支援の処理について、図２〜図６を併用して説明する。
【００１８】
図２は、画像処理装置１０３を主体とするブロック図である。画像処理装置１０３は複数のインターフェース部２０３を介してロボット制御装置１０１、撮像装置１０４と接続されている。入出力表示装置２０１と操作入力装置２０２はインターフェース部２０３を介して画像処理装置１０３と接続された、ユーザ・インターフェース用の装置である。各装置は画像処理装置１０３の内部バス上に配置された各インターフェース部２０３を介して接続される。各インターフェース部２０３は通信に適した規格に基づき、接続対象に応じたネットワークインターフェース部、シリアル通信インターフェース部等から構成される。なお、各種装置については、システムの目的に応じて任意のユーザ・インターフェース部を設けたり、処理アルゴリズムおよびプログラム等を用いて動的に決定したりすることが可能である。
【００１９】
入出力表示装置２０１は、画像を表示する陰極管や液晶パネル等の表示デバイスを備える。操作入力装置２０２は、キーボードやポインティングデバイス、タッチパネル、入力操作コントローラ、ジェスチャ入力装置等により構成される。
【００２０】
画像処理装置１０３と接続される撮像装置１０４には、撮影のために必要に応じて照明装置２１８を併設してもよい。照明装置２１８はハロゲンランプや発光ダイオード等の光源を備え、インターフェース部２０３を介して画像処理装置１０３と接続される。また画像処理装置１０３に外部記憶装置を接続して、記憶容量を拡大してもよい。
【００２１】
画像処理装置１０３は、画像処理の制御主体となる汎用マイクロプロセッサとして構成されたＣＰＵ（中央演算処理装置）や画像処理プロセッサ等により構成される演算部２０４を有する。演算部２０４は内部バス（データバス、アドレスバス、他の制御線等）を介して記憶部２０５と接続される。
【００２２】
記憶部２０５には、ＲＯＭ、ＲＡＭ、またはＥＰＲＯＭ、ＥＥＰＲＯＭ等の不揮発性メモリデバイスや、外部記憶装置が使用される。ＲＯＭは“Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ”、ＲＡＭは“Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ”の略号である。ＥＰＲＯＭは“Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ”の略号である。ＥＥＰＲＯＭは“Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ”の略号である。外部記憶装置は、例えばハードディスクドライブ装置（ＨＤＤ）や半導体メモリ素子で構成された記憶装置、あるいはインターフェース部２０３と接続可能な記憶装置等である。
【００２３】
記憶部２０５は、処理データ保存領域２０６およびプログラム記憶領域を有する。処理データ保存領域２０６は、記憶部２０５中のＲＡＭ領域や、外部記憶装置のファイル領域や仮想記憶領域等によって構成される。処理データ保存領域２０６は、処理データを一時的に記憶する他、画像処理の設定パラメータ等の記憶領域として使用される。
【００２４】
記憶部２０５のプログラム記憶領域には、本実施形態の画像処理を実行するための画像処理プログラム２０７が記憶される。画像処理プログラム２０７は、操作入力装置２０２によって行われた各種操作に応じて、画像処理の設定変更や所定の画像処理を実行するプログラムである。また変更内容について、処理データ保存領域２０６へのデータの保存や、データの削除が可能である。
【００２５】
画像処理プログラム２０７は、各種の機能を実現するソフトウェアモジュールから構成される。例えば画像処理モジュール２０８は画像処理を実現するプログラムの本体部分である。画像処理モジュール２０８が行う画像処理には画像処理ライブラリ２０９が用いられる。画像処理ライブラリ２０９は、例えば静的または動的にリンクされるライブラリとして記憶部２０５に実装される。画像処理設定モジュール２１０は画像処理プログラム２０７の振舞いを決定する。画像処理設定は操作入力装置２０２によって行われた各種操作に応じて行われる。
【００２６】
さらに、画像処理プログラム２０７には、次の機能を実現するＩ／Ｏ（入出力）用サブルーチンが含まれる。例えば、外部デバイス制御サブルーチン２１１、保存データ生成サブルーチン２１２、ロボット制御装置１０１からの制御指令を受け付けるための指令受付サブルーチン２１３がある。またＲＡＭ領域や演算部２０４のキャッシュ領域等を使用する一時記憶サブルーチン２１４、表示画面生成サブルーチン２１５がある。保存データ出力サブルーチン２１６は処理データ保存領域２０６に保存されたデータを読み出して出力するプログラムであり、操作受付サブルーチン２１７は操作入力装置２０２からの操作指示を受け付けるためのプログラムである。各機能は、アプリケーション（ユーティリティ）プログラムや、静的または動的にリンクされるライブラリとして構成されたサブルーチン、といった形態で記憶部２０５に実装される。
【００２７】
画像処理装置１０３の演算部２０４のＣＰＵは画像処理プログラム２０７を実行することにより、撮像装置１０４の制御と画像処理を行う。また、操作入力装置２０２により、操作受付サブルーチン２１７を通じてユーザの操作指示を受け付ける処理や、指令受付サブルーチン２１３を通じてロボット制御装置１０１から制御指令を受け付ける処理が実行される。演算部２０４は操作指示や制御指令に応じて、画像処理プログラム２０７の各機能モジュールやライブラリを呼び出して演算処理を行い、画像処理結果のデータをロボット制御装置１０１に送信する。また、画像処理結果のデータを外部記憶装置に送信して蓄積（ロギング）することができる。さらには、プログラムによって予め記憶されている画面構成と画像処理結果とを画面上で合成し、入出力表示装置２０１に表示する処理が実行される。
【００２８】
図３は、画像処理プログラム２０７を作成するためのフローチャート作成画面の例を示す図である。この画面は入出力表示装置２０１に表示される。本実施形態に係る画像処理プログラム２０７は、ユーザが画像処理装置１０３を用いて作成したフローチャートに従って実行されるものとする。その他の実施形態として、ユーザが図１に示していない画像処理プログラム作成装置を使用して画像処理プログラム２０７を作成する形態がある。この場合、作成された画像処理プログラム２０７が画像処理装置１０３の記憶部２０５に転送されて記憶される。また、機能別または目的別に予め定型で用意された組合せ済みの画像処理フローチャートを内包したパッケージ機能を用いる形態でもよい。この場合、ユーザはＧＵＩ（グラフィカル・ユーザ・インターフェース）上で所望の機能を選択し、パラメータ等の調整を行うことができる。
【００２９】
パーツリスト３０１は、フローチャートを構成する各処理パーツのリストである。ユーザは矩形枠内に示す各種の処理や、菱形枠内に示す条件分岐処理を指定することができる。例えばユーザは操作入力装置２０２を用いて、パーツリスト３０１から所望の処理パーツを指定する。ポインティングデバイス等でドラッグ＆ドロップ操作を行い、フローチャート領域３０２に配置した複数の処理パーツ同士を線で結合することにより、フローチャートの作成が可能である。
【００３０】
複数の処理パーツから構成されるフローチャート３０３は、ロボット１０２によってワーク１０６を作業台１０５から取り出し、ワーク種別に従って配置台１０７〜１０９に配置する処理を記述した例である。処理開始後、ロボット移動３０４で作業台１０５の上方にロボット１０２を移動させる姿勢制御が行われ、ロボット１０２が撮影姿勢となる。撮影３０５はワーク１０６を撮影する処理である。次のワーク位置計算３０６はワーク１０６の位置や位相を算出する計算処理であり、その次のワーク種別判別３０７は、色模様等を用いてワーク１０６の種別を判別する処理である。ロボット補正移動３０８は、ワーク位置計算３０６で算出されたワーク１０６の位置と位相に従ってロボット１０２の補正制御を行い、ワーク位置の上方にロボット１０２のハンド（エンドエフェクタ）を移動させたり回転させたりする処理である。
【００３１】
次のロボット移動３１８は、ロボット１０２のハンドでワーク１０６の把持が可能な位置、例えばワーク１０６の直上の位置までロボット１０２を移動させる処理である。ロボットハンド制御３０９は、ハンドの開閉を制御してワーク１０６を把持（ピッキング）する処理である。次のロボット移動３１０はワーク１０６の種別に応じた配置台の上方へのロボット移動を行う処理であり、撮影３１１で配置台を撮影する処理が実行される。個数検査３１２では撮像装置１０４による撮影画像を用いてワークの個数を検査する処理が行われる。次のロボット移動３１３は個数に対応した配置位置へのロボット移動を行う処理である。ロボットハンド制御３１４では、ハンドの開閉を制御してワーク１０６を配置（プレイス）する処理が実行される。次のロボット移動３１５は配置台の上方へのロボット移動を行う処理である。条件分岐３１６は、ロボット１０２の作業回数を所定値（閾値）と比較する判定処理であり、作業回数が所定値未満である場合、ロボット移動３０４に戻る。作業回数が所定値に到達した場合には一連の処理を終了する。
【００３２】
ユーザは所望の処理パーツを組み合わせて、目的とするフローチャート３０３を作成する。作成されたフローチャート３０３において、処理パーツのいずれかのダブルクリック操作が行われた場合、そのパーツの詳細な処理を設定するための設定画面の表示処理に遷移する。ＯＫボタン３１７のクリック操作が行われた場合、画像処理装置１０３はフローチャート３０３に記述された処理を実行するための画像処理プログラム２０７を生成する。図４は設定画面例を示す図である。この画面は、ユーザがダブルクリック操作により処理パーツ３０４、３１８、３１０、３１３、３１５のいずれかを指定したときに入出力表示装置２０１の画面に表示され、ユーザはロボット移動に関する設定操作を行うことができる。
【００３３】
図４の画面左側における移動ポイント設定方法の枠内には、ロボット１０２の移動ポイントや姿勢を設定する方法について例示する。ユーザは直接入力４０１とロボット変数４０２のいずれかをラジオボタンで選択できる。ユーザがロボット変数４０２を選択した場合、ロボットまたはその制御装置が記憶している教示点（ポイントＰ）を入力ボックス４０３で指定して移動先を設定することができる。読み込みボタン４０４は、ロボットまたはその制御装置が記憶している教示点を読み込むための操作ボタンである。また書き込みボタン４０５は現在のロボットの位置姿勢を、ロボットまたはその制御装置の教示点として記憶させるための操作ボタンである。
【００３４】
ユーザが直接入力４０１を選択した場合、画面中央の編集領域４０６においてロボットの位置姿勢を数値で編集することができる。操作ボタン４０７は現在位置の読取用ボタンであり、操作ボタン４０７の操作によって現時点でのロボットの位置姿勢のデータが読み込まれることで、ユーザが編集を行いやすくなる。
【００３５】
図４の画面右側の領域４０８には、ロボットの移動先に対する移動方式を選択する方法や、移動速度の設定部を示す。その下方の操作ボタン４０９は、各種ウィジェット（４０１〜４０８）によって設定された動作を確認するためのテスト実行ボタンである。さらに下方のＯＫボタン４１０は設定値データを記憶するためのボタンである。ユーザがＯＫボタン４１０を操作した場合、各種の設定値データが画像処理装置１０３の処理データ保存領域２０６に画像処理プログラム２０７等と関連付けて保存される。設定値データはプログラム実行時に処理データ保存領域２０６から読み出されて使用される。ユーザがキャンセルボタン４１１を操作した場合にはこれらの設定値が破棄される。
【００３６】
図４の左下には、ユーザが作業復元支援に関わる機能を利用する際に用いる操作部（４１２〜４１４参照）が設けられている。操作ボタン４１３は作業復元支援機能の画面の呼出ボタンであり、ユーザが呼出ボタンを操作すると、後述の画面（図６：作業復元支援画面６０１）が表示される。
【００３７】
ユーザが作業復元支援機能を利用する際には、ロボット１０２の移動ポイントが設定された後、撮像装置１０４よる撮影が行われる。撮影画像データは移動先の設定値（４０１〜４０８参照）と関連付けた対応画像のデータとして保存される。その詳細については図５を用いて後述する。また、撮像装置１０４が用いる撮影パラメータを記憶する処理が実行される。撮影パラメータとは、例えば絞り値、ゲイン、ＩＳＯ感度、露光時間、ホワイトバランス、焦点距離等の他、撮像装置１０４が有する機構に応じてズーム値や、パンニング、チルティングの値等である。撮像装置１０４が手動または自動での撮影パラメータ調整機能を有する場合には、それらの調整画面がユーザに提示される。
【００３８】
チェックボックス４１２は、移動先の設定値（４０１〜４０８参照）や撮影パラメータ等の保存の判断に使用され、チェックマークの有無により機能利用の判定処理（チェック有りで利用）が行われる。また、画像処理プログラム中のロボット移動時のタイミングにおいて作業復元支援機能の一部を実行し、随時にレイアウトを確認する移動後判定機能を設けてもよい。その場合、ユーザが移動後判定機能の利用を指定するためのチェックボックス４１４が使用される（チェック有りで利用）。
【００３９】
図５は、ユーザが図４のＯＫボタン４１０を操作した場合に教示点と関連付けて撮像装置１０４より撮像が自動で行われる場合のデータ例を示す。各行に示すデータ５０１〜５０４はそれぞれ、移動ポイントＩＤ（識別情報）、移動ポイント情報、対応記憶画像の情報、撮影パラメータの情報である。移動ポイント情報は図４で設定された移動ポイントの各種設定値の情報であり、対応記憶画像は移動ポイントが保存される際に撮影された記憶画像の情報である。これらの情報は撮影パラメータ群と関連付けられている。ロボット移動の処理パーツ（図３のロボット移動参照）と対応して移動ポイントＩＤ、設定値、対応記憶画像のデータが保存される。なお、図４のキャンセルボタン４１１が操作された場合には設定値が破棄される。
【００４０】
図６および図７を参照して、作業復元支援機能を詳細に説明する。図６は、作業復元支援機能用の画面例を示す。画像処理装置１０３を含むロボットシステムにおいて、位置ずれやレイアウト等の復元を支援するための画面表示が行われる。図７は作業復元支援機能の処理を説明するフローチャートである。
【００４１】
図６に示す画面６０１は、例えば図４に示す作業復元支援用の操作ボタン４１３等が操作された際にプログラムが実行されて、入出力表示装置２０１に表示される。選択部６０２は、ロボット移動の処理パーツによって設定された移動ポイントＩＤをユーザが選択する際に使用するスピンコントロール付きボックスである。複数の移動ポイントが存在する場合、ユーザは所望の移動ポイントを指定することができる。ユーザの指定により移動ポイントを選択する方法の他には、半自動または自動設定による方法がある。例えばシステムの連続動作運転等を行い、または特徴抽出処理後に特徴の形状等を判定して、安定的な特徴をもつ移動ポイントを推定する処理が行われる。移動ポイントの推定結果をユーザに提示して推奨する処理、または推定結果に基づく自動設定処理が実行される。
【００４２】
選択部６０３はカメラＩＤをユーザが選択する際に使用するスピンコントロール付きボックスである。撮像装置としてシステムが複数台のカメラを有する場合、ユーザは選択部６０３によって所望のカメラを指定できる。ユーザの指定によりカメラＩＤを選択する方法の他には、半自動または自動設定による方法がある。例えばシステムの連続動作運転等を行い、または特徴抽出処理後に特徴の形状や分布、濃淡情報等を使用して、安定的な特徴をもつ撮像装置（特定のカメラ）を推定する処理が行われる。推定結果をユーザに提示して推奨する処理、または推定結果に基づく自動設定処理が実行される。
【００４３】
画像表示領域６０４は作業復元を支援するための表示領域である。画像表示領域６０４には移動ポイントに関連付けられた記憶画像６０５が現在の撮影画像と重畳して表示されるので、ユーザは表示された画像間の差異を容易に把握することができる。図６では、現在の移動ポイントＩＤ「０１」において、作業台１０５を含む画像が表示される状況を例示する。画像処理に基づいて抽出された特徴情報６０６が画像と併せて表示される。
【００４４】
図７を参照して、画像表示領域６０４を含む表示画面の生成処理ついて説明する。図７の処理は、画像処理装置１０３の演算部２０４のＣＰＵが所定のプログラムを実行することにより実現される。Ｓ７０１で記憶データの読み込み処理が行われる。図６の選択部６０２の操作により指定された移動ポイントＩＤに対応する記憶データ（図５：５０１〜５０４のいずれか）が取得される。
【００４５】
Ｓ７０２では撮影条件の再現処理が行われる。Ｓ７０１で取得されたデータに基づいて、指定されているロボットの移動ポイントまでの移動や、撮影パラメータの設定により、撮影条件が再現される。Ｓ７０３では撮像装置１０４を用いて撮影が行われ、次のＳ７０４で特徴抽出処理が実行される。Ｓ７０４では取得された記憶データに対応する画像に対して、所定の領域で特徴抽出処理が行われる。図６の選択部６０８は特徴抽出を行う画像処理方法を設定可能なスピンコントロール付きボックスである。特徴抽出の画像処理方法の選択項目としては、パターンマッチング、エッジ検出、濃淡の検出、二値化重心、外接矩形、周囲長、色等がある。画像処理機能で特徴を計算できる方法については自由に選択可能である。
【００４６】
図６では画像表示領域６０４の枠内に、複数個所の所定の領域６０７を示している。領域６０７は特徴抽出を行う画像処理の対象範囲に相当する領域であり、抽出された特徴を探索パターンとする処理が図７のＳ７０４で行われる。領域６０７は撮影画像の特徴量が閾値より大きい領域であり、例えばエッジ強調等の特徴抽出処理を行い、エッジの強度勾配や形状等から推奨範囲が自動的に設定される。あるいは、ユーザの手動操作による指示を受け付けて領域６０７を補正し、または任意に領域設定を行うことができる。
【００４７】
図７のＳ７０５では、Ｓ７０３で撮影された画像に対して、Ｓ７０４の探索パターンに基づくパターン探索処理が行われる。Ｓ７０６では、Ｓ７０５のパターン探索結果に基づいて位置ずれ計算が行われて、パターンの一致率または類似度や、位置ずれ量が算出される。計算方法の選択については後述する。
【００４８】
Ｓ７０７では、視認性を向上させるために特徴強調処理が行われる。例えば、図６の画像表示領域６０４の枠内には、特徴情報６０６が×印で強調表示される。Ｓ７０８では画像合成処理が実行され、選択された移動ポイントの対応記憶画像とＳ７０３で撮影された画像との合成画像が生成される。Ｓ７０９ではさらに、視覚支援処理の結果を合成する処理が実行される。視覚支援処理は、Ｓ７０７に示すようにユーザが位置や姿勢等を認識しやすくする処理である。Ｓ７１０では合成された処理結果が図６の画像表示領域６０４に表示される。選択された移動ポイントの対応記憶画像と撮影画像とを合成し、さらに特徴抽出結果を強調表示した画像を合成した最終的な画像がユーザに提示される。
【００４９】
本実施形態では、作業復元時に取得される撮影画像と、教示点である移動ポイントを設定する際に撮影された画像（対応記憶画像）を重畳表示する方法を説明した。これに限らず、それぞれ画像を各別の画面で表示してもよいし、画像同士を並べて表示する形態等でもよい。
【００５０】
図６の選択部６０９は、予め撮影された対応記憶画像の特徴と、作業復元支援時に現在の撮影画像から抽出した特徴との一致率または類似度の計算方法を選択可能なスピンコントロール付きボックスである。抽出される特徴は、パターンの位置や位相、エッジ、濃淡値、二値化領域の面積や位置・矩形の大きさ、位置および傾き・長さ・色濃度値等である。各特徴について、パターンの一致度、エッジや領域の重心位置の差、矩形の大きさや位置座標同士の距離および傾きの差、長さの差、濃淡の差等、複数の特徴同士の位置関係等が選択可能である。なお、２つ以上の計算方法の組み合わせを設定してもかまわない。
【００５１】
また、システム動作や工程によって、必要な作業復元精度が異なる場合がある。そこで本実施形態では許容誤差の指定部６１０（図６）が設けられている。指定部６１０は、ユーザが移動ポイントＩＤにおける許容誤差を指定する際に使用するスピンコントロール付きボックスである。許容誤差とは、画像計測時の再現性の影響による誤差がどの程度許容されるかを示し、画素数または実距離（たとえばミリメートル単位）で表される。本実施形態では、ユーザが、システム動作に要求される計測誤差量に基づき、許容誤差を指定部６１０で直接指定する形態を想定している。他の実施形態として、工程に要求される計測誤差範囲や、ロボット姿勢とワークとの位置関係、システムに使用される撮像装置のデバイス情報等から画像計測がとりうる誤差量を推定し、差分により推奨値を算出してユーザに提示する方法がある。
【００５２】
本実施形態は、図７のＳ７０６で得られた位置ずれ計算の結果に基づいて復元率を表示する機能を有する。復元率として図６の支援情報の表示欄に一致率６１１が表示されるので、ユーザはその数値を確認しながら、一致率が向上するように復元作業を行うことができる。また、補正方向支援６１２（図６）のナビゲーション表示は、位置ずれ計算結果の情報を用いて、一致率６１１を向上させるための移動方向（補正方向）を推奨する表示である。ユーザは矢印等の指標から補正方向を把握できる。
【００５３】
図６のチェックボックス６１３は、特徴抽出等の画像処理（６０８〜６１０参照）を用いたユーザ支援を利用するかどうかを選択する場合に使用される（チェック有りで利用）。操作ボタン６１４は作業復元支援機能を終了する際に使用される。図６の画面を閉じる際には、最終的にどのような復元が行われたかを記憶するために現在時刻等と併せて各種情報（６０２〜６１３参照）をメモリに記憶する処理が行われる。また、システムの操作者等を検出可能である場合には操作者ＩＤ等も上記情報に含めて記憶してもよい。
【００５４】
上述の説明では図４の操作ボタン４１３が押下されたことを契機にして、図６の作業復元支援の画面表示、および、図７に示す処理が実行されるとしたが、以下では実作業中のロボット移動の直後に復元支援処理を行う場合を説明する。実作業中のロボット移動とは、例えば図３の処理パーツ（３０４、３１８、３１０、３１３、３１５）に示すロボット移動である。
【００５５】
図８のフローチャートを参照して、図４のチェックボックス４１４がチェックされて移動後判定機能が利用される場合の処理について説明する。Ｓ８０１〜Ｓ８０６、Ｓ８０９〜Ｓ８１２の処理はそれぞれ、図７のＳ７０１〜７０６、Ｓ７０７〜Ｓ７１０と同様であるので、それらの詳細な説明を省略し、相違点を説明する。
【００５６】
ロボット１０２の移動直後にＳ８０１からＳ８０６の処理が実行され、Ｓ８０７で位置ずれ量が判定される。つまり位置ずれ量が、許容誤差の指定部６１０（図６）で指定されている許容誤差量以内であるか否かについて判定処理が実行される。位置ずれ量が許容誤差量以内であると判定された場合、作業復元支援処理を終了し、画像処理プログラム２０７の次の処理に進む。また位置ずれ量が許容誤差量の範囲外であると判定された場合には、Ｓ８０８に進んで実行中の画像処理プログラム２０７を中止し、画面６０１の表示処理が行われる。Ｓ８０８の次にＳ８０９〜Ｓ８１２の処理が実行される。
【００５７】
図８ではロボット移動の度に、Ｓ８０１（データの読み込み）やＳ８０２（撮影条件の再現）、Ｓ８０３（撮影）等が行われる。これに限らず、画像処理プログラムにおいて処理が一回以上実行されるか、事前に読み込み処理等が行われた場合に必要なデータをＲＡＭ上に保持して実作業内の処理と共通化を図る方法でもよい。
【００５８】
図８に示す処理では、画像処理プログラム２０７の実行途中であっても、作業レイアウトの位置ずれが発生していないかどうかを判断できる。閾値を超える位置ずれが発生していた場合には、以降のシステムの動作を停止することができる。それにより作業の失敗回数を低減し、その後のレイアウト復元を速やかに支援することができる。
【００５９】
また、Ｓ８０４での特徴抽出結果やＳ８０６の位置ずれ量のデータを監視し、画像処理ごとに記憶しておき、グラフを表示する等のグラフ化処理を行ってもよい。この場合、ユーザが経時的な変化を観察できるように、例えば特定期間のデータの線形近似や多項式近似を行い、グラフの傾きが所定の閾値範囲内であることを確認できるようにする処理が行われる。また、経時的な変化が所定の傾向をもつ変化であることが判定された場合に、ユーザに対する通知や警告表示等を行うことにより、システムの保全を支援することができる。
【００６０】
本実施形態では、各種作業に関わるシステムにレイアウトの物理的な位置ずれが発生し、作業が困難になった場合、作業を復元する際に教示位置（作業ポイント）と紐付いた記憶画像および現在の画像情報を併せて表示する。これにより、レイアウトの物理的な位置ずれに対する作業の復元を支援することができる。さらには、作業復元に際して記憶画像と現在の撮影画像の特徴情報を比較し、復元率（一致率や類似度等）を数値として表示することができるので、ユーザはレイアウトの復元状況を容易に理解できる。また、記憶画像と現在の撮影画像の特徴情報を比較し、その一致率を改善可能な情報（補正情報）を見つけられる場合には、当該情報を出力できるので、ユーザはレイアウトの復元方法を容易に理解して復元作業を行える。
【００６１】
本実施形態では、作業中の画像の特徴情報を時系列で比較し、また形状や強度勾配を用いて安定した特徴情報を推定して、特徴の抽出範囲を推奨することができるので、ユーザが効率的に設定を行えるという利点がある。また、画像処理プログラムの実行中に特徴抽出結果や位置ずれ量を適宜に確認し、指定された許容誤差量を超えた場合にシステム動作を停止することで、作業のトラブルを抑制できる。また、位置ずれ量等のグラフ化や傾向分析を行って処理結果を出力することはシステムの保全に役立つ。
【００６２】
上記のように画像処理装置は、作業用装置の教示点と撮影画像を関連付けて記憶しておき、作業やレイアウトの復元を行う際には教示点に対応する作業用装置の動作に関連付けられた画像等を表示して、作業復元の支援処理を行う。本実施形態によれば、ユーザは作業を復元するための修正を、より短時間で終了させることができる。
【００６３】
以上、本発明をその好適な実施形態に基づいて詳述したが、本発明はこれら特定の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の様々な形態も本発明の技術的範囲に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【００６４】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６５】
１０１  ロボット制御装置
１０２  ロボット
１０３  画像処理装置
１０４  撮像装置
【図１】
2020082273.tif 000003
【図２】
2020082273.tif 000004
【図３】
2020082273.tif 000005
【図４】
2020082273.tif 000006
【図５】
2020082273.tif 000007
【図６】
2020082273.tif 000008
【図７】
2020082273.tif 000009
【図８】
2020082273.tif 000010