(57)【要約】【課題】  ビジュアルサーボによる作業の誤りの検出率を向上させることができるロボット制御システム、制御装置、ロボット、ロボット制御システムの制御方法及びロボットの制御方法等の提供。【解決手段】  ロボット制御システム１０は、ビジュアルサーボ処理によりロボットの制御を行うロボット制御部１１０と、ビジュアルサーボ処理後の作業対象に対して、撮像部による検査処理を行う検査処理部１２１と、ビジュアルサーボ処理と検査処理とで、撮像部により撮像された撮像画像の撮像条件と、撮像画像に対する画像処理のうち、少なくとも一方を異ならせる指示処理を行う指示処理部１２２と、を含む。【選択図】  図１
2015003348.tif 000002
【特許請求の範囲】
【請求項１】
ビジュアルサーボ処理によりロボットの制御を行うロボット制御部と、
前記ビジュアルサーボ処理後の作業対象に対して、撮像部による検査処理を行う検査処理部と、
前記ビジュアルサーボ処理と前記検査処理とで、前記撮像部により撮像された撮像画像の撮像条件と、前記撮像画像に対する画像処理のうち、少なくとも一方を異ならせる指示処理を行う指示処理部と、
を含むことを特徴とするロボット制御システム。
【請求項２】
請求項１において、
前記ロボット又は前記ロボット制御システムの処理を規定するシナリオデータを記憶する記憶部を含み、
前記指示処理部は、
前記シナリオデータに基づいて前記指示処理を行い、
前記シナリオデータでは、
前記ビジュアルサーボ処理に対してはビジュアルサーボ用パラメーターが関連付けられ、前記検査処理に対しては検査処理用パラメーターが関連付けられており、
前記ビジュアルサーボ用パラメーターと前記検査処理用パラメーターとでは、
前記撮像画像の撮像条件パラメーター及び前記画像処理の画像処理パラメーターの少なくとも一方のパラメーターが異なることを特徴とするロボット制御システム。
【請求項３】
請求項２において、
前記シナリオデータの受け付け処理を行うインターフェース部を含むことを特徴とするロボット制御システム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記撮像条件は、
複数の前記撮像部のうち、いずれの前記撮像部により撮像された前記撮像画像を用いるかを示す条件であり、
前記指示処理部は、
前記ビジュアルサーボ処理に対しては、第１の撮像部により撮像された前記撮像画像を用いることを指示し、
前記検査処理に対しては、前記第１の撮像部とは設置位置が異なる第２の撮像部により撮像された前記撮像画像を用いることを指示する前記指示処理を行うことを特徴とするロボット制御システム。
【請求項５】
請求項４において、
前記第１の撮像部は、
前記ロボットと離れた位置に設けられており、
前記第２の撮像部は、
前記ロボットのアームに設けられていることを特徴とするロボット制御システム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記撮像条件は、
複数の撮像方向のうち、いずれの撮像方向から撮像された前記撮像画像を用いるかを示す条件であり、
前記指示処理部は、
前記ビジュアルサーボ処理に対しては、第１の撮像方向から撮像された前記撮像画像を用いることを指示し、
前記検査処理に対しては、前記第１の撮像方向とは異なる第２の撮像方向から撮像された前記撮像画像を用いることを指示する前記指示処理を行うことを特徴とするロボット制御システム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記指示処理部は、
前記ビジュアルサーボ処理に対しては、前記画像処理として３Ｄ位置姿勢推定処理を行うことを指示し、
前記検査処理に対しては、前記画像処理として２Ｄ位置姿勢推定処理を行うことを指示する前記指示処理を行うことを特徴とするロボット制御システム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記ロボット制御部は、
前記ビジュアルサーボ処理として、前記撮像画像が参照画像に一致又は近づくように前記ロボットを制御する処理を行うことを特徴とするロボット制御システム。
【請求項９】
ロボットの制御のシナリオデータの生成処理を行う処理部と、
前記シナリオデータを前記ロボット制御システムに転送する転送部と、
前記シナリオデータを記憶する記憶部と、
を含み、
前記処理部は、
ビジュアルサーボ処理に対してはビジュアルサーボ用パラメーターが関連付けられ、前記ロボットの作業対象の検査処理に対しては検査処理用パラメーターが関連付けられた前記シナリオデータの前記生成処理を行い、
前記ビジュアルサーボ用パラメーターと前記検査処理用パラメーターとでは、
撮像画像の撮像条件パラメーター及び画像処理の画像処理パラメーターの少なくとも一方のパラメーターが異なることを特徴とする制御装置。
【請求項１０】
請求項９において、
前記ビジュアルサーボ用パラメーターと前記検査処理用パラメーターを表示する表示部を含むことを特徴とする制御装置。
【請求項１１】
ロボットのビジュアルサーボ処理と、前記ビジュアルサーボ処理後の作業対象に対する撮像部による検査処理とで、撮像画像の撮像条件と、前記撮像画像に対する画像処理のうち、少なくとも一方を異ならせる指示処理を行う指示処理部からの指示を受け、
前記指示処理部から指示された前記撮像条件で撮像された前記撮像画像に対して、前記指示処理部から指示された前記画像処理を行うことで、前記ビジュアルサーボ処理を行い、
前記指示処理部から指示された前記撮像条件で撮像された前記撮像画像に対して、前記指示処理部から指示された前記画像処理を行うことで、前記検査処理を行うことを特徴とするロボット。
【請求項１２】
ビジュアルサーボ処理によりロボットの制御を行い、
前記ビジュアルサーボ処理後の作業対象に対して、撮像部による検査処理を行い、
前記ビジュアルサーボ処理と前記検査処理とで、前記撮像部により撮像された撮像画像の撮像条件と、前記撮像画像に対する画像処理のうち、少なくとも一方を異ならせる指示処理を行うことを特徴とするロボット制御システムの制御方法。
【請求項１３】
ロボットのビジュアルサーボ処理と、前記ビジュアルサーボ処理後の作業対象に対する撮像部による検査処理とで、撮像画像の撮像条件と、前記撮像画像に対する画像処理のうち、少なくとも一方を異ならせる指示処理を行う指示処理部からの指示を受け、
前記指示処理部から指示された前記撮像条件で撮像された前記撮像画像に対して、前記指示処理部から指示された前記画像処理を行うことで、前記ビジュアルサーボ処理を行い、
前記指示処理部から指示された前記撮像条件で撮像された前記撮像画像に対して、前記指示処理部から指示された前記画像処理を行うことで、前記検査処理を行うことを特徴とするロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御システム、制御装置、ロボット、ロボット制御システムの制御方法及びロボットの制御方法等に関係する。
【背景技術】
【０００２】
近年、生産現場において、人が行ってきた作業を機械化・自動化するために、産業用ロボットを導入することが多くなってきた。しかし、ロボットのアームやハンド等の位置決めを行うにあたっては、精密なキャリブレーションが前提となり、ロボット導入の障壁となっている。
【０００３】
ここで、ロボットのアームやハンド等の位置決めを行う手法の一つとしてビジュアルサーボがある。ある種のビジュアルサーボは、キャリブレーションに精密さを求めない点で有用であり、ロボット導入障壁を下げる技術として注目されている。
【０００４】
これらのビジュアルサーボに関する発明としては特許文献１に記載される従来技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−３１１６７４号公報
【特許文献２】特開平８−３１３２２５号公報
【特許文献３】特開平８−２４９０２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ビジュアルサーボによりロボットを動作させた後には、実際にロボットが意図した通りに動作したか否かを検査することが望ましい。
【０００７】
ここで、ビジュアルサーボにおいて行われる画像処理と、検査において行われる画像処理は、非常に良く似ており、どちらの画像処理においても、撮像画像と参照画像の比較処理を行って、撮像画像に映る作業対象の位置姿勢を検出する。
【０００８】
そのため、ビジュアルサーボにおける画像処理で作業対象の位置姿勢を誤検出した際に、検査においても同様に、作業対象の位置姿勢を誤検出してしまった場合には、ビジュアルサーボによる作業の誤りを検出することができない。
【０００９】
本発明の幾つかの態様によれば、ビジュアルサーボによる作業の誤りの検出率を向上させることができるロボット制御システム、制御装置、ロボット、ロボット制御システムの制御方法及びロボットの制御方法等を提供することができる。
【課題を解決するための手段】
【００１０】
本発明の一態様は、ビジュアルサーボ処理によりロボットの制御を行うロボット制御部と、前記ビジュアルサーボ処理後の作業対象に対して、撮像部による検査処理を行う検査処理部と、前記ビジュアルサーボ処理と前記検査処理とで、前記撮像部により撮像された撮像画像の撮像条件と、前記撮像画像に対する画像処理のうち、少なくとも一方を異ならせる指示処理を行う指示処理部と、を含むロボット制御システムに関係する。
【００１１】
本発明の一態様では、ビジュアルサーボ処理と検査処理とで、撮像画像の撮像条件と、撮像画像に対する画像処理のうち、少なくとも一方を異ならせる指示処理を行う。そして、指示処理により指示された撮像条件で撮像された撮像画像に対して、指示処理により指示された画像処理を行うことで、ビジュアルサーボ処理を行う。さらに、指示処理により指示された撮像条件で撮像された撮像画像に対して、指示処理により指示された画像処理を行うことで、検査処理を行う。
【００１２】
よって、ビジュアルサーボによる作業の誤りの検出率を向上させることが可能となる。
【００１３】
また、本発明の一態様では、前記ロボット又は前記ロボット制御システムの処理を規定するシナリオデータを記憶する記憶部を含み、前記指示処理部は、前記シナリオデータに基づいて前記指示処理を行い、前記シナリオデータでは、前記ビジュアルサーボ処理に対してはビジュアルサーボ用パラメーターが関連付けられ、前記検査処理に対しては検査処理用パラメーターが関連付けられており、前記ビジュアルサーボ用パラメーターと前記検査処理用パラメーターとでは、前記撮像画像の撮像条件パラメーター及び前記画像処理の画像処理パラメーターの少なくとも一方のパラメーターが異なってもよい。
【００１４】
これにより、シナリオデータを予め生成して記憶しておけば、作業者が、ビジュアルサーボ等に関する知識をほとんど有していない場合であっても、ビジュアルサーボによる作業の誤りの検出率を向上させること等が可能となる。
【００１５】
また、本発明の一態様では、前記シナリオデータの受け付け処理を行うインターフェース部を含んでもよい。
【００１６】
これにより、サーバー等の外部機器に記憶されたシナリオデータを取得して、利用すること等が可能になる。
【００１７】
また、本発明の一態様では、前記撮像条件は、複数の前記撮像部のうち、いずれの前記撮像部により撮像された前記撮像画像を用いるかを示す条件であり、前記指示処理部は、前記ビジュアルサーボ処理に対しては、第１の撮像部により撮像された前記撮像画像を用いることを指示し、前記検査処理に対しては、前記第１の撮像部とは設置位置が異なる第２の撮像部により撮像された前記撮像画像を用いることを指示する前記指示処理を行ってもよい。
【００１８】
これにより、ビジュアルサーボ処理において用いた撮像画像とは異なるアングルの撮像画像を用いて検査処理を行うこと等が可能になる。
【００１９】
また、本発明の一態様では、前記第１の撮像部は、前記ロボットと離れた位置に設けられており、前記第２の撮像部は、前記ロボットのアームに設けられていてもよい。
【００２０】
これにより、第２の撮像部の位置を変更して、様々なアングルで撮像された複数の撮像画像を用いて検査処理を行って、作業対象の位置姿勢の検出精度をより向上させること等が可能になる。
【００２１】
また、本発明の一態様では、前記撮像条件は、複数の撮像方向のうち、いずれの撮像方向から撮像された前記撮像画像を用いるかを示す条件であり、前記指示処理部は、前記ビジュアルサーボ処理に対しては、第１の撮像方向から撮像された前記撮像画像を用いることを指示し、前記検査処理に対しては、前記第１の撮像方向とは異なる第２の撮像方向から撮像された前記撮像画像を用いることを指示する前記指示処理を行ってもよい。
【００２２】
これにより、ビジュアルサーボ処理において用いた撮像画像とは異なる撮像方向から撮像された撮像画像を用いて検査処理を行うこと等が可能になる。
【００２３】
また、本発明の一態様では、前記指示処理部は、前記ビジュアルサーボ処理に対しては、前記画像処理として３Ｄ位置姿勢推定処理を行うことを指示し、前記検査処理に対しては、前記画像処理として２Ｄ位置姿勢推定処理を行うことを指示する前記指示処理を行ってもよい。
【００２４】
これにより、ビジュアルサーボ処理での位置合わせ精度を向上させること等が可能になる。
【００２５】
また、本発明の一態様では、前記ロボット制御部は、前記ビジュアルサーボ処理として、前記撮像画像が参照画像に一致又は近づくように前記ロボットを制御する処理を行ってもよい。
【００２６】
これにより、参照画像により表される姿勢をロボットに取らせること等が可能になる。
【００２７】
また、本発明の他の態様では、ロボットの制御のシナリオデータの生成処理を行う処理部と、前記シナリオデータを前記ロボット制御システムに転送する転送部と、前記シナリオデータを記憶する記憶部と、を含み、前記処理部は、ビジュアルサーボ処理に対してはビジュアルサーボ用パラメーターが関連付けられ、前記ロボットの作業対象の検査処理に対しては検査処理用パラメーターが関連付けられた前記シナリオデータの前記生成処理を行い、前記ビジュアルサーボ用パラメーターと前記検査処理用パラメーターとでは、撮像画像の撮像条件パラメーター及び画像処理の画像処理パラメーターの少なくとも一方のパラメーターが異なる制御装置に関係する。
【００２８】
これにより、例えば制御装置がシナリオデータを生成し、複数のロボット制御システムが同一のシナリオデータに従って、ロボットを制御すること等が可能になる。
【００２９】
また、本発明の他の態様では、前記ビジュアルサーボ用パラメーターと前記検査処理用パラメーターを表示する表示部を含んでもよい。
【００３０】
これにより、ビジュアルサーボ等に関する知識が豊富な作業者でなくても、ビジュアルサーボによる作業の誤りの検出精度が高いシナリオデータを生成すること等が可能になる。
【００３１】
また、本発明の他の態様では、ロボットのビジュアルサーボ処理と、前記ビジュアルサーボ処理後の作業対象に対する撮像部による検査処理とで、撮像画像の撮像条件と、前記撮像画像に対する画像処理のうち、少なくとも一方を異ならせる指示処理を行う指示処理部からの指示を受け、前記指示処理部から指示された前記撮像条件で撮像された前記撮像画像に対して、前記指示処理部から指示された前記画像処理を行うことで、前記ビジュアルサーボ処理を行い、前記指示処理部から指示された前記撮像条件で撮像された前記撮像画像に対して、前記指示処理部から指示された前記画像処理を行うことで、前記検査処理を行うロボットに関係する。
【００３２】
また、本発明の他の態様では、ビジュアルサーボ処理によりロボットの制御を行い、前記ビジュアルサーボ処理後の作業対象に対して、撮像部による検査処理を行い、前記ビジュアルサーボ処理と前記検査処理とで、前記撮像部により撮像された撮像画像の撮像条件と、前記撮像画像に対する画像処理のうち、少なくとも一方を異ならせる指示処理を行うロボット制御システムの制御方法に関係する。
【００３３】
また、本発明の他の態様では、ロボットのビジュアルサーボ処理と、前記ビジュアルサーボ処理後の作業対象に対する撮像部による検査処理とで、撮像画像の撮像条件と、前記撮像画像に対する画像処理のうち、少なくとも一方を異ならせる指示処理を行う指示処理部からの指示を受け、前記指示処理部から指示された前記撮像条件で撮像された前記撮像画像に対して、前記指示処理部から指示された前記画像処理を行うことで、前記ビジュアルサーボ処理を行い、前記指示処理部から指示された前記撮像条件で撮像された前記撮像画像に対して、前記指示処理部から指示された前記画像処理を行うことで、前記検査処理を行うロボットの制御方法に関係する。
【図面の簡単な説明】
【００３４】
【図１】本実施形態のシステム構成例。
【図２】図２（Ａ）、図２（Ｂ）は、本実施形態のロボットの構成例。
【図３】位置ベースビジュアルサーボの処理の流れを説明するフローチャート。
【図４】図４（Ａ）、図４（Ｂ）は参照画像と撮像画像の説明図。
【図５】特徴ベースビジュアルサーボの処理の流れを説明するフローチャート。
【図６】本実施形態の処理の流れを説明するフローチャート。
【図７】図７（Ａ）、図７（Ｂ）は、ビジュアルサーボ処理と検査処理の説明図。
【図８】図８（Ａ）〜図８（Ｄ）は、撮像画像と参照画像の説明図。
【図９】幾何サーチ処理の説明図。
【図１０】相関サーチ処理の説明図。
【図１１】３Ｄ位置姿勢推定処理の説明図。
【図１２】２Ｄ位置姿勢推定処理の説明図。
【図１３】図１３（Ａ）〜図１３（Ｃ）は、シナリオデータの説明図。
【発明を実施するための形態】
【００３５】
以下、本実施形態について説明する。まず、本実施形態の概要を説明し、次に本実施形態のシステム構成例について説明する。そして、ビジュアルサーボの概要について説明した後に、本実施形態の手法について具体例を交えつつ詳細に説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３６】
１．概要
近年、生産現場において、人が行ってきた作業を機械化・自動化するために、産業用ロボットを導入することが多くなってきた。しかし、ロボットのアームやハンド等の位置決めを行うためには、精密なキャリブレーションが前提となり、ロボット導入の障壁となっている。
【００３７】
ここで、ロボットのアームやハンド等の位置決めを行う手法の一つとしてビジュアルサーボがある。ビジュアルサーボは、参照画像（ゴール画像、目標画像）と撮像画像（現在の画像）との差に基づいて、ロボットを制御する技術である。ある種のビジュアルサーボは、キャリブレーションに精密さを求めない点で有用であり、ロボット導入障壁を下げる技術として注目されている。
【００３８】
そして、ビジュアルサーボによりロボットを動作させた後には、実際にロボットが意図した通りに動作したか否かを検査することが望ましい。このような検査も、参照画像と撮像画像とを比較することにより行われる。
【００３９】
例えば、特許文献２には、ロボットアームの先端に取り付けられたカメラによりワークの検査を行う発明が開示されている。特許文献２の発明では、ワークに対して最適な位置にカメラを動かし、検査を行う。
【００４０】
また、ビジュアルサーボを行った後に検査を行う等の一連の工程は、あらかじめ作業者等により決定されるものである。
【００４１】
例えば、特許文献３には、このような作業工程（処理順序）を決定する際に用いるグラフィカルなロボット教示ツールの発明が開示されている。特許文献３の発明では、「ピックアップ」や「組み付け」などのロボットが行う作業を示すアイコンが準備されており、これらのアイコンの順列を編集することにより、一連の工程を組み立てることができる。
【００４２】
ところで、ビジュアルサーボにおいて行われる画像処理と、検査において行われる画像処理は、非常に良く似ている。どちらの画像処理においても、撮像画像と参照画像の比較処理を行って、撮像画像に映る作業対象の位置姿勢を検出する。さらに、同一のアルゴリズムに従って画像処理を行う場合もある。
【００４３】
また、これらの画像処理では、例えばワークの個体差、位置ずれ及び環境の変化などをある程度吸収できるように、作業対象の位置姿勢の検出において所定の誤差が許容されている。しかし、その許容誤差が原因で、作業対象の位置姿勢を誤って検出してしまうことがある。
【００４４】
例えば、ビジュアルサーボにより、ワークＡをワークＢに組み付ける作業を行う際に、ワークＢの位置姿勢を誤って検出してしまうことがあり、このような場合には、誤った位置にワークＡを組み付けてしまうことがある。
【００４５】
本来であれば、このような組み付け誤りを検出するために検査を行うが、ビジュアルサーボにおける画像処理と同様に、検査においても、ワークＢの位置姿勢を誤って検出してしまった場合には、ワークＡが正しい位置に組み付けられていると判断してしまい、組み付け誤りを検出することができない。これでは、実質的に検査を行う意味がない。
【００４６】
また、ビジュアルサーボにおける画像処理と検査における画像処理とで、用いられる撮像画像と参照画像の組が同じだったり、同じ画像処理アルゴリズムを用いたりする場合には、作業対象の位置姿勢について、ビジュアルサーボと検査とで同じ誤検出をしてしまう可能性が高くなる。
【００４７】
そこで、以下で説明する本実施形態では、ビジュアルサーボにおける画像処理と検査における画像処理とで、作業対象の位置姿勢を同じように誤検出してしまうことを抑制して、ビジュアルサーボによる作業の誤りの検出率を向上させる。
【００４８】
具体的には、ビジュアルサーボと検査とで、撮像条件や画像処理の内容を自動的に変更する。これにより、例えば組み付け作業時に、ワークの向きが逆向きに検出されているにも関わらず、組み付け作業が継続されているような場合に、検査において組み付け誤りの検出ミスを防ぐことができる。
【００４９】
また、前述した特許文献３の発明では、作業の順番については作業者が簡単に変更することができるが、ビジュアルサーボや検査などの各処理のパラメーター等は作業者が個別に判断して、修正しなければならなかった。しかし、作業者が、ビジュアルサーボ等に関する知識をほとんど有していない場合には、作業者が各処理のパラメーターを作業現場で修正することは困難であった。また、各処理のパラメーターの修正が出来たとしても、このような作業は非常に手間のかかる作業であった。
【００５０】
そこで、本実施形態では、作業の順番を作業者が自由に変更可能なだけでなく、ビジュアルサーボと検査とにおける撮像条件と画像処理の内容の少なくとも一方が異なるパラメーターセットを、デフォルトパラメーターとして事前に用意しておく。
【００５１】
これにより、作業者が、ビジュアルサーボ等に関する知識をほとんど有していない場合であっても、ビジュアルサーボによる作業の誤りの検出率を向上させることが可能となる。
【００５２】
２．システム構成例
次に、本実施形態のロボット制御システム１０、制御装置（教示装置）２０、ロボット機構５０及びロボットの構成例を図１に示す。
【００５３】
ロボット制御システム１０は、ロボット制御部１１０と、処理部１２０と、記憶部１３０と、インターフェース部（Ｉ／Ｆ部）１４０と、を含む。
【００５４】
また、制御装置２０は、処理部２１０と、転送部２２０と、記憶部２３０と、表示部２４０と、を含む。制御装置２０の例としては、ＰＣ（personal computer）や携帯電子機器等が挙げられる。
【００５５】
そして、ロボット機構５０は、第１のアーム５１０と、第２のアーム５２０と、エンドエフェクター５３０と、第２の撮像部４０と、を含む。
【００５６】
さらに、ロボットは、ロボット制御システム１０と、ロボット機構５０と、を含む。
【００５７】
なお、ロボット制御システム１０、制御装置２０、ロボット機構５０及びロボットは、図１の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加したりするなどの種々の変形実施が可能である。
【００５８】
例えば、第１の撮像部３０もロボット機構５０に設けられていてもよい。また他にも、例えばロボット制御システム１０は、有線及び無線の少なくとも一方を含むネットワークにより、制御装置２０及びロボット機構５０と通信接続されたサーバーにより実現されてもよい。
【００５９】
次に、ロボット制御システム１０の各部で行われる処理について説明する。
【００６０】
まず、ロボット制御部１１０は、ビジュアルサーボ処理によりロボットの制御を行う。
【００６１】
次に、処理部１２０は、検査処理部１２１と、指示処理部１２２と、を含む。そして、検査処理部１２１は、ビジュアルサーボ処理後の作業対象に対して、撮像部による検査処理を行う。指示処理部１２２は、ビジュアルサーボ処理の内容及び検査処理の内容の指示処理を行う。なお、ロボット制御部１１０及び処理部１２０の機能は、各種プロセッサー（ＣＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムなどにより実現できる。
【００６２】
そして、記憶部１３０は、ロボット制御のシナリオデータを記憶したり、ロボット制御部１１０及び処理部１２０のワーク領域となったりするもので、その機能はＲＡＭ等のメモリーやＨＤＤ（ハードディスクドライブ）などにより実現できる。
【００６３】
さらに、インターフェース部（Ｉ／Ｆ部）１４０は、ロボット制御のシナリオデータや、ロボット制御システム１０に対する作業者からの入力等の受け付け処理を行う。インターフェース部１４０は、有線又は無線の少なくとも一方を含むネットワークを介して、制御装置２０と通信を行う通信部であってもよい。また、作業者からの入力等の受け付け処理を行う場合には、インターフェース部１４０は、スイッチやボタン、キーボード或いはマウス等から構成されてもよい。
【００６４】
次に、制御装置２０の各部で行われる処理について説明する。
【００６５】
まず、処理部２１０は、ロボット制御のシナリオデータの生成処理を行う。なお、処理部２１０の機能は、各種プロセッサー（ＣＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムなどにより実現できる。
【００６６】
次に、転送部２２０は、シナリオデータをロボット制御システム１０に転送する。転送部２２０は、有線又は無線の少なくとも一方を含むネットワークを介して、ロボット制御システム１０と通信を行う通信部であってもよい。
【００６７】
そして、記憶部２３０は、シナリオデータを記憶したり、処理部２１０のワーク領域となったりするもので、その機能はＲＡＭ等のメモリーやＨＤＤ（ハードディスクドライブ）などにより実現できる。
【００６８】
さらに、表示部２４０は、シナリオデータの各処理に関連付けられるパラメーターを表示する。表示部２４０は、例えば液晶である。その他にも表示部２４０は、有機ＥＬパネルや、電子ペーパーなどであってもよい。
【００６９】
次に、ロボット制御システム１０とロボット機構５０の一例を図２（Ａ）及び図２（Ｂ）に示す。例えば図２（Ａ）のロボットは、ロボット機構５０とロボット制御システム１０とが一体に構成されている。但し、本実施形態のロボット制御システム１０及びロボット機構５０は図２（Ａ）の構成に限定されず、図２（Ｂ）のようにロボット機構５０とロボット制御システム１０とが別体に構成されていてもよい。
【００７０】
具体的には図２（Ａ）に示すロボットは、ロボット機構５０（第１のアーム５１０、第２のアーム５２０、エンドエフェクター５３０及び第２の撮像部４０を有する）及びロボット機構５０を支えるベースユニット部を有し、当該ベースユニット部にロボット制御システム１０が格納されるものであってもよい。図２（Ａ）のロボットでは、ベースユニット部に車輪等が設けられ、ロボット全体が移動可能な構成となっている。なお、図２（Ａ）のロボットは双腕型の例であるが、ロボットは単腕型や多腕型であってもよい。なお、ロボットは、人手により移動させられるものであってもよいし、車輪を駆動するモーターを設け、当該モーターをロボット制御システム１０により制御することにより、移動させられるものであってもよい。また、ロボット制御システム１０は、図２（Ａ）のようにロボット機構５０の下に設けられたベースユニット部に設けられるとは限られない。
【００７１】
また、図２（Ａ）に示すように、ロボット制御システム１０と制御装置２０は、異なる装置により実現されてもよい。図２（Ａ）の例では、制御装置２０はＰＣであり、ロボット制御システム１０と通信により接続されている。一方で、図２（Ｂ）の例のように、制御装置２０は、ロボット制御システム１０と同一の装置により実現されてもよい。
【００７２】
次に、ロボット機構５０の各部について、図２（Ａ）及び図２（Ｂ）を用いて説明する。
【００７３】
図２（Ａ）及び図２（Ｂ）に示すように、ロボット機構５０は、第１のアーム５１０と、第２のアーム５２０の２本のアームを有する。ここで、アームとは、ロボットのパーツであって、一つ以上の関節を含む可動パーツのことをいう。
【００７４】
そして、第１のアーム５１０のエンドポイントには、エンドエフェクター５３０が取り付けられており、第２のアーム５２０のエンドポイントには、第２の撮像部４０が取り付けられている。
【００７５】
ここで、エンドエフェクター５３０は、アームのエンドポイントに設けられる把持部（ハンド）又はツールである。また、アームのエンドポイントとは、アームの先端部分のポイントであって、エンドエフェクター以外の他の部分と接続されていない部分のことをいう。なお、アームのエンドポイントは、ロボットのエンドポイントのうちの一つであり、ロボットのエンドポイントとは、ロボットの先端部のことをいう。
【００７６】
そして、把持部（ハンド）とは、ワークを把持したり、持ち上げたり、吊り上げたり、吸着させたりするために用いる部品のことをいう。把持部は、ハンドであってもよいし、フックであってもよいし、吸盤等であってもよい。なお、１本のアームに対して、複数のハンドを設けても良い。
【００７７】
さらに、ツールとは、ワークや作業対象に対して加工等の作業を行うための道具であって、例えばドリルやドライバーなどの工具を指す。なお、ツールは、ハンドにより把持されるものであってもよいし、アームのエンドポイントに直接設けられるものであってもよい。
【００７８】
次に、第１の撮像部３０は、第２の撮像部４０とは異なる位置に設けられたカメラであって、ロボットと離れた位置に設けられたカメラである。ここで、ロボットと離れた位置とは、ロボット又はロボット制御システム１０の外部の位置のことをいう。例えば第１の撮像部３０は、図２（Ａ）及び図２（Ｂ）に示すように、作業台の上に設けられていてもよいし、ロボット機構５０の前面部に設けられていても良い。
【００７９】
一方、第２の撮像部４０は、ロボットのアーム（第２のアーム５２０）に設けられたカメラである。
【００８０】
また、第１の撮像部３０及び第２の撮像部４０は、ロボットの作業現場等を撮像し、処理部１２０に撮像画像を出力する。例えば第１の撮像部３０及び第２の撮像部４０は、可視カメラであってもよいし、赤外線カメラであってもよい。さらに、例えば可視カメラは、撮像素子としてＣＣＤやＣＭＯＳを用いるカメラであっても良く、また、白黒カメラであっても、カラーカメラであっても良い。白黒カメラを使う場合には、撮像画像として濃淡画像が撮像され、カラーカメラを使う場合には、撮像画像として色画像が撮像される。なお、可視カメラ及び赤外線カメラは、画像処理用等に用いられるデバイス（プロセッサー）を含んでもよい。本実施形態においては、第１の撮像部３０及び第２の撮像部４０は撮像画像そのものを出力するが、これに限定されるものではない。例えば、処理部１２０において行う画像処理の一部を、第１の撮像部３０及び第２の撮像部４０が行っても良い。その場合、撮像画像に対して、画像処理が施された後の撮像情報が処理部１２０に出力されることになる。
【００８１】
３．ビジュアルサーボの概要
本実施形態の特徴を説明する前に、ビジュアルサーボの概要と、位置ベースビジュアルサーボの流れと特徴ベースビジュアルサーボの流れについて説明する。
【００８２】
ビジュアルサーボとは、目標物の位置の変化を視覚情報として計測し、それをフィードバック情報として用いることによって目標物を追跡するサーボ系の一種である。ビジュアルサーボは、サーボ系への入力情報（制御量）によって、位置ベースビジュアルサーボと特徴ベースビジュアルサーボの二つに大別される。位置ベースビジュアルサーボは、物体の位置情報や姿勢情報がサーボ系への入力情報となり、特徴ベースビジュアルサーボは、画像の特徴量がサーボ系への入力情報となる。他にも、位置ベースと特徴ベースをハイブリッドした手法もある。本実施形態で扱うビジュアルサーボは、これら全ての手法を対象とする。
【００８３】
これらのビジュアルサーボにおける共通点は、参照画像と撮像画像を元にサーボ系への入力情報を求める点である。本実施形態は、この参照画像と撮像画像とを二値化することにより、サーボ系への入力情報の算出処理の容易化を図る。
【００８４】
３．１  位置ベースビジュアルサーボの流れ
まず、図３において、位置ベースビジュアルサーボの流れを示す。位置ベースビジュアルサーボでは、まず参照画像を設定する（Ｓ１）。ここで、参照画像とは、目標画像やゴール画像とも呼ばれ、ビジュアルサーボの制御目標となる画像であり、ロボットの目標状態を表す画像をいう。すなわち、参照画像とは、ロボットの目標位置や目標姿勢を表す画像、もしくはロボットが目標位置に位置する状態を表す画像である。また、参照画像はあらかじめ用意しておき、記憶部に記憶しておく必要がある。
【００８５】
次に、撮像部によって作業スペースを撮像し、撮像画像を取得する（Ｓ２）。撮像画像とは、撮像部によって撮像された画像である。撮像画像は、作業スペースの現在の状態を表しており、撮像画像内にロボットやワークが映りこんでいる場合には、ロボットやワークの現在の状態を表している。なお、撮像部の性能によっては処理遅延が生じるが、ここでは、処理遅延が生じている場合でも、撮像画像には現在の状態が映されているものとして扱う。
【００８６】
例えば、図４（Ａ）に参照画像ＲＩＭの具体例を、図４（Ｂ）に撮像画像ＰＩＭの具体例を示す。撮像画像ＰＩＭにおいて、ロボットＲＢはアームＡＭとハンドＨＤ（もしくはエンドポイントＥＰ）を上方へ向けているが、参照画像ＲＩＭでは、ロボットＲＢはアームＡＭを折り曲げて、ハンドＨＤをワークＷＫに近づけている。したがって、この具体例においては、ロボットＲＢのアームＡＭを折り曲げ、ハンドＨＤをワークＷＫに近づけるようにロボットＲＢを制御することになる。
【００８７】
次に、制御指令を生成する（Ｓ３）。例えば、制御指令生成は、参照画像と撮像画像に基づいて、座標変換の一つであるホモグラフィー等を用いることにより行われる。この場合には、ホモグラフィー行列を求め、ホモグラフィー行列からロボットの制御信号として速度指令を生成する。
【００８８】
ここで、制御信号（制御指令、ロボットの制御パラメーター）とは、ロボットを制御するための情報を含む信号のことをいう。また、速度指令とは、ロボットの各部を制御するための情報として、ロボットのアームのエンドポイント等の移動速度や回転速度を与える指令の方法を指す。
【００８９】
そして、生成された制御信号に基づいて、制御量（ここではロボットの位置や姿勢）が目標値に収束したか否かを判断する（Ｓ４）。例えば、ホモグラフィーを用いる場合において、速度指令により表される速度ベクトルが０である場合には、制御量である位置や姿勢が目標状態に到達したとみなすことができるため、制御量が目標値に収束したと判断し、速度ベクトルが０でない場合には、制御量が目標値に収束していないと判断する。
【００９０】
制御量が目標値に収束したと判断する場合にはビジュアルサーボを終了する。一方、制御量が目標値に収束していないと判断する場合には、新たな制御指令を送出する（Ｓ５）。
【００９１】
位置ベースビジュアルサーボでは、制御量が目標値に収束するまで以上の処理を繰り返す。
【００９２】
３．２  特徴ベースビジュアルサーボの流れ
次に、図５において、特徴ベースビジュアルサーボの流れを示す。位置ベースビジュアルサーボと同様に、まず参照画像を設定し（Ｓ１０）、次に、撮像部によって作業スペースを撮像し、撮像画像を取得する（Ｓ１１）。なお、特徴ベースビジュアルサーボを用いる場合には、参照画像を設定する際に参照画像の特徴抽出を行い、特徴量を算出しておくことが望ましい。または、参照画像の特徴を抽出した参照画像情報を記憶部に記憶しておいてもよい。画像の特徴抽出については、例えば、コーナー検出（Corner detection）やガウスフィルタ等を用いて行なう。
【００９３】
次に、撮像画像の特徴を抽出する（Ｓ１２）。なお、参照画像の特徴抽出は、参照画像設定の際に行っておくことが望ましいが、ここで行ってもよい。特徴抽出では、ビジュアルサーボ系への入力情報（制御量）として、画像の特徴量を求める。
【００９４】
そして、画像の特徴量に基づいて、参照画像と撮像画像が一致するか否かを比較する（Ｓ１３）。画像が一致すると判断する場合（Ｓ１４）には、ビジュアルサーボを終了する。一方、画像が一致しないと判断する場合（Ｓ１４）には、制御指令を生成し（Ｓ１５）、新たな制御指令を送出する（Ｓ１６）。
【００９５】
特徴ベースビジュアルサーボでは、制御量が目標値に収束するまで以上の処理を繰り返す。
【００９６】
４．処理の詳細
本実施形態では図６のフローチャートに示すように、まず、シナリオデータの生成処理を行う（Ｓ１０１）。
【００９７】
次に、生成されたシナリオデータに基づいて、ビジュアルサーボ処理を行う（Ｓ１０２）。ここで、具体例を図７（Ａ）及び図７（Ｂ）に示す。図７（Ａ）では、ビジュアルサーボにより、第１のアームＡＭ１を制御して、ハンドＨＤにより把持されたワークＷＫを作業対象物ＯＢの隣に置く作業を行っている。このビジュアルサーボは、第１の撮像部ＣＭ１により撮像された撮像画像に基づいて行う。
【００９８】
そして、シナリオデータに基づいて、ビジュアルサーボによる作業が正しく行われたか否かの検査処理を行う（Ｓ１０３）。例えば図７（Ｂ）の例では、ビジュアルサーボ後に、第２の撮像部ＣＭ２により撮像された撮像画像に基づいて、検査処理を行っている。本例において、第２の撮像部ＣＭ２は、第２のアームＡＭ２に取り付けられているため、第２のアームＡＭ２を動作させることにより、第２の撮像部ＣＭ２の撮像位置及び撮像方向を変更することが可能であり、検査処理において有用である。
【００９９】
そして、検査処理においてビジュアルサーボによる作業が正しく行われたと判断された場合には（Ｓ１０４）、処理を終了する。図７（Ｂ）の例では、ワークＷＫが作業対象物ＯＢの隣に正しく置かれていることが確認できた場合には、正常に処理を終了する。
【０１００】
一方で、検査処理においてビジュアルサーボによる作業が正しく行われていないと判断された場合には（Ｓ１０４）、ステップＳ１０１へ戻る。そして、前回のシナリオデータとは各処理のパラメーターが異なるシナリオデータの作成処理を行い（Ｓ１０１）、新たに作成したシナリオデータに基づいて、ステップＳ１０２以降の処理を行う。なお、シナリオデータにおける各処理のパラメーターとは、後述するビジュアルサーボ用パラメーターや検査処理用パラメーター等のことを指す。
【０１０１】
次に、本実施形態の手法について詳しく説明する。
【０１０２】
本実施形態のロボット制御システム１０は、ビジュアルサーボ処理によりロボットの制御を行うロボット制御部１１０と、ビジュアルサーボ処理後の作業対象に対して、撮像部による検査処理を行う検査処理部１２１と、ビジュアルサーボ処理と検査処理とで、撮像部により撮像された撮像画像の撮像条件と、撮像画像に対する画像処理のうち、少なくとも一方を異ならせる指示処理を行う指示処理部１２２と、を含む。
【０１０３】
ここで、作業対象とは、ロボットの作業対象物、作業場所及びマーカーのうちの少なくとも一つである。そして、作業対象物とは、例えばワーク、パレット、ロボットのアーム及びエンドエフェクター等を指す。一方で、作業場所とは、机や穴や壁などを指す。
【０１０４】
また、ビジュアルサーボ処理の内容とは、例えばビジュアルサーボ処理において用いる撮像画像の撮像条件や、ビジュアルサーボ処理内で行う画像処理の内容等を指す。検査処理の内容も同様である。
【０１０５】
本実施形態では、ビジュアルサーボ処理と検査処理とで、撮像画像の撮像条件と、撮像画像に対する画像処理のうち、少なくとも一方を異ならせる指示処理を行う。なお、撮像画像の撮像条件及び画像処理の内容の具体例は後述する。
【０１０６】
そして、指示処理により指示された撮像条件で撮像された撮像画像に対して、指示処理により指示された画像処理を行うことで、ビジュアルサーボ処理を行う。さらに、指示処理により指示された撮像条件で撮像された撮像画像に対して、指示処理により指示された画像処理を行うことで、検査処理を行う。
【０１０７】
すなわち、撮像条件と画像処理のうちの少なくとも一方が異なるビジュアルサーボ処理と検査処理とを行うことができる。
【０１０８】
そのため、ビジュアルサーボにおける画像処理と検査における画像処理とで、作業対象の位置姿勢を同じように誤検出してしまうことを抑制することが可能となる。その結果として、ビジュアルサーボによる作業の誤りの検出率を向上させることが可能となる。
【０１０９】
また、ロボット制御部１１０は、ビジュアルサーボ処理として、撮像画像が参照画像に一致又は近づくようにロボットを制御する処理を行ってもよい。
【０１１０】
これにより、参照画像により表される姿勢をロボットに取らせること等が可能になる。
【０１１１】
次に、撮像画像の撮像条件の具体例について説明する。
【０１１２】
例えば、撮像条件は、複数の撮像部のうち、いずれの撮像部により撮像された撮像画像を用いるかを示す条件であってもよい。そして、指示処理部１２２は、ビジュアルサーボ処理に対しては、第１の撮像部３０により撮像された撮像画像を用いることを指示し、検査処理に対しては、第１の撮像部３０とは設置位置が異なる第２の撮像部４０により撮像された撮像画像を用いることを指示する指示処理を行ってもよい。
【０１１３】
これにより、ビジュアルサーボ処理において用いた撮像画像とは異なる撮像画像を用いて検査処理を行うこと等が可能になる。撮像部が異なれば、作業対象に対するアングルが変わるため、ビジュアルサーボ処理において用いた撮像画像では確認できない部分も確認することができる。そのため、ビジュアルサーボ処理において、作業対象の位置姿勢を誤検出してしまった場合でも、検査処理において、作業対象の正しい位置姿勢を検出すること等が可能になる。
【０１１４】
さらに、第１の撮像部３０は、ロボットと離れた位置に設けられてもよい。そして、第２の撮像部４０は、ロボットのアームに設けられてもよい。
【０１１５】
これにより、ロボットのアームを移動させて、第２の撮像部４０の位置を変更して、様々なアングルで撮像された複数の撮像画像を用いて検査処理を行うこと等が可能になる。検査処理において、様々なアングルで撮像された複数の撮像画像を用いれば、作業対象の位置姿勢の検出精度をより向上させること等が可能になる。
【０１１６】
ビジュアルサーボと検査処理とにおいて撮像部を変える例は、図７（Ａ）及び図７（Ｂ）を用いて前述したが、撮像部を変更した時の撮像画像と参照画像の一例を図８（Ａ）〜図８（Ｄ）に示す。図８（Ａ）〜図８（Ｄ）の画像は、ロボットのエンドエフェクターＥＦが、吸着しているネジＳＣをネジ穴ＨＬに入れる作業を行っている時の画像である。
【０１１７】
まず、ビジュアルサーボにおける撮像画像ＰＩＭ１を図８（Ａ）に示し、参照画像ＲＩＭ１を図８（Ｂ）に示す。撮像画像ＰＩＭ１と参照画像ＲＩＭ１は、作業対象を斜め上方から撮像した画像である。前述したようにビジュアルサーボでは、この撮像画像ＰＩＭ１が参照画像ＲＩＭ１に近付くようにロボットを制御する。
【０１１８】
一方で、検査において用いる撮像画像ＰＩＭ２を図８（Ｃ）に示し、参照画像ＲＩＭ２を図８（Ｄ）に示す。撮像部の位置が異なるため、撮像画像ＰＩＭ２及び参照画像ＲＩＭ２は、撮像画像ＰＩＭ１及び参照画像ＲＩＭ１とは、アングルが異なる。撮像画像ＰＩＭ２及び参照画像ＲＩＭ２は、作業対象を真横から撮像した画像である。このように、アングルが異なる画像を用いて検査を行うため、ビジュアルサーボで作業対象の位置姿勢を間違って検出してしまった場合でも、正しい位置姿勢を検出することができる。
【０１１９】
また他にも、撮像条件は、複数の撮像方向のうち、いずれの撮像方向から撮像された撮像画像を用いるかを示す条件であってもよい。そして、指示処理部１２２は、ビジュアルサーボ処理に対しては、第１の撮像方向から撮像された撮像画像を用いることを指示し、検査処理に対しては、第１の撮像方向とは異なる第２の撮像方向から撮像された撮像画像を用いることを指示する指示処理を行ってもよい。
【０１２０】
ここで、撮像方向とは、カメラが撮像する方向を意味し、例えば、カメラの撮像レンズの中心点を通る光軸の方向のことをいう。
【０１２１】
これにより、ビジュアルサーボ処理において用いた撮像画像とは異なる撮像方向から撮像された撮像画像を用いて検査処理を行うこと等が可能になる。このように撮像条件として撮像方向を変更する場合も、撮像部を変更する場合と同様に、ビジュアルサーボ処理で用いた撮像画像には映っていない部分を確認すること等が可能になる。そのため、ビジュアルサーボにより作業の誤りの検出率を向上させること等が可能になる。なお、この場合には、一つの撮像部を回動させる等して撮像方向を変更して撮像された撮像画像を用いてもよいし、撮像方向が異なる複数の撮像部によりそれぞれ撮像された撮像画像を用いてもよい。
【０１２２】
次に、画像処理の内容を変更する場合の具体例について説明する。
【０１２３】
指示処理部１２２は、ビジュアルサーボ処理については、画像処理として幾何サーチ処理を行うことを指示し、検査処理については、画像処理として相関サーチ処理を行うことを指示する指示処理を行ってもよい。また逆に、指示処理部１２２は、ビジュアルサーボ処理については、画像処理として相関サーチ処理を行うことを指示し、検査処理については、画像処理として幾何サーチ処理を行うことを指示する指示処理を行ってもよい。
【０１２４】
ここで、幾何サーチでは、図９に示すように、参照画像に映る作業対象のモデルＣＧに対して、輪郭抽出を行い、輪郭抽出後のモデルＯＣＧを生成する。そして、撮像画像に映る作業対象ＩＭも同様に、輪郭抽出を行う。そして、輪郭抽出後のモデルＯＣＧを並進かつ回転させながら、輪郭抽出後の作業対象ＯＩＭと比較して、輪郭が最も近似できるような並進回転パターンを探索し、撮像画像に映る作業対象ＩＭの位置姿勢を特定する。
【０１２５】
一方、相関サーチでは、図１０に示すように、参照画像に映る作業対象のモデルＣＧを並進かつ回転させながら、撮像画像に映る作業対象ＩＭと重複する画素（対応画素）の比較を行う。そして、対応画素の画素値が最も近似できる並進回転パターンを探索し、撮像画像に映る作業対象ＩＭの位置姿勢を特定する。
【０１２６】
また、指示処理部１２２は、ビジュアルサーボ処理に対しては、画像処理として３Ｄ位置姿勢推定処理を行うことを指示し、検査処理に対しては、画像処理として２Ｄ位置姿勢推定処理を行うことを指示する指示処理を行ってもよい。
【０１２７】
ここで、３Ｄ位置姿勢推定処理（three-dimensional pose estimation）とは、撮像画像から３Ｄモデルを生成し、参照用の３Ｄモデルと、３次元オブジェクト空間上で比較処理を行って、３Ｄモデルが表す物体の位置姿勢を推定する処理のことをいう。
【０１２８】
具体的には、３Ｄ位置姿勢推定処理では、図１１に示すように、まず参照用３Ｄモデルから比較用３Ｄモデルを生成する。また、撮像方向Ａから撮像された撮像画像と、撮像方向Ｂから撮像された撮像画像とに基づいて、３Ｄ再構築モデルを生成する。そして、比較用３Ｄモデルと３Ｄ再構築モデルとを比較し、その比較結果に基づいて、参照用３Ｄモデルから比較用３Ｄモデルを再生成し、３Ｄ再構築モデルと比較用３Ｄモデルを再度比較する。このような処理を繰り返し、３Ｄ再構築モデルと最も近似できる比較用３Ｄモデルの位置姿勢を、３Ｄ再構築モデルが表す物体の位置姿勢と推定する。
【０１２９】
このような３Ｄ位置姿勢推定処理は、複数の方向からの位置合わせが一度にできる点において有用である。そのため、ビジュアルサーボ処理には、３Ｄ位置姿勢推定処理を用いることが望ましい。なお、ビジュアルサーボにおける３Ｄ位置姿勢推定処理では、参照用３Ｄモデル及び比較用３Ｄモデルが参照画像に相当し、３Ｄ再構築モデルが撮像画像に相当する。
【０１３０】
一方で、２Ｄ位置姿勢推定処理（two-dimensional pose estimation）とは、２次元空間上で検査画像（撮像画像）と参照画像との比較処理を行って、検査画像に映る物体の位置姿勢を推定する処理のことをいう。
【０１３１】
具体的には、２Ｄ位置姿勢推定処理では、図１２に示すように、参照用３Ｄモデルから２Ｄ変換画像を生成し、生成した２Ｄ変換画像と検査画像との比較処理を行う。そして、比較処理結果に基づいて、並進、回転及びスケールを表す２Ｄ変換パラメーターを決定し、決定した２Ｄ変換パラメーターに従って、参照用３Ｄモデルから２Ｄ変換画像を再生成する。さらに、再生成した２Ｄ変換画像と検査画像とを再度比較し、検査画像と最も近似できる２Ｄ変換画像の位置姿勢を、検査画像に映る物体の位置姿勢と推定する。
【０１３２】
このような２Ｄ位置姿勢推定処理は、一度の処理では一方向からしか位置合わせを行うことができないが、３Ｄ位置姿勢推定処理よりも処理量が小さいというメリットがある。ただし、２Ｄ位置姿勢推定処理を複数回行えば、３Ｄ位置姿勢推定処理と同様に、複数方向からの位置合わせを行うことも可能である。
【０１３３】
これにより、ビジュアルサーボ処理での位置合わせ精度を向上させること等が可能になる。
【０１３４】
また、本実施形態のロボット制御システム１０は、ロボット又はロボット制御システム１０の処理を規定するシナリオデータを記憶する記憶部１３０を含んでいてもよい。そして、指示処理部１２２は、シナリオデータに基づいて指示処理を行ってもよい。さらに、シナリオデータでは、ビジュアルサーボ処理に対してはビジュアルサーボ用パラメーターが関連付けられ、検査処理に対しては検査処理用パラメーターが関連付けられていてもよい。そして、ビジュアルサーボ用パラメーターと検査処理用パラメーターとでは、撮像画像の撮像条件パラメーター及び画像処理の画像処理パラメーターの少なくとも一方のパラメーターが異なっていてもよい。
【０１３５】
ここで、シナリオデータとは、ロボット又はロボット制御システムが行う処理を規定するデータであり、さらに言うと、ロボット又はロボット制御システムが行う処理が時系列順に記述されたデータのことをいい、例えばシナリオデータは図１３（Ａ）に示すＳＤのようなものである。図１３（Ａ）のシナリオデータＳＤでは、ロボット又はロボット制御システムが実行する処理が昇順に記述されている。
【０１３６】
また具体的に、ビジュアルサーボでは、図１３（Ａ）のシナリオデータＳＤにも記述されている「アプローチ」、「ピックアップ」及び「組み付け」の他にも、「把持」、「圧入」、「軸通し」、「ネジ締め」、「爪曲げ」及び「シール貼り」等の作業が行われる。
【０１３７】
そして、これらのビジュアルサーボによる作業に対しては、ビジュアルサーボ用パラメーターが関連付けられている。ビジュアルサーボ用パラメーターの一例を図１３（Ｂ）に示す。図１３（Ｂ）のビジュアルサーボ用パラメーターＵＰは、図１３（Ａ）のシナリオデータＳＤに記述される組み付け作業に関連付けられたものであり、作業内容を表すパラメーターとして「組み付け」が選択されており、撮像画像を撮像するカメラのパラメーターとして「カメラＶ」が選択されており、撮像方向を表すパラメーターとして「右から」が選択されている。
【０１３８】
同様に、図１３（Ａ）のシナリオデータＳＤに記述される検査に対しては、図１３（Ｃ）に示す検査処理用パラメーターＤＰが関連付けられている。図１３（Ｃ）の検査処理用パラメーターＤＰでは、撮像画像を撮像するカメラのパラメーターとして「カメラＨ」が選択されており、撮像方向を表すパラメーターとして「手前から」が選択されている。
【０１３９】
ここで、撮像条件パラメーターとは、撮像画像の撮像条件を表すパラメーターのことをいう。例えば図１３（Ａ）〜図１３（Ｃ）の例では、カメラを表すパラメーターと撮像方向を表すパラメーターが、撮像条件パラメーターに相当する。
【０１４０】
また、画像処理パラメーターとは、画像処理の内容を表すパラメーターのことであって、例えば幾何サーチ処理、相関サーチ処理、３Ｄ位置姿勢推定処理及び２Ｄ位置姿勢推定処理などを示すパラメーターである。
【０１４１】
これにより、前述したようなシナリオデータを予め生成して記憶しておけば、作業者が、ビジュアルサーボ等に関する知識をほとんど有していない場合であっても、ビジュアルサーボによる作業の誤りの検出率を向上させることが可能となる。
【０１４２】
また、本実施形態のロボット制御システム１０は、シナリオデータの受け付け処理を行うインターフェース部１４０を含んでもよい。
【０１４３】
これにより、サーバー等の外部機器に記憶されたシナリオデータを取得して、利用すること等が可能になる。
【０１４４】
また、本実施形態の制御装置２０は、ロボットの制御のシナリオデータの生成処理を行う処理部２１０と、シナリオデータをロボット制御システム１０に転送する転送部２２０と、シナリオデータを記憶する記憶部２３０と、を含む。そして、処理部２１０は、ビジュアルサーボ処理に対してはビジュアルサーボ用パラメーターが関連付けられ、ロボットの作業対象の検査処理に対しては検査処理用パラメーターが関連付けられたシナリオデータの生成処理を行う。さらに、ビジュアルサーボ用パラメーターと検査処理用パラメーターとでは、撮像画像の撮像条件パラメーター及び画像処理の画像処理パラメーターの少なくとも一方のパラメーターが異なる。
【０１４５】
これにより、例えば制御装置２０がシナリオデータを生成し、複数のロボット制御システム１０が同一のシナリオデータに従って、ロボットを制御すること等が可能になる。すなわち、制御装置２０でシナリオデータをまとめて生成すればよく、各ロボット制御システム１０が個別にシナリオデータを生成しなくても済むようになる。
【０１４６】
また、本実施形態の制御装置２０は、ビジュアルサーボ用パラメーターと検査処理用パラメーターを表示する表示部２４０を含んでもよい。
【０１４７】
これにより、ビジュアルサーボ等に関する知識が豊富な作業者でなくても、ビジュアルサーボによる作業の誤りの検出精度が高いシナリオデータを生成すること等が可能になる。
【０１４８】
なお、本実施形態のロボット制御システム１０、制御装置２０及びロボット等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、ＣＰＵ等のプロセッサーがプログラムを実行することで、本実施形態のロボット制御システム１０、制御装置２０及びロボット等が実現される。具体的には、情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをＣＰＵ等のプロセッサーが実行する。ここで、情報記憶媒体（コンピューターにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＣＤ等）、ＨＤＤ（ハードディスクドライブ）、或いはメモリー（カード型メモリー、ＲＯＭ等）などにより実現できる。そして、ＣＰＵ等のプロセッサーは、情報記憶媒体に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピューターに実行させるためのプログラム）が記憶される。
【０１４９】
以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、ロボット制御システム、制御装置及びロボットの構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１５０】
１０  ロボット制御システム、２０  制御装置（教示装置）、３０  第１の撮像部、
４０  第２の撮像部、５０  ロボット機構、１１０  ロボット制御部、１２０  処理部、
１２１  検査処理部、１２２  指示処理部、１３０  記憶部、
１４０  インターフェース部、２１０  処理部、２２０  転送部、２３０  記憶部、
２４０  表示部、５１０  第１のアーム、５２０  第２のアーム、
５３０  エンドエフェクター
【図１】
2015003348.tif 000003
【図２】
2015003348.tif 000004
【図３】
2015003348.tif 000005
【図４】
2015003348.tif 000006
【図５】
2015003348.tif 000007
【図６】
2015003348.tif 000008
【図７】
2015003348.tif 000009
【図８】
2015003348.tif 000010
【図９】
2015003348.tif 000011
【図１０】
2015003348.tif 000012
【図１１】
2015003348.tif 000013
【図１２】
2015003348.tif 000014
【図１３】
2015003348.tif 000015