(57)【特許請求の範囲】
【請求項１】
カメラで撮像したワークの画像情報を取得し、該画像情報を用いてワークの位置を計測する画像処理装置において、
予め定められたワークの基準位置を３次元で示したマスタ位置情報を記憶する手段と、
前記ワークの画像情報を用いて、前記ワークのなかの所定の３ヶ所の特徴点の３次元位置および該ワークの重心を算出する測定手段と、
前記算出した３ヶ所の特徴点の３次元位置、前記算出した重心、および前記マスタ位置情報を用いて、前記ワークの３次元方向のズレ量を算出すると共に、該ワークの３次元方向のそれぞれの傾きを算出するズレ算出手段とを備え、
前記マスタ位置情報には、前記ワークの設計情報から求めた、該ワークの重心を示すマスタ重心と、該ワークのなかの前記３ヶ所の特徴点を通るマスタ基準面とが含まれ、
前記ズレ算出手段は、前記測定手段が算出した重心と前記マスタ重心との差分から前記ワークの３次元方向のズレ量を算出すると共に、前記算出した３ヶ所の特徴点を通る平面を求め、該平面および前記マスタ基準面を用いて、該ワークの３次元方向のそれぞれの傾きを算出することを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置と、アームを備え、該アームの先端部でワークを把持して搬送するロボットとを有するロボット制御システムにおいて、
予め設定された教示データにしたがい前記ロボットのアームの動作を制御する制御手段を有し、
前記制御手段は、前記アームが所定位置に到達すると、前記画像処理装置に前記ワークの３次元方向のズレ量および傾きを算出させ、該算出させた前記ズレ量および前記傾きを利用して前記教示データを補正し、該補正した教示データを用いて前記アームの動作を制御すること特徴とするロボット制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラで撮像した対象物の画像情報から対象物の位置情報を計測する画像処理装置、および、上記画像処理装置が計側した位置情報を用いてロボットの動作制御を行うロボット制御システムに関する。
【背景技術】
【０００２】
従来から、生産現場等では、所定のワーク置場に載置された対象物（ワーク）を取り出して搬送するロボット制御システムが利用されている。ここで、従来から知られているロボット制御システムについて図６を用いて説明する。
【０００３】
図６は、従来技術のロボット制御システムの概略構成図である。
図示するように、ロボット制御システムはワークの３次元位置を求めるビジョンシステムＡと、ビジョンシステムＡが求めたワークの３次元位置を用いて、ワークＷを把持して搬送するロボットシステムＢとを備える。
【０００４】
ビジョンシステムＡは、ワークを撮像するステレオカメラ５２ａ、５２ｂと、ステレオカメラ５２ａ、５２ｂの駆動制御を行うコントローラ５１と、コントローラ５１を介してステレオカメラ５２ａ、５２ｂが撮像した画像を取得し、その取得した画像からワークのなかの所定の一部位（例えば重心）の３次元位置を求める画像処理装置５０とを備える。
ロボットシステムＢは、アーム７ａを備えたロボット７と、ロボット７の動作を制御するロボットコントローラ６０とを備える。
そして、ロボット制御システムは、以下の動作を行い、所定のワーク置場に載置されたワークを把持して搬送する。
【０００５】
具体的には、ロボットコントローラ６０は、ロボット７が、ワークの近くまでくると、ビジョンシステムＡの画像処理装置５０にワークの位置測定を要求する。
画像処理装置５０は、前記位置測定の要求を受けると、ステレオカメラ５２ａ、５２ｂにワークを撮像させ、その撮像させたワークの画像情報を取得する。そして、画像処理装置５０は、取得した画像情報を用いてワークの１ヶ所の特徴点の３次元位置（ワークの一部位の３次元位置）を算出し、その算出した３次元位置と、予めマスタデータ（ワークの基準位置を示す情報）として登録されたワークの特徴点の３次元位置との差分からワークの位置ズレ量を算出する。画像処理装置５０は、上記の位置ズレ量をロボットコントローラ６０に出力する。
ロボットコントローラ６０は、前記位置ズレ量を用いて、ロボット７の姿勢やロボットアーム７ａの軌道を補正し、ワークを把持して搬送し、予め定められた位置にワークをセットする。
【０００６】
そして、上記のように、ビジョンシステムと、ロボットとを備えるロボット制御システムの構成は、例えば特許文献１に開示されている。
また、カメラで撮像した検査対象物の画像データを用いて、検査対象物の所定箇所（重心）の位置を求める画像処理技術は、例えば特許文献２に開示されている。
【特許文献１】特開２０００−６７２３８号公報
【特許文献２】特開２００１−２７５１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術のロボット制御システムは、ワークの寸法や形状によって、ワーク全体の位置ズレを正確に把握できない場合があるという技術的課題を有している。その結果、従来技術のロボット制御システムは、寸法の大きいワークを取り出す場合などに、ロボットがワークを把持できないことがあった。すなわち、従来技術のロボット制御システムは、ワークの一部位の位置ズレに対応させてロボットを制御しているが、ワークの寸法が大きい場合などに、ワークの一部位のズレに対応してもワーク全体のズレまで対応できないことがあった。
以下、図７を用いて、ロボットがワークを把持できないケースについて説明する。
【０００８】
図７は、従来技術のロボット制御システムにおいて、ロボットに把持されて搬送されるワークを例示した図である。
ここで、符号Ｗは、ロボットコントローラ６０（図６参照）にマスタデータとして登録されたワーク（基準位置のワーク）を示し、符号１１１、１１２、１１３は、マスタデータとして登録されているワークＷの把持位置（ロボットにより把持される位置）を示す。また、符号Ｗ´は、搬送対象となるワーク（実際にワーク置場に載置されたワーク）の位置を示し、符号１２１、１２２、１２３は、ワークＷ´の把持位置（ロボットにより把持される位置）を示す。また、符号１３０は、予め定めておいた特徴点を示している。
【０００９】
そして、図示するように、搬送対象のワークＷ´がマスタデータのワークＷから傾いている場合、特徴点１３０の位置ズレだけを考慮しても（特徴点１３０の位置ズレを修正しても）、ワークＷ´の把持位置１２１、１２２、１２３の位置ズレにまで対応できない（把持位置１２１、１２２、１２３の位置ズレを修正できない）ことがある。したがって、図示するようなケースでは、特徴点１３０の位置ズレだけを考慮してもロボットがワークＷを把持できないことがあった。
なお、ワークを位置決めしてワーク置場に載置することにより、ロボットがワークを把持できないというエラーを防止できる。しかし、その方法では、ワークの種類毎に位置決めをする必要があり、ロボット制御システム自体の汎用性が失われてしまう。
【００１０】
本発明は、上記の技術的課題を解決するためになされたものであり、カメラで撮像したワークの画像情報からワークの位置情報を求める画像処理装置において、高精度にワークの位置情報を求めることを目的とするものである。また、前記画像処理装置で求めた位置情報を利用して、ロボットを高精度に制御するロボット制御システムを提供することを目的とするものである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために本発明は、カメラで撮像したワークの画像情報を取得し、該画像情報を用いてワークの位置を計測する画像処理装置に適用される。
そして、前記画像処理装置は、予め定められたワークの基準位置を３次元で示したマスタ位置情報を記憶する手段と、前記ワークの画像情報を用いて、前記ワークのなかの所定の３ヶ所の特徴点の３次元位置および該ワークの重心を算出する測定手段と、前記算出した３ヶ所の特徴点の３次元位置、前記算出した重心、および前記マスタ位置情報を用いて、前記ワークの３次元方向のズレ量を算出すると共に、該ワークの３次元方向のそれぞれの傾きを算出するズレ算出手段とを備え、前記マスタ位置情報には、前記ワークの設計情報から求めた、該ワークの重心を示すマスタ重心と、該ワークのなかの前記３ヶ所の特徴点を通るマスタ基準面とが含まれ、前記ズレ算出手段は、前記測定手段が算出した重心と前記マスタ重心との差分から前記ワークの３次元方向のズレ量を算出すると共に、前記算出した３ヶ所の特徴点を通る平面を求め、該平面および前記マスタ基準面を用いて、該ワークの３次元方向のそれぞれの傾きを算出することを特徴とする。
【００１２】
このように本発明によれば、カメラで撮像したワークの画像情報を用いて、前記ワークの３ヶ所の特徴点の３次元位置と、ワークの重心とを求めて、その求めた３次元位置および重心を利用することにより、ワークの３次元方向のズレ量に加えて、ワークの３次元方向のそれぞれの傾きとを算出するようにしている。
すなわち、本発明によれば、ワークの３次元方向のズレ量だけでなく、３次元方向の傾きを求めているため、例えば、所定のワーク置場に配置されたワークの位置を正確に把握することができるようになる。
したがって、例えば、上述したようなワークを把持するようなロボットの動作制御に、本発明の画像処理装置により求めたワークの位置情報（３次元方向のズレ量、および３次元方向の傾き）を利用するようにすれば、ロボットを高精度に制御することができる。
【００１３】
また、本発明によれば、マスタ位置情報としてワークのなかの３ヶ所の特徴点を通るマスタ基準面を記憶しておき、測定手段が算出した３ヶ所の特徴点を通る平面を求め、その平面および前記マスタ基準面を利用して、ワークの傾きを求めている。
そのため、本発明によれば、高精度に、ワークの３次元方向の傾きを求めることができ、その結果、ワークの位置を正確に把握することができる。
【００１４】
また、前記画像処理装置と、アームを備え、該アームの先端部でワークを把持して搬送するロボットとを有するロボット制御システムにおいて、予め設定された教示データにしたがい前記ロボットのアームの動作を制御する制御手段を有し、前記制御手段は、前記アームが所定位置に到達すると、前記画像処理装置に前記ワークの３次元方向のズレ量および傾きを算出させ、該算出させた前記ズレ量および前記傾きを利用して前記教示データを補正し、該補正した教示データを用いて前記アームの動作を制御することが望ましい。
【００１５】
このように、本発明によれば、画像処理装置が測定したワークの３次元方向のズレ量に加えて、ワークの３次元方向の傾きを反映させて、ロボットの動作制御を行うようにしている。
したがって、本発明によれば、上述したようなワークを把持して搬送するロボットにおいて、寸法の大きいワークを取り出す場合などであっても、ロボットがワークを把持できないような動作エラーが発生する可能性を低減することができる。
【発明の効果】
【００１６】
本発明によれば、カメラで撮像したワークの画像情報からワークの位置情報を求める画像処理装置において、高精度にワークの位置情報を求めることができる。また、前記画像処理装置で求めた位置情報を利用することにより、ロボットを高精度に制御するロボット制御システムを得ることができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施形態について、図面に基づいて説明する。
先ず、本実施形態のロボット制御システムの構成について図１および図２に基づいて説明する。
図１は、本発明の実施形態のロボット制御システムのブロック図である。また、図２は、本発明の実施形態のロボット制御システムにより把持されて搬送されるワークの一例を示した図である。
なお、図１および図２では、上述した図６及び７で示した従来技術のものと同じ構成については同じ符号を付している。
【００１８】
図示するように、ロボット制御システムは、ワークＷの位置ズレ量を計側するビジョンシステムＶと、ビジョンシステムＶが求めたワークＷの位置ズレ量を用いて、ワークＷを把持して搬送するロボットシステムＲとを備える。
【００１９】
ビジョンシステムＶは、２台のＣＣＤカメラ等により構成されるステレオカメラ３ａ、３ｂと、ステレオカメラ３ａ、３ｂの駆動制御を行うコントローラ２と、コントローラ２を介してステレオカメラ３ａ、３ｂが撮像した画像を取得し、その取得した画像からワークＷの位置ズレ量を示す「ズレ量情報（３次元方向の位置ズレおよび傾き）」を求める画像処理装置１とを備える。そして、画像処理装置１は、求めた「ズレ量情報」をロボットシステムＲのロボットコントローラ６に出力する。
また、画像処理装置１には、ユーザへのインタフェース画面や画像処理結果等を表示する液晶ディスプレイ等により構成される出力装置４と、ユーザからの各種要求を受け付けるキーボードやマウス等により構成される入力装置５とが接続されている。
なお、ビジョンシステムＶを構成するステレオカメラ３ａ、３ｂ、およびコントローラ２は、既存の技術により実現されるものであるため、以下においてその詳細な説明は省略する。
【００２０】
ロボットシステムＲは、アーム７ａを備え、アーム７ａの先端部でワークＷを把持して搬送するロボット７と、予め記憶している教示データを用いてロボット７の動作制御を行うロボットコントローラ６とを備える。
ロボット７は、ロボットコントローラ６に制御され、所定のワーク置場に載置されたワークＷをアーム７ａの先端で把持し、所定の位置まで搬送する。なお、ロボット７の具体的な構成について特に限定されるものではないが、例えば、ロボット７に垂直多関節型の６軸ロボットを用いることができる。
【００２１】
また、ロボットコントローラ６は、ビジョンシステムＶの画像処理装置１と通信可能に構成され、所定のタイミングで（アーム７ａが所定位置に到達すると）、画像処理装置１にワークＷの位置ズレ量を算出させる。
また、ロボットコントローラ６は、画像処理装置１が算出したワークＷの位置ズレ量を示す「ズレ量情報」を利用して前記教示データを補正し、その補正した教示データを用いてロボット７の動作を制御する。
【００２２】
次に、本実施形態のビジョンシステムＶを構成する画像処理装置１の機能構成を説明する。
画像処理装置１は、マスタ登録部１１、位置測定部１２、ズレ算出部１３、画像出力部１４、および通信処理部１５を有する。
【００２３】
マスタ登録部１１は、予め定めたワークＷの基準位置を３次元で示したマスタ位置情報を記憶する。
具体的には、マスタ登録部１１は、ワークＷの設計情報（例えば、ワークＷのＣＡＤ情報等）を用いて、ワーク置場に載置されているワークＷの基準位置を示す３次元の位置情報を求め、その位置情報をマスタ位置情報として記憶する。
前記マスタ位置情報には、図２に示すワークＷの３ヶ所の特徴点１０１、１０２、１０３（ワークＷに形成された穴等を特徴点とする）を全て通過する平面（以下、「マスタ基準面」という）を示す情報と、ワークＷの重心（以下、「マスタ重心」という）を示す情報とが含まれる。
【００２４】
位置測定部１２は、ステレオカメラ３ａ、３ｂが撮像したワーク置場に載置されたワークＷの画像情報を取得し（コントローラ２を介して取得し）、その取得した画像情報を用いてワークＷの３ヶ所の特徴点１０１、１０２、１０３の３次元位置を算出する。
また、位置測定部１２は、前記取得したワークＷの画像情報を用いて、ワーク置場に載置されたワークＷの重心（以下、「測定重心」という）を求める。
【００２５】
ズレ算出部１３は、マスタ登録部１１がマスタ位置情報として記憶しているマスタ重心と、位置測定部１２で求めた測定重心とを用いて、ワークＷの３次元方向（ｘ、ｙ、ｚ）の重心のズレ量を求める（すなわち、実際にワーク置場に載置されたワークＷの基準位置からのズレを求める）。
【００２６】
また、ズレ算出部１３は、位置測定部１２が算出した３ヶ所の特徴点１０１、１０２、１０３の３次元位置を用いて、３ヶ所の特徴点１０１、１０２、１０３を全て通過する平面（以下、「測定基準面」という）を求める。そして、ズレ算出部１３は、求めた測定基準面と、マスタ登録部１１がマスタ位置情報として記憶しているマスタ基準面とを用いて、ワークの３次元方向のそれぞれの傾きを算出する。
【００２７】
ここで、図３を用いて、ワークＷの３次元方向の傾きについて説明する。
図３は、ワークの３次元方向の傾きを説明するためにワークをモデル化して示した概念図である。ここで、符合１０５は、ワークＷの重心を示している。また、図示する概念図では、ワークＷの重心１０５を基準点に取り、３軸（ｘ軸、ｙ軸、ｚ軸）を定義している。
そして、ズレ算出部１３は、実際にワーク置場に載置されたワークＷの３軸（ｘ軸、ｙ軸、ｚ軸）のそれぞれについて、マスタ位置情報として登録されたワークＷの３軸（ｘ軸、ｙ軸、ｚ軸）からの傾き（「ｘ軸方向の傾きθ」、「ｙ軸方向の「傾きΦ」、「ｚ軸方向の傾きψ」）を求める。
【００２８】
図１に戻り、画像処理装置１の機能構成の説明を続ける。
画像出力部１４は、ステレオカメラ３ａ、３ｂが撮像したワークＷの画像情報を出力装置４に出力し、出力装置４に画像情報を表示させる。また、画像出力部１４は、位置測定部が算出した算出結果や、ズレ算出部１３が算出した位置ズレ量を示す画像情報を生成し、その画像情報を出力装置４に表示させる。
【００２９】
通信処理部１５は、ステレオカメラ２を制御するコントローラ２との間で行う各種データの授受を制御したり、ロボットコントローラ６との間で行われる各種データの授受を制御する。
【００３０】
つぎに、画像処理装置１のハードウェア構成について説明する。
画像処理装置１は、ＣＰＵ、メモリ、Ｉ／Ｏインタフェース、ネットワークインタフェースを備えるコンピュータにより構成される。
また、前記メモリには、上述した各部（マスタ登録部１１、位置測定部１２、ズレ算出部１３、画像出力部１４、および通信処理部１５）の機能を実現するためのプログラム（位置ズレ算出プログラム）が格納されている。
そして、上述した各部（マスタ登録部１１、位置測定部１２、ズレ算出部１３、画像出力部１４、および通信処理部１５）の機能は、前記ＣＰＵが前記メモリに格納された位置ズレ算出プログラムを実行することにより実現される。
なお、上述したマスタ位置情報は、前記メモリの所定領域に格納される。
【００３１】
つぎに、本実施形態のロボット制御システムが行うワーク搬送処理の手順について、図４および図５を用いて説明する。
図４は、本実施形態のロボット制御システムが行うワーク搬送処理の手順を示すフローチャートである。
また、図５は、ワークの位置ズレ量の算出に用いるマスタ基準面および測定基準面の概念図である。なお、図５（ａ）は、マスタ基準面の概念図であり、図５（ｂ）は、測定基準面の概念図である。また、図５（ｃ）は、測定基準面およびマスタ基準面を用いてワークの傾きを求める処理の概念図である。
【００３２】
先ず、ロボット制御システムは、図４に示す各処理ステップに先立って、ワークＷのマスタ位置情報を登録する処理（前処理）を行う。
この前処理は、ビジョンシステムＶを構成する画像処理装置１のマスタ登録部１１により行われる。
具体的には、マスタ登録部１１は、ワークＷの設計情報（ワークＷのＣＡＤ情報等）の入力を受け付け、その設計情報を用いて、ワークＷの重心１２１を３次元で示したマスタ重心１２１を求める（図５（ａ）参照）。
また、マスタ登録部１１は、前記設計情報を用いて、ワークＷのなかの所定の３ヶ所の特徴点１０１、１０２、１０３を全て通る平面（マスタ基準面１３１）を求める（図５（ａ）参照）。
【００３３】
つぎに、マスタ登録部１１は、上記の求めた、マスタ重心１２１およびマスタ基準面１３１をマスタ位置情報として記憶する（例えば、画像処理装置のメモリ（図示しない）の所定領域に格納する）。
そして、ロボット制御システムは、上記の前処理を終えると、図４に示す処理ステップにしたがい、ワークＷを挟持して搬送する処理を行う。なお、図４に示す処理は、ユーザからワークＷの搬送指示の要求を受け付けることにより開始される。
【００３４】
具体的には、先ず、ロボット制御システムのロボットコントローラ６は、ユーザからワークＷの搬送指示の要求を受け付けると、ロボット７を原位置にセットする（Ｓ１）。
【００３５】
つぎに、ロボットコントローラ７は、原位置から所定の計側位置まで、ロボット７のアーム７ａを動作させる。ロボットコントローラ７は、ロボット７のアーム７ａが前記計側位置に到達すると（Ｓ２）、アーム７ａの動作を停止させると共に、ビジョンシステムＶの画像処理装置１にワークＷの位置ズレ量の計側を要求する信号（計測指示信号）を送信する（Ｓ３）。
なお、ロボットコントローラは、計測指示信号を送信すると、画像処理装置１から送られる位置ズレ量を示す「ズレ量情報」を受信するまでロボット７を待機（停止）させておく。
【００３６】
一方、画像処理装置１側では、通信処理部１５を介して、位置測定部１２がロボットコントローラ７からの計側指示信号を受信する（Ｓ１０）。そして、位置測定部１２は、前記計側指示信号を受信すると、通信処理部１５を介して、コントローラ２にワークＷの撮像指示を行う。
【００３７】
次にコントローラ２は、位置測定部１２からの撮像指示を受けると、ステレオカメラ３ａ、３ｂに、ワーク置場に載置されているワークＷを撮像させる（Ｓ１１）。そして、コントローラ２は、ステレオカメラ３ａ、３ｂにより撮像されたワークＷの画像情報を画像処理装置１の位置測定部１２に送信する。
【００３８】
位置測定部１２は、通信処理部１５を介して、コントローラ２から送信されたワークＷの画像情報を受信し、そのワークＷの画像情報からワークＷの所定の３ヶ所の特徴点１０１、１０２、１０３（図２、図５参照）の３次元位置を求める。また、位置測定部１２は、受信したワークＷの画像情報からワークＷの重心を求める（Ｓ１２）。
【００３９】
ここで、本ステップ（Ｓ１２）において、ステレオカメラ３ａ、３ｂが撮像したワークＷの画像情報から特徴点１０１、１０２、１０３の３次元位置を求める手順は、周知の三角測量の手順により実現されるものである。
なお、位置測定部１２は、ステレオカメラ３ａ、３ｂに、それぞれの特徴点（１０１、１０２、１０３）毎に画像を撮像させ、各特徴点を含む画像情報毎に、それぞれの特徴点（１０１、１０２、１０３）の３次元位置を求めるようにしてもよい。或いは、位置測定部１２は、特徴点１０１、１０２、１０３を全て含む画像情報から、３ヶ所の特徴点１０１、１０２、１０３の画像情報を求めるようにしてもよい。
【００４０】
また、本ステップ（Ｓ１２）において、ワークＷの画像情報からワークＷの重心を求める手法は、周知の画像処理技術により実現されるものであり、その具体的な手順について特に限定されるものではない。
例えば、ワークＷの画像の各画素の所定の色成分毎の明るさを求め、その色成分毎に、所定のしきい値を基準にして２値化する。そして、前記色成分毎に２値化したデータを集計した値を求め、ワークＷが存在する画素のＸ座標、Ｙ座標、Ｚ座標のそれぞれの平均値を求めて、その平均値をワークＷの重心としてもよい。
【００４１】
次に、Ｓ１２の処理の後に行うＳ１３の処理について説明する。
Ｓ１３では、ズレ算出部１３がワークＷの３次元方向のズレ量を算出する。
具体的には、ズレ算出部１３は、３次元方向のズレ量として、マスタ登録部１１が記憶しているマスタ重心と、位置測定部１２が算出した測定重心との差分を求める（３次元方向のズレ量（Δｘ，Δｙ，Δｚ）＝「マスタ重心」−「測定重心」）。
【００４２】
つぎに、ズレ算出部１３は、ワークＷの３次元方向の傾きを算出する（Ｓ１４）。
具体的には、Ｓ１４では、先ず、ズレ算出部１３は、Ｓ１２において算出されたワークの特徴点１０１、１０２、１０３の３次元位置を用いて、当該３次元位置を全て通る平面（測定基準面１３２）を算出する（図５（ｂ）参照）。
そして、ズレ算出部１３は、マスタ登録部１１が記憶しているマスタ基準面１３１と、前記算出した測定基準面１３２とを用いて、測定基準面１３２のマスタ基準面１３１からの傾きを算出し、算出された傾きをワークＷの傾きとする。
なお、ワークＷの傾きの算出方法は、特に限定されるものではないが、例えば以下のように求めるようにしてもよい。
【００４３】
具体的には、図５（ｃ）に示すように、マスタ基準面１３１のマスタ重心１２１と、測定基準面の測定重心とを一致させ、その状態（マスタ重心１２１と測定重心１２２を一致させた状態）において、３軸（ｘ軸、ｙ軸、ｚ軸）のそれぞれの傾き（「ｘ軸方向の傾きθ」、「ｙ軸方向の「傾きΦ」、「ｚ軸方向の傾きψ」）を求める。
【００４４】
つぎに、ズレ算出部１３は、通信処理部１５を介して、Ｓ１３で求めたワークＷの３次元方向のズレ量（Δｘ，Δｙ，Δｚ）と、Ｓ１４で求めたワークＷの３次元方向の傾き（θ，Φ，ψ）とを含む「ズレ量情報」をロボットコントローラ６に送信する（Ｓ１５）。
【００４５】
ロボットコントローラ６は、ズレ算出部１３からの「ズレ量情報」を受信すると（Ｓ４）、受信した「ズレ量情報」を用いて、予め記憶していた教示データにより定まる動作を補正する（Ｓ５）。
そして、ロボットコントローラ６は、ズレ算出部１３からのズレ量情報を反映させて、ロボット７のアーム７ａをワークの取り出し位置（物体取り出し位置）まで移動させ（Ｓ６）、ワークＷを把持して、所定の位置まで搬送する（Ｓ７）。
ロボットコントローラ６は、ロボット７によりワークＷを所定位置まで搬送して、ワークを所定位置にセットすると、ロボット７を原位置に戻す（Ｓ１の処理に戻る）。
【００４６】
このように、本実施形態によれば、カメラで撮像したワークＷの画像情報を用いて、ワークＷの前記３ヶ所の特徴点の３次元位置を求めるようにしている。
そして、ワークＷの３次元方向の位置ズレに加え、さらに、３ヶ所の特徴点の３次元位置を利用して、上述したＳ１４の処理を行うことにより、ワークの３次元方向のそれぞれの傾き（θ，Φ，ψ）も算出している。
すなわち、本実施形態によれば、ワークＷの３次元方向のズレ量だけでなく、３次元方向の傾きを求めているため、ワーク置場に配置されたワークＷの位置を正確に把握することができる。
【００４７】
また、本実施形態では、上記の正確に把握したワークＷの位置を利用してロボット７の動作を補正するため、ロボットを高精度に制御することができる。
また、本実施形態では、ビジョンシステムＶがワークＷの位置を正確に把握できるため、ワーク置場にワークＷを載置する際、細かい位置決めが不要になり、作業を簡素化することができる。
【００４８】
なお、本発明は、上記実施形態に限定されるものではなくその要旨の範囲内において、種々の変形が可能である。
【００４９】
例えば、上記実施形態では、制御するロボットとして、アームの先端にワークＷを把持して搬送するロボット７を示したが特にこれに限定されるものではない。ワークＷに対して何らかの作業を行うロボットであれば、本発明を適用することが可能である。
【００５０】
また、例えば、本実施形態では、画像処理装置１がソフトウェア（コンピュータプログラム）を実行するコンピュータにより実現される場合を例にしたが、特にこれに限定されるものではない。例えば、画像処理装置１は、上述した各部（マスタ登録部１１、位置測定部１２、ズレ算出部１３、画像出力部１４、および通信処理部１５）の機能を実現するために専用に設計されたハードウェア回路（例えば、「Application Specific Integrated Circuit」）を備える装置により構成されていてもよい。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施形態のロボット制御システムのブロック図である。
【図２】本発明の実施形態のロボット制御システムにより把持されて搬送されるワークの一例を示した図である。
【図３】本実施形態で求めるワークの３次元方向の傾きを説明するためにワークＷをモデル化して示した概念図である。
【図４】本発明の実施形態のロボット制御システムが行うワーク搬送処理の手順を示すフローチャートである。
【図５】ワークの位置ズレ量の算出に用いるマスタ基準面および測定基準面の概念図である。
【図６】従来技術のロボット制御システムの概略構成図である。
【図７】従来技術のロボット制御システムにおいて、ロボットに把持されて搬送されるワークを例示した図である。
【符号の説明】
【００５２】
Ｒ…ロボットシステム
Ｖ…ビジョンシステム
Ｗ…ワーク
１…画像処理装置
２…コントローラ
３ａ、３ｂ…ステレオカメラ
４…出力装置
５…入力装置
６…ロボットコントローラ
７…ロボット
１１…マスタ登録部
１２…位置測定部
１３…ズレ算出部
１４…画像出力部
１５…通信処理部
１０１、１０２、１０３…特徴点
１１１、１１２、１１３…ワーク把持位置
【図１】
0004794011.tif 000002
【図２】
0004794011.tif 000003
【図３】
0004794011.tif 000004
【図４】
0004794011.tif 000005
【図５】
0004794011.tif 000006
【図６】
0004794011.tif 000007
【図７】
0004794011.tif 000008