JP2016120564A - 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム - Google Patents

画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム Download PDF

Info

Publication number
JP2016120564A
JP2016120564A JP2014262240A JP2014262240A JP2016120564A JP 2016120564 A JP2016120564 A JP 2016120564A JP 2014262240 A JP2014262240 A JP 2014262240A JP 2014262240 A JP2014262240 A JP 2014262240A JP 2016120564 A JP2016120564 A JP 2016120564A
Authority
JP
Japan
Prior art keywords
image processing
robot
imaging
selection
image
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.)
Granted
Application number
JP2014262240A
Other languages
English (en)
Other versions
JP6410388B2 (ja
Inventor
直哉 内山
Naoya Uchiyama
直哉 内山
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.)
Keyence Corp
Original Assignee
Keyence 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 Keyence Corp filed Critical Keyence Corp
Priority to JP2014262240A priority Critical patent/JP6410388B2/ja
Publication of JP2016120564A publication Critical patent/JP2016120564A/ja
Application granted granted Critical
Publication of JP6410388B2 publication Critical patent/JP6410388B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】複雑なロボット動作制御プログラムを逐一コーディングすることなく、高い精度でロボットの動作を制御することができる画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラムを提供する。
【解決手段】撮像トリガを受信し、各移動先にて対象物を撮像するよう撮像装置の動作を制御する。撮像された対象物の画像に基づいて、対象物の画像上における位置情報を検出し、ロボットコントローラが実行する動作プログラムに組み込む動作の候補である動作リストを、実行順序に従って表示する。少なくとも撮像トリガを送信する動作、及び検出された位置情報に基づく移動動作を含む複数の動作の中から、ロボットコントローラに実行させる複数の動作の選択を受け付け、動作リストに組み込み、動作ごとに実行順序の設定を受け付ける。選択を受け付けた複数の動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成する。
【選択図】図13

Description

本発明は、複雑なロボット動作制御プログラムを逐一コーディングすることなく、高い精度でロボットの動作を制御することができる画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラムに関する。
撮像装置によりロボットの作業領域を撮像して、撮像された画像内のワークの位置を検出し、検出されたワークの位置情報を撮像された画像に基づいて算出することで、ロボットの動作を高い精度で制御する制御システムが多々開発されている。例えば特許文献1では、撮像装置を含むセンサにより検出された情報に基づいてロボットの動作を制御するロボット制御装置が開示されている。また、特許文献2では、外部のコンピュータでコンパイルしたロードモジュール(ロボット動作制御プログラム)を送信することでロボットの動作を制御するロボット制御装置が開示されている。
このように従来のロボット制御システムでは、精緻な動作制御をするべく、画像処理装置において表示される座標系で算出された位置座標を、ロボットコントローラがエンドエフェクタを動作させる座標系の位置座標へと座標変換している。座標変換を行うための変換式を算出する処理をキャリブレーションと呼んでいる。ここで、エンドエフェクタとは、例えばワークを把持して固着できるロボットアームの先端部分を意味する。
ロボットのエンドエフェクタに対する動作(移動)命令は、画像処理装置が、撮像した画像に基づく位置座標を、キャリブレーション結果に基づいて実際の位置座標の座標値に変換する。画像処理装置は、変換された座標値とともに動作(移動)命令をロボットコントローラへ送信する。
特開平04−134501号公報 特開平09−091022号公報
ロボットコントローラがロボットを正しく動作させるためには、ロボットの動作プログラムをユーザが作成する必要がある。動作プログラムには、例えばロボットのエンドエフェクタを原点位置に復帰させる、エンドエフェクタを特定の位置に移動させる、ワークを把持する、ワークを解放する等の一連の動作がシーケンシャルに記述されている。
しかし、ユーザは、画像処理装置とのデータ通信を含む一連の動作についてもプログラムを作成する必要があり、ロボットの動作を制御するためには、ロボットコントローラ用の動作プログラムだけでなく、画像処理装置が関連する一連の動作についてもプログラムを作成する必要が生じる。したがって、システム全体の立ち上げまでに相当の時間を要するという問題点があった。
本発明は斯かる事情に鑑みてなされたものであり、複雑なロボット動作制御プログラムを逐一コーディングすることなく、高い精度でロボットの動作を制御することができる画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラムを提供することを目的とする。
上記目的を達成するために第1発明に係る画像処理装置は、ロボットの動作を制御するロボットコントローラとデータ通信することが可能な通信装置と、前記ロボットによる操作対象である対象物を撮像する撮像装置とを有する画像処理装置であって、前記撮像装置で対象物の撮像を開始するタイミングを示す撮像トリガを受信する撮像トリガ受信手段と、前記撮像トリガを受信した場合、各移動先にて対象物を撮像するよう前記撮像装置の動作を制御する撮像制御手段と、各移動先にて撮像された対象物の画像に基づいて、対象物の画像上における位置情報を検出する画像検出手段と、前記ロボットコントローラが実行する動作プログラムに組み込む動作の候補である動作リストを、実行順序に従って表示する動作表示手段と、少なくとも前記撮像装置に対する撮像トリガを送信する動作、及び検出された前記位置情報に基づき前記ロボットのエンドエフェクタを移動させる動作を含む複数の動作の中から、前記ロボットコントローラに実行させる複数の動作の選択を受け付ける動作選択受付手段と、選択を受け付けた複数の動作を前記動作リストに組み込み、動作ごとに実行順序の設定を受け付ける順序設定受付手段と、選択を受け付けた複数の動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成するプログラム生成手段とを備えることを特徴とする。
また、第2発明に係る画像処理装置は、第1発明において、前記順序設定受付手段は、複数の前記動作リストから前記ロボットコントローラにより実行される動作の選択を受け付けることが好ましい。
また、第3発明に係る画像処理装置は、第1又は第2発明において、前記プログラム生成手段は、前記ロボットコントローラとのデータ通信を確立する前記動作プログラムを生成することが好ましい。
また、第4発明に係る画像処理装置は、第1乃至第3発明のいずれか1つにおいて、前記動作選択受付手段は、前記エンドエフェクタに対する待機の選択を受付可能であることが好ましい。
また、第5発明に係る画像処理装置は、第1乃至第4発明のいずれか1つにおいて、前記エンドエフェクタの現在の位置に関する現在位置情報を取得する位置情報取得手段を備え、前記動作選択受付手段は、取得した現在位置情報に基づく位置へ前記エンドエフェクタを移動させる動作の選択を受付可能であることが好ましい。
また、第6発明に係る画像処理装置は、第1乃至第5発明のいずれか1つにおいて、前記ロボットの種別の選択を受け付けるロボット選択受付手段を備え、前記プログラム生成手段は、選択を受け付けた前記ロボットの種別ごとに規定されたフォーマットに従って前記動作プログラムを生成することが好ましい。
また、第7発明に係る画像処理装置は、第1乃至第6発明のいずれか1つにおいて、前記撮像トリガごとに前記対象物の画像上における位置情報を検出する処理を対応付けることが好ましい。
次に、上記目的を達成するために第8発明に係る画像処理システムは、ロボットの動作を制御するロボットコントローラと、該ロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットによる操作対象である対象物を撮像する撮像装置を含む画像処理装置とで構成される画像処理システムであって、前記画像処理装置は、前記撮像装置で対象物の撮像を開始するタイミングを示す撮像トリガを受信する撮像トリガ受信手段と、前記撮像トリガを受信した場合、各移動先にて対象物を撮像するよう前記撮像装置の動作を制御する撮像制御手段と、各移動先にて撮像された対象物の画像に基づいて、対象物の画像上における位置情報を検出する画像検出手段と、前記ロボットコントローラが実行する動作プログラムに組み込む動作の候補である動作リストを、実行順序に従って表示する動作表示手段と、少なくとも前記撮像装置に対する撮像トリガを送信する動作、及び検出された前記位置情報に基づき前記ロボットのエンドエフェクタを移動させる動作を含む複数の動作の中から、前記ロボットコントローラに実行させる複数の動作の選択を受け付ける動作選択受付手段と、選択を受け付けた複数の動作を前記動作リストに組み込み、動作ごとに実行順序の設定を受け付ける順序設定受付手段と、選択を受け付けた複数の動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成するプログラム生成手段とを備えることを特徴とする。
また、第9発明に係る画像処理システムは、第8発明において、前記順序設定受付手段は、複数の前記動作リストから前記ロボットコントローラにより実行される動作の選択を受け付けることが好ましい。
また、第10発明に係る画像処理システムは、第8又は第9発明において、前記プログラム生成手段は、前記ロボットコントローラとのデータ通信を確立する前記動作プログラムを生成することが好ましい。
また、第11発明に係る画像処理システムは、第8乃至第10発明のいずれか1つにおいて、前記動作選択受付手段は、前記エンドエフェクタに対する待機の選択を受付可能であることが好ましい。
また、第12発明に係る画像処理システムは、第8乃至第11発明のいずれか1つにおいて、前記エンドエフェクタの現在の位置に関する位置情報を取得する位置情報取得手段を備え、前記動作選択受付手段は、取得した現在位置情報に基づく位置へ前記エンドエフェクタを移動させる動作の選択を受付可能であることが好ましい。
また、第13発明に係る画像処理システムは、第8乃至第12発明のいずれか1つにおいて、前記ロボットの種別の選択を受け付けるロボット選択受付手段を備え、前記プログラム生成手段は、選択を受け付けた前記ロボットの種別ごとに規定されたフォーマットに従って前記動作プログラムを生成することが好ましい。
また、第14発明に係る画像処理システムは、第8乃至第13発明のいずれか1つにおいて、前記撮像トリガごとに 前記対象物の画像上における位置情報を検出する処理を対応付けることが好ましい。
次に、上記目的を達成するために第15発明に係る画像処理方法は、ロボットの動作を制御するロボットコントローラと、該ロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットによる操作対象である対象物を撮像する撮像装置を含む画像処理装置とで構成される画像処理システムで実行することが可能な画像処理方法であって、前記画像処理装置は、前記撮像装置で対象物の撮像を開始するタイミングを示す撮像トリガを受信する工程と、前記撮像トリガを受信した場合、各移動先にて対象物を撮像するよう前記撮像装置の動作を制御する工程と、各移動先にて撮像された対象物の画像に基づいて、対象物の画像上における位置情報を検出する工程と、前記ロボットコントローラが実行する動作プログラムに組み込む動作の候補である動作リストを、実行順序に従って表示する工程と、少なくとも前記撮像装置に対する撮像トリガを送信する動作、及び検出された前記位置情報に基づき前記ロボットのエンドエフェクタを移動させる動作を含む複数の動作の中から、前記ロボットコントローラに実行させる複数の動作の選択を受け付ける工程と、選択を受け付けた複数の動作を前記動作リストに組み込み、動作ごとに実行順序の設定を受け付ける工程と、選択を受け付けた複数の動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成する工程とを含むことを特徴とする。
次に、上記目的を達成するために第16発明に係るコンピュータプログラムは、ロボットの動作を制御するロボットコントローラとデータ通信することが可能な通信装置と、前記ロボットによる操作対象である対象物を撮像する撮像装置とを有する画像処理装置で実行することが可能なコンピュータプログラムであって、前記画像処理装置を、前記撮像装置で対象物の撮像を開始するタイミングを示す撮像トリガを受信する撮像トリガ受信手段、前記撮像トリガを受信した場合、各移動先にて対象物を撮像するよう前記撮像装置の動作を制御する撮像制御手段、各移動先にて撮像された対象物の画像に基づいて、対象物の画像上における位置情報を検出する画像検出手段、前記ロボットコントローラが実行する動作プログラムに組み込む動作の候補である動作リストを、実行順序に従って表示する動作表示手段、少なくとも前記撮像装置に対する撮像トリガを送信する動作、及び検出された前記位置情報に基づき前記ロボットのエンドエフェクタを移動させる動作を含む複数の動作の中から、前記ロボットコントローラに実行させる複数の動作の選択を受け付ける動作選択受付手段、選択を受け付けた複数の動作を前記動作リストに組み込み、動作ごとに実行順序の設定を受け付ける順序設定受付手段、及び選択を受け付けた複数の動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成するプログラム生成手段として機能させることを特徴とする。
第1発明、第8発明、第15発明及び第16発明では、画像処理装置は、撮像装置で対象物の撮像を開始するタイミングを示す撮像トリガを受信し、撮像トリガを受信した場合、各移動先にて対象物を撮像するよう撮像装置の動作を制御する。各移動先にて撮像された対象物の画像に基づいて、対象物の画像上における位置情報を検出し、ロボットコントローラが実行する動作プログラムに組み込む動作の候補である動作リストを、実行順序に従って表示する。少なくとも撮像装置に対する撮像トリガを送信する動作、及び検出された位置情報に基づきロボットのエンドエフェクタを移動させる動作を含む複数の動作の中から、ロボットコントローラに実行させる複数の動作の選択を受け付け、選択を受け付けた複数の動作を動作リストに組み込み、動作ごとに実行順序の設定を受け付ける。選択を受け付けた複数の動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成する。これにより、画像処理装置からロボットコントローラに対してロボットの動作を制御する動作プログラムを画像処理装置内で生成することができるので、ロボットの種別ごとに異なる機械語を理解していない作業者(ユーザ)であっても、ロボットの動作を高い精度で制御することができる動作プログラムを生成することが可能となる。したがって、すべての動作プログラムが完成する都度、動作を確認する煩雑な手順が不要となるので、システムとして早期に立ち上げることが可能となる。
第2発明及び第9発明では、複数の動作リストからロボットコントローラにより実行される動作の選択を受け付けるので、ロボットにさせたい所望の動作を幅広く選択することが可能となる。
第3発明及び第10発明では、画像処理装置とロボットコントローラとのデータ通信を確立する動作プログラムを生成するので、コーディングが煩雑な通信部分のプログラムについてもユーザが直接コーディングする必要がなく、システム全体を早期に立ち上げることが可能となる。
第4発明及び第11発明では、エンドエフェクタに対する待機の選択を受付可能であるので、エンドエフェクタを所望のタイミングで移動/停止させることが可能となる。
第5発明及び第12発明では、エンドエフェクタの現在の位置に関する現在位置情報を取得し、取得した現在位置情報に基づく位置へエンドエフェクタを移動させる動作の選択を受付可能であるので、エンドエフェクタを元の位置(現在位置)へ確実に戻らせるよう(移動させるよう)動作させることが可能となる。
第6発明及び第13発明では、ロボットの種別の選択を受け付け、選択を受け付けたロボットの種別ごとに規定されたフォーマットに従って動作プログラムを生成するので、ロボットの種別が変更された場合であっても、ロボットの種別に応じた動作プログラムを生成することが可能となる。
第7発明及び第14発明では、撮像トリガごとに、対象物の画像上における位置情報を検出する処理を対応付けるので、撮像トリガによって位置情報を検出する処理が設定され、例えば検出ツールを選択する処理等を省略することが可能となる。
本発明によれば、画像処理装置からロボットコントローラに対してロボットの動作を制御する動作プログラムを画像処理装置内で生成することができるので、ロボットの種別ごとに異なる機械語を理解していない作業者(ユーザ)であっても、ロボットの動作を高い精度で制御することができる動作プログラムを生成することが可能となる。したがって、すべての動作プログラムが完成する都度、動作を確認する煩雑な手順が不要となるので、システムとして早期に立ち上げることが可能となる。
本発明の実施の形態1に係る画像処理システムの構成を示す模式図である。 本発明の実施の形態1に係る画像処理システムの画像処理装置の構成例を示すブロック図である。 従来のキャリブレーション処理の手順を示すフローチャートである。 本発明の実施の形態1に係る画像処理システムのキャリブレーションの処理手順を示すフローチャートである。 本発明の実施の形態1に係る画像処理装置の開始位置設定画面の例示図である。 本発明の実施の形態1に係る画像処理装置の検出ツール設定画面の例示図である。 本発明の実施の形態1に係る画像処理装置の移動パターンの設定画面の例示図である。 本発明の実施の形態1に係る画像処理装置の移動パターンの設定画面の例示図である。 本発明の実施の形態1に係る画像処理装置の輪郭検出ツールを用いる場合の検出条件設定画面の例示図である。 本発明の実施の形態1に係る画像処理装置の輪郭検出ツールを用いる場合の検出条件設定画面の例示図である。 本発明の実施の形態1に係る画像処理装置の濃淡検出ツールを用いる場合の検出条件設定画面の例示図である。 本発明の実施の形態1に係る画像処理装置の濃淡検出ツールを用いる場合の検出条件設定画面の例示図である。 本発明の実施の形態1に係る画像処理装置の機能ブロック図である。 本発明の実施の形態1に係る画像処理装置の位置データ登録画面の例示図である。 本発明の実施の形態1に係る画像処理装置の位置データ選択画面の例示図である。 本発明の実施の形態1に係る画像処理装置の位置データ選択画面の他の例示図である。 本発明の実施の形態1に係る画像処理装置のプログラム生成画面の例示図である。 本発明の実施の形態1に係るロボットコントローラの動作プログラムの例示図である。 本発明の実施の形態1に係るロボットコントローラの機能ブロック図である。 本発明の実施の形態1に係るロボットコントローラの変換プログラムの処理手順を示すフローチャートである。 本発明の実施の形態1に係る画像処理システムのシステム構築手順を示すフローチャートである。 本発明の実施の形態1に係る画像処理装置の動作プログラム作成の処理手順を示すフローチャートである。 本発明の実施の形態1に係る画像処理システムにおける試運転時の動作を説明するための模式図である。 本発明の実施の形態1に係る画像処理装置のプログラム生成画面の例示図である。 本発明の実施の形態1に係る画像処理システムの試運転時の処理手順を示すフローチャートである。 本発明の実施の形態2に係る画像処理システムにおけるピッキングの実行を説明するための模式図である。 本発明の実施の形態2に係る画像処理システムのピッキングの処理手順を示すフローチャートである。 本発明の実施の形態2に係る画像処理システムにおける撮像位置を補正する場合のピッキングの実行を説明するための模式図である。 本発明の実施の形態2に係る画像処理システムの撮像位置を補正する場合のピッキングの処理手順を示すフローチャートである。 本発明の実施の形態2に係る画像処理システムの異なる動作条件の設定例を示す条件設定画面の例示図である。 本発明の実施の形態2に係る画像処理システムの異なる動作条件に切り替え可能な動作プログラムの例示図である。 本発明の実施の形態2に係る画像処理システムにおける動作条件の切り替えが必要となるピッキングの実行を説明するための模式図である。 本発明の実施の形態2に係る画像処理システムの動作条件の切り替えを含むピックアップの処理手順を示すフローチャートである。 本発明の実施の形態2に係る画像処理システムの動作条件の切り替えを含むピックアップの処理手順を示すフローチャートである。
以下、本発明の実施の形態に係る画像処理システムについて、図面に基づいて具体的に説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係る画像処理システムの構成を示す模式図である。
図1に示すように、本実施の形態1に係る画像処理システムは、対象物(ワーク)6を移動させるマニピュレータ(ロボット)1、マニピュレータ1の動作を制御するロボットコントローラ2、画像処理装置3、及び撮像装置4で構成されている。マニピュレータ1の先端には、対象物6を把持又は解放することが可能なエンドエフェクタ5が設けられており、ロボットコントローラ2はエンドエフェクタ5の開閉動作も制御する。
撮像装置4は、例えばカラーCCDカメラであり、移動する対象物であるワーク6を撮像する。撮像された画像に基づいて、後述するキャリブレーションを実行することにより、実際のワーク6の位置座標(エンドエフェクタ5の移動位置の座標)と、画面に表示された画像上の位置座標とをリンクさせることができる。
マニピュレータ1は、3本のアームで構成されており、2本のアームが互いになす角度、及びアーム支点の回転により、エンドエフェクタ5を所望の位置へ移動させる。
図2は、本発明の実施の形態1に係る画像処理システムの画像処理装置3の構成例を示すブロック図である。本発明の実施の形態1に係る画像処理装置3は、少なくともCPU(中央演算装置)等で構成された制御部31、メモリ32、記憶装置33、入出力インタフェース34、表示インタフェース35、通信インタフェース36及び上述したハードウェアを接続する内部バス37で構成されている。
制御部31は、内部バス37を介して画像処理装置3の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置33に記憶されているコンピュータプログラムに従って、種々のソフトウェア的機能を実行する。メモリ32は、SRAM、SDRAM等の揮発性メモリで構成され、コンピュータプログラムの実行時にロードモジュールが展開され、コンピュータプログラムの実行時に発生する一時的なデータ等を記憶する。
記憶装置33は、内蔵される固定型記憶装置(ハードディスク)、SRAM等の揮発性メモリ、ROM等の不揮発性メモリ等で構成されている。記憶装置33に記憶されているコンピュータプログラムは、プログラム及びデータ等の情報を記録したDVD、CD−ROM等の可搬型記録媒体からダウンロード、あるいは通信インタフェース36を介してダウンロードされ、実行時には記憶装置33からメモリ32へ展開して実行される。
通信インタフェース(通信装置)36は内部バス37に接続されており、インターネット、LAN、WAN等の外部のネットワークに接続されることにより、外部のコンピュータ等とデータ送受信を行うことが可能となっている。
入出力インタフェース34は、キーボード38、マウス39等のデータ入力媒体と接続され、データの入力を受け付ける。また、表示インタフェース35は、CRTモニタ、LCD等の表示装置40と接続され、所定の画像を表示する。
従来、マニピュレータ1の動作制御は、ロボットコントローラ2に記憶されているシーケンシャルな動作制御プログラムにより行われていた。その場合、マニピュレータ1のエンドエフェクタ5の実際の位置座標と、画像処理装置3に表示されている画像上の位置座標との間でキャリブレーションを実行する必要がある。
キャリブレーションは、複数の位置座標について、マニピュレータ1のエンドエフェクタ5の実際の位置座標と、画像処理装置3に表示されている画像上の位置座標との間の変換式を算出する。座標変換の方法は、特に限定されるものではなく、例えばアフィン変換で変換する。
Figure 2016120564
(式1)に示すように、マニピュレータ1のエンドエフェクタ5の実際の位置座標(x’、y’)と、画像処理装置3に表示されている画像上の位置座標(x、y)とに基づいて、6つの自由度を有する変換式の係数a、b、c、d、e、fを求める。対応する位置座標が6つを超える場合には、最小二乗法を用いれば良い。
図3は、従来のキャリブレーションの処理手順を示すフローチャートである。図3に示すように、ロボットコントローラ2は、マニピュレータ1に撮像対象となるマークを付与したワーク6を、キャリブレーションターゲットとして把持させた状態で、エンドエフェクタ5をキャリブレーション位置へと移動させる(ステップS301)。
ロボットコントローラ2は、移動したエンドエフェクタ5の位置座標(x’、y’)を取得して(ステップS302)、計測命令及び取得した位置座標(x’、y’)を画像処理装置3へ送信する(ステップS303)。画像処理装置3は、ロボットコントローラ2から計測命令及び取得した位置座標(x’、y’)を受信し(ステップS304)、エンドエフェクタ5の動作領域を撮像する(ステップS305)。
画像処理装置3は、エンドエフェクタ5の動作領域の画像を表示し、表示されている画像上の位置座標(x、y)を検出する(ステップS306)。ロボットコントローラ2は、キャリブレーション用のすべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出したか否かを判断する(ステップS307)。ロボットコントローラ2が、まだすべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出していないと判断した場合(ステップS307:NO)、ロボットコントローラ2は、次の移動命令を発行し(ステップS308)、処理をステップS301へ戻して、上述した処理を繰り返す。
ロボットコントローラ2が、すべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出したと判断した場合(ステップS307:YES)、画像処理装置3は、(式1)に従って変換式を算出する(ステップS309)。具体的には、6つの係数a、b、c、d、e、fを求める。
しかし、従来のキャリブレーションでは、マニピュレータ1の種別ごとに固有のシーケンシャルな制御プログラムが必要となる。したがって、機種ごとに個別の制御プログラムによりキャリブレーションを実行しなければならない。そこで、画像処理装置3において主たるキャリブレーションを実行する。
図4は、本発明の実施の形態1に係る画像処理システムのキャリブレーションの処理手順を示すフローチャートである。図4に示すように、画像処理装置3は、マニピュレータ1に撮像対象となるマークを付与したワーク6を、キャリブレーションターゲットとして把持させた状態で、キャリブレーションの開始位置を設定する(ステップS401)。図5は、本発明の実施の形態1に係る画像処理装置3の開始位置設定画面の例示図である。
図5に示すように、撮像された対象物6の画像は画像表示領域55に表示されている。キャリブレーションの実行ボタンのうち、開始位置設定ボタン51が選択されると、開始位置設定画面56がポップアップ表示され、開始位置を設定する。この場合、ジョグ操作ボタン57を選択することで、マニピュレータ1のエンドエフェクタ5を所定の位置に移動させることができる。したがって、移動先を確認しながらキャリブレーションの開始位置を設定することができる。
なお、移動パターンを設定する前に、検出ツールを設定することができる。図6は、本発明の実施の形態1に係る画像処理装置3の検出ツール設定画面の例示図である。
図6に示すように、キャリブレーションの実行ボタンのうち、検出ツール設定ボタン52が選択されると、検出ツール選択領域61が表示される。ユーザは、画像表示領域55に表示されている画像を見ながら、検出ツール選択領域61において検出ツールを選択する。図6の例では、輪郭検出ツールを選択している。これ以外に、例えば濃淡検出ツールを選択しても良い。
図4に戻って、画像処理装置3は、マニピュレータ1のエンドエフェクタ5の移動パターンを設定する(ステップS402)。図7及び図8は、本発明の実施の形態1に係る画像処理装置3の移動パターンの設定画面の例示図である。
図7に示すように、キャリブレーションの実行ボタンのうち、キャリブレーションボタン53が選択されると、移動パターン設定画面71がポップアップ表示される。ここで、移動パターンの設定ボタン72を選択すると、図8に示すように、詳細設定画面73がポップアップ表示される。
詳細設定画面73では、キャリブレーション実行時の検出パターンを設定する。例えば、3×3の9個、5×5の25個等の設定を受け付ける。所定の移動距離を設定することで、詳細設定画面73の下部に表示されるような移動パターンが設定される。
図4に戻って、画像処理装置3は移動命令をロボットコントローラ2へ送信する(ステップS403)。ロボットコントローラ2は、移動命令を受信して(ステップS404)、移動命令をマニピュレータ1の種別に応じて解釈する(ステップS405)。すなわち、マニピュレータ1を稼働させることが可能な機械語のロードモジュールに翻訳する。
ロボットコントローラ2は、エンドエフェクタ5を移動命令で指定されている位置へと移動させ(ステップS406)。ロボットコントローラ2は、エンドエフェクタ5の移動先の位置座標(x’、y’)を取得して(ステップS407)、取得した位置座標(x’、y’)を画像処理装置3へ送信する(ステップS408)。
画像処理装置3は、ロボットコントローラ2から、取得した位置座標(x’、y’)を受信し(ステップS409)、エンドエフェクタ5の動作領域を撮像する(ステップS410)。画像処理装置3は、動作領域の画像を表示し、表示されている画像上の位置座標(x、y)を検出する(ステップS411)。
なお、表示されている画像上のどの位置の位置座標(x、y)を検出するかは、設定されている検出ツールを用いて画像中から検出する。例えば検出ツールとして、輪郭検出ツールが選択されている場合、検出される輪郭領域を指定する必要がある。
図9及び図10は、本発明の実施の形態1に係る画像処理装置3の輪郭検出ツールを用いる場合の検出条件設定画面の例示図である。図9に示すように、ツール表示領域91において、選択されている「輪郭検出ツール」が表示されている。そして、パターン編集領域92において、輪郭パターンの形状を設定する。図9の例では矩形領域に設定されている。
そして、画像表示領域55に表示されている対象物において、マウス等でドラッグ操作をしながら、輪郭パターンを検出する検出領域93を設定する。図9の例では、対象物を囲むように設定しているが、特にこのような設定に限定されるものではない。
検出領域93が設定されると、図10に示すように、検出条件設定画面94において、検出条件を設定する。検出条件としては、例えば対象物の傾きの許容範囲である「角度範囲」、検出する個数を示す「検出個数」、どの程度まで類似していれば検出するかを示す「相関値下限」等を設定する。
また、検出ツールとして、濃淡検出ツールを選択しても良い。濃淡検出ツールが選択されている場合であっても、検出する領域を設定する必要がある。
図11及び図12は、本発明の実施の形態1に係る画像処理装置3の濃淡検出ツールを用いる場合の検出条件設定画面の例示図である。図11に示すように、ツール表示領域91において、選択されている「濃淡検出ツール」が表示されている。そして、パターン編集領域92において、輪郭パターンの形状を設定する。図11の例では矩形領域に設定されている。
そして、画像表示領域55に表示されている対象物において、マウス等でドラッグ操作をしながら、輪郭パターンを検出する検出領域93を設定する。図11の例では、対象物を囲むように設定しているが、特にこのような設定に限定されるものではない。
検出領域93が設定されると、図12に示すように、検出条件設定領域121において、検出条件を設定する。検出条件としては、例えば対象物の傾きの許容範囲である「角度範囲」、検出する個数を示す「検出個数」、どの程度まで類似していれば検出するかを示す「相関値下限」等の他、検出感度(サーチ感度)あるいは検出精度(サーチ精度)についても設定することができる。形状が同じであっても、濃淡差等に違いが生じている場合が想定されるからである。
図4に戻って、画像処理装置3は、キャリブレーション用のすべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出したか否かを判断する(ステップS412)。画像処理装置3が、まだすべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出していないと判断した場合(ステップS412:NO)、画像処理装置3は、次の移動命令を発行し(ステップS413)、処理をステップS403へ戻して、上述した処理を繰り返す。
画像処理装置3が、すべての位置座標(x’、y’)について画像上の位置座標(x、y)を検出したと判断した場合(ステップS412:YES)、画像処理装置3は、(式1)に従って変換式を算出する(ステップS414)。具体的には、6つの係数a、b、c、d、e、fを求める。
なお、キャリブレ−ションとして二次元のアフィン変換を用いる例について説明しているが、もちろん三次元のアフィン変換を用いても良い。
図13は、本発明の実施の形態1に係る画像処理装置3の機能ブロック図である。画像処理装置3の移動座標取得部301は、移動命令に応じて移動したエンドエフェクタ5の実際の各位置座標である第一の座標値(x’、y’)を取得する。
なお、移動座標取得部301において取得する第一の座標値(x’、y’)は、画像処理装置3からの移動命令に応じてエンドエフェクタ5が移動した各位置において、ロボットコントローラ2から取得した座標値としているが、画像処理装置3で表示されている画像上で指定されたマニピュレータ(ロボット)1の移動目標座標をそのまま第一の座標値としても良い。
撮像トリガ受信部302は、ロボットコントローラ2から撮像トリガを受信する。撮像制御部303は、撮像トリガの受信を確認した時点あるいは確認した時点から所定時間経過した時点で、エンドエフェクタ5の各移動先にて対象物6を撮像するよう撮像装置4の動作を制御する。これにより、ロボットコントローラ2から取得したエンドエフェクタ5の移動先の各位置座標である第一の座標値(x’、y’)に対応する領域を撮像するよう制御することで、取得したエンドエフェクタ5の画像上の第一の座標値(x’、y’)との間でキャリブレーションを実行することができる。
画像検出部304は、各移動先にて撮像された対象物6の画像に基づいて対象物の位置座標である第二の座標値(x、y)を検出する。キャリブレーション実行部305は、取得した複数の第一の座標値(x’、y’)と、検出した複数の第二の座標値(x、y)とに基づいて、両座標間の変換規則を算出する。例えば二次元のキャリブレーションを実行する場合、上述した(式1)に座標値を代入して、係数a、b、c、d、e、fを求める。
キャリブレーションを実行することにより、ロボットコントローラ2から取得した移動先のエンドエフェクタ5の位置座標である第一の座標値(x’、y’)を指定して移動命令を送信するだけでなく、各移動先にて撮像された対象物の6の画像に基づいて検出された第二の座標値(x、y)から第一の座標値(x’、y’)を算出することができ、移動命令を送信することができる。つまり、画像処理装置3からロボットコントローラ2に対して動作の指令を送信することができるようになる。
動作設定受付部306は、少なくとも第一の座標値(x’、y’)へエンドエフェクタ5を移動させる動作又は第二の座標値(x、y)へエンドエフェクタ5を移動させる動作(具体的にはキャリブレーション結果を用いて第一の座標値へ変換した座標値へ移動させる動作)を含む複数の動作の中から、ロボットコントローラ2に実行させる複数の動作の選択を受け付け、選択を受け付けた複数の動作の実行順序の設定を受け付ける。
具体的には、まず移動先の位置データを記憶する。図14は、本発明の実施の形態1に係る画像処理装置3の位置データ登録画面の例示図である。まず、マニピュレータ(ロボット)1のエンドエフェクタ5を撮像位置へ移動させる。移動命令は、画像処理装置3からロボットコントローラ2へ送信する。
エンドエフェクタ5の位置データは、第一の座標値(x’、y’)としてロボットコントローラ2から移動座標取得部301により取得する。図14(a)には、取得した第一の座標値が表示されている。
そして、登録ボタン141をマウス等でクリック操作することにより、取得した第一の座標値を識別子、例えば「POS001」とともに記憶する。第一の座標値が1つでも記憶されている場合、図14(b)に示すように、移動ボタン142が使用可能な状態となる。位置データを選択して移動ボタン142をマウス等でクリック操作することにより、移動命令を送信することができる。
図15は、本発明の実施の形態1に係る画像処理装置3の位置データ選択画面の例示図である。図15に示すように、位置データ選択領域151に、既に記憶されている位置データ候補が表示されている。ユーザは、この中から1つの位置データを選択すれば良い。
図16は、本発明の実施の形態1に係る画像処理装置3の位置データ選択画面の他の例示図である。図16の例では、位置データ選択領域151が存在しない。あくまでも撮像された画像が表示されている画像表示領域55において、現在の位置を「十」印161で表示している。ユーザは、マウス等のクリック操作により、移動先の位置「十」印162を指定することで位置データを選択すれば良い。
すなわち、位置データ選択画面は、図13の移動先選択部314として機能する。移動先選択部314は、エンドエフェクタ5の複数の第一の座標値を取得し、複数の第一の座標値の中からエンドエフェクタ5の移動先として一の第一の座標値の選択を受け付ける。
図13に戻って、動作設定受付部306は、ロボットコントローラ2から受信する、撮像装置4で対象物6の撮像を開始するタイミングを示す撮像トリガごとに、少なくとも動作の種類及び動作順序を含む動作条件の設定も受け付ける。設定を受け付けた撮像トリガごとの動作条件をロボットコントローラ2から受信したタイミングで、撮像装置4によりワーク6を撮像する。撮像トリガとしては、特にどのような情報でなければならないという限定はない。少なくとも撮像装置4に撮像を開始するタイミングを知らせる信号であれば足りる。
動作設定受付部306は、エンドエフェクタ5に対する待機指令の設定を受け付けても良い。撮像までの待機時間を設定を受け付けることで、動作直後の振動を抑制し、撮像時のエンドエフェクタ5の位置を安定させることができる。これにより、撮像装置4をエンドエフェクタ5に取り付けた状態での検出、あるいはワーク6をエンドエフェクタ5に把持させた状態での位置検出の精度を高くすることが可能となる。
プログラム生成部311は、動作設定受付部306で選択を受け付けた複数の動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成する。具体的には、設定を受け付けた実行順序に従って、選択を受け付けた複数の動作に対応する各動作プログラムを、編集可能なテキストデータとして生成する。
自動的に生成するとともに、ユーザの意向により自由にカスタマイズできるように、プログラム生成部311は、例えばロボットコントローラ2による動作のうち、少なくとも第一の座標値又は第2の座標値へエンドエフェクタ5を移動させる動作、撮像トリガを送信する動作を含む、ロボットコントローラ2に実行させる一連の複数の動作について動作プログラムを生成すれば良い。もちろん、ロボットコントローラ2とのデータ通信を確立する動作プログラムを生成しても良い。
また、マニピュレータ(ロボット)1の種別によって動作プログラムのフォーマットが異なるので、プログラム生成部311は、動作設定受付部306で選択を受け付けた複数の動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成する。
また、動作表示部307は、ロボットコントローラ2が実行する動作プログラムに組み込む動作の候補である動作リストを、実行順序に従って表示する。動作選択受付部308は、少なくとも撮像装置4に対する撮像トリガを送信する動作、及び検出された位置情報に基づきマニピュレータ(ロボット)1のエンドエフェクタ5を移動させる動作を含む複数の動作の中から、ロボットコントローラ2に実行させる複数の動作の選択を受け付ける。順序設定受付部309は、選択を受け付けた複数の動作を動作リストに組み込み、動作ごとに実行順序の設定を受け付ける。
図17は、本発明の実施の形態1に係る画像処理装置3のプログラム生成画面の例示図である。図17において、シーケンス選択領域171には、動作プログラムに組み込む動作の候補である動作リストが表示されている(動作表示部307)。ユーザは、表示されている動作リストの中から、生成される動作プログラムで実行したい複数の動作を選択する(動作選択受付部308)。選択された複数の動作に応じて、動作ごとに実行順序が設定される(順序設定受付部309)。もちろん、実行順序のみ変更できるようにしても良い。
また、生成される動作プログラムで制御する対象となるマニピュレータ(ロボット)1の製造元であるメーカを、メーカ選択領域172において選択する(ロボット選択受付部312)。生成される動作プログラムは、メーカごとに仕様が異なるからである。
ここで、動作リストの中から選択することができるのは、エンドエフェクタ5の移動、撮像トリガの送信等の動作(以下、汎用動作)のみである。選択することができない動作としては、例えばエンドエフェクタ5の詳細な動作(ピッキング、リリース等)、他に接続されている外部機器の動作等(以下、特殊動作)である。動作プログラムの一部として、まず汎用動作に相当する部分のみ編集可能な形式で自動生成する。そして、最終的には、ユーザが特殊動作に相当する部分を編集することにより、動作プログラムを完成することができる。
図13に戻って、位置情報取得部310(移動座標取得部301と兼用でも可)を設けておき、マニピュレータ(ロボット)1のエンドエフェクタ5の現在の位置に関する現在位置情報として現在の位置座標を取得しても良い。エンドエフェクタ5の現在の位置座標を取得することで、画像処理装置3において移動先を指示するのではなく、エンドエフェクタ5を、取得した現在の位置座標へ確実に戻らせるよう(移動させるよう)動作させることが可能となる。
すべての設定が完了した状態で、プログラム出力ボタン173をマウス等によりクリック操作することにより、ロボットコントローラ2の動作プログラムが生成される。図18は、本発明の実施の形態1に係るロボットコントローラ2の動作プログラムの例示図である。
図18に示すように、ソースコード181は、画像処理装置3とのデータ通信を確立する命令である。ソースコード182は、撮像装置4を退避させる命令である。ソースコード183は、画像処理装置3に対する座標値取得命令である。
ソースコード184は、画像処理装置3から座標値を受信する命令である。ソースコード185は、実際のマニピュレータ1の位置座標に変換する命令である。
ソースコード186は、マニピュレータ1のエンドエフェクタ5を移動の最終位置へ移動させる命令である。ソースコード187は、コメント欄であり、ユーザ自身がソースコードを記述することで、よりユーザニーズに応じた動作プログラムを生成することができる。ソースコード188は、画像処理装置3とのデータ通信を解除する命令である。
図13に戻って、移動命令送信部313は、第一の座標値又は第2の座標値へエンドエフェクタ5を移動させる移動命令をロボットコントローラ2へ送信する。なお、図16に示すように移動先の位置情報の指定を受け付けた場合には、画像上で指定を受け付けた位置にエンドエフェクタ5を移動させる移動命令をロボットコントローラ2へ送信する。
また、ロボットコントローラ2は、動作を制御するマニピュレータ(ロボット)1の種別に応じて、移動命令を変換する必要がある。図19は、本発明の実施の形態1に係るロボットコントローラ2の機能ブロック図である。
図19に示すように、ロボットコントローラ2は、プログラム変換部201を備えている。プログラム変換部201は、マニピュレータ(ロボット)1の種別ごとに提供されており、移動命令をマニピュレータ1の種別に応じたエンドエフェクタ5への移動命令に変換する。これにより、使用するマニピュレータ1の種別に応じた変換プログラムをロボットコントローラ2にインストールすることができ、マニピュレータ1の種別に応じたエンドエフェクタ5の移動命令に変換することができる。
図20は、本発明の実施の形態1に係るロボットコントローラ2の変換プログラムの処理手順を示すフローチャートである。図20に示すように、ロボットコントローラ2は、画像処理装置3とデータ通信を確立し(ステップS2001)、移動命令を受信したか否かを判断する(ステップS2002)。
ロボットコントローラ2が、受信していないと判断した場合(ステップS2002:NO)、ロボットコントローラ2は、受信待ち状態となる。ロボットコントローラ2が、受信したと判断した場合(ステップS2002:YES)、ロボットコントローラ2は、最初の移動命令を解釈する(ステップS2003)。
ロボットコントローラ2は、解釈した移動命令の内容に沿って移動命令を切り替えて、マニピュレータ1のエンドエフェクタ5を移動させる(ステップS2004)。ロボットコントローラ2は、すべての移動命令を解釈したか否かを判断する(ステップS2005)。
ロボットコントローラ2が、まだ解釈していない移動命令があると判断した場合(ステップS2005:NO)、ロボットコントローラ2は、次の移動命令を解釈して(ステップS2006)、処理をステップS2004へ戻して上述した処理を繰り返す。ロボットコントローラ2が、すべての移動命令を解釈したと判断した場合(ステップS2005:YES)、ロボットコントローラ2は、処理を終了する。
図21は、本発明の実施の形態1に係る画像処理システムのシステム構築手順を示すフローチャートである。図21に示すように、画像処理装置3は、図4に示すキャリブレーションを実行し(ステップS2101)、位置座標の変換式を求める。
画像処理装置3は、ワーク6を検出する検出ツールの選択を受け付ける(ステップS2102)。具体的には、図6に示す検出ツール設定画面の検出ツール設定領域61において検出ツールを選択する。
画像処理装置3は、動作プログラムを作成する(ステップS2103)。画像処理装置3は、試運転で動作を確認したサンプルプログラムの詳細を編集して(ステップS2104)、運用段階へ移行させる(ステップS2105)。
図22は、本発明の実施の形態1に係る画像処理装置3の動作プログラム作成の処理手順を示すフローチャートである。図22に示すように、画像処理装置3は、移動先の位置データを一又は複数記憶する(ステップS2201)。
画像処理装置3は、動作の実行順序である動作シーケンスを記憶し(ステップS2202)、マニピュレータ(ロボット)1のメーカの選択を受け付ける(ステップS2203)。動作シーケンスは、例えば図17に示すプログラム生成画面のシーケンス選択領域171において、実行したい処理(動作)の順番にプルダウンメニューの中から選択する。また、メーカの選択は、例えば図17に示すプログラム生成画面のメーカ選択領域172において選択する。
画像処理装置3は、試運転を行って(ステップS2204)、その時点のサンプルプログラムを出力する(ステップS2205)。つまり、従来はプログラムが完成していないと動作確認をすることができなかったのに対して、基本動作が正しいか否かを試運転で確認しながら詳細を詰めることができる点に本願の特徴がある。
ユーザは、マニピュレータ(ロボット)1の動作が、所望の動作であるか否かを判断して(ステップS2206)、ユーザが所望の動作ではないと判断した場合(ステップS2206:NO)、画像処理装置3は、サンプルプログラムの編集を受け付けて(ステップS2207)、処理をステップS2204へ戻して、上述した処理を繰り返す。ユーザが所望の動作であると判断した場合(ステップS2206:YES)、画像処理装置3は、サンプルプログラムの送信依頼を受け付けて、サンプルプログラムのソースコードをテキストデータとして出力する(ステップS2208)。
マニピュレータ(ロボット)1の試運転時の動作は特に限定されるものではない。図23は、本発明の実施の形態1に係る画像処理システムにおける試運転時の動作を説明するための模式図である。
本実施の形態1に係る画像処理システムは、まず図23(a)に示すように、ワーク6を撮像できるよう、マニピュレータ1のエンドエフェクタ5をワーク6が載置されている位置とは異なる位置「POS000」へ移動させる。この状態で、図23(b)に示すように、撮像トリガに応じてワーク6を撮像し、最後に図23(c)に示すように、ワーク6を把持するべく、マニピュレータ1のエンドエフェクタ5をワーク6が載置されている位置(検出位置)へと移動させる。
斯かる動作をマニピュレータ(ロボット)1にさせるべく、ロボットコントローラ2で実行される動作プログラムは、プログラム生成画面から容易に生成することができる。図24は、本発明の実施の形態1に係る画像処理装置3のプログラム生成画面の例示図である。
図24において、シーケンス選択領域241では、生成される動作プログラムで実行したい処理(動作)をプルダウンメニューの中から選択する。また、生成される動作プログラムで制御する対象となるマニピュレータ(ロボット)1の製造元であるメーカを、メーカ選択領域242において選択する。生成される動作プログラムは、メーカごとに仕様が異なるからである。
図24の例では、事前に登録されている位置座標(図24では識別子として「POS000」)へ移動し、撮像開始のタイミングを示す撮像トリガを発行して、ワーク6を把持する位置まで移動する動作を制御するプログラムを生成するよう指定している。全ての指定が完了した時点で、プログラム出力ボタン243をマウス等によりクリック操作することで、ロボットコントローラ2の動作プログラムが生成される。
図25は、本発明の実施の形態1に係る画像処理システムの試運転時の処理手順を示すフローチャートである。図25に示すように、画像処理装置3は、所定位置(図24の例では「POS000」)への移動命令をロボットコントローラ2へ送信する(ステップS2501)。
ロボットコントローラ2は、画像処理装置3からの移動命令を受信し(ステップS2502)、移動命令をマニピュレータ1の種別に応じて解釈する(ステップS2503)。すなわち、マニピュレータ1を稼働させることが可能な機械語のロードモジュールに翻訳する。
ロボットコントローラ2は、エンドエフェクタ5を移動命令で指定されている位置(図24の例では「POS000」)へと移動させ(ステップS2504)、撮像命令を画像処理装置3へ送信する(ステップS2505)。
画像処理装置3は、撮像命令を受信し(ステップS2506)、エンドエフェクタ5の動作領域を撮像する(ステップS2507)。画像処理装置3は、エンドエフェクタ5の動作領域の画像を表示し、表示されている画像上のワーク6の位置座標(x、y)を検出し(ステップS2508)、キャリブレーションにより求めてある変換式を用いて位置座標(x’、y’)へ変換する(ステップS2509)。
画像処理装置3は、位置座標(x’、y’)への移動命令をロボットコントローラ2へ送信する(ステップS2510)。ロボットコントローラ2は、移動命令を受信して(ステップS2511)、変換された位置座標(x’、y’)へエンドエフェクタ5を移動する(ステップS2512)
なお、試運転の実行に備えて、2つの実行モードを準備しておくことが好ましい。例えば1つは「ティーチングモード」、もう1つは「自動運転モード」である。
「ティーチングモード」では、ユーザが動作を確認しながらサンプルプログラムを更新するためのモードである。したがって、ユーザは、マニピュレータ1の近傍で作業をしている可能性が高いので、安全を確保するために低速動作に限定し、何らかのスイッチを意識的に押下げ続けている状態でないと動作しないよう設定されている。
また、「自動運転モード」では、「ティーチングモード」のような動作制限は存在しない。その代わり、ユーザの安全を確保するために、例えば所定の範囲内に人が存在することを人感センサが検知した場合には動作しない等の対策を施す必要はある。なお、キャリブレーションの実行時には、ユーザが近傍に存在する可能性が高いので、「ティーチングモード」の時だけ動作できる、といったロボットコントローラ2における制限機能を付与することが好ましい。
以上のように本実施の形態1によれば、画像処理装置3からロボットコントローラ2に対してマニピュレータ(ロボット)1の動作を制御する動作プログラムを画像処理装置3内で生成することができるので、マニピュレータ1の種別ごとに異なる機械語を理解していない作業者(ユーザ)であっても、マニピュレータ1の動作を高い精度で制御することができる動作プログラムを生成することが可能となる。したがって、すべての動作プログラムが完成する都度、動作を確認する煩雑な手順が不要となるので、システムとして早期に立ち上げることが可能となる。
(実施の形態2)
本発明の実施の形態2に係る画像処理システムの構成、画像処理装置3の構成は、実施の形態1と同様であることから、同一の機能を有する構成要素については同一の符号を付することにより詳細な説明は省略する。本実施の形態2は、設定条件を切り替えて動作を切り替えることが可能な動作プログラムを生成する点で、実施の形態1とは相違する。
実施の形態2では、ワーク6のピッキングの実行を例に挙げて説明する。図26は、本発明の実施の形態2に係る画像処理システムにおけるピッキングの実行を説明するための模式図である。図26に示すように、本実施の形態2に係る画像処理システムは、ワーク6をピックアップ位置261からプレース位置262へと移動させる。具体的には、撮像装置4でピックアップ位置261のワーク6を撮像しながら、ワーク6をマニピュレータ1のエンドエフェクタ5で把持し、プレース位置262まで移動してからワーク6を解放する。
図27は、本発明の実施の形態2に係る画像処理システムのピッキングの処理手順を示すフローチャートである。図27に示すように、ロボットコントローラ2は、マニピュレータ1のエンドエフェクタ5により撮像対象であるワーク6を撮像装置4で撮像することができない事態を回避するために、マニピュレータ1のエンドエフェクタ5を撮像領域内から移動する(ステップS2701)。
ロボットコントローラ2は、撮像命令を画像処理装置3へ送信する(ステップS2702)。画像処理装置3は、撮像命令を受信して(ステップS2703)、ワーク6を撮像する(ステップS2704)。画像処理装置3は、ワーク6の画像を表示し、表示されている画像上のワーク6の位置座標(x、y)を検出して(ステップS2705)、キャリブレーションにより求めてある変換式を用いて位置座標(x’、y’)へ変換する(ステップS2706)。画像処理装置3は、変換された位置座標(x’、y’)をロボットコントローラ2へ送信する(ステップS2707)。
ロボットコントローラ2は、位置座標(x’、y’)を受信し(ステップS2708)、ワーク6を把持するピックアップ位置261へエンドエフェクタ5を移動させる(ステップS2709)。ロボットコントローラ2は、エンドエフェクタ5にワーク6を把持させる(ステップS2710)。
ロボットコントローラ2は、ワーク6を把持しながらエンドエフェクタ5をプレース位置262へ移動させ(ステップS2711)、ワーク6を解放させる(ステップS2712)。なお、破線で囲まれている範囲の処理、すなわちステップS2710、ステップS2712以外の処理は、マニピュレータ1の動作を制御する動作プログラムを自動生成することができる。
ワーク6のエンドエフェクタ5で把持した位置がずれているため、撮像位置を補正する必要がある場合も生じうる。図28は、本発明の実施の形態2に係る画像処理システムにおける撮像位置を補正する場合のピッキングの実行を説明するための模式図である。
図28に示すように、本実施の形態2に係る画像処理システムは、ワーク6をピックアップ位置261からプレース位置262へと移動させる。図26とは異なり、ワーク6をマニピュレータ1のエンドエフェクタ5で把持し、プレース位置262まで移動する間の状態を撮像装置4で撮像する。つまり、マニピュレータ1のエンドエフェクタ5で把持された時点でワーク6の存在位置が機械的にずれるので、そのずれを補正する。
図29は、本発明の実施の形態2に係る画像処理システムの撮像位置を補正する場合のピッキングの処理手順を示すフローチャートである。図29に示すように、ロボットコントローラ2は、マニピュレータ1のエンドエフェクタ5をピックアップ位置261へ移動する(ステップS2901)。
ロボットコントローラ2は、ワーク6を把持し(ステップS2902)、撮像装置4によりマニピュレータ1のエンドエフェクタ5で把持されたワーク6を撮像する位置へと移動する(ステップS2903)。ロボットコントローラ2は、撮像命令を画像処理装置3へ送信する(ステップS2904)
画像処理装置3は、撮像命令を受信して(ステップS2905)、ワーク6を撮像する(ステップS2906)。画像処理装置3は、ワーク6の画像を表示し、表示されている画像上のワーク6の位置座標(x、y)を検出して(ステップS2907)、キャリブレーションにより求めてある変換式を用いて位置座標(x’、y’)へ変換する(ステップS2908)。画像処理装置3は、変換された位置座標(x’、y’)をロボットコントローラ2へ送信する(ステップS2909)。
ロボットコントローラ2は、位置座標(x’、y’)を受信し(ステップS2910)、移動命令で指定した位置座標へエンドエフェクタ5を移動させる(ステップS2911)。ロボットコントローラ2は、位置座標(x’、y’)が移動命令で指定した位置座標と一定範囲内に収束しているか否かを判断する(ステップS2912)。
ロボットコントローラ2が、位置座標(x’、y’)が移動命令で指定した位置座標と一定範囲内に収束していないと判断した場合(ステップS2912:NO)、ロボットコントローラ2は、処理をステップS2904へ戻して、上述した処理を繰り返す。ロボットコントローラ2が、位置座標(x’、y’)が移動命令で指定した位置座標と一定範囲内に収束したと判断した場合(ステップS2912:YES)、ロボットコントローラ2は、ワーク6を把持しながらエンドエフェクタ5をプレース位置262へ移動させ(ステップS2913)、ワーク6を解放させる(ステップS2914)。なお、破線で囲まれている範囲の処理、すなわちステップS2902、ステップS2912、ステップS2914以外の処理は、マニピュレータ1の動作を制御する動作プログラムを自動生成することができる。
ピッキングの実行についても、条件が変更された場合には、生成される動作プログラムが変動する。例えば撮像位置が相違する、画像から検出する位置が相違する、マニピュレータ1のメーカが相違する等、条件の相違に対応して動作プログラムを切り替えることが好ましい。
図30は、本発明の実施の形態2に係る画像処理システムの異なる動作条件の設定例を示す条件設定画面の例示図である。まず図30(a)に示すように、「条件0」として、条件設定領域3001において撮像位置を「POS0」、画像から検出する位置を「A」と設定しており、メーカ設定領域3002において、マニピュレータ1のメーカを「メーカA」と設定している。一方、図30(b)に示すように、「条件1」として、条件設定領域3001において撮像位置を「POS1」、画像から検出する位置を「B」と設定しており、メーカ設定領域3002において、マニピュレータ1のメーカを「メーカA」と設定している。ここでは、同じメーカのマニピュレータ1に異なる動作をさせている。
図31は、本発明の実施の形態2に係る画像処理システムの異なる動作条件に切り替え可能な動作プログラムの例示図である。図31に示すように、ソースコード3100は、画像処理装置3とのデータ通信を確立する命令である。ソースコード3101は、Val0の値に応じて動作条件の切り替えを実行する命令である。
具体的には、Val0の値が‘0’である場合、条件0に基づくソースコード3102を実行し、Val0の値が‘1’である場合、条件1に基づくソースコード3103を実行することになる。なお、ソースコード3100は、自動的に生成しても良いし、ユーザが書き加えても良い。
図32は、本発明の実施の形態2に係る画像処理システムにおける動作条件の切り替えが必要となるピッキングの実行を説明するための模式図である。図32に示すように、本実施の形態2に係る画像処理システムは、ワーク6A又はワーク6Bをピックアップ位置261からプレース位置262へと移動させる。
具体的には、撮像装置4でピックアップ位置261のワーク6A又はワーク6Bを撮像しながら、ワーク6A又はワーク6Bをマニピュレータ1のエンドエフェクタ5で把持し、プレース位置262まで移動してからワーク6A又はワーク6Bを解放する。同時に2つのワークを保持することはできないので、まずはワーク6Aを把持して移動する動作プログラムを、次にワーク6Bを把持して移動する動作プログラムを、それぞれ実行する。
図33A及び図33Bは、本発明の実施の形態2に係る画像処理システムの動作条件の切り替えを含むピックアップの処理手順を示すフローチャートである。図33A及び図33Bに示すように、ロボットコントローラ2は、動作条件の切り替えについて、画像処理装置3で設定を受け付けた条件がどの条件であるかを判断する(ステップS3301)。ロボットコントローラ2が、条件‘0’へ切り替えの設定を受け付けていると判断した場合(ステップS3301:‘0’)、ロボットコントローラ2は、条件‘0’への切替命令を画像処理装置3へ送信する(ステップS3302)。
切替命令としては、本実施の形態2に示すように、個別に切替命令を送信しても良いし、後述する撮像命令(撮像トリガ)に含ませても良い。つまり、撮像装置4で対象物6の撮像を開始するタイミングを示す撮像トリガで条件を切り替えても良い。撮像トリガごとに、少なくとも動作の種類及び動作順序を含む動作条件の設定を受け付けているので、撮像トリガに応じて動作条件を切り替えることができ、動作に応じた適切なタイミングで対象物6を撮像して、表示されている画像上の対象物6の位置座標を検出することが可能となる。
画像処理装置3は、切替命令を受信して(ステップS3303)、応答信号をロボットコントローラ2へ送信する(ステップS3304)。ロボットコントローラ2は、応答信号を受信して(ステップS3305)、位置POS0へマニピュレータ1のエンドエフェクタ5を移動させる(ステップS3306)。
ロボットコントローラ2は、撮像命令を画像処理装置3へ送信する(ステップS3307)。画像処理装置3は、撮像命令を受信して(ステップS3308)、ワーク6を撮像する(ステップS3309)。画像処理装置3は、ワーク6の画像を表示し、表示されている画像上のワーク6の位置座標(x、y)を検出して(ステップS3310)、キャリブレーションにより求めてある変換式を用いて位置座標(x’、y’)へ変換する(ステップS3311)。画像処理装置3は、変換された位置座標(x’、y’)をロボットコントローラ2へ送信する(ステップS3312)。
ロボットコントローラ2は、位置座標(x’、y’)を受信し(ステップS3313)、位置座標(x’、y’)で示されているワーク6を把持するピックアップ位置261へ、マニピュレータ1のエンドエフェクタ5を移動させる(ステップS3314)。ロボットコントローラ2は、エンドエフェクタ5にワーク6を把持させ(ステップS3315)、ワーク6を把持しながらエンドエフェクタ5をプレース位置262へ移動させて(ステップS3316)、ワーク6を解放させる(ステップS3317)。
ロボットコントローラ2が、条件‘1’へ切り替えの設定を受け付けていると判断した場合(ステップS3301:‘1’)、ロボットコントローラ2は、条件‘1’への切替命令を画像処理装置3へ送信する(ステップS3320)。
画像処理装置3は、切替命令を受信して(ステップS3321)、応答信号をロボットコントローラ2へ送信する(ステップS3322)。ロボットコントローラ2は、応答信号を受信して(ステップS3323)、位置POS1へマニピュレータ1のエンドエフェクタ5を移動させる(ステップS3324)。
ロボットコントローラ2は、撮像命令を画像処理装置3へ送信する(ステップS3325)。画像処理装置3は、撮像命令を受信して(ステップS3326)、ワーク6を撮像する(ステップS3327)。画像処理装置3は、ワーク6の画像を表示し、表示されている画像上のワーク6の位置座標(x、y)を検出して(ステップS3328)、キャリブレーションにより求めてある変換式を用いて位置座標(x’、y’)へ変換する(ステップS3329)。画像処理装置3は、変換された位置座標(x’、y’)をロボットコントローラ2へ送信する(ステップS3330)。
ロボットコントローラ2は、位置座標(x’、y’)を受信し(ステップS3331)、位置座標(x’、y’)で示されているワーク6を把持するピックアップ位置261へ、マニピュレータ1のエンドエフェクタ5を移動させる(ステップS3332)。ロボットコントローラ2は、エンドエフェクタ5にワーク6を把持させ(ステップS3333)、ワーク6を把持しながらエンドエフェクタ5をプレース位置262へ移動させて(ステップS3334)、ワーク6を解放させる(ステップS3335)。なお、破線で囲まれている範囲の処理、すなわちステップS3315、ステップS3317、ステップS3333、ステップS3335以外の処理は、マニピュレータ1の動作を制御する動作プログラムを自動生成することができる。
以上のように本実施の形態2によれば、画像処理装置3からロボットコントローラ2に対してマニピュレータ1のエンドエフェクタ5の動作を制御する移動命令、動作命令を送信することができるので、マニピュレータ(ロボット)1の種別ごとに異なる機械語を理解する必要がなく、マニピュレータ1を試運転することにより正しく動作するか否かを確認することが可能となる。したがって、すべての動作プログラムが完成する都度、動作を確認する煩雑な手順が不要となるので、システムとして早期に立ち上げることが可能となる。
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。例えばロボットコントローラ2の代わりにモーションコントローラを用いることで、適用範囲を拡大することができる。
また、従来、ロボットコントローラ2で移動目標位置を取得する場合、画像処理装置3からは相対的な位置座標を受信していた。例えば、画像処理装置3では、移動することにより生ずる差分である、差分距離X(X方向の差分)、差分距離Y(Y方向の差分)及び差分角度(XY平面上での回転角度)θを画像から検出し、ロボットコントローラ2は、受信した差分距離X、差分距離Y及び差分角度θを基準位置に加算することにより、移動目標位置を特定していた。
しかし、本実施の形態では、基準位置を含む座標系を画像処理装置3に記憶しておくことができる。したがって、ロボットコントローラ2に対して、差分距離X、差分距離Y及び差分角度θという相対的な位置座標ではなく、画像処理装置3内で算出した移動目標位置の座標値そのものを送信することができる。
これにより、マニピュレータ1のエンドエフェクタ5を移動させる場合に、ロボットコントローラ2側で基準座標を記憶しておく必要がない。したがって、画像処理装置3のみで移動目標位置の座標値を出力することができ、ワーク6を交換するときに、改めて新たなワーク6について基準座標を設定する必要もなく、操作が煩雑にならない。
1 マニピュレータ(ロボット)
2 ロボットコントローラ
3 画像処理装置
4 撮像装置
5 エンドエフェクタ
6 対象物(ワーク)
31 制御部
32 メモリ
33 記憶装置
36 通信インタフェース

Claims (16)

  1. ロボットの動作を制御するロボットコントローラとデータ通信することが可能な通信装置と、
    前記ロボットによる操作対象である対象物を撮像する撮像装置と
    を有する画像処理装置であって、
    前記撮像装置で対象物の撮像を開始するタイミングを示す撮像トリガを受信する撮像トリガ受信手段と、
    前記撮像トリガを受信した場合、各移動先にて対象物を撮像するよう前記撮像装置の動作を制御する撮像制御手段と、
    各移動先にて撮像された対象物の画像に基づいて、対象物の画像上における位置情報を検出する画像検出手段と、
    前記ロボットコントローラが実行する動作プログラムに組み込む動作の候補である動作リストを、実行順序に従って表示する動作表示手段と、
    少なくとも前記撮像装置に対する撮像トリガを送信する動作、及び検出された前記位置情報に基づき前記ロボットのエンドエフェクタを移動させる動作を含む複数の動作の中から、前記ロボットコントローラに実行させる複数の動作の選択を受け付ける動作選択受付手段と、
    選択を受け付けた複数の動作を前記動作リストに組み込み、動作ごとに実行順序の設定を受け付ける順序設定受付手段と、
    選択を受け付けた複数の動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成するプログラム生成手段と
    を備えることを特徴とする画像処理装置。
  2. 前記順序設定受付手段は、複数の前記動作リストから前記ロボットコントローラにより実行される動作の選択を受け付けることを特徴とする請求項1に記載の画像処理装置。
  3. 前記プログラム生成手段は、前記ロボットコントローラとのデータ通信を確立する前記動作プログラムを生成することを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記動作選択受付手段は、前記エンドエフェクタに対する待機の選択を受付可能であることを特徴とする請求項1乃至3のいずれか一項に記載の画像処理装置。
  5. 前記エンドエフェクタの現在の位置に関する現在位置情報を取得する位置情報取得手段を備え、
    前記動作選択受付手段は、取得した現在位置情報に基づく位置へ前記エンドエフェクタを移動させる動作の選択を受付可能であることを特徴とする請求項1乃至4のいずれか一項に記載の画像処理装置。
  6. 前記ロボットの種別の選択を受け付けるロボット選択受付手段を備え、
    前記プログラム生成手段は、選択を受け付けた前記ロボットの種別ごとに規定されたフォーマットに従って前記動作プログラムを生成することを特徴とする請求項1乃至5のいずれか一項に記載の画像処理装置。
  7. 前記撮像トリガごとに、前記対象物の画像上における位置情報を検出する処理を対応付けることを特徴とする請求項1乃至6のいずれか一項に記載の画像処理装置。
  8. ロボットの動作を制御するロボットコントローラと、
    該ロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットによる操作対象である対象物を撮像する撮像装置を含む画像処理装置とで構成される画像処理システムであって、
    前記画像処理装置は、
    前記撮像装置で対象物の撮像を開始するタイミングを示す撮像トリガを受信する撮像トリガ受信手段と、
    前記撮像トリガを受信した場合、各移動先にて対象物を撮像するよう前記撮像装置の動作を制御する撮像制御手段と、
    各移動先にて撮像された対象物の画像に基づいて、対象物の画像上における位置情報を検出する画像検出手段と、
    前記ロボットコントローラが実行する動作プログラムに組み込む動作の候補である動作リストを、実行順序に従って表示する動作表示手段と、
    少なくとも前記撮像装置に対する撮像トリガを送信する動作、及び検出された前記位置情報に基づき前記ロボットのエンドエフェクタを移動させる動作を含む複数の動作の中から、前記ロボットコントローラに実行させる複数の動作の選択を受け付ける動作選択受付手段と、
    選択を受け付けた複数の動作を前記動作リストに組み込み、動作ごとに実行順序の設定を受け付ける順序設定受付手段と、
    選択を受け付けた複数の動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成するプログラム生成手段と
    を備えることを特徴とする画像処理システム。
  9. 前記順序設定受付手段は、複数の前記動作リストから前記ロボットコントローラにより実行される動作の選択を受け付けることを特徴とする請求項8に記載の画像処理システム。
  10. 前記プログラム生成手段は、前記ロボットコントローラとのデータ通信を確立する前記動作プログラムを生成することを特徴とする請求項8又は9に記載の画像処理システム。
  11. 前記動作選択受付手段は、前記エンドエフェクタに対する待機の選択を受付可能であることを特徴とする請求項8乃至10のいずれか一項に記載の画像処理システム。
  12. 前記エンドエフェクタの現在の位置に関する位置情報を取得する位置情報取得手段を備え、
    前記動作選択受付手段は、取得した現在位置情報に基づく位置へ前記エンドエフェクタを移動させる動作の選択を受付可能であることを特徴とする請求項8乃至11のいずれか一項に記載の画像処理システム。
  13. 前記ロボットの種別の選択を受け付けるロボット選択受付手段を備え、
    前記プログラム生成手段は、選択を受け付けた前記ロボットの種別ごとに規定されたフォーマットに従って前記動作プログラムを生成することを特徴とする請求項8乃至12のいずれか一項に記載の画像処理システム。
  14. 前記撮像トリガごとに 前記対象物の画像上における位置情報を検出する処理を対応付けることを特徴とする請求項8乃至13のいずれか一項に記載の画像処理システム。
  15. ロボットの動作を制御するロボットコントローラと、
    該ロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットによる操作対象である対象物を撮像する撮像装置を含む画像処理装置とで構成される画像処理システムで実行することが可能な画像処理方法であって、
    前記画像処理装置は、
    前記撮像装置で対象物の撮像を開始するタイミングを示す撮像トリガを受信する工程と、
    前記撮像トリガを受信した場合、各移動先にて対象物を撮像するよう前記撮像装置の動作を制御する工程と、
    各移動先にて撮像された対象物の画像に基づいて、対象物の画像上における位置情報を検出する工程と、
    前記ロボットコントローラが実行する動作プログラムに組み込む動作の候補である動作リストを、実行順序に従って表示する工程と、
    少なくとも前記撮像装置に対する撮像トリガを送信する動作、及び検出された前記位置情報に基づき前記ロボットのエンドエフェクタを移動させる動作を含む複数の動作の中から、前記ロボットコントローラに実行させる複数の動作の選択を受け付ける工程と、
    選択を受け付けた複数の動作を前記動作リストに組み込み、動作ごとに実行順序の設定を受け付ける工程と、
    選択を受け付けた複数の動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成する工程と
    を含むことを特徴とする画像処理方法。
  16. ロボットの動作を制御するロボットコントローラとデータ通信することが可能な通信装置と、
    前記ロボットによる操作対象である対象物を撮像する撮像装置と
    を有する画像処理装置で実行することが可能なコンピュータプログラムであって、
    前記画像処理装置を、
    前記撮像装置で対象物の撮像を開始するタイミングを示す撮像トリガを受信する撮像トリガ受信手段、
    前記撮像トリガを受信した場合、各移動先にて対象物を撮像するよう前記撮像装置の動作を制御する撮像制御手段、
    各移動先にて撮像された対象物の画像に基づいて、対象物の画像上における位置情報を検出する画像検出手段、
    前記ロボットコントローラが実行する動作プログラムに組み込む動作の候補である動作リストを、実行順序に従って表示する動作表示手段、
    少なくとも前記撮像装置に対する撮像トリガを送信する動作、及び検出された前記位置情報に基づき前記ロボットのエンドエフェクタを移動させる動作を含む複数の動作の中から、前記ロボットコントローラに実行させる複数の動作の選択を受け付ける動作選択受付手段、
    選択を受け付けた複数の動作を前記動作リストに組み込み、動作ごとに実行順序の設定を受け付ける順序設定受付手段、及び
    選択を受け付けた複数の動作それぞれに対応する動作プログラムを、設定を受け付けた実行順序に従って生成するプログラム生成手段
    として機能させることを特徴とするコンピュータプログラム。
JP2014262240A 2014-12-25 2014-12-25 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム Active JP6410388B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014262240A JP6410388B2 (ja) 2014-12-25 2014-12-25 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014262240A JP6410388B2 (ja) 2014-12-25 2014-12-25 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2016120564A true JP2016120564A (ja) 2016-07-07
JP6410388B2 JP6410388B2 (ja) 2018-10-24

Family

ID=56326899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014262240A Active JP6410388B2 (ja) 2014-12-25 2014-12-25 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP6410388B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3338968A2 (en) 2016-12-22 2018-06-27 Seiko Epson Corporation Control apparatus, robot and robot system
EP3338969A2 (en) 2016-12-22 2018-06-27 Seiko Epson Corporation Control apparatus, robot and robot system
JP2018128821A (ja) * 2017-02-08 2018-08-16 オムロン株式会社 画像処理システム、画像処理装置、FPGA(Field Programmable Gate Array)における回路の再構成方法、および、FPGAにおける回路の再構成プログラム
JP2018153910A (ja) * 2016-12-22 2018-10-04 セイコーエプソン株式会社 制御装置、ロボット、およびロボットシステム
WO2022224313A1 (ja) * 2021-04-19 2022-10-27 ファナック株式会社 プログラム生成装置及びロボット制御装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000135689A (ja) * 1998-10-30 2000-05-16 Fanuc Ltd ロボット用画像処理装置
JP2006082170A (ja) * 2004-09-15 2006-03-30 Fuji Photo Film Co Ltd キャリブレーション方法
JP2006289531A (ja) * 2005-04-07 2006-10-26 Seiko Epson Corp ロボット位置教示のための移動制御装置、ロボットの位置教示装置、ロボット位置教示のための移動制御方法、ロボットの位置教示方法及びロボット位置教示のための移動制御プログラム
JP2009122823A (ja) * 2007-11-13 2009-06-04 Keyence Corp 画像処理コントローラ用のプログラム作成装置
JP2014180720A (ja) * 2013-03-19 2014-09-29 Yaskawa Electric Corp ロボットシステム及びキャリブレーション方法
JP2014210332A (ja) * 2013-04-02 2014-11-13 トヨタ自動車株式会社 作業変更装置、作業変更方法、及び作業変更プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000135689A (ja) * 1998-10-30 2000-05-16 Fanuc Ltd ロボット用画像処理装置
JP2006082170A (ja) * 2004-09-15 2006-03-30 Fuji Photo Film Co Ltd キャリブレーション方法
JP2006289531A (ja) * 2005-04-07 2006-10-26 Seiko Epson Corp ロボット位置教示のための移動制御装置、ロボットの位置教示装置、ロボット位置教示のための移動制御方法、ロボットの位置教示方法及びロボット位置教示のための移動制御プログラム
JP2009122823A (ja) * 2007-11-13 2009-06-04 Keyence Corp 画像処理コントローラ用のプログラム作成装置
JP2014180720A (ja) * 2013-03-19 2014-09-29 Yaskawa Electric Corp ロボットシステム及びキャリブレーション方法
JP2014210332A (ja) * 2013-04-02 2014-11-13 トヨタ自動車株式会社 作業変更装置、作業変更方法、及び作業変更プログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3338968A2 (en) 2016-12-22 2018-06-27 Seiko Epson Corporation Control apparatus, robot and robot system
EP3338969A2 (en) 2016-12-22 2018-06-27 Seiko Epson Corporation Control apparatus, robot and robot system
CN108214486A (zh) * 2016-12-22 2018-06-29 精工爱普生株式会社 控制装置、机器人及机器人系统
JP2018153910A (ja) * 2016-12-22 2018-10-04 セイコーエプソン株式会社 制御装置、ロボット、およびロボットシステム
JP7067017B2 (ja) 2016-12-22 2022-05-16 セイコーエプソン株式会社 制御装置およびロボットシステム
JP2018128821A (ja) * 2017-02-08 2018-08-16 オムロン株式会社 画像処理システム、画像処理装置、FPGA(Field Programmable Gate Array)における回路の再構成方法、および、FPGAにおける回路の再構成プログラム
WO2022224313A1 (ja) * 2021-04-19 2022-10-27 ファナック株式会社 プログラム生成装置及びロボット制御装置

Also Published As

Publication number Publication date
JP6410388B2 (ja) 2018-10-24

Similar Documents

Publication Publication Date Title
JP6486678B2 (ja) 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
JP6410388B2 (ja) 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
CN109146082B (zh) 机器学习装置、机器人控制系统和机器学习方法
EP2608938B1 (en) Vision-guided alignment system and method
CN110154017B (zh) 输送机跟踪系统以及校准方法
US10137574B2 (en) Image processing apparatus, image processing system, image processing method, and computer program
CN105269578B (zh) 指示装置以及机器人系统
JP2017042859A (ja) ピッキングシステム、並びに、そのための処理装置、方法及びプログラム
CN106182042B (zh) 借助相机选择设备或对象
TWI404609B (zh) 機械手臂系統參數的校正方法與校正裝置
JP2016185572A (ja) ロボット、ロボット制御装置およびロボットシステム
JP2017015396A (ja) 検査方法、検査装置、処理装置、プログラム及び記録媒体
CN108627515B (zh) 计算成为检查系统的检查对象外的图像区域的装置及方法
CN109945780B (zh) 物体检查系统以及物体检查方法
US11590657B2 (en) Image processing device, control method thereof, and program storage medium
JP6926906B2 (ja) ロボットシステム、制御装置及びロボット制御方法
JP7427370B2 (ja) 撮像装置、画像処理装置、画像処理方法、撮像装置の校正方法、ロボット装置、ロボット装置を用いた物品の製造方法、制御プログラムおよび記録媒体
JP6772630B2 (ja) 三次元計測装置及び三次元物体認識方法
JP2009175012A (ja) 計測装置および計測方法
JP2020034484A (ja) 画像検査装置
JP6897398B2 (ja) 三次元形状測定装置、ロボットシステム、及び三次元形状測定方法
WO2021210456A1 (ja) ロボットの制御座標系における視覚センサの位置を取得する装置、ロボットシステム、方法、及びコンピュータプログラム
JP2018087715A (ja) 情報処理装置、情報処理方法及びプログラム
JP2015058488A (ja) ロボット制御システム、ロボット、ロボット制御方法及びプログラム
JP2015100868A (ja) ロボットシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170831

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180828

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180922

R150 Certificate of patent or registration of utility model

Ref document number: 6410388

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250