(57)【要約】【課題】教示画像中の対象物の位置姿勢を精度良く検出すること。【解決手段】本発明によるロボット装置が備える教示画像生成部（３１）は、物体を撮像して得られた画像から教示画像の候補となる第１画像を生成する第１画像生成部（３１１）と、前記第１画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第２画像を生成する第２画像生成部（３１２）と、前記第１画像と前記複数の第２画像とから、前記教示画像としての前記第１画像の適格性に関する評価値を取得する評価値取得部（３１３）と、前記評価値が所定条件を満たしているか否かを判定する判定部（３１４）と、前記判定部による判定結果が肯定的である場合、前記第１画像を前記教示画像として出力する画像出力部（３１５）と、を備える。【選択図】図４
2013158845.tif 000002
【特許請求の範囲】
【請求項１】
ビジュアルサーボ制御に基づいて物体を目標地点まで搬送するロボット装置であって、
前記物体を撮像して得られた画像から、前記物体を前記目標地点まで搬送する場合に目標とする教示画像の候補となる第１画像を生成する第１画像生成部と、
前記第１画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第２画像を生成する第２画像生成部と、
前記第１画像生成部により生成された第１画像と前記第２画像生成部により生成された第２画像の各画素の階調差を最小にする非線形最小化問題を解くことで、前記第１画像に表された前記物体の位置及び姿勢と前記第２画像に表された前記物体の位置及び姿勢との差分を取得する差分取得部と、
前記第２画像生成部により生成された複数の第２画像のそれぞれに表された物体の位置および姿勢に前記差分取得部により取得された差分を加算する加算部と、
前記加算部の加算結果をグループ化するグルーピング部と、
前記グルーピング部によりグループ化された前記加算結果により示される前記物体の位置および姿勢を表す第３画像をレンダリングするレンダリング部と、
前記第１画像生成部により生成された第１画像と前記レンダリング部によりレンダリングされた第３画像との間の相関を示す値を評価値として演算する評価値演算部と、
前記評価値が所定条件を満たしているか否かを判定する判定部と、
前記判定部による判定結果が肯定的である場合、前記第１画像を前記教示画像として出力する画像出力部と、
を備えたロボット装置。
【請求項２】
前記グルーピング部は、更に、前記グループ化された前記加算結果により示される前記物体の位置および姿勢の代表値を演算し、
前記レンダリング部は、前記代表値で表される前記物体の位置および姿勢を表す前記第３画像をレンダリングする、請求項１に記載のロボット装置。
【請求項３】
前記所定条件は、
前記評価値演算部により演算された評価値のうち、前記第１画像と前記第３画像との間の最大の相関を示す評価値と他の評価値との差が所定値以上であることを含む、請求項１または２の何れか１項に記載のロボット装置。
【請求項４】
ビジュアルサーボ制御に基づいて作動するロボット装置が物体を目標地点まで搬送する場合に目標とする教示画像を生成する画像生成装置であって、
前記物体を撮像して得られた画像から前記教示画像の候補となる第１画像を生成する第１画像生成部と、
前記第１画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第２画像を生成する第２画像生成部と、
前記第１画像と前記複数の第２画像とから、前記教示画像としての前記第１画像の適格性に関する評価値を取得する評価値取得部と、
前記評価値が所定条件を満たしているか否かを判定する判定部と、
前記判定部による判定結果が肯定的である場合、前記第１画像を前記教示画像として出力する画像出力部と、
を備えた画像生成装置。
【請求項５】
ビジュアルサーボ制御に基づいて作動するロボット装置が物体を目標地点まで搬送する場合に目標とする教示画像を生成する画像生成方法であって、
前記物体を撮像して得られた画像から前記教示画像の候補となる第１画像を生成する第１画像生成ステップと、
前記第１画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第２画像を生成する第２画像生成ステップと、
前記第１画像と前記複数の第２画像とから、前記教示画像としての前記第１画像の適格性に関する評価値を取得する評価値取得ステップと、
前記評価値が所定条件を満たしているか否かを判定する判定ステップと、
前記判定部による判定結果が肯定的である場合、前記第１画像を前記教示画像として出力する画像出力ステップと、
を含む画像生成方法。
【請求項６】
コンピューターを、ビジュアルサーボ制御に基づいて作動するロボット装置が物体を目標地点まで搬送する場合に目標とする教示画像を生成する画像生成装置として機能させる画像生成プログラムであって、
前記コンピューターを、
前記物体を撮像して得られた画像から前記教示画像の候補となる第１画像を生成する第１画像生成部と、
前記第１画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第２画像を生成する第２画像生成部と、
前記第１画像と前記複数の第２画像とから、前記教示画像としての前記第１画像の適格性に関する評価値を取得する評価値取得部と、
前記評価値が所定条件を満たしているか否かを判定する判定部と、
として機能させる画像生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット装置、画像生成装置、画像生成方法、および画像生成プログラムに関する。
【背景技術】
【０００２】
近年、電子機器の製造ラインでは、スカラロボットや多軸ロボット等が製品の組み立て作業や検査等のために導入されている。例えば、組み立てラインでは、ロボット装置が、部品単体やアセンブリー部品等の物体を把持して所定の目標地点まで搬送することにより、電子機器の組み立て作業を支援している。
【０００３】
この種のロボット装置の制御技術として、ビジュアルサーボ制御またはビジュアルフィードバック制御と称される制御技術が知られている（例えば特許文献１参照）。このビジュアルサーボ制御は、搬送対象の物体と目標地点との相対的な位置の変化をビデオカメラ装置を用いて視覚情報として計測し、その計測結果をフィードバック情報として用いることにより目標地点に対して物体の相対的位置を制御するサーボ系の一種である。
【０００４】
ビジュアルサーボ制御を用いたロボット装置によれば、そのロボットハンドに把持された物体を目標地点まで搬送する場合、目標地点での物体の位置および姿勢を表す教示画像と、ビデオカメラ装置により得られる現地点での物体のフレーム画像とを比較し、フレーム画像が教示画像と一致するように物体の位置および姿勢を制御して物体を搬送する（例えば特許文献２参照）。この場合、一般に、搬送経路上の障害物等を回避するために複数の中継地点が指定され、各中継地点および目標地点での物体の位置および姿勢を教示するための複数枚の教示画像が事前に準備される。この複数枚の教示画像を目標画像とすることにより、障害物を回避した経路を辿りながらロボット装置が物体を最終的な目標地点まで搬送する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２０８００９号公報
【特許文献２】特開２００３−２５６０２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の従来技術によれば、教示画像の適格性を判定することができず、教示画像が適切でない場合、この教示画像に示された各地点での物体の位置および姿勢を精度よく検出することができないという問題があった。
【０００７】
本発明は、上記課題を解決するためになされたものであり、教示画像に示された物体の位置および姿勢を精度よく求める、ロボット装置、画像生成装置、画像生成方法、および画像生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明によるロボット装置の一態様は、ビジュアルサーボ制御に基づいて物体を目標地点まで搬送するロボット装置であって、前記物体を撮像して得られた画像から、前記物体を前記目標地点まで搬送する場合に目標とする教示画像の候補となる第１画像を生成する第１画像生成部と、前記第１画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第２画像を生成する第２画像生成部と、前記第１画像生成部により生成された第１画像と前記第２画像生成部により生成された第２画像の各画素の階調差を最小にする非線形最小化問題を解くことで、前記第１画像に表された前記物体の位置及び姿勢と前記第２画像に表された前記物体の位置及び姿勢との差分を取得する差分取得部と、前記第２画像生成部により生成された複数の第２画像のそれぞれに表された物体の位置および姿勢に前記差分取得部により取得された差分を加算する加算部と、前記加算部の加算結果をグループ化するグルーピング部と、前記グルーピング部によりグループ化された前記加算結果により示される前記物体の位置および姿勢を表す第３画像をレンダリングするレンダリング部と、前記第１画像生成部により生成された第１画像と前記レンダリング部によりレンダリングされた第３画像との間の相関を示す値を評価値として演算する評価値演算部と、前記評価値が所定条件を満たしているか否かを判定する判定部と、前記判定部による判定結果が肯定的である場合、前記第１画像を前記教示画像として出力する画像出力部と、を備えたロボット装置の構成を有する。
【０００９】
上記構成によれば、差分取得部が取得した差分の精度が高ければ、複数の第２画像のそれぞれに表された物体の位置および姿勢に上記差分を加算することにより、第１画像に表された物体の位置および姿勢が得られ、第１画像に表された物体の位置および姿勢を精度よく検出することができる。従って、複数の第２画像のそれぞれに表された物体の位置および姿勢に上記差分を加算して得られる第３画像と元の第１画像との相関を評価することにより、第１画像が教示画像として適切かどうか、即ち、教示画像から物体の位置および姿勢をパターンマッチングにより検出する際に、教示画像として第１画像を使用した場合に物体の位置および姿勢を精度よく検出することができるかどうかを判定することが可能になる。また、加算部の加算結果をグループ化し、このグループ化した上記加算結果により示される物体の位置および姿勢を表す第３画像をレンダリングするので、物体の位置および姿勢の検出を安定化させることが可能になる。
【００１０】
上記ロボット装置の一態様において、例えば、前記グルーピング部は、更に、前記グループ化された前記加算結果により示される前記物体の位置および姿勢の代表値を演算し、前記レンダリング部は、前記代表値で表される前記物体の位置および姿勢を表す前記第３画像をレンダリングする。
上記構成によれば、加算結果により示される前記物体の位置および姿勢の代表値を演算するので、各グループを代表する物体の位置および姿勢を設定することが可能になる。
【００１１】
上記ロボット装置の一態様において、例えば、前記所定条件は、前記評価値演算部により演算された評価値のうち、前記第１画像と前記第３画像との間の最大の相関を示す評価値と他の評価値との差が所定値以上であることを含む。
上記構成によれば、最大の相関を示す評価値と他の評価値との差が所定値以上であることは、最大の相関を示す評価値が得られた第３画像と他の第３画像が有意に異なることを意味するので、各グループについて演算された評価値のうち、第１画像に表された物体の位置および姿勢を特定することが可能になる。
【００１２】
上記課題を解決するため、本発明による画像生成装置の一態様は、ビジュアルサーボ制御に基づいて作動するロボット装置が物体を目標地点まで搬送する場合に目標とする教示画像を生成する画像生成装置であって、前記物体を撮像して得られた画像から前記教示画像の候補となる第１画像を生成する第１画像生成部と、前記第１画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第２画像を生成する第２画像生成部と、前記第１画像と前記複数の第２画像とから、前記教示画像としての前記第１画像の適格性に関する評価値を取得する評価値取得部と、前記評価値が所定条件を満たしているか否かを判定する判定部と、前記判定部による判定結果が肯定的である場合、前記第１画像を前記教示画像として出力する画像出力部と、を備えた画像生成装置の構成を有する。
上記構成によれば、上記ロボット装置が備える教示画像生成部と同様の作用効果を得ることができる。
【００１３】
上記課題を解決するため、本発明による画像生成方法の一態様は、ビジュアルサーボ制御に基づいて作動するロボット装置が物体を目標地点まで搬送する場合に目標とする教示画像を生成する画像生成方法であって、前記物体を撮像して得られた画像から前記教示画像の候補となる第１画像を生成する第１画像生成ステップと、前記第１画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第２画像を生成する第２画像生成ステップと、前記第１画像と前記複数の第２画像とから、前記教示画像としての前記第１画像の適格性に関する評価値を取得する評価値取得ステップと、前記評価値が所定条件を満たしているか否かを判定する判定ステップと、前記判定部による判定結果が肯定的である場合、前記第１画像を前記教示画像として出力する画像出力ステップと、含む画像生成方法の構成を有する。
上記構成によれば、画像生成方法による作用効果として、上記ロボット装置が備える教示画像生成部と同様の作用効果を得ることができる。
【００１４】
上記課題を解決するため、本発明による画像生成プログラムの一態様は、コンピューターを、ビジュアルサーボ制御に基づいて作動するロボット装置が物体を目標地点まで搬送する場合に目標とする教示画像を生成する画像生成装置として機能させる画像生成プログラムであって、前記コンピューターを、前記物体を撮像して得られた画像から前記教示画像の候補となる第１画像を生成する第１画像生成部と、前記第１画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第２画像を生成する第２画像生成部と、前記第１画像と前記複数の第２画像とから、前記教示画像としての前記第１画像の適格性に関する評価値を取得する評価値取得部と、前記評価値が所定条件を満たしているか否かを判定する判定部として機能させる画像生成プログラムの構成を有する。
上記構成によれば、画像生成プログラムによる作用効果として、上記ロボット装置が備える教示画像生成部と同様の作用効果を得ることができる。
【００１５】
本発明の態様によれば、教示画像の候補となる第１画像と、この第１画像に表された物体の姿勢を基準とした複数の異なる姿勢での物体を表す複数の第２画像とから、第１画像の教示画像としての適格性を評価するので、教示画像に示された物体の位置および姿勢を精度よく検出することが可能になる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態によるロボット装置の機能構成の一例を表すブロック図である。
【図２】同実施形態によるロボット装置が備えるロボット本体の外観の一例を表す図である。
【図３】同実施形態によるロボット装置が備える情報処理部の機能構成の一例を表すブロック図である。
【図４】同実施形態による情報処理部が備える教示画像生成部の機能構成の一例を表すブロック図である。
【図５】同実施形態による教示画像生成部が備える評価値取得部の機能構成の一例を表すブロック図である。
【図６】同実施形態による教示画像生成部の教示画像生成処理手順の一例を表すフローチャートである。
【図７】同実施形態による教示画像を取得する手法を説明するための説明図である。
【図８】同実施形態による教示画像の候補となる第１画像を生成する手法を説明するための説明図である。
【図９】同実施形態による教示画像の物体の姿勢を変えた第２画像を生成する手法を説明するための説明図である。
【図１０】同実施形態による物体の位置および姿勢の定義を説明するための説明図である。
【図１１】同実施形態による物体の姿勢を変化させる手法の一例を説明するための説明図である。
【図１２】同実施形態による評価値取得部を構成するグルーピング部の動作を説明するための説明図である。
【図１３】同実施形態による評価値取得部により取得された評価値の一例を示す図である。
【図１４】同実施形態によるロボット本体の変形例を表す図である。
【発明を実施するための形態】
【００１７】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
なお、本明細書における全ての実施形態および全ての図面にわたって、同一符号は同一要素を表す。
【００１８】
図１は、本発明の実施形態によるロボット装置１の機能構成の一例を表すブロック図である。本実施形態によるロボット装置１は、電子機器の製造ラインにおいて、ビジュアルサーボ制御に基づいて部品等の物体を所定の目標地点まで搬送し、アセンブリー部品の組立作業を行う装置である。本実施形態において、ロボット装置１による搬送の対象とされる物体は、例えば小型電子機器や精密機器等に組み込まれるアセンブリー部品を構成する精密部品である。同図に示すように、ロボット装置１は、ロボット本体１０と、撮像部２０と、情報処理部３０と、ロボット制御部４０とを備える。
【００１９】
図２は、ロボット本体１０の外観の一例を模式的に表す図である。ロボット本体１０は、物体を目標地点まで搬送可能に保持するものであって、床面に固定された支持台１０ａと、旋回可能および屈伸可能に支持台１０ａに連結されたアーム部１０ｂと、回動可能および首振り可能にアーム部１０ｂに連結されたハンド部１０ｃと、ハンド部１０ｃに取り付けられた把持部１０ｄとを備えて構成される。ロボット本体１０は、把持部１０ｄにより搬送すべき物体ＯＢＪを把持した状態で保持する。
【００２０】
本実施形態において、ロボット本体１０は、例えば６軸の垂直多関節ロボットであり、支持台１０ａとアーム部１０ｂとハンド部１０ｃとの連係した動作によって６軸の自由度を有し、把持部１０ｄが把持する部品の位置および姿勢を自在に変更することができる。また、ロボット本体１０は、ロボット制御部４０による制御により、アーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたはそれらの組み合わせを動かす。
なお、ロボット本体１０の自由度は６軸によるものに限られない。また、支持台１０ａは、壁や天井等、床面に対して固定された場所に設置されてもよい。
【００２１】
説明を図１に戻す。撮像部２０は、搬送先である目標地点と、ロボット本体１０に保持された物体との両方を含む範囲を撮像して実画像Ｐを得るものであり、例えば、搬送先の目標地点と搬送すべき物体の両方を上方から見下ろすように壁面または天井に固定されている。また、本実施形態において、撮像部２０は、３０フレーム／秒のフレームレートで撮像するビデオカメラ装置である。ただし、撮像部２０は、例えば、１２０フレーム／秒、２００フレーム／秒等の任意のフレームレートで撮像するものであってもよい。撮像部２０により撮像された実画像Ｐ（フレーム画像）は情報処理部３０に供給される。
【００２２】
画像処理部３０は、撮像部２０によって撮像された実画像Ｐを解析することにより、物体を搬送するロボット装置１０の動作の制御に必要な制御情報Ｃを生成するものであり、例えばコンピューター装置から構成される。本実施形態において、制御情報Ｃは、ロボット本体１０を構成するアーム部１０ｂの回動角や回動角速度など、ロボット本体１０の各部の動作量を規定する情報を含んでいる。
【００２３】
情報処理部３０は、例えばオペレーターが物体の搬送経路を教示する場合、撮像部２０により撮像された実画像Ｐから物体の搬送経路を教示するための後述の教示画像Ｇを取得するものである。本実施形態において、情報処理部３０は、教示画像Ｇを取得する際に、その適格性を判定することにより、物体の位置および姿勢の検出精度の観点から適切な教示画像Ｇを取得する。物体の位置および姿勢の定義については後述する。また、情報処理部３０は、物体を搬送する場合、撮像部２０により撮像される実画像Ｐと教示画像Ｇに基づいて物体の搬送量を制御するための制御情報Ｃを生成するものである。本実施形態において、物体の搬送量は、物体の位置の変化量と、物体の姿勢の変化量を意味する。制御情報Ｃは、ロボット制御コマンドとしてロボット制御部４０に供給される。
【００２４】
ロボット制御部４０は、情報処理部３０により生成された制御情報Ｃに基づいてロボット本体１０の動作を直接的に制御するものである。即ち、本実施形態において、ロボット制御部４０は、情報処理部３０から供給される制御情報Ｃに基づいて、ロボット本体１０のアーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたはそれらの任意の組み合わせの動作（アーム部１０ｂの回動量など）を制御することにより、把持部１０ｄに保持された物体を目標地点まで移動（搬送）させるようにロボット本体１０の動作を制御する。
【００２５】
図３は、ロボット装置１が備える情報処理部３０の機能構成の一例を表すブロック図である。情報処理部３０は、教示画像生成部３１と、記憶部３２と、制御情報生成部３３とを備えて構成される。ここで、教示画像生成部３１は、撮像部２０により撮像された実画像Ｐから、物体を目標地点まで搬送する場合に目標とする教示画像Ｇを生成するものである。記憶部３２は、教示画像生成部３１により生成された教示画像Ｇを記憶するものである。制御情報生成部３３は、記憶部３２に記憶された教示画像Ｇに基づいて制御情報Ｃを生成するものである。本実施形態において、制御情報生成部３３は、記憶部３２に記憶された教示画像Ｇと、物体を搬送する際に撮像部２０により撮像される実画像Ｐとの差分が小さくなるように、制御情報Ｃを生成する。
【００２６】
換言すれば、実画像Ｐであるフレーム画像に表される物体の位置および姿勢が、教示画像Ｇに示される物体の位置および姿勢と一致する方向に物体の搬送量が演算され、そのような搬送量が得られるように制御情報Ｃが生成される。
なお、本実施形態では、撮像部２０が撮像する画像のフレームレートは３０フレーム／秒であるから、約３３ミリ秒毎に撮像部２０から画像生成部３１にフレーム画像が供給され、画像生成部３１は、約３３ミリ秒毎に新たに制御情報Ｃを生成する。
【００２７】
図４は、情報処理部３０が備える教示画像生成部３１の機能構成の一例を表すブロック図である。同図に示すように、教示画像生成部３１は、第１画像生成部３１１と、第２画像生成部３１２と、評価値取得部３１３と、判定部３１４と、画像出力部３１５とを備えて構成される。ここで、第１画像生成部３１１は、撮像部２０により物体を撮像して得られた実画像Ｐから教示画像Ｇの候補となる第１画像Ｇａを生成するものである。本実施形態では、後述するように、第１画像Ｇａは、撮像部２０により撮像された実画像Ｐに対し、背景差分処理および二値化処理を施して生成され、必要に応じて更に平滑化処理が施される。また、本実施形態では、搬送経路をロボット装置１に教示する際に、オペレーターにより指定される搬送経路上の中継地点（後述の図７に示す地点Ｐ１〜Ｐ５）に物体を位置させた状態で撮像部２０を用いて物体を撮像することにより、教示画像Ｇの候補となる第１画像Ｇａが取得される。
【００２８】
第２画像生成部３１２は、第１画像Ｇａに表された物体の姿勢を基準として、複数の異なる姿勢での物体を表す複数の第２画像Ｇｂを生成するものである。本実施形態において、複数の第２画像Ｇｂのそれぞれは、物体のＣＡＤ(Computer Aided Design)モデルを用いて生成されたＣＧ(Computer Graphics)画像である。後述するように、複数の第２画像Ｇｂのうちの一つは、物体のＣＡＤモデルと第１画像Ｇａとをパターンマッチングすることにより生成され、その他の第２画像Ｇｂは、第１画像Ｇａとのパターンマッチングにより得られたＣＧ画像を与えるＣＡＤモデルを所定角度だけ回転させて生成されるものである。
【００２９】
なお、本実施形態では、教示画像Ｇの候補として、実画像Ｐに二値化処理等を施して生成した第１画像Ｇａを用いるものとしているが、この第１画像Ｇａに代えて、上述の第１画像Ｇａとパターンマッチングすることにより生成されるＣＧ画像（複数の第２画像Ｇｂのうちの一つ）を用いてもよい。
【００３０】
評価値取得部３１３は、第１画像Ｇａと複数の第２画像Ｇｂとから、教示画像Ｇとしての第１画像Ｇａの適格性に関する評価値Ｅを取得するものである。本実施形態において、評価値Ｅには、第１画像Ｇａに表された物体の位置および姿勢の検出精度が反映される。即ち、評価値Ｅには、第１画像Ｇａを教示画像Ｇとした場合に、物体の複数の姿勢を表す複数の第２画像Ｇｂのそれぞれと第１画像Ｇａとの差分（物体の位置に関する差分および姿勢に関する差分）をパターンマッチングにより検出する際の精度が反映される。この評価値Ｅの詳細については後述する。
【００３１】
判定部３１４は、評価値Ｅが所定条件を満たしているか否かを判定して、その判定結果Ｑを出力するものである。本実施形態では、上記の所定条件は、評価値Ｅに基づいて第１画像Ｇａが教示画像Ｇとして適切かどうかを判断する際の基準を与えるものであり、その詳細については後述する。本実施形態では、評価値Ｅが所定条件を満たすかどうかを判定することにより、第１画像Ｇａの教示画像Ｇとしての適格性が判定される。このように、事前に教示画像Ｇとしての第１画像Ｇａの適格性を判定し、この第１画像Ｇａを教示画像Ｇとして用いることにより、教示画像Ｇから物体の位置および姿勢を精度よく検出することが可能になる。
【００３２】
画像出力部３１５は、判定部３１４による判定結果Ｑが肯定的である場合、即ち、評価値Ｅが所定条件を満たしている場合、第１画像Ｇａを教示画像Ｇとして出力するものである。なお、この画像出力部３１５は、第１画像生成部３１１と一体に構成してもよい。この場合、判定部３１４の判定結果Ｑは第１画像生成部３１１に供給され、第１画像生成部３１１は、判定部３１４から供給された判定結果Ｑが肯定的である場合、第１画像Ｇａを教示画像Ｇとして出力する。
【００３３】
図５は、本実施形態による教示画像生成部３１が備える評価値取得部３１３の機能構成の一例を表す図である。同図に示すように、評価値取得部３１３は、差分取得部３１３１と、加算部３１３２と、グルーピング部３１３３と、レンダリング部３１３４と、評価値演算部３１３５とを備えて構成される。ここで、差分取得部３１３１は、第１画像生成部３１１により生成された第１画像Ｇａに表された物体の位置および姿勢と、第２画像生成部３１２により生成された複数の第２画像Ｇｂのそれぞれに表された物体の位置および姿勢との差分ＤＦをパターンマッチングにより取得するものである。ここで言うパターンマッチングとは、二つの画像の各画素の階調値の差を最小にするように非線形最小化問題を解くことで、二つの画像に撮像されている物体の位置と姿勢の誤差を算出することを含む。従って、差分取得部３１３１は、第１画像生成部３１１により生成された第１画像Ｇａと第２画像生成部３１２により生成された第２画像Ｇｂの各画素の階調差を最小にする非線形最小化問題を解くことで、第１画像Ｇａに表された物体ＯＢＪの位置及び姿勢と、第２画像Ｇｂに表された物体ＯＢＪの位置及び姿勢との間の差分を取得するものであると言える。
【００３４】
本実施形態において、上記差分ＤＦは、物体の位置に関する第１差分と、物体の姿勢に関する第２差分を含む。ここで、第１差分は、例えば、第２画像Ｇｂに表された物体の位置を始点とし、第１画像Ｇａに表された物体の位置を終点とするベクトル量として表現される。また、第２差分は、例えば、第２画像Ｇｂに表された物体の姿勢を始点とし、第１画像Ｇａに表された物体の姿勢を終点とするベクトル量として表現される。差分ＤＦが精度よく取得されていれば、第２画像Ｇｂの物体の位置および姿勢に上記差分を加算して得られる物体の位置および姿勢は、第１画像Ｇａに表された物体の位置および姿勢と概ね一致する。もし一致しないとすれば、差分ＤＦに誤差が含まれているためであり、その誤差は、差分ＤＦを得る際のパターンマッチングでの物体の検出精度に依存する。従って、本実施形態において、差分ＤＦには、パターンマッチングにより得られる物体の位置および姿勢の精度が反映され、前述の評価値Ｅには差分ＤＦが反映される。よって、評価値Ｅには、パターンマッチングでの物体の位置および姿勢の検出精度が反映される。
【００３５】
加算部３１３２は、第２画像生成部３１２により生成された複数の第２画像Ｇｂのそれぞれに表された物体の位置および姿勢に、差分取得部３１３１により取得された差分ＤＦを加算するものである。即ち、加算部３１３２は、第２画像Ｇｂに表された物体の位置を表す値に上記第１差分を加算し、第２画像Ｇｂに表された物体の姿勢を表す値に上記第２差分を加算する。本実施形態では、説明の便宜上、第２画像Ｇｂに表された物体の位置を表す値に上記第１差分を加算して得られる物体の位置を「収束位置」と称し、第２画像Ｇｂに表された物体の姿勢を表す値に上記第２差分を加算して得られる物体の姿勢を「収束姿勢」と称す。前述したように、差分ＤＦが精度よく取得されていれば、収束位置および収束姿勢は、第１画像Ｇａに表された物体の位置および姿勢と概ね一致する。以下では、収束位置および収束姿勢を合わせて「収束値ＣＣ」と称す。
【００３６】
グルーピング部３１３３は、加算部３１３２の加算結果として得られる収束値ＣＣをグループ化するものである。本実施形態では、例えばクラスタリングにより加算部３１３２の加算結果として得られる収束値ＣＣをグループ化する。このグループ化により、加算部３１３２の加算結果として得られる収束値ＣＣのうち、近似した物体の位置および姿勢を示す収束値ＣＣが同一グループに分類される。本実施形態では、グルーピング部３１３３は、更に、グループ化した加算結果により示される物体の収束値ＣＣの代表値ＣＤを演算する。即ち、グルーピング部３１３３は、同一グループに属する加算結果として得られた収束値ＣＣの平均値を、そのグループの代表値ＣＤとして演算する。
なお、代表値ＣＤは、上述の平均値に限らず、各グループについて得られた収束値ＣＣそのものを代表値ＣＤとして用いてもよく、各グループについて得られた収束値ＣＣを表す限度において、どのように代表値ＣＤを定義してもよい。
【００３７】
レンダリング部３１３４は、グルーピング部３１３３によりグループ化された上記加算結果により示される物体の位置および姿勢を表すＣＧ画像を第３画像Ｇｃとしてレンダリングするものである。本実施形態において、レンダリング部３１３４は、上記代表値ＣＤで表される物体の位置および姿勢（即ち収束位置および収束姿勢）を表すＣＧ画像を第３画像Ｇｃとしてレンダリングする。
【００３８】
評価値演算部３１３５は、第１画像生成部３１１により生成された第１画像Ｇａと、レンダリング部３１３４によりレンダリングされた第３画像Ｇｃとの間の相関を示す値を評価値Ｅとして演算するものである。本実施形態において、上記評価値Ｅは、第１画像Ｇａと第３画像Ｇｃとの階調差の二乗和(SSD; Sum of Squared Difference)により演算される。
【００３９】
次に、本実施形態によるロボット装置１の動作について説明する。
本実施形態によるロボット装置１の動作は、教示画像Ｇを生成する処理（以下、「教示画像生成処理」と称す）と、その教示画像Ｇを用いてビジュアルサーボ制御を実施することにより物体を搬送する処理（以下、「物体搬送処理」と称す）に分けられる。そこで、以下の動作の説明では、先ず、情報処理部３０を構成する教示画像生成部３１により教示画像Ｇを生成する教示画像生成処理を説明し、その後、この教示画像Ｇを用いたビジュアルサーボ制御による物体搬送処理を説明する。
【００４０】
（教示画像生成処理）
図６は、教示画像生成部３１による教示画像生成処理手順（画像生成方法）の一例を表すフローチャートである。同図のステップＳ１において、教示画像生成部３１を構成する第１画像生成部３１１は、撮像部２０により撮像された実画像Ｐから、物体の搬送経路を教示する教示画像Ｇの候補となる第１画像Ｇａを生成する。
【００４１】
図７は、教示画像Ｇを教示するための手法を説明するための説明図である。同図に示す例は、オペレーターが、載置台Ｔの上に載置された製品Ｍの筐体内部に物体ＯＢＪ（部品）を搬送するための搬送経路を教示する場合を示している。同図において、物体ＯＢＪの搬送経路は点線で示されている。製品Ｍの筐体には開口部Ｈが形成されており、この開口部Ｈから物体ＯＢＪが製品Ｍの筐体内部に搬入される。また、地点Ｐ０は、搬送経路の始点を表し、初期状態では、物体ＯＢＪは始点Ｐ０に位置している。また、地点Ｐ１〜Ｐ５は、物体ＯＢＪの搬送経路上の中継点、即ち、物体ＯＢＪの教示画像を取得する教示点を表している。
【００４２】
図７に示す例では、製品Ｍの開口部Ｈの近傍に障害物Ｂが存在する。このため、同図に点線で示すように、障害物Ｂを迂回した搬送経路を設定する必要がある。このような搬送経路を設定するため、例えば、オペレーターの操作により、物体ＯＢＪを保持した状態でロボット本体１０の動作を調整することにより、障害物Ｂを迂回する搬送経路の要所となる地点Ｐ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５の各中継地点に物体ＯＢＪを位置させ、撮像部２０により物体ＯＢＪを撮像する。これにより、搬送経路上の各中継地点での物体ＯＢＪの実画像Ｐを得る。
【００４３】
教示画像生成部３１を構成する第１画像生成部３１１は、撮像部２０により撮像された実画像Ｐから、搬送経路上の地点Ｐ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５の各中継地点での物体ＯＢＪの教示画像Ｇの候補となる第１画像Ｇａを生成する。
【００４４】
図８は、第１画像生成部３１１が実画像Ｐから第１画像Ｇａを生成する手法を説明するための説明図である。物体ＯＢＪが配線を含むコネクターである場合、第１画像生成部３１１は、実画像Ｐの背景差分を演算することにより、配線を含む背景が除かれた物体ＯＢＪのみの中間画像（図示なし）を生成する。そして、この中間画像を適切な閾値を用いて二値化することにより、例えば白黒の画像を生成する。そしてこの画像を必要に応じて平滑化することにより第１画像Ｇａを得る。この第１画像Ｇａに表された物体ＯＢＪの形状は、この物体ＯＢＪの位置および姿勢に応じて一義的に定まる。従って、この第１画像Ｇａは、実空間内での物体ＯＢＪの位置および姿勢に関する情報を含んでいる。例えば、実空間内での物体ＯＢＪの位置は、第１画像Ｇａ内の物体ＯＢＪの座標値およびスケール（縮尺度）に反映され、物体ＯＢＪの姿勢は、第１画像Ｇｂ内の物体ＯＢＪの輪郭に反映される。
【００４５】
続いて、ステップＳ２において、第２画像生成部３１２は、第１画像Ｇａに表された物体ＯＢＪの姿勢を基準として、複数の異なる姿勢での物体ＯＢＪを表す複数の第２画像Ｇｂを生成する。詳細には、先ず、第２画像生成部３１２は、実空間と整合するように設定されたＣＧ空間内で物体ＯＢＪの形状をモデル化して得られたＣＡＤモデルのＣＧ画像と、第１画像生成部３１１により実画像Ｐから得られた第１画像Ｇａとをパターンマッチングすることにより、ＣＧ空間内での物体ＯＢＪの位置および姿勢に関する情報を取得する。そして、このＣＧ空間内での物体ＯＢＪの位置および姿勢に関する情報を用いて、第１画像Ｇａに対応した一枚の第２画像Ｇｂを生成する。
【００４６】
図９は、第２画像生成部３１２がＣＧ空間内での物体ＯＢＪの位置および姿勢に関する情報を取得する手法を説明するための説明図である。第２画像生成部３１２は、物体ＯＢＪのＣＡＤモデルＣＭを用いて、初期値として与えられた位置および姿勢での物体ＯＢＪのＣＧ画像Ｇｂｂを生成する。そして、第２画像生成部３１２は、上述の第１画像生成部３１１により取得された第１画像ＧａとＣＧ画像Ｇｂｂとをパターンマッチングすることにより、ＣＧ空間内での物体ＯＢＪの位置および姿勢に関する情報を取得する。この情報から、第１画像Ｇａに対応した上述の一枚の第２画像Ｇｂを生成する。
【００４７】
例えば、第２画像生成部３１２は、第１画像Ｇａと第２画像Ｇｂｂとの階調差を画素毎に演算し、画像全体にわたって各画素の階調差の総和を求める。また、ＣＡＤモデルＣＭを用いて異なる位置および姿勢での物体ＯＢＪの第２画像Ｇｂｂを同様に生成し、第１画像Ｇａと第２画像Ｇｂｂとの画素毎の階調差の総和を繰り返し求める。そして、第２画像生成部３１２は、その階調差の総和が最小となるときの第２画像Ｇｂｂを特定し、その第２画像Ｇｂｂを、第１画像Ｇａに対応した上述の一枚の第２画像Ｇｂとする。
【００４８】
ここで、本実施形態における物体ＯＢＪの位置および姿勢の定義を説明する。
図１０は、上述のＣＡＤモデルを規定するＣＧ空間における物体ＯＢＪの位置および姿勢の定義を説明するための説明図である。本実施形態において、ＣＡＤモデルＣＭを規定するＣＧ空間の座標系は、物体ＯＢＪが存在する実空間と整合するように予め校正されている。このようなＣＧ空間において、物体ＯＢＪの位置に関する情報は、物体ＯＢＪのＣＡＤモデルＣＭの所定部位（例えば重心位置）の座標（ｘ，ｙ，ｚ）として定義される。また、物体ＯＢＪの姿勢に関する情報は、ＣＧ空間の座標系の３軸とそれぞれ並行な軸であって物体ＯＢＪの上記位置を与える座標点を通る３軸（Ｊｘ，Ｊｙ，Ｊｚ）のそれぞれを回転軸としたときの回転角（θｘ，θｙ，θｚ）として定義される。ただし、この例に限定されることなく、物体ＯＢＪの位置および姿勢をどのように定義してもよい。
【００４９】
続いて、第２画像生成部３１２は、第１画像Ｇａに表された物体ＯＢＪの位置および姿勢、または上述の一枚の第２画像Ｇｂに表された物体ＯＢＪの位置および姿勢を基準として、複数の異なる姿勢での物体ＯＢＪを表す複数の第２画像Ｇｂを生成する。即ち、第２画像生成部３１２は、物体ＯＢＪのＣＡＤモデルを用いて、第１画像Ｇａ（または上述の一枚の第２画像Ｇｂ）に表される物体ＯＢＪの姿勢を基準として、物体ＯＢＪを或る回転に関して所定角度の刻みで回転させ、複数の回転角での物体ＯＢＪの姿勢を表す複数の第２画像Ｇｂを生成する。
【００５０】
図１１は、物体ＯＢＪの姿勢を変化させる手法の一例を説明するための説明図である。
同図は、物体ＯＢＪの一例としてコネクターを示している。本実施形態によるロボット装置１は、例えば、同図に示される物体ＯＢＪとしてのコネクターを搬送して、製品Ｍに設けられた端子（図示なし）に差し込む。この場合、好ましくは、物体ＯＢＪの中心軸Ｊの軸方向は、この物体ＯＢＪとしてのコネクターを製品Ｍの端子に差し込む際の物体ＯＢＪの移動方向に維持される。
【００５１】
本実施形態では、上述の物体ＯＢＪの中心軸Ｊを回転軸として、物体ＯＢＪを例えば３０°刻みで回転させることにより、その姿勢を変化させる。本実施形態では、実空間内での物体ＯＢＪの回転角θが３０°（真値）であるものとし、この３０°の回転角θを基準として３０°刻みでＣＧ空間内で物体ＯＢＪを回転させる。これにより、０°、３０°、６０°、９０°、１２０°、１５０°、１８０°、…、３３０°の１２個の各回転角θでの物体ＯＢＪの姿勢が得られる。従って、この場合、１２個の回転角θでの物体ＯＢＪの各姿勢を表す１２枚の第２画像ＧｂがＣＧ画像として得られる。
なお、物体ＯＢＪの回転軸Ｊは任意に設定することができる。また、物体ＯＢＪの回転角θの基準も任意である。更に、物体ＯＢＪを回転させるときの回転角θの刻みについても任意に設定することができる。
【００５２】
続いて、ステップＳ３において、評価値取得部３１３は、第１画像Ｇａと複数の第２画像Ｇｂとから、教示画像Ｇとしての第１画像Ｇａの適格性に関する評価値Ｅを取得する。
詳細には、以下に説明するステップＳ３Ａ〜Ｓ３Ｅを実施することで評価値Ｅを得る。
先ず、ステップＳ３Ａにおいて、差分取得部３１３１は、第１画像生成部３１１により生成された第１画像Ｇａに表された物体ＯＢＪの位置および姿勢と第２画像生成部３１２により生成された複数の第２画像Ｇｂのそれぞれに表された物体ＯＢＪの位置および姿勢との差分をパターンマッチングにより取得する。換言すれば、差分取得部３１３１は、第１画像生成部３１１により生成された第１画像Ｇａと、第２画像生成部３１２により生成された第２画像Ｇｂとの間の対応する各画素の階調差の総和を最小にする非線形最小化問題を解くことで、第１画像Ｇａに表された物体ＯＢＪの位置及び姿勢と第２画像Ｇｂに表された物体ＯＢＪの位置及び姿勢との間の差分を取得する。
【００５３】
具体的には、差分取得部３１３１は、先ず、回転角０°での第２画像Ｇｂと、教示画像Ｇの候補である第１画像Ｇａとの階調差の二乗和を演算し、この階調差の二乗和が最小になるときのＣＧ空間内での物体ＯＢＪＣＡＤモデルの位置および姿勢を探索する。そして、この探索により得られたＣＡＤモデルの位置および姿勢を第１画像Ｇａに表された物体の位置および姿勢として特定し、このＣＡＤモデルの位置および姿勢と、第２画像Ｇｂに表された物体ＯＢＪの位置および姿勢との差分を差分ＤＦとして演算する。このような差分ＤＦの算出方法としては、２枚の画像間の各画素の階調値（画素値）の差を最小にすればよいので、非線形最小化手法である例えば最急降下法やレーベンバーグマルカート法等を用いることができる。
【００５４】
差分ＤＦは、次式により表される。
ＤＦ＝（Δｘ，Δｙ，Δｚ，Δθｘ，Δθｙ，Δθｚ）
ここで、Δｘは、階調差の二乗和が最小になるときのＣＡＤモデルのＣＧ空間内での位置の座標値のｘ成分と、第２画像Ｇｂに表された物体ＯＢＪのＣＧ空間内での位置の座標値のｘ成分との差分である。同様に、ΔｙおよびΔｚは、それぞれ、階調差の二乗和が最小になるときのＣＡＤモデルのＣＧ空間内での位置の座標値のｙ成分およびｚ成分と、第２画像Ｇｂに表された物体ＯＢＪのＣＧ空間内での位置の座標値のｙ成分およびｚ成分との差分である。これらΔｘ、Δｙ、Δｚは第１差分ＤＦ１を構成する。また、Δθｘは、階調差の二乗和が最小になるときのＣＡＤモデルのＣＧ空間内での姿勢の回転角θのｘ成分と、第２画像Ｇｂに表された物体ＯＢＪのＣＧ空間内での姿勢の回転角θのｘ成分との差分である。同様に、ΔθｙおよびΔｚは、それぞれ、階調差の二乗和が最小になるときのＣＡＤモデルのＣＧ空間内での姿勢の回転角θのｙ成分およびｚ成分と、第２画像Ｇｂに表された物体ＯＢＪのＣＧ空間内での姿勢の回転角θのｙ成分およびｚ成分との差分である。これらΔθｘ、Δθｙ、Δθｚは第２差分ＤＦ２を構成する。
【００５５】
また、同様に、差分取得部３１３１は、残りの回転角３０°、６０°、９０°、１２０°、１５０°、１８０°、…、３３０°での第２画像Ｇｂについても、第１画像Ｇａとの差分ＤＦを求める。この例では、１２枚の第２画像Ｇｂが存在するので、計１２個の差分ＤＦが得られる。
【００５６】
続いて、ステップＳ３Ｂにおいて、加算部３１３２は、第２画像生成部３１２により生成された複数の第２画像Ｇｂのそれぞれに表された物体ＯＢＪの位置および姿勢の各値に、差分取得部３１３１により取得された差分ＤＦを加算する。具体的には、加算部３１３２は、先ず、回転角０°での第２画像Ｇｂに表されるＣＧ空間内での物体ＯＢＪの位置の座標値の各成分（ｘ，ｙ，ｚ）に、第１差分ＤＦ１（Δｘ，Δｙ，Δｚ）の各成分を加算することにより、上記収束位置を表す座標値ＰＣを得る。また、回転角０°での第２画像Ｇｂに表されるＣＧ空間内での物体ＯＢＪの姿勢の回転角θの各成分（θｘ，θｙ，θｚ）に、第２差分ＤＦ２（Δθｘ，Δθｙ，Δθｚ）の各成分を加算することにより、上記収束姿勢を表す回転角ＡＣを得る。
【００５７】
上記の座標値ＰＣおよび回転角ＡＣは、次式により表される。
ＰＣ＝（ｘ＋Δｘ，ｙ＋Δｙ，ｚ＋Δｚ）
ＡＣ＝（θｘ＋Δθｘ，θｙ＋Δθｙ，ｚ＋Δθｚ）
【００５８】
上式から、前述の収束位置および収束姿勢を表す収束値ＣＣは、次式により表される。
ＣＣ＝（ｘ＋Δｘ，ｙ＋Δｙ，ｚ＋Δｚ，θｘ＋Δθｘ，θｙ＋Δθｙ，ｚ＋Δθｚ）
【００５９】
同様に、加算部３１３２は、残りの回転角３０°、６０°、９０°、１２０°、１５０°、１８０°、…、３３０°での各第２画像Ｇｂと差分ＤＦから収束値ＣＣを求める。この例では、１２枚の第２画像Ｇｂと１２個の差分ＤＦに対応した計１２個の収束値ＣＣが得られる。
【００６０】
続いて、ステップＳ３Ｃにおいて、グルーピング部３１３３は、加算部３１３２の加算結果として得られる１２個の収束値ＣＣをグループ化する。本実施形態では、クラスタリングによりグループ化する。
【００６１】
図１２は、グルーピング部３１３３の動作を説明するための説明図である。同図は、図１１に示す回転軸Ｊに関する回転角θに対応する回転角θｚに着目して、第２画像Ｇｂに表された物体ＯＢＪの位置および姿勢と収束値ＣＣとの関係を示している。ここで、同図の上段と下段に示す各座標系は、上述の収束値ＣＣの各成分に対応する６次元の軸を３次元として表している。同図の上段と下段にそれぞれ示す３次元座標系は、（ｘ，ｙ，ｚ）を表す軸と、（θｘ，θｙ）を表す軸と、θｚを表す軸を含んでいる。また、同図の例では、上段の座標系は、第２画像Ｇｂに表された物体ＯＢＪのＣＧ空間内での位置および姿勢（回転角）を表し、下段の座標系は、上段に表された物体ＯＢＪの位置および姿勢に対応するＣＧ空間内での収束値ＣＣを表している。
【００６２】
図１２に示す例は、回転角０°、３０°、６０°、９０°の各姿勢から非線形最小化法により求めた各収束値ＣＣがほぼ同じ値であることを表している。このことは、０°、３０°、６０°、９０°での第２画像Ｇｂと第１画像Ｇａとのパターンマッチングにより得られる物体ＯＢＪの収束位置および収束姿勢が概ね同じになることを意味している。また、同図の例では、回転角０°、３０°、６０°、９０°の各姿勢から求めた収束値ＣＣはグループＧＲＡに分類されている。同様に、回転角１８０°、…、３３０°の各姿勢から求めた収束値ＣＣはほぼ同じ値であり、これらの収束値ＣＣはグループＧＲＤに分類されている。また、回転角１２０°の姿勢から求めた収束値ＣＣと近似する他の収束値ＣＣは存在しないので、回転角１２０°の姿勢から求めた収束値ＣＣは単独でグループＧＲＢに分類されている。更に、回転角１５０°の姿勢から求めた収束値ＣＣについても近似する他の収束値ＣＣは存在しないので、回転角１５０°の姿勢から求めた収束値ＣＣは単独でグループＧＲＣに分類されている。
なお、クラスタリングの手法としては、例えば、６次元空間上での距離が或る閾値以下のものを同一グループに分類する手法、或いはＮｅａｒｅｓｔＮｅｉｇｈｂｏｒ法や重心法等の手法を用いることができる。
【００６３】
また、グルーピング部３１３３は、グループＧＲＡ〜ＧＲＤにグループ化した収束値ＣＣ（加算結果）により示される物体ＯＢＪの収束値ＣＣ（収束位置および収束姿勢）の代表値ＣＤを演算する。例えば、グルーピング部３１３３は、グループＧＲＡに分類された４個の収束値ＣＣ、即ち回転角０°、３０°、６０°、９０°の各姿勢から求めた４個の収束値ＣＣの平均値を、各収束値ＣＣの成分毎に計算する。具体的には、グルーピング部３１３３は、回転角０°の姿勢から求めた収束値ＣＣにより表される収束位置のｘ成分と、回転角３０°の姿勢から求めた収束値ＣＣにより表される収束位置のｘ成分と、回転角６０°の姿勢から求めた収束値ＣＣにより表される収束位置のｘ成分と、回転角９０°の姿勢から求めた収束値ＣＣにより表される収束位置のｘ成分との平均値を算出する。他の成分についても同様である。このようにして求めた収束値ＣＣの平均値は、グループＧＲＡに分類された収束値ＣＣの代表値ＣＤとされる。グルーピング部３１３３は、他のグループについても同様に代表値ＣＤを演算する。
【００６４】
続いて、ステップＳ３Ｄにおいて、レンダリング部３１３４は、グルーピング部３１３３によりグループ化された収束値ＣＣ（加算結果）により示される物体ＯＢＪの位置および姿勢を表す第３画像Ｇｃをレンダリングする。即ち、レンダリング部３１３４は、グループ毎に、グルーピング部３１３３により計算された代表値ＣＤで示される物体ＯＢＪの位置および姿勢を表すＣＧ画像を第３画像Ｇｃとしてレンダリングする。本実施形態では、グループＧＲＡ〜ＧＲＤの４グループが存在するので、４枚の第３画像Ｇｃがレンダリングされる。
【００６５】
続いて、ステップＳ３Ｅにおいて、評価値演算部３１３５は、レンダリング部３１３４によりレンダリングされた第３画像Ｇｃと、第１画像生成部３１１により生成された第１画像Ｇａとの２枚の画像間の相関を示す評価値Ｅを演算する。本実施形態では、評価値Ｅとして、各グループについて得られた第３画像Ｇｃと第１画像Ｇａとの２枚の画像の画素毎の各画素の階調差の二乗和をグループ毎に演算する。具体的には、グループＧＲＡについてレンダリング部３１３４によりレンダリングされた第３画像Ｇｃと第１画像Ｇａとの階調差の二乗和をグループＧＲＡの評価値Ｅとして演算する。他のグループＧＲＢ〜ＧＲＤについても同様に評価値Ｅを演算する。このように、２枚の画像の階調差の二乗和を評価値Ｅとして演算した場合、評価値Ｅが小さい程、２枚の画像の相関が高いことを意味する。
【００６６】
図１３は、上述のグループＧＲＡ〜ＧＲＤのそれぞれについて、評価値演算部３１３５により演算された評価値Ｅの一例を示す図である。同図に示す例では、グループＧＲＡについて演算された評価値Ｅが最も小さく、他のグループＧＲＢ〜ＧＲＤについて演算された評価値Ｅは、グループＧＲＡについて演算された評価値Ｅよりも大きくなっている。このことから、グループＧＲＡについて得られた第３画像Ｇｃと第１画像Ｇａとの相関が最も高く、このグループＧＲＡについて得られた第３画像Ｇｃに比較して、他のグループＧＲＢ〜ＧＲＤについて得られた第３画像Ｇｃと第１画像Ｇａとの相関が低いことが把握される。このことは、グループＧＲＡについて得られた第３画像Ｇｃが、他のグループＧＲＢ〜ＧＲＤについて得られた第３画像Ｇｃに比較して、第１画像Ｇａに表された物体の位置および姿勢を最も精度よく表していることを意味する。従って、複数のグループＧＲＡ〜ＧＲＤのうちの一つのグループについて演算された評価値Ｅが唯一最小である場合には、上述の第１画像Ｇａを教示画像Ｇとして採用しても、ある程度の精度で、この教示画像Ｇに表された物体の位置および姿勢を検出することは可能である。
【００６７】
しかしながら、グループＧＲＡについて演算された評価値Ｅが唯一最小であるとしても、他のグループＧＲＢ〜ＧＲＤについて演算された評価値Ｅと近似した値であれば、グループＧＲＡについて得られた第３画像Ｇｃが、第１画像Ｇａに表された物体の位置および姿勢を精度よく表しているとは必ずしも言えない可能性がある。そこで、次のステップＳ４において説明するように、判定部３１４により、上述の評価値Ｅから、教示画像Ｇとしての第１画像Ｇａの適格性を判定する。
【００６８】
ステップＳ４において、判定部３１４は、上述の評価値演算部３１３により演算された評価値Ｅが所定条件を満たしているか否かを判定することにより、教示画像Ｇとしての第１画像Ｇａの適格性を判定し、その判定結果Ｑを出力する。本実施形態では、上記の所定条件は、評価値演算部３１３により各グループについて演算された評価値Ｅのうち、第１画像Ｇａと第３画像Ｇｃとの間の最大の相関を示す評価値Ｅと、その他の評価値Ｅとの差が所定値ＶＴ以上であることとする。ここで、例えば、或るグループについて得られた第３画像Ｇｃと第１画像Ｇａの各画素の階調値が「０」または「１」で表現される二値化された画像であれば、上記所定値ＶＴは、画像における物体を表す総画素数の１割の値に設定することができる。ただし、上記の所定条件における所定値ＶＴは、上記の例に限定されず、第１画像Ｇａと第３画像Ｇｃとの間の最大の相関を示す評価値Ｅと、その他の評価値Ｅとの差評価値Ｅの差が有意であることを判定することができる限度において、どのように設定してもよい。
【００６９】
ここで、上記の所定条件において、所定値ＶＴとして画素数を採用することができることの理由を補足する。第３画像Ｇｃと第１画像Ｇａの個々の画素の階調値が「０」または「１」の値に二値化されていれば、これら２枚の画像の対応する２つの画素に着目すると、その階調差の二乗値は０または１になる。即ち、２枚の画像の或る画素の階調値が同じであれば、その画像の階調差の二乗値は０になり、また、２枚の画像の或る画素の階調値が異なれば、その画像の階調差の二乗値は１になる。この場合、階調差の二乗値の総和は、２枚の画像を重ね合わせた場合に階調値が異なる画素の個数に相当する。従って、上記の所定条件において、階調差の二乗値の総和で表される評価値Ｅの差と比較すべき所定値ＶＴとして画素数を採用することが可能になる。ただし、この例に限定されず、最大の相関を示す評価値Ｅと、その他の評価値Ｅとの差が有意であるかどうかを判定することができる限度において、上記所定値ＶＴをどのように定義してもよい。
【００７０】
上述のステップＳ４において、判定結果Ｑが肯定的であれば（ステップＳ４；ＹＥＳ）、即ち評価値Ｅが所定条件を満たせば、ステップ５において、画像出力部３１５は、第１画像生成部３１１により生成された第１画像Ｇａを教示画像Ｇとして出力する。このようにして得られた教示画像Ｇをビジュアルサーボ制御において用いることにより、教示点での物体ＯＢＪの位置および姿勢を精度よく検出することが可能になる。即ち、第１画像Ｇａに対応する第３画像Ｇｃの評価値が他の第３画像Ｇｃよりも高い適格性を示す場合、この第１画像Ｇａに対応する第３画像Ｇｃは、教示画像Ｇに表された物体ＯＢＪの姿勢を適切に表していると考えることができる。従ってこの場合、上記第１画像Ｇａを教示画像Ｇとして用いることにより、物体ＯＢＪの位置および姿勢を精度よく検出することが可能になる。
【００７１】
また、上述のステップＳ４において、判定結果が否定的であれば（ステップＳ４；ＮＯ）、即ち評価値Ｅが所定条件を満たさなければ、画像出力部３１５は、第１画像生成部３１１により生成された第１画像Ｇａを教示画像Ｇとして採用せずに破棄する。この場合、例えば、図１１に示す物体ＯＢＪの回転軸Ｊを変更して、上述と同様のステップを繰り返すことにより、上記の所定条件を満たす評価値Ｅが得られるような第１画像Ｇａを探索してもよい。
【００７２】
（物体搬送処理）
次に、上述のように画像生成部３１により生成された教示画像を用いたビジュアルサーボ制御による物体搬送処理を説明する。
ロボット装置１によるビジュアルサーボ制御は、上述の教示画像生成部３１により生成された教示画像を用いる点を除けば、従来のビジュアルサーボ制御と同様である。ここでは、一例として、上述の図７の地点Ｐ１での教示画像Ｇ１（図示なし）を目標画像として、始点Ｐ０から地点Ｐ１まで物体ＯＢＪを搬送する過程を説明する。ここで、教示画像Ｇ１は、上述の教示画像生成部３１により生成された地点Ｐ１での教示画像Ｇであり、記憶部３２に予め記憶されている。なお、地点Ｐ２〜Ｐ５での教示画像Ｇ２〜Ｇ５（図示なし）も教示画像生成部３１により生成されて記憶部３２に記憶されている。
【００７３】
概略的には、ロボット装置１によるビジュアルサーボ制御は、撮像部２０により時々刻々と得られる実画像Ｐ（フレーム画像）と記憶部３２に予め記憶された教示画像Ｇ１〜Ｇ５とから、図３に示す情報処理部３０を構成する制御情報生成部３３がフレーム画像のフレームレートに相当する一定周期で制御情報Ｃを生成し、この制御情報Ｃに基づいてロボット制御部４０がロボット本体１０の動作をフィードバック制御することにより実施される。
【００７４】
具体的に説明すると、本実施形態において、撮像部２０は、３０フレーム／秒のフレームレートで、物体ＯＢＪが位置する始点Ｐ０から地点Ｐ５を含む所定範囲を撮像する。このフレーム画像は、撮像部２０からフレームレートに相当する約３３ミリ秒毎に情報処理部３０の制御情報生成部３３に供給される。
【００７５】
制御情報生成部３３は、記憶部３２から最初に地点Ｐ１での教示画像Ｇ１を読み出す。そして、制御情報生成部３３は、教示画像Ｇ１と現在のフレーム画像との差分を演算する。そして、制御情報生成部３３は、この差分が小さくなるような物体ＯＢＪの搬送量を演算し、この搬送量に相当するロボット本体１０の動作量、即ち例えばハンド部１０ｂの回動量を指令するための制御情報Ｃを生成する。
【００７６】
制御情報生成部３３は、撮像部２０から新たなフレーム画像が供給される都度、新たに制御情報Ｃを生成し直し、この制御情報Ｃをロボット制御部４０に逐次供給する。本実施形態では、撮像部２０は、３０フレーム／秒のフレームレートのフレーム画像を制御情報生成部３３に供給するので、制御情報生成部３３は約３３ミリ秒ごとに制御情報Ｃを生成する。この制御情報Ｃはロボット制御部４０に供給される。
【００７７】
ロボット制御部４０は、制御情報生成部３３から逐次供給される制御情報Ｃで指定されるロボット本体１０の動作量に応じて、ロボット本体１０の各部を制御する。これにより、ロボット本体１０に保持された物体ＯＢＪが始点Ｐ０から地点Ｐ１に向けて搬送される。地点Ｐ１〜Ｐ５の区間の搬送動作についても、教示画像Ｇ２〜Ｇ５を用いる点を除けば同様に説明される。
【００７８】
上述した本実施形態によれば、実画像Ｐから得られる第１画像Ｇａに表される物体ＯＢＪの姿勢を基準として異なる複数の姿勢を表す第２画像Ｇｂを生成し、第１画像Ｇａと第２画像Ｇｂの各画像の階調差を最小にする非線形最小化問題を解くことで、これら第１画像Ｇａと第２画像Ｇｂとの差分を取得し、この差分を第２画像Ｇｂに加算して第３画像Ｇｃを生成し、この第３画像Ｇｃと第１画像Ｇａとの相関を表す評価値Ｅが所定条件を満たす場合に第１画像Ｇａを教示画像Ｇとして取得するようにしたので、この教示画像Ｇに表される物体ＯＢＪの位置および姿勢を精度よく検出することができ、教示画像Ｇとして適切な画像を設定することが可能になる。
【００７９】
また、本実施形態によれば、非線形最小化問題を解くことで得られる収束値ＣＣをグルーピングし、各グループの収束値ＣＣ（代表値ＣＤ）の差に基づいて教示画像Ｇとしての第１画像Ｇａの適格性を判定するようにしたので、第１画像Ｇａの適格性を適切に判定することが可能になる。ここで、本発明は、教示画像中の対象物（物体）の位置および姿勢を精度よく検出することを目的としているが、このことは、対象物の誤認を低減することを意味している。通常、教示画像の誤認が生じやすい環境では、上記の非線形最小化問題の解が正しいとは限らず、誤差が生じる。このため、本実施形態では、収束値ＣＣを、その誤差の程度に応じた複数のグループに分け、この複数のグループ間の収束値ＣＣの差が有意かどうかを評価することにより、上述の非線形化問題の解を推定している。ここで、特定のグループの収束値ＣＣと他のグループの収束値ＣＣとの間に有意な差が存在すれば、上記特定のグループの収束値ＣＣが非線形化問題の正解である確率が、他のグループに比較して高くなる。この場合、上記特定のグループの収束値ＣＣから得られた第３画像Ｇｃが第１画像Ｇａと一致または近似する確率が高くなり、この第１画像Ｇａに対応する第３画像Ｇｃを他の第３画像Ｇｃから区別できる確率が高くなる。従って、この場合の第１画像Ｇａを教示画像Ｇとして用いれば、この教示画像Ｇが誤認される確率が小さくなり、誤認が生じやすい環境下においても教示画像中の対象物の位置および姿勢を精度よく検出することが可能になる。
【００８０】
これに対し、上記特定のグループの収束値ＣＣと他のグループの収束値ＣＣとの間に有意な差が存在しなければ、上記特定のグループの収束値ＣＣが非線形化問題の正解である確率が低くなる。このため、第１画像Ｇａを教示画像Ｇとして用いれば、その教示画像Ｇが誤認される確率が高くなり、教示画像中の対象物の位置および姿勢を精度よく検出することができなくなる。従って、この場合、適格性を有する第１画像Ｇａが見つかるまで、対象物の位置および姿勢を変更して新たに第１画像Ｇａを取得し直し、その適格性の判定を繰り返せばよい。
【００８１】
なお、上述の実施形態では、教示画像生成部３１をロボット装置１の構成要素としたが、これを画像生成装置として別体に構成してもよい。この場合の画像生成装置は、ビジュアルサーボ制御に基づいて作動するロボット装置が物体を目標地点まで搬送する場合に目標とする教示画像を生成する画像生成装置であって、上述の第１画像生成部３１１と、第２画像生成部３１２と、評価値生成部３１３と、判定部３１４と、画像出力部３１５とを備えた画像生成装置として構成される。
【００８２】
また、上述の実施形態による教示画像生成部３１の処理手順を画像生成方法として表現することもできる。この場合の画像生成方法は、ビジュアルサーボ制御に基づいて作動するロボット装置が物体を目標地点まで搬送する場合に目標とする教示画像を生成する画像生成方法であって、上述のステップＳ１〜Ｓ５を含む画像生成方法として構成される。
【００８３】
また、上述の実施形態による教示画像生成部３１の処理手順を画像生成プログラムとして表現することもできる。この場合の画像生成プログラムは、コンピューターを、上述の第１画像生成部３１１と、第２画像生成部３１２と、評価値生成部３１３と、判定部３１４と、画像出力部３１５として機能させるための画像生成プログラムとして構成される。
【００８４】
また、上述の実施形態による教示画像生成部３１を構成する第１画像生成部３１１と、第２画像生成部３１２と、評価値取得部３１３と、判定部３１４とを、教示画像の適格性を判定するための画像判定装置として構成してもよい。また、上記画像判定装置における処理手順を、教示画像の適格性を判定するための画像判定方法、または、コンピューターに実行させるための画像判定プログラムとして表現することもできる。
【００８５】
以上、本発明の実施形態を説明したが、本発明は上述の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で、種々の変形が可能である。
図１４は、上述の本実施形態によるロボット本体１０の変形例を模式的に表す図である。この変形例によるロボット本体１１は、台座１１ａと、台座１１ａに旋回可能に固定された支持台１１ｂと、旋回可能および屈伸可能に支持台１１ｂに連結された二つのアーム部１１ｃと、回動可能および首振り可能に各アーム部１１ｃに連結されたハンド部１１ｄと、各ハンド部１１ｄに取り付けられた把持部１１ｅとを含んで構成される。台座１１ａの下部には、ロボット本体１１を移動するための複数のホイールが取り付けられている。ロボット本体１１は、把持部１１ｅにより上述の物体ＯＢＪを把持した状態で保持する。例えば、前述の図１に示すロボット制御部４０を台座１１ａの内部に収納することにより、ロボット本体１１とロボット制御部４０を一体に構成してもよく、また、ロボット制御部４０とロボット本体１１とを別体に構成してもよい。この変形例においても、ロボット本体１１は、垂直多関節ロボットであり、その関節の軸数は任意である。
【符号の説明】
【００８６】
１…ロボット装置、１０，１１…ロボット本体、２０…撮像部、３０…情報処理部、３１…教示画像生成部、３２…記憶部、３３…制御情報生成部、４０…ロボット制御部、３１１…第１画像生成部、３１２…第２画像生成部、３１３…評価値取得部、３１４…判定部、３１５…画像出力部、３１３１…差分取得部、３１３２…加算部、３１３３…グルーピング部、３１３４…レンダリング部、３１３５…評価値演算部、Ｃ…制御情報、ＣＣ…収束値、ＣＤ…代表値、ＤＦ…差分、Ｅ…評価値、Ｇａ…第１画像、Ｇｂ…第２画像、Ｇｂｂ…中間画像、Ｇｃ…第３画像、ＧＲＡ〜ＧＲＤ…グループ、ＯＢＪ…物体、Ｐ…実画像、Ｐ０…始点（地点）、Ｐ１〜Ｐ５…地点、Ｑ…判定結果、Ｓ１，Ｓ２，Ｓ３，Ｓ３Ａ〜Ｓ３Ｅ，Ｓ４，Ｓ５…処理ステップ。
【図１】
2013158845.tif 000003
【図２】
2013158845.tif 000004
【図３】
2013158845.tif 000005
【図４】
2013158845.tif 000006
【図５】
2013158845.tif 000007
【図６】
2013158845.tif 000008
【図７】
2013158845.tif 000009
【図１０】
2013158845.tif 000010
【図１１】
2013158845.tif 000011
【図１２】
2013158845.tif 000012
【図１３】
2013158845.tif 000013
【図１４】
2013158845.tif 000014
【図８】
2013158845.tif 000015
【図９】
2013158845.tif 000016