(57)【特許請求の範囲】
【請求項１】
ロボットの動作を制御するロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットとは別体に設けられ、操作対象である対象物を撮像する撮像装置と
を有する画像処理装置であって、
マークが付与された対象物をキャリブレーションターゲットとして前記ロボットのエンドエフェクタに把持させた状態で、前記エンドエフェクタを複数の位置に移動させ、実際の前記エンドエフェクタの複数の位置座標と画像上の対象物の複数の位置座標とに基づいて、画像上で検出された座標値を、実際のロボットのエンドエフェクタの座標値に変換する変換式を求めるキャリブレーションを実行するキャリブレーション実行手段と、
表示手段に表示されている画像上で使用者により指定を受け付けた位置情報、又は該画像上で検出された対象物の位置情報を、前記変換式に基づいてエンドエフェクタの移動目標位置に変換し、変換された移動目標位置を含む移動命令を前記ロボットコントローラに対して送信する命令送信手段と、
前記ロボットコントローラから、前記移動命令により移動した前記エンドエフェクタの各位置座標である第一の座標値を受信し、前記変換式に基づいて、前記表示手段に表示させる画像上の座標値に変換することにより第一の位置情報を定期的に取得する位置情報取得手段と、
前記エンドエフェクタが移動中に対象物を撮像するよう前記撮像装置の動作を制御する撮像制御手段と、
撮像された対象物の画像を動画として、又は定期的に更新される静止画として表示する際に、前記移動目標位置と、第一の位置情報の位置とを示す印を、前記表示手段に表示されている対象物の画像上に重畳して表示する表示制御手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記撮像装置を複数備えており、
撮像装置ごとに前記変換式を一又は複数記憶することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記エンドエフェクタの移動の履歴情報を表示することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記エンドエフェクタの基準位置からオフセットした位置情報を表示することを特徴とする請求項１乃至３のいずれか一項に記載の画像処理装置。
【請求項５】
ロボットの動作を制御するロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットとは別体に設けられ、操作対象である対象物を撮像する撮像装置を含む画像処理装置とで構成される画像処理システムであって、
前記画像処理装置は、
マークが付与された対象物をキャリブレーションターゲットとして前記ロボットのエンドエフェクタに把持させた状態で、前記エンドエフェクタを複数の位置に移動させ、実際の前記エンドエフェクタの複数の位置座標と画像上の対象物の複数の位置座標とに基づいて、画像上で検出された座標値を、実際のロボットのエンドエフェクタの座標値に変換する変換式を求めるキャリブレーションを実行するキャリブレーション実行手段と、
表示手段に表示されている画像上で使用者により指定された位置情報、又は該画像上で検出された対象物の位置情報を、前記変換式に基づいてエンドエフェクタの移動目標位置に変換し、変換された移動目標位置を含む移動命令を前記ロボットコントローラに対して送信する命令送信手段と
を備え、
前記ロボットコントローラは、
前記移動命令を解釈し、ロボットの種別に応じたエンドエフェクタに対する移動命令に変換する命令変換手段と、
前記エンドエフェクタを移動させるとともに、移動した前記エンドエフェクタの各位置座標である第一の座標値を取得する座標値取得手段と、
前記第一の座標値を前記画像処理装置に送信する座標値送信手段と
を有し、
前記画像処理装置は、
前記第一の座標値を受信し、前記変換式に基づいて、前記表示手段に表示させる画像上の座標値に変換することにより第一の位置情報を定期的に取得する位置情報取得手段と、
前記エンドエフェクタが移動中に対象物を撮像するよう前記撮像装置の動作を制御する撮像制御手段と、
撮像された対象物の画像を動画として、又は定期的に更新される静止画として表示する際に、前記移動目標位置と、第一の位置情報の位置とを示す印を、前記表示手段に表示されている対象物の画像上に重畳して表示する表示制御手段と
を備えることを特徴とする画像処理システム。
【請求項６】
前記撮像装置を複数備えており、
撮像装置ごとに前記変換式を一又は複数記憶することを特徴とする請求項５に記載の画像処理システム。
【請求項７】
前記エンドエフェクタの移動の履歴情報を表示することを特徴とする請求項５又は６に記載の画像処理システム。
【請求項８】
前記エンドエフェクタの基準位置からオフセットした位置情報を表示することを特徴とする請求項５乃至７のいずれか一項に記載の画像処理システム。
【請求項９】
ロボットの動作を制御するロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットとは別体に設けられ、操作対象である対象物を撮像する撮像装置を含む画像処理装置とで構成される画像処理システムで実行することが可能な画像処理方法であって、
前記画像処理装置が、
マークが付与された対象物をキャリブレーションターゲットとして前記ロボットのエンドエフェクタに把持させた状態で、前記エンドエフェクタを複数の位置に移動させ、実際の前記エンドエフェクタの複数の位置座標と画像上の対象物の複数の位置座標とに基づいて、画像上で検出された座標値を、実際のロボットのエンドエフェクタの座標値に変換する変換式を求めるキャリブレーションを実行する工程と、
表示手段に表示されている画像上で使用者により指定された位置情報、又は該画像上で検出された対象物の位置情報を、前記変換式に基づいてエンドエフェクタの移動目標位置に変換し、変換された移動目標位置を含む移動命令を前記ロボットコントローラに対して送信する工程と
を含み、
前記ロボットコントローラが、
前記移動命令を解釈し、ロボットの種別に応じたエンドエフェクタに対する移動命令に変換する工程と、
前記エンドエフェクタを移動させるとともに、移動した前記エンドエフェクタの各位置座標である第一の座標値を取得する工程と、
前記第一の座標値を前記画像処理装置に送信する工程と
を含み、
前記画像処理装置が、
前記第一の座標値を受信し、前記変換式に基づいて、前記表示手段に表示させる画像上の座標値に変換することにより第一の位置情報を定期的に取得する工程と、
前記エンドエフェクタが移動中に対象物を撮像するよう前記撮像装置の動作を制御する工程と、
撮像された対象物の画像を動画として、又は定期的に更新される静止画として表示する際に、前記移動目標位置と、第一の位置情報の位置とを示す印を、前記表示手段に表示されている対象物の画像上に重畳して表示する工程と
を含むことを特徴とする画像処理方法。
【請求項１０】
ロボットの動作を制御するロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットとは別体に設けられ、操作対象である対象物を撮像する撮像装置と
を有する画像処理装置で実行することが可能なコンピュータプログラムであって、
前記画像処理装置を、
マークが付与された対象物をキャリブレーションターゲットとして前記ロボットのエンドエフェクタに把持させた状態で、前記エンドエフェクタを複数の位置に移動させ、実際の前記エンドエフェクタの複数の位置座標と画像上の対象物の複数の位置座標とに基づいて、画像上で検出された座標値を、実際のロボットのエンドエフェクタの座標値に変換する変換式を求めるキャリブレーションを実行するキャリブレーション実行手段、
表示手段に表示されている画像上で使用者により指定を受け付けた位置情報、又は該画像上で検出された対象物の位置情報を、前記変換式に基づいてエンドエフェクタの移動目標位置に変換し、変換された移動目標位置を含む移動命令を前記ロボットコントローラに対して送信する命令送信手段、
前記ロボットコントローラから、前記移動命令により移動した前記エンドエフェクタの各位置座標である第一の座標値を受信し、前記変換式に基づいて、前記表示手段に表示させる画像上の座標値に変換することにより第一の位置情報を定期的に取得する位置情報取得手段、
前記エンドエフェクタが移動中に対象物を撮像するよう前記撮像装置の動作を制御する撮像制御手段、及び
撮像された対象物の画像を動画として、又は定期的に更新される静止画として表示する際に、前記移動目標位置と、第一の位置情報の位置とを示す印を、前記表示手段に表示されている対象物の画像上に重畳して表示する表示制御手段
として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットのエンドエフェクタが正しく移動目標位置に到達したか否かを確認することが可能な画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
撮像装置によりロボットの作業領域を撮像して、撮像された画像内のワークの位置を検出し、検出されたワークの位置情報を撮像された画像に基づいて算出することで、ロボットの動作を高い精度で制御する制御システムが多々開発されている。例えば特許文献１では、撮像装置を含むセンサにより検出された情報に基づいてロボットの動作を制御するロボット制御装置が開示されている。また、特許文献２では、外部のコンピュータでコンパイルしたロードモジュール（ロボット動作制御プログラム）を送信することでロボットの動作を制御するロボット制御装置が開示されている。
【０００３】
このように従来のロボット制御システムでは、精緻な動作制御をするべく、画像処理装置において表示される座標系で算出された位置座標を、ロボットコントローラがエンドエフェクタを動作させる座標系の位置座標へと座標変換をする必要がある。座標変換を行うための変換式を算出する処理をキャリブレーションと呼んでいる。ここで、エンドエフェクタとは、例えばワークを把持して固着できるロボットアームの先端部分を意味する。
【０００４】
キャリブレーションの実行時には、例えばロボットのエンドエフェクタにてワークを把持し、エンドエフェクタを複数の所定の位置に移動させた状態における位置座標と、ワークを撮像装置で撮像し、撮像された画像に基づいて検出した位置座標とを比較することで、変換式を算出することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０４−１３４５０１号公報
【特許文献２】特開平０９−０９１０２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ロボットのエンドエフェクタの移動状態は、撮像装置により撮像された画像により確認することができる。しかし、例えばロボットのアーム部分が撮像装置による撮像範囲に存在する場合、エンドエフェクタの位置を画像で確認することができない。したがって、場合によっては、エンドエフェクタが移動目標位置に正しく到達しているか否かを確認することが困難であるという問題点があった。
【０００７】
本発明は斯かる事情に鑑みてなされたものであり、ロボットのエンドエフェクタが正しい移動目標位置へ移動しているか否かを正確に確認することができる画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために第１発明に係る画像処理装置は、ロボットの動作を制御するロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットとは別体に設けられ、操作対象である対象物を撮像する撮像装置とを有する画像処理装置であって、マークが付与された対象物をキャリブレーションターゲットとして前記ロボットのエンドエフェクタに把持させた状態で、前記エンドエフェクタを複数の位置に移動させ、実際の前記エンドエフェクタの複数の位置座標と画像上の対象物の複数の位置座標とに基づいて、画像上で検出された座標値を、実際のロボットのエンドエフェクタの座標値に変換する変換式を求めるキャリブレーションを実行するキャリブレーション実行手段と、表示手段に表示されている画像上で使用者により指定を受け付けた位置情報、又は該画像上で検出された対象物の位置情報を、前記変換式に基づいてエンドエフェクタの移動目標位置に変換し、変換された移動目標位置を含む移動命令を前記ロボットコントローラに対して送信する命令送信手段と、前記ロボットコントローラから、前記移動命令により移動した前記エンドエフェクタの各位置座標である第一の座標値を受信し、前記変換式に基づいて、前記表示手段に表示させる画像上の座標値に変換することにより第一の位置情報を定期的に取得する位置情報取得手段と、前記エンドエフェクタが移動中に対象物を撮像するよう前記撮像装置の動作を制御する撮像制御手段と、撮像された対象物の画像を動画として、又は定期的に更新される静止画として表示する際に、前記移動目標位置と、第一の位置情報の位置とを示す印を、前記表示手段に表示されている対象物の画像上に重畳して表示する表示制御手段とを備えることを特徴とする。
【００１３】
また、第２発明に係る画像処理装置は、第１発明において、前記撮像装置を複数備えており、撮像装置ごとに前記変換式を一又は複数記憶することが好ましい。
【００１４】
また、第３発明に係る画像処理装置は、第１又は第２発明において、前記エンドエフェクタの移動の履歴情報を表示することが好ましい。
【００１５】
また、第４発明に係る画像処理装置は、第１乃至第３発明のいずれか１つにおいて、前記エンドエフェクタの基準位置からオフセットした位置情報を表示することが好ましい。
【００１６】
次に、上記目的を達成するために第５発明に係る画像処理システムは、ロボットの動作を制御するロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットとは別体に設けられ、操作対象である対象物を撮像する撮像装置を含む画像処理装置とで構成される画像処理システムであって、前記画像処理装置は、マークが付与された対象物をキャリブレーションターゲットとして前記ロボットのエンドエフェクタに把持させた状態で、前記エンドエフェクタを複数の位置に移動させ、実際の前記エンドエフェクタの複数の位置座標と画像上の対象物の複数の位置座標とに基づいて、画像上で検出された座標値を、実際のロボットのエンドエフェクタの座標値に変換する変換式を求めるキャリブレーションを実行するキャリブレーション実行手段と、表示手段に表示されている画像上で使用者により指定された位置情報、又は該画像上で検出された対象物の位置情報を、前記変換式に基づいてエンドエフェクタの移動目標位置に変換し、変換された移動目標位置を含む移動命令を前記ロボットコントローラに対して送信する命令送信手段とを備え、前記ロボットコントローラは、前記移動命令を解釈し、ロボットの種別に応じたエンドエフェクタに対する移動命令に変換する命令変換手段と、前記エンドエフェクタを移動させるとともに、移動した前記エンドエフェクタの各位置座標である第一の座標値を取得する座標値取得手段と、前記第一の座標値を前記画像処理装置に送信する座標値送信手段とを有し、前記画像処理装置は、前記第一の座標値を受信し、前記変換式に基づいて、前記表示手段に表示させる画像上の座標値に変換することにより第一の位置情報を定期的に取得する位置情報取得手段と、前記エンドエフェクタが移動中に対象物を撮像するよう前記撮像装置の動作を制御する撮像制御手段と、撮像された対象物の画像を動画として、又は定期的に更新される静止画として表示する際に、前記移動目標位置と、第一の位置情報の位置とを示す印を、前記表示手段に表示されている対象物の画像上に重畳して表示する表示制御手段とを備えることを特徴とする。
【００２１】
また、第６発明に係る画像処理システムは、第５発明において、前記撮像装置を複数備えており、撮像装置ごとに前記変換式を一又は複数記憶することが好ましい。
【００２２】
また、第７発明に係る画像処理システムは、第５又は第６発明において、前記エンドエフェクタの移動の履歴情報を表示することが好ましい。
【００２３】
また、第８発明に係る画像処理システムは、第５乃至第７発明のいずれか１つにおいて、前記エンドエフェクタの基準位置からオフセットした位置情報を表示することが好ましい。
【００２４】
次に、上記目的を達成するために第９発明に係る画像処理方法は、ロボットの動作を制御するロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットとは別体に設けられ、操作対象である対象物を撮像する撮像装置を含む画像処理装置とで構成される画像処理システムで実行することが可能な画像処理方法であって、前記画像処理装置が、マークが付与された対象物をキャリブレーションターゲットとして前記ロボットのエンドエフェクタに把持させた状態で、前記エンドエフェクタを複数の位置に移動させ、実際の前記エンドエフェクタの複数の位置座標と画像上の対象物の複数の位置座標とに基づいて、画像上で検出された座標値を、実際のロボットのエンドエフェクタの座標値に変換する変換式を求めるキャリブレーションを実行する工程と、表示手段に表示されている画像上で使用者により指定された位置情報、又は該画像上で検出された対象物の位置情報を、前記変換式に基づいてエンドエフェクタの移動目標位置に変換し、変換された移動目標位置を含む移動命令を前記ロボットコントローラに対して送信する工程とを含み、前記ロボットコントローラが、前記移動命令を解釈し、ロボットの種別に応じたエンドエフェクタに対する移動命令に変換する工程と、前記エンドエフェクタを移動させるとともに、移動した前記エンドエフェクタの各位置座標である第一の座標値を取得する工程と、前記第一の座標値を前記画像処理装置に送信する工程とを含み、前記画像処理装置が、前記第一の座標値を受信し、前記変換式に基づいて、前記表示手段に表示させる画像上の座標値に変換することにより第一の位置情報を定期的に取得する工程と、前記エンドエフェクタが移動中に対象物を撮像するよう前記撮像装置の動作を制御する工程と、撮像された対象物の画像を動画として、又は定期的に更新される静止画として表示する際に、前記移動目標位置と、第一の位置情報の位置とを示す印を、前記表示手段に表示されている対象物の画像上に重畳して表示する工程とを含むことを特徴とする。
【００２５】
次に、上記目的を達成するために第１０発明に係るコンピュータプログラムは、ロボットの動作を制御するロボットコントローラとデータ通信することが可能に接続された通信装置、及び前記ロボットとは別体に設けられ、操作対象である対象物を撮像する撮像装置とを有する画像処理装置で実行することが可能なコンピュータプログラムであって、前記画像処理装置を、マークが付与された対象物をキャリブレーションターゲットとして前記ロボットのエンドエフェクタに把持させた状態で、前記エンドエフェクタを複数の位置に移動させ、実際の前記エンドエフェクタの複数の位置座標と画像上の対象物の複数の位置座標とに基づいて、画像上で検出された座標値を、実際のロボットのエンドエフェクタの座標値に変換する変換式を求めるキャリブレーションを実行するキャリブレーション実行手段、表示手段に表示されている画像上で使用者により指定を受け付けた位置情報、又は該画像上で検出された対象物の位置情報を、前記変換式に基づいてエンドエフェクタの移動目標位置に変換し、変換された移動目標位置を含む移動命令を前記ロボットコントローラに対して送信する命令送信手段、前記ロボットコントローラから、前記移動命令により移動した前記エンドエフェクタの各位置座標である第一の座標値を受信し、前記変換式に基づいて、前記表示手段に表示させる画像上の座標値に変換することにより第一の位置情報を定期的に取得する位置情報取得手段、前記エンドエフェクタが移動中に対象物を撮像するよう前記撮像装置の動作を制御する撮像制御手段、及び撮像された対象物の画像を動画として、又は定期的に更新される静止画として表示する際に、前記移動目標位置と、第一の位置情報の位置とを示す印を、前記表示手段に表示されている対象物の画像上に重畳して表示する表示制御手段として機能させることを特徴とする。
【００２６】
第１発明、第５発明、第９発明及び第１０発明では、画像処理装置は、マークが付与された対象物をキャリブレーションターゲットとしてロボットのエンドエフェクタに把持させた状態で、エンドエフェクタを複数の位置に移動させ、実際のエンドエフェクタの複数の位置座標と画像上の対象物の複数の位置座標とに基づいて、画像上で検出された座標値を、実際のロボットのエンドエフェクタの座標値に変換する変換式を求めるキャリブレーションを実行し、表示手段に表示されている画像上で使用者により指定された位置情報、又は該画像上で検出された対象物の位置情報を、変換式に基づいてエンドエフェクタの移動目標位置に変換し、変換された移動目標位置を含む移動命令をロボットコントローラに対して送信する。ロボットコントローラが、移動命令を解釈し、ロボットの種別に応じたエンドエフェクタに対する移動命令に変換し、エンドエフェクタを移動させるとともに、移動したエンドエフェクタの各位置座標である第一の座標値を取得して、第一の座標値を画像処理装置に送信する。画像処理装置は、第一の座標値を受信し、変換式に基づいて、表示手段に表示させる画像上の座標値に変換することにより第一の位置情報を定期的に取得し、エンドエフェクタが移動中に対象物を撮像するよう撮像装置の動作を制御し、撮像された対象物の画像を動画として、又は定期的に更新される静止画として表示する際に、移動目標位置と、第一の位置情報の位置とを示す印を、表示手段に表示されている対象物の画像上に重畳して表示する。これにより、ロボットのエンドエフェクタの移動先の位置情報を画像上で目視確認するべく、画像で目視確認することが可能な位置へエンドエフェクタを移動させることができるので、エンドエフェクタが正しい移動目標位置へ移動しているか否かを正確に確認することが可能となる。また、エンドエフェクタの実際の位置と、表示されている画像上の位置とを対応付けることができ、移動目標位置を画像から指定することができるとともに、実際に移動した状態を画像で目視確認することが可能となる。
【００３１】
第２発明及び第６発明では、撮像装置を複数備えており、撮像装置ごとに変換式を一又は複数記憶するので、撮像装置ごとにキャリブレーションを複数回実行して、その結果を逐次記憶することができるので、エンドエフェクタが正しい移動目標位置へ移動しているか否かを正確に確認することが可能となる。
【００３２】
第３発明及び第７発明では、エンドエフェクタの移動の履歴情報を表示するので、エンドエフェクタが正しい移動目標位置へ移動しているか否かを移動途上でも確認することが可能となる。
【００３３】
第４発明及び第８発明では、エンドエフェクタの基準位置からオフセットした位置情報を表示するので、エンドエフェクタの中心位置と、実際に対象物を把持する位置とがずれている場合であっても、画像上で移動目標位置へ移動させるようエンドエフェクタの動作を制御することが可能となる。
【発明の効果】
【００３４】
本発明によれば、マニピュレータ（ロボット）のエンドエフェクタの移動先の位置情報を画像上で目視確認するべく、画像で目視確認することが可能な位置へエンドエフェクタを移動させることができるので、エンドエフェクタが正しい移動目標位置へ移動しているか否かを正確に確認することが可能となる。また、エンドエフェクタの実際の位置と、表示されている画像上の位置とを対応付けることができ、移動目標位置を画像から指定することができるとともに、実際に移動した状態を画像で目視確認することが可能となる。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施の形態に係る画像処理システムの構成を示す模式図である。
【図２】本発明の実施の形態に係る画像処理システムの画像処理装置の構成例を示すブロック図である。
【図３】本発明の実施の形態に係る画像処理装置の機能ブロック図である。
【図４】本発明の実施の形態に係る画像処理システムのキャリブレーションの処理手順を示すフローチャートである。
【図５】本発明の実施の形態に係る画像処理装置のエンドエフェクタの位置の表示画面の例示図である。
【図６】本発明の実施の形態に係る画像処理装置のマスター位置の登録画面の例示図である。
【図７】本発明の実施の形態に係る画像処理装置の移動目標位置の表示画面の例示図である。
【図８】本発明の実施の形態に係るロボットコントローラの機能ブロック図である。
【図９】本発明の実施の形態に係るロボットコントローラの変換プログラムの処理手順を示すフローチャートである。
【図１０】本発明の実施の形態に係るロボットコントローラの変換プログラムの例示図である。
【図１１】本発明の実施の形態に係る画像処理システムのピックアップ位置を補正する場合のピッキングの処理手順を示すフローチャートである。
【発明を実施するための形態】
【００３６】
以下、本発明の実施の形態に係る画像処理システムについて、図面に基づいて具体的に説明する。図１は、本発明の実施の形態に係る画像処理システムの構成を示す模式図である。
【００３７】
図１に示すように、本実施の形態に係る画像処理システムは、対象物（ワーク）６を移動させるマニピュレータ（ロボット）１、マニピュレータ１の動作を制御するロボットコントローラ２、画像処理装置３、及び撮像装置４で構成されている。マニピュレータ１の先端には、対象物６を把持又は解放することが可能なエンドエフェクタ５が設けられており、ロボットコントローラ２はエンドエフェクタ５の開閉動作も制御する。
【００３８】
撮像装置４は、例えばカラーＣＣＤカメラであり、移動する対象物であるワーク６を撮像する。撮像された画像に基づいて、後述するキャリブレーションを実行することにより、実際のワーク６の位置座標（エンドエフェクタ５の移動位置の座標）と、画面に表示された画像上の位置座標とをリンクさせることができる。
【００３９】
マニピュレータ１は、３本のアームで構成されており、２本のアームが互いになす角度、及びアーム支点の回転により、エンドエフェクタ５を所望の位置へ移動させる。
【００４０】
図２は、本発明の実施の形態に係る画像処理システムの画像処理装置３の構成例を示すブロック図である。本発明の実施の形態に係る画像処理装置３は、少なくともＣＰＵ（中央演算装置）等で構成された制御部３１、メモリ３２、記憶装置３３、入出力インタフェース３４、表示インタフェース３５、通信インタフェース３６及び上述したハードウェアを接続する内部バス３７で構成されている。
【００４１】
制御部３１は、内部バス３７を介して画像処理装置３の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置３３に記憶されているコンピュータプログラムに従って、種々のソフトウェア的機能を実行する。メモリ３２は、ＳＲＡＭ、ＳＤＲＡＭ等の揮発性メモリで構成され、コンピュータプログラムの実行時にロードモジュールが展開され、コンピュータプログラムの実行時に発生する一時的なデータ等を記憶する。
【００４２】
記憶装置３３は、内蔵される固定型記憶装置（ハードディスク）、ＳＲＡＭ等の揮発性メモリ、ＲＯＭ等の不揮発性メモリ等で構成されている。記憶装置３３に記憶されているコンピュータプログラムは、プログラム及びデータ等の情報を記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体からダウンロード、あるいは通信インタフェース３６を介してダウンロードされ、実行時には記憶装置３３からメモリ３２へ展開して実行される。
【００４３】
通信インタフェース（通信装置）３６は内部バス３７に接続されており、インターネット、ＬＡＮ、ＷＡＮ等の外部のネットワークに接続されることにより、外部のコンピュータ等とデータ送受信を行うことが可能となっている。
【００４４】
入出力インタフェース３４は、キーボード３８、マウス３９等のデータ入力媒体と接続され、データの入力を受け付ける。また、表示インタフェース３５は、ＣＲＴモニタ、ＬＣＤ等の表示装置４０と接続され、所定の画像を表示する。
【００４５】
図３は、本発明の実施の形態に係る画像処理装置３の機能ブロック図である。画像処理装置３の命令送信部３０１は、移動目標位置にエンドエフェクタ５を移動させる移動命令をロボットコントローラ２に対して送信する。
【００４６】
移動命令で指定する移動先の位置情報、具体的には移動先の座標値は、表示されている画像上で指定を受け付けることが好ましい。指定受付部３０２は、表示されている画像上で移動目標位置として対象物６の第二の位置情報の指定を受け付ける。命令送信部３０１は、指定受付部３０２で指定を受け付けた対象物６の第二の位置情報を移動目標位置としてロボットコントローラ２へ送信する。
【００４７】
もちろん、表示されている画像を解析することで、画像上の対象物６の第二の位置情報を検出しても良い。この場合、位置情報検出部（検出手段）３０３は、表示されている画像から、画像上の対象物６の第二の位置情報を検出する。命令送信部３０１は、位置情報検出部３０３で検出された対象物６の第二の位置情報をエンドエフェクタ５の移動目標位置としてロボットコントローラ２へ送信する。
【００４８】
キャリブレーション実行部３０４は、画像上で検出された位置情報を、実際のエンドエフェクタ５の位置情報に変換する変換式を求める。具体的には、複数の位置座標それぞれについて、マニピュレータ１のエンドエフェクタ５の実際の位置座標（第一の位置情報）と、画像処理装置３に表示されている画像上の対象物６の位置座標（第二の位置情報）との間の変換式を算出する。座標変換の方法は、特に限定されるものではなく、例えばアフィン変換で変換する。
【００４９】
【数１】
0006529758.tif 000002
【００５０】
（式１）に示すように、マニピュレータ１のエンドエフェクタ５の実際の位置座標（ｘ’、ｙ’）と、画像処理装置３に表示されている画像上の位置座標（ｘ、ｙ）とに基づいて、６つの自由度を有する変換式の係数ａ、ｂ、ｃ、ｄ、ｅ、ｆを求める。対応する位置座標が６つを超える場合には、最小二乗法を用いれば良い。
【００５１】
図４は、本発明の実施の形態に係る画像処理システムのキャリブレーションの処理手順を示すフローチャートである。図４に示すように、画像処理装置３は、マニピュレータ１に撮像対象となるマークを付与したワーク６を、キャリブレーションターゲットとして把持させた状態で、キャリブレーションの開始位置を設定する（ステップＳ４０１）。
【００５２】
画像処理装置３は、マニピュレータ１のエンドエフェクタ５の移動パターンを設定する（ステップＳ４０２）。画像処理装置３は移動命令をロボットコントローラ２へ送信する（ステップＳ４０３）。ロボットコントローラ２は、移動命令を受信して（ステップＳ４０４）、移動命令をマニピュレータ１の種別に応じて解釈する（ステップＳ４０５）。すなわち、マニピュレータ１を稼働させることが可能な機械語のロードモジュールに翻訳する。
【００５３】
ロボットコントローラ２は、エンドエフェクタ５を移動命令で指定されている位置へと移動させ（ステップＳ４０６）。ロボットコントローラ２は、エンドエフェクタ５の移動先の第一の位置情報である位置座標（ｘ’、ｙ’）を取得して（ステップＳ４０７）、取得した位置座標（ｘ’、ｙ’）を画像処理装置３へ送信する（ステップＳ４０８）。
【００５４】
画像処理装置３は、ロボットコントローラ２から、取得した位置座標（ｘ’、ｙ’）を受信し（ステップＳ４０９）、エンドエフェクタ５の動作領域を撮像する（ステップＳ４１０）。画像処理装置３は、動作領域の画像を表示し、表示されている画像上の対象物６の第二の位置情報である位置座標（ｘ、ｙ）を検出する（ステップＳ４１１）。
【００５５】
画像処理装置３は、キャリブレーション用のすべての位置座標（ｘ’、ｙ’）について画像上の位置座標（ｘ、ｙ）を検出したか否かを判断する（ステップＳ４１２）。画像処理装置３が、まだすべての位置座標（ｘ’、ｙ’）について画像上の位置座標（ｘ、ｙ）を検出していないと判断した場合（ステップＳ４１２：ＮＯ）、画像処理装置３は、次の移動命令を発行し（ステップＳ４１３）、処理をステップＳ４０３へ戻して、上述した処理を繰り返す。
【００５６】
画像処理装置３が、すべての位置座標（ｘ’、ｙ’）について画像上の位置座標（ｘ、ｙ）を検出したと判断した場合（ステップＳ４１２：ＹＥＳ）、画像処理装置３は、（式１）に従って変換式を算出する（ステップＳ４１４）。具体的には、６つの係数ａ、ｂ、ｃ、ｄ、ｅ、ｆを求める。
【００５７】
係数を求めた変換式（式１）は、画像処理装置３の記憶装置（記憶手段）３３に記憶される。記憶されている変換式（式１）を用いて、例えば第二の位置情報を変換式を用いて第一の位置情報に変換してロボットコントローラ２へ送信しても良いし、取得したエンドエフェクタ５の第一の位置情報を受信し、記憶されている変換式を用いて第二の位置情報に変換して、表示装置４０に表示しても良い。
【００５８】
なお、撮像装置４を複数備えている場合には、撮像装置４ごとに変換式（式１）の係数を求めて、撮像装置４を識別する識別情報に対応付けて記憶装置３３に記憶する。記憶されている一又は複数の変換式を、撮像装置４の識別情報をキー情報として読み出すことにより、機種ごとの誤差等に依存することなく、画像処理装置３から受信した移動命令に応じて、エンドエフェクタ５を正確に移動目標位置に移動させることができる。
【００５９】
図５は、本発明の実施の形態に係る画像処理装置３のエンドエフェクタ５の位置の表示画面の例示図である。図５の例では、撮像装置４で撮像されているワーク６の画像を表示する画像表示領域５５において、ワーク６の画像５２を表示するとともに、マスター位置５３をワーク６の画像が表示されている同一の画像上に重畳して表示している。
【００６０】
マスター位置とは、画像上で基準とする基準位置を意味しており、画像処理装置３は、マスター位置からのオフセット（位置ずれ）として、エンドエフェクタ５の位置を表示することができる。通常、マスター位置としてエンドエフェクタ５の中心位置ＴＣＰを用いる。
【００６１】
このように、画像処理装置３は、マスター位置（基準位置）５３及びマスター位置５３からオフセットした位置を同一の画像上に表示することにより、例えばエンドエフェクタ５の中心位置ＴＣＰと画像上のワーク６の位置とに位置ずれが生じている場合であっても、ワーク６を把持することができる位置まで移動させるよう、エンドエフェクタ５の動作を制御することが可能となる。
【００６２】
図６は、本発明の実施の形態に係る画像処理装置３のマスター位置の登録画面の例示図である。図６に示すように、撮像装置４が、エンドエフェクタ５によりワーク６を把持した状態で、エンドエフェクタ５の中心位置ＴＣＰの座標値及び中心位置ＴＣＰからオフセットした位置座標の座標値を取得する。取得したエンドエフェクタ５の中心位置ＴＣＰの座標値及び中心位置ＴＣＰからオフセットした位置座標の座標値は、座標表示領域６１に表示される。
【００６３】
そして、移動ボタン６２をマウス等によりクリック操作することにより、登録したエンドエフェクタ５の中心位置ＴＣＰに、マニピュレータ１のエンドエフェクタ５を容易に戻すことが可能となる。
【００６４】
なお、エンドエフェクタ５の第一の位置情報は、後述する位置情報取得部３０５により取得される。すなわち、取得した第一の位置情報を、変換式（式１）に基づいて第二の位置情報に変換し、ワーク６の画像が表示されている同一の画像上に重畳して表示する。
【００６５】
図３に戻って、位置情報取得部３０５は、移動命令に応じて移動しているエンドエフェクタ５の位置情報（第一の位置情報）を定期的に取得する。撮像制御部３０８は、エンドエフェクタ５が移動した各移動先にて対象物６を撮像するよう撮像装置４の動作を制御し、表示部３０７は、撮像された対象物６の画像を動画として、又は定期的に更新される静止画として表示装置４０に表示する。
【００６６】
表示制御部３０６は、移動目標位置及び移動目標位置にエンドエフェクタ５が到達するまでに定期的に取得されたエンドエフェクタ５の位置情報（第一の位置情報）を、ワーク６の画像が表示されている画像上に重畳して表示する。図７は、本発明の実施の形態に係る画像処理装置３の移動目標位置の表示画面の例示図である。
【００６７】
図７に示すように、マスター位置（基準位置）５３が「十」印で表示されるとともに、オフセットした位置７２が位置座標とともに「十」印で表示され、エンドエフェクタ５の中心位置ＴＣＰを示している。
【００６８】
図７では、位置７２に到達するまでのエンドエフェクタ５の移動を示す複数の位置座標７３も、エンドエフェクタ５の位置情報を定期的に取得するごとに表示されている。したがって、矢印の方向に、エンドエフェクタ５が次第に移動していることを目視で確認することができる。そして、位置７２に収束した時点で、移動命令で指定された移動目標位置に到達したものと判断することができる。つまり、エンドエフェクタ５の移動の履歴情報をワーク６の画像が表示されていた同一の画像上に重畳して表示する。
【００６９】
また、ロボットコントローラ２は、動作を制御するマニピュレータ（ロボット）１の種別に応じて、移動命令を変換する必要がある。図８は、本発明の実施の形態に係るロボットコントローラ２の機能ブロック図である。
【００７０】
図８に示すように、ロボットコントローラ２は、プログラム変換部２０１を備えている。プログラム変換部２０１は、マニピュレータ（ロボット）１の種別ごとに提供されており、移動命令をマニピュレータ１の種別に応じたエンドエフェクタ５への移動命令に変換する。これにより、使用するマニピュレータ１の種別に応じた変換プログラムをロボットコントローラ２にインストールすることができ、マニピュレータ１の種別に応じたエンドエフェクタ５の移動命令に変換することができる。
【００７１】
図９は、本発明の実施の形態に係るロボットコントローラ２の変換プログラムの処理手順を示すフローチャートである。図９に示すように、ロボットコントローラ２は、画像処理装置３とデータ通信を確立し（ステップＳ９０１）、移動命令を受信したか否かを判断する（ステップＳ９０２）。
【００７２】
ロボットコントローラ２が、受信していないと判断した場合（ステップＳ９０２：ＮＯ）、ロボットコントローラ２は、受信待ち状態となる。ロボットコントローラ２が、受信したと判断した場合（ステップＳ９０２：ＹＥＳ）、ロボットコントローラ２は、最初の移動命令を解釈する（ステップＳ９０３）。
【００７３】
ロボットコントローラ２は、解釈した移動命令の内容に沿って移動命令を変換して、マニピュレータ１のエンドエフェクタ５を移動させる（ステップＳ９０４）。ロボットコントローラ２は、すべての移動命令を解釈したか否かを判断する（ステップＳ９０５）。
【００７４】
ロボットコントローラ２が、まだ解釈していない移動命令があると判断した場合（ステップＳ９０５：ＮＯ）、ロボットコントローラ２は、次の移動命令を解釈して（ステップＳ９０６）、処理をステップＳ９０４へ戻して上述した処理を繰り返す。ロボットコントローラ２が、すべての移動命令を解釈したと判断した場合（ステップＳ９０５：ＹＥＳ）、ロボットコントローラ２は、処理を終了する。
【００７５】
図１０は、本発明の実施の形態に係るロボットコントローラ２の変換プログラムの例示図である。図１０に示すように、ソースコード１００１は、画像処理装置３とのデータ通信を確立する命令である。
【００７６】
ソースコード１００２は、画像処理装置３から移動命令を受信する命令である。ソースコード１００３は、移動命令を解釈する命令である。図１０に示すソースコードでは、例えば移動命令「ＭＶ、１００、２００、３００」を受信した場合、命令コード「ＭＶ」を検出し、移動先の位置として（１００、２００、３００）を記憶することになる。このように移動命令のデータ構造に合わせた変換プログラムを準備することにより、外部から移動命令を受け付けることができる。
【００７７】
また、一般に移動命令のデータ構造は、ロボットメーカーに応じて相違する。そこで、ロボットメーカーごとに変換プログラムを事前に用意しておき、使用するロボットメーカーに応じた変換プログラムをロボットコントローラ２にインストールする。これにより、ロボットコントローラ２は、画像処理装置３から送信された共通のフォーマットの移動命令を、ロボットの種別に応じたエンドエフェクタ５の移動命令に変換することができる。
【００７８】
なお、上述した例では、移動命令を文字列で記載しており、イーサネット（登録商標）のノン−プロトコル通信で送信しているが、例えばロボットコントローラ２の共有メモリにおいて、アドレスＡＡＡには命令を、アドレスＢＢＢには命令のパラメータを、それぞれ割り当てることで文字列を用いずに、数値データをやり取りすることで命令体系を構成することもできる。画像処理装置３から数値での移動命令を受信した場合、アドレスＡＡＡは移動命令「ＭＶ」に相当する数値番号で、アドレスＢＢＢは「１００、２００、３００」で書き換えられ、マニピュレータ１に対する移動命令として発行される。
【００７９】
もちろん、これ以外のプロトコル、例えばイーサネット（登録商標）のプロトコル通信、ＰＬＣリンク、ＣＣ−Ｌｉｎｋ、ＰＲＯＦＩＮＥＴ等の各プロトコル通信を用いても良い。
【００８０】
上述した処理は、キャリブレーションのデバッグ／確認処理に有効である。図１１は、本発明の実施の形態に係る画像処理システムのピックアップ位置を補正する場合のピッキングの処理手順を示すフローチャートである。図１１に示すように、画像処理装置３は、キャリブレーションを実行する（ステップＳ１１０１）。なお、キャリブレーションによる変換式を複数記憶しておくことが可能であり、アプリケーションに応じて切り替えることができる。この時、ユーザが誤った変換式を使って、マニピュレータ１に対して移動命令を送信した場合、マニピュレータ１は想定外の動作をするおそれがある。
【００８１】
画像処理装置３は、撮像されたワーク６の画像に基づいて、移動目標位置を検出する（ステップＳ１１０２）。具体的には、ワーク６の画像に基づいて、表示されている画像上のワーク６の位置座標（ｘ、ｙ）を検出する。
【００８２】
あるいは、画像処理装置３は、移動目標位置の指定を受け付ける（ステップＳ１１０３）。具体的には、撮像されたワーク６の画像中で、マウス等によるクリック操作により移動目標位置の指定を受け付ける。
【００８３】
画像処理装置３は、検出した位置座標（ｘ、ｙ）又は指定を受け付けた位置座標（ｘ、ｙ）を、キャリブレーションで求めた変換式（式１）に基づいて、実際の位置座標（ｘ’、ｙ’）に変換し（ステップＳ１１０４）、変換された位置座標（ｘ’、ｙ’）を含む移動命令をロボットコントローラ２へ送信する（ステップＳ１１０５）。
【００８４】
ロボットコントローラ２は、位置座標（ｘ’、ｙ’）を含む移動命令を受信し（ステップＳ１１０６）、移動命令を解釈して（ステップＳ１１０７）、エンドエフェクタ５を移動させる（ステップＳ１１０８）。ロボットコントローラ２は、移動先の位置座標（ｘ’、ｙ’）を取得し（ステップＳ１１０９）、取得した位置座標（ｘ’、ｙ’）を画像処理装置３へ送信する（ステップＳ１１１０）。
【００８５】
画像処理装置３は、位置座標（ｘ’、ｙ’）を受信し（ステップＳ１１１１）、変換式（式１）を用いて、画像上の位置座標（ｘ、ｙ）へ変換する（ステップＳ１１１２）。画像処理装置３は、画像上の位置座標（ｘ、ｙ）を重畳表示し（ステップＳ１１１３）、画像上の位置座標（ｘ、ｙ）が移動命令で指定した位置座標と一定範囲内に収束しているか否かを判断する（ステップＳ１１１４）。
【００８６】
画像処理装置３が、位置座標（ｘ’、ｙ’）が移動命令で指定した位置座標と一定範囲内に収束していないと判断した場合（ステップＳ１１１４：ＮＯ）、画像処理装置３は、処理をステップＳ１１０５へ戻して、上述した処理を繰り返す。画像処理装置３が、位置座標（ｘ’、ｙ’）が移動命令で指定した位置座標と一定範囲内に収束したと判断した場合（ステップＳ１１１４：ＹＥＳ）、処理を終了する。
【００８７】
以上のように本実施の形態によれば、マニピュレータ（ロボット）１のエンドエフェクタ５の移動先の位置情報を画像上で目視確認することができるので、エンドエフェクタ５が正しい移動目標位置へ移動しているか否かを正確に確認することが可能となる。
【００８８】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。例えばロボットコントローラ２の代わりにモーションコントローラを用いることができる。
【００８９】
また、キャリブレーションとして二次元のアフィン変換を用いる例について説明しているが、もちろん三次元のアフィン変換を用いても良い。
【符号の説明】
【００９０】
１  マニピュレータ（ロボット）
２  ロボットコントローラ
３  画像処理装置
４  撮像装置
５  エンドエフェクタ
６  対象物（ワーク）
３１  制御部
３２  メモリ
３３  記憶装置
３６  通信インタフェース（通信装置）
【図１】
0006529758.tif 000003
【図２】
0006529758.tif 000004
【図３】
0006529758.tif 000005
【図４】
0006529758.tif 000006
【図５】
0006529758.tif 000007
【図６】
0006529758.tif 000008
【図７】
0006529758.tif 000009
【図８】
0006529758.tif 000010
【図９】
0006529758.tif 000011
【図１０】
0006529758.tif 000012
【図１１】
0006529758.tif 000013