(57)【要約】【課題】  撮像画像に目標位置の画像が含まれない場合であっても、目標位置へ物体を移動させることができるロボット、ロボットシステム、制御装置及び制御方法等の提供。【解決手段】  ロボット１０は、作業台に配置される第１物体を撮像部２００により撮像した撮像画像を受け付ける画像受付部１１０と、目標位置へ向けて第２物体を移動させるロボット１０を動作させる処理部１２０と、を含む。そして、処理部１２０は、撮像画像に目標位置の画像が含まれない場合に、ロボット１０に第１物体の位置姿勢を変更させる。【選択図】  図１
2015182186.tif 000002
【特許請求の範囲】
【請求項１】
作業台に配置される第１物体を撮像部により撮像した撮像画像を受け付ける画像受付部と、
目標位置へ向けて第２物体を移動させるロボットを動作させる処理部と、
を含み、
前記処理部は、
前記撮像画像に前記目標位置の画像が含まれない場合に、前記ロボットに前記第１物体の位置姿勢を変更させることを特徴とするロボット。
【請求項２】
請求項１において、
前記処理部は、
前記位置姿勢が変更された前記第１物体を複数回撮像した前記撮像画像を用いて、前記ロボットを動作させることを特徴とするロボット。
【請求項３】
請求項１又は２において、
前記目標位置は、
前記第１物体に前記第２物体を組み付ける前記第１物体上の組み付け位置であることを特徴とするロボット。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記画像受付部は、
前記第１物体及び前記第２物体のうち、少なくとも前記第１物体が映る前記撮像画像を受け付け、
前記処理部は、
前記撮像画像に基づいて、前記第１物体の特徴量検出処理を行い、前記第１物体の特徴量に基づいて、前記ロボットに前記第２物体を移動させることを特徴とするロボット。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記画像受付部は、
前記撮像部とは異なる第２の撮像部により前記第１物体を撮像した第２の撮像画像を受け付け、
前記処理部は、
前記第２の撮像画像に基づいて、前記ロボットに前記第１物体の前記位置姿勢を変更させることを特徴とするロボット。
【請求項６】
請求項５において、
前記処理部は、
前記撮像部に対する前記第１物体の前記位置姿勢が、所与の位置姿勢でない場合に、前記第２の撮像画像に基づいて、前記ロボットに前記第１物体の前記位置姿勢を変更させることを特徴とするロボット。
【請求項７】
請求項５又は６において、
前記第２の撮像部は、
前記ロボットの頭部カメラ又はハンドアイカメラであることを特徴とするロボット。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記処理部は、
前記ロボットのアームにより前記第１物体を把持して、前記作業台の所与の位置に設置させ、
前記画像受付部は、
前記所与の位置に設置後の前記第１物体を前記撮像部により撮像した前記撮像画像を受け付け、
前記処理部は、
前記目標位置の画像又は前記第１物体の作業面の画像が、前記撮像画像に含まれない場合に、前記ロボットに前記第１物体の前記位置姿勢を変更させることを特徴とするロボット。
【請求項９】
アームを有するロボット機構と、
作業台に配置される第１物体を撮像する撮像部と、
前記撮像部により撮像した撮像画像を受け付ける画像受付部と、
目標位置へ向けて第２物体を移動させるロボットを動作させる処理部と、
を含み、
前記処理部は、
前記撮像画像に前記目標位置の画像が含まれない場合に、前記ロボットに前記第１物体の位置姿勢を変更させることを特徴とするロボットシステム。
【請求項１０】
作業台に配置される第１物体を撮像部により撮像した撮像画像を受け付ける画像受付部と、
目標位置へ向けて第２物体を移動させるロボットを動作させる処理部と、
を含み、
前記処理部は、
前記撮像画像に前記目標位置の画像が含まれない場合に、前記ロボットに前記第１物体の位置姿勢を変更させることを特徴とする制御装置。
【請求項１１】
作業台に配置される第１物体を撮像した撮像画像を受け付け、
第２物体の目標位置の画像が前記撮像画像に含まれない場合に、ロボットに前記第１物体の位置姿勢を変更させ、
前記ロボットに前記第２物体を前記目標位置へ向けて移動させることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、ロボットシステム、制御装置及び制御方法等に関係する。
【背景技術】
【０００２】
近年、生産現場において、人が行っていた作業を機械化・自動化するために、産業用ロボットを導入することが多くなってきた。しかし、ロボットの位置決めを行うにあたっては、精密なキャリブレーションが前提となり、ロボット導入の障壁となっている。
【０００３】
ここで、ロボットの位置決めを行う手法の一つとしてビジュアルサーボがある。従来のビジュアルサーボは、参照画像（ゴール画像、目標画像）と撮像画像（現在の画像）との差に基づいて、ロボットをフィードバック制御する技術である。ある種のビジュアルサーボは、キャリブレーションに精密さを求めない点で有用であり、ロボット導入障壁を下げる技術として注目されている。
【０００４】
このビジュアルサーボに関する技術としては、例えば特許文献１に記載される従来技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１４３４９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば、ビジュアルサーボ等によりロボットに行わせる作業の一つとして、被組付け対象物（第１物体）に組付け対象物（第２物体）を組み付ける組付け作業がある。ビジュアルサーボにより組付け作業を行う場合には、撮像部により撮像された撮像画像に基づいて、被組付け対象物上の目標位置を特定し、特定した目標位置に向かって、組付け対象物を移動させる。
【０００７】
しかし、様々な事情により、撮像画像に被組付け対象物上の目標位置が映っていないことがある。例えば、組付け作業を行う前には、被組付け対象物を所与の設置位置に設置させる作業をロボットに行わせるが、被組付け対象物を設置した後に、被組付け対象物が転がるなどして、所与の設置位置からずれてしまうことがある。このような事態は、特に被組付け対象物が極小の部品である場合などに起こり得る。
【０００８】
また他にも、被組付け対象物を所与の設置位置に設置する際に、被組付け対象物をロボットが正しく把持できていなかったり、撮像部の設置位置や設定等に誤りがあったりして、そもそも被組付け対象物を所与の設置位置に正しく設置できていない場合がある。
【０００９】
以上のような場合には、撮像画像に目標位置が映っていない事態が起こり得る。そして、撮像画像に目標位置が映っていない場合には、ビジュアルサーボ等により、組付け作業を行うことができなかった。
【課題を解決するための手段】
【００１０】
本発明の一態様は、作業台に配置される第１物体を撮像部により撮像した撮像画像を受け付ける画像受付部と、目標位置へ向けて第２物体を移動させるロボットを動作させる処理部と、を含み、前記処理部は、前記撮像画像に前記目標位置の画像が含まれない場合に、前記ロボットに前記第１物体の位置姿勢を変更させるロボットに関係する。
【００１１】
本発明の一態様では、画像受付部が、作業台に配置される第１物体を撮像した撮像画像を受け付ける。そして、処理部が、第２物体の目標位置の画像が撮像画像に含まれない場合に、ロボットに第１物体の位置姿勢を変更させて、目標位置の画像が撮像画像に含まれるようにして、ロボットに第２物体を目標位置へ向けて移動させる。
【００１２】
よって、撮像画像に目標位置の画像が含まれない場合であっても、目標位置へ物体（第２物体）を移動させること等が可能となる。
【００１３】
また、本発明の一態様では、前記処理部は、前記位置姿勢が変更された前記第１物体を複数回撮像した前記撮像画像を用いて、前記ロボットを動作させてもよい。
【００１４】
これにより、複数の撮像画像に基づいて、第１物体上の目標位置を特定し、特定した目標位置へ第２物体を移動させること等が可能となる。
【００１５】
また、本発明の一態様では、前記目標位置は、前記第１物体に前記第２物体を組み付ける前記第１物体上の組み付け位置であってもよい。
【００１６】
これにより、第１物体の位置姿勢を変更することで、第１物体上に位置する第２物体の目標位置が撮像画像に映るようにすること等が可能となる。
【００１７】
また、本発明の一態様では、前記画像受付部は、前記第１物体及び前記第２物体のうち、少なくとも前記第１物体が映る前記撮像画像を受け付け、前記処理部は、前記撮像画像に基づいて、前記第１物体の特徴量検出処理を行い、前記第１物体の特徴量に基づいて、前記ロボットに前記第２物体を移動させてもよい。
【００１８】
これにより、参照画像を準備しなくても、第１物体と第２物体の組付け作業を行うこと等が可能となる。また、第１物体上の目標位置が撮像画像には映っているが、組付け作業を行う度に、目標位置がずれてしまう場合であっても、第２物体を第１物体に正確に組付けること等が可能になる。
【００１９】
また、本発明の一態様では、前記画像受付部は、前記撮像部とは異なる第２の撮像部により前記第１物体を撮像した第２の撮像画像を受け付け、前記処理部は、前記第２の撮像画像に基づいて、前記ロボットに前記第１物体の前記位置姿勢を変更させてもよい。
【００２０】
これにより、現在の第１物体の位置姿勢を特定した上で、第１物体の位置姿勢を変更すること等が可能となる。そのため、例えば第１物体の把持を失敗したり、第１物体を逆向きに把持したりすることを抑制すること等が可能になる。
【００２１】
また、本発明の一態様では、前記処理部は、前記撮像部に対する前記第１物体の前記位置姿勢が、所与の位置姿勢でない場合に、前記第２の撮像画像に基づいて、前記ロボットに前記第１物体の前記位置姿勢を変更させてもよい。
【００２２】
これにより、第１物体の位置姿勢が正しい場合に、第１物体を再度設置するといった無駄な処理を行わないようにすること等が可能になる。
【００２３】
また、本発明の一態様では、前記第２の撮像部は、前記ロボットの頭部カメラ又はハンドアイカメラであってもよい。
【００２４】
これにより、作業台や天井に設置するよりも、撮像範囲（又は撮像方向）を変更する際の自由度が高くなり、柔軟に撮像範囲等を変更することが可能になる。
【００２５】
また、本発明の一態様では、前記処理部は、前記ロボットのアームにより前記第１物体を把持して、前記作業台の所与の位置に設置させ、前記画像受付部は、前記所与の位置に設置後の前記第１物体を前記撮像部により撮像した前記撮像画像を受け付け、前記処理部は、前記目標位置の画像又は前記第１物体の作業面の画像が、前記撮像画像に含まれない場合に、前記ロボットに前記第１物体の前記位置姿勢を変更させてもよい。
【００２６】
これにより、ロボットに、第１物体を所与の位置に設置させた後に、第１物体上の目標位置が撮像画像に映らなくなった時に、ロボットに、第１物体を所与の位置に再設置させること等が可能となる。
【００２７】
また、本発明の他の態様は、アームを有するロボット機構と、作業台に配置される第１物体を撮像する撮像部と、前記撮像部により撮像した撮像画像を受け付ける画像受付部と、目標位置へ向けて第２物体を移動させるロボットを動作させる処理部と、を含み、前記処理部は、前記撮像画像に前記目標位置の画像が含まれない場合に、前記ロボットに前記第１物体の位置姿勢を変更させるロボットシステムに関係する。
【００２８】
また、本発明の他の態様は、作業台に配置される第１物体を撮像部により撮像した撮像画像を受け付ける画像受付部と、目標位置へ向けて第２物体を移動させるロボットを動作させる処理部と、を含み、前記処理部は、前記撮像画像に前記目標位置の画像が含まれない場合に、前記ロボットに前記第１物体の位置姿勢を変更させる制御装置に関係する。
【００２９】
また、本発明の他の態様は、作業台に配置される第１物体を撮像した撮像画像を受け付け、第２物体の目標位置の画像が前記撮像画像に含まれない場合に、ロボットに前記第１物体の位置姿勢を変更させ、前記ロボットに前記第２物体を前記目標位置へ向けて移動させる制御方法に関係する。
【００３０】
本発明の幾つかの態様によれば、撮像画像に目標位置の画像が含まれない場合であっても、目標位置へ物体を移動させることができるロボット、ロボットシステム、制御装置及び制御方法等を提供することができる。
【図面の簡単な説明】
【００３１】
【図１】本実施形態のシステム構成例。
【図２】図２（Ａ）〜図２（Ｃ）は、組付け作業と撮像画像の説明図。
【図３】図３（Ａ）〜図３（Ｃ）は、目標位置が撮像画像に映っていない例の説明図。
【図４】図４（Ａ）〜図４（Ｃ）は、目標位置が撮像画像に映っていない他の例の説明図。
【図５】図５（Ａ）、図５（Ｂ）は、ロボットに第１物体を再設置させる処理の説明図。
【図６】本実施形態の処理の流れを説明するフローチャート。
【図７】ビジュアルサーボによる組付け作業の説明図。
【図８】図８（Ａ）、図８（Ｂ）は、被組付け対象物の位置ずれの説明図。
【図９】被組付け対象物の特徴量に基づくビジュアルサーボによる組付け作業の説明図。
【図１０】被組付け対象物の特徴量に基づくビジュアルサーボで用いる撮像画像の一例。
【図１１】組付け状態の説明図。
【図１２】被組付け対象物の特徴量に基づくビジュアルサーボのフローチャート。
【図１３】被組付け対象物の特徴量に基づくビジュアルサーボの他のフローチャート。
【図１４】被組付け対象物の真上に組付け対象物を移動させる処理の説明図。
【図１５】図１５（Ａ）、図１５（Ｂ）は、ロボットの構成例。
【図１６】ネットワークを介してロボットを制御するロボット制御システムの構成例。
【発明を実施するための形態】
【００３２】
以下、本実施形態について説明する。なお、以下で説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。さらに、以下の説明では、主にビジュアルサーボを行う場合について説明するが、本発明で行うロボット制御は、ビジュアルサーボに限定されない。
【００３３】
１．システム構成例
本実施形態のロボット１０及びロボット１０を含むロボットシステムの構成例を図１に示す。本実施形態のロボット１０は、制御部（制御装置）１００と、ロボット機構３００とを含む。そして、制御部１００は、画像受付部１１０と、処理部１２０と、を含む。また、ロボット機構３００は、エンドエフェクター（ハンド）３１０と、アーム３２０と、を有する。なお、ロボット機構３００の詳細な構成については詳述する。
【００３４】
画像受付部１１０は、作業台に配置される第１物体を撮像部２００により撮像した撮像画像を受け付ける。また後述するように、画像受付部１１０は、第２の撮像部２５０により撮像された第２の撮像画像を受け付けても良い。
【００３５】
そして、処理部１２０は、目標位置へ向けて第２物体を移動させるロボット１０（ロボット機構３００）を動作させる。処理部１２０（制御部１００）の機能は、各種プロセッサー（ＣＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムなどにより実現できる。
【００３６】
なお、ロボット１０は、図１の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加したりするなどの種々の変形実施が可能である。また、本実施形態のロボット１０は、後述する図１５（Ｂ）に示すように、ロボット機構３００と制御装置１００とが一体に構成されていてもよいし、後述する図１５（Ａ）に示すように、ロボット機構３００と制御装置１００とが別体に構成されていてもよい。さらに、後述する図１６に示すように、ロボット１０の制御装置１００の機能は、サーバー５００と、各ロボット機構３００が有する端末装置３３０とにより実現されてもよい。
【００３７】
また、例えばロボット１０と撮像部２００（又は第２の撮像部２５０）が、有線及び無線の少なくとも一方を含むネットワークにより接続されている場合には、画像受付部１１０は、撮像部２００（又は第２の撮像部２５０）と通信を行う通信部（インターフェース部）であってもよい。さらに、ロボット１０が撮像部２００（又は第２の撮像部２５０）を含む場合には、画像受付部１１０は、撮像部２００（又は第２の撮像部２５０）そのものであってもよい。
【００３８】
また、以上の本実施形態で用いる撮像部（カメラ）２００及び第２の撮像部２５０は、例えばＣＣＤ（charge-coupled device）等の撮像素子と光学系とを含む。撮像部２００は、例えば天井や作業台の上などに、ビジュアルサーボ等における検出対象（組付け対象物、被組付け対象物又はロボット機構３００のエンドエフェクター３１０等）が、撮像部２００の画角内に入るような角度で配置される。そして、撮像部２００は、撮像画像の情報をロボット１０等に出力する。ただし、本実施形態においては、撮像画像の情報をそのままロボット１０に出力するものとするが、これに限定されるものではない。例えば、撮像部２００は、画像処理用等に用いられるデバイス（プロセッサー）を含むことができる。
【００３９】
ここで、撮像画像とは、撮像部２００によって撮像することにより得られる画像のことをいう。また、撮像画像は、外部の記憶部に記憶された画像や、ネットワークを介して取得される画像であってもよい。撮像画像は、例えば後述する図２（Ｂ）に示す画像ＰＩＭ１などである。なお、本実施形態の処理を行うにあたって、撮像画像には、第１物体と第２物体のうち、少なくとも第１物体が映っている必要があるが、第１物体の他にも、第２物体やロボットの各部等が映っていても良い。
【００４０】
２．本実施形態の手法
本実施形態では、例えば図２（Ａ）〜図２（Ｃ）に示すように、ビジュアルサーボ等により、被組付け対象物（第１物体）に組付け対象物（第２物体）を組付ける組付け作業をロボットに行わせる。組付け作業とは、複数の作業対象物（物体）を組み付ける作業のことである。
【００４１】
ここで、被組付け対象物とは、組付け作業において、組付け対象物を組み付けられる物である。以下では組付け対象物のことを第１物体とも呼ぶ。被組付け対象物は、例えば後述する図２（Ａ）の例では、ナットＷＫ２である。
【００４２】
一方、組付け対象物とは、組付け作業において、被組付け対象物に対して組み付けを行う物である。以下では組付け対象物のことを第２物体とも呼ぶ。組付け対象物は、例えば後述する図２（Ａ）の例では、ボルトＷＫ１である。
【００４３】
具体例として、作業台の上に設置されたナットＷＫ２に、ボルトＷＫ１を組み付ける組付け作業の例を、図２（Ａ）〜図２（Ｃ）に示す。図２（Ａ）の例では、ロボットのアームＡＭの先端に、エンドエフェクターとしてドライバーＥＦが取り付けられており、このドライバーＥＦが磁力によりボルトＷＫ１を吸着している。そして、ナットＷＫ２の開口部ＧＰを目標位置として、矢印ＹＪで示すようにロボットがボルトＷＫ１を移動させて、作業台の上に置かれたナットＷＫ２の開口部ＧＰにボルトＷＫ１を差し込む。つまり、ボルトＷＫ１がＷＫ１Ｒの点線で示す位置姿勢になるように、ロボットがボルトＷＫ１を移動させる。
【００４４】
ここで、図２（Ａ）の例では、作業台の上に前述した撮像部２００としてカメラＣＭ１を設置している。そして、カメラＣＭ１により撮像された撮像画像ＰＩＭ１の一例を、図２（Ｂ）に示す。
【００４５】
また、図２（Ａ）の例では、ロボット１０に、前述した第２の撮像部２５０として頭部カメラＣＭ２が設置されている。そして、頭部カメラＣＭ２により、図２（Ｃ）に示すような第２の撮像画像ＰＩＭ２が得られる。頭部カメラＣＭ２は、第２の撮像画像ＰＩＭ２に作業台の全領域が映るように、撮像方向が調整されて設置されている。なお、第２の撮像画像ＰＩＭ２の使用方法については後述する。また、図２（Ａ）では、簡略化のため、ロボットの頭部や胴体部等を省略して図示しているが、頭部カメラＣＭ２は、ロボットの頭部に設置されているものとする。
【００４６】
本実施形態では、図２（Ａ）を用いて前述した組付け作業を、カメラＣＭ１により撮像された撮像画像ＰＩＭ１に基づいて行う。図２（Ｂ）の撮像画像ＰＩＭ１には、ボルトＷＫ１を移動させる際の目標位置ＧＰ（ナットＷＫ２の開口部）が映っている。そして、処理部１２０が撮像画像ＰＩＭ１に基づいて、目標位置ＧＰを特定し、特定した目標位置ＧＰへ向けてボルトＷＫ１を、ロボットにより移動させる。
【００４７】
しかし、前述したように、様々な事情により、撮像画像ＰＩＭ１にナットＷＫ２上の目標位置ＧＰが映っていないことがある。
【００４８】
例えば、組付け作業を行う前には、ナットＷＫ２を所与の設置位置に設置させる作業をロボットに行わせるが、図３（Ａ）〜図３（Ｃ）に示すように、ナットＷＫ２を設置した後に、ナットＷＫ２が転がるなどして、所与の設置位置からずれてしまうことがある。
【００４９】
図３（Ａ）の例では、ＷＫ２’の点線で示す所与の設置位置に、ナットＷＫ２を一度設置したものの、何らかの原因でナットＷＫ２が転がってしまい、図３（Ｂ）に示す撮像画像ＰＩＭ１にナットＷＫ２上の目標位置ＧＰが映っていない状態になっている。なお、この際にも、図３（Ｃ）の第２の撮像画像ＰＩＭ２には、転がったナットＷＫ２が映っている。
【００５０】
また他にも、ナットＷＫ２を所与の設置位置に設置する際に、ナットＷＫ２をロボットが正しく把持できていなかったり、カメラＣＭ１や頭部カメラＣＭ２の設置位置や設定等に誤りがあったりして、そもそもナットＷＫ２を所与の設置位置に正しく設置できていない場合がある。
【００５１】
例えば、図４（Ａ）〜図４（Ｃ）の例では、ナットＷＫ２が逆向きに置かれている。ここで、本例のナットＷＫ２は、片面に開口部ＧＰがあるが、逆の面（裏面）には開口部ＧＰがないものとする。そのため、図４（Ａ）の例では、ナットＷＫ２が所与の設置位置には置かれているものの、逆向きで置かれているため、図４（Ｂ）に示すように、ナットＷＫ２の開口部ＧＰが撮像画像ＰＩＭ１には映らない。また、図４（Ｃ）に示す第２の撮像画像ＰＩＭ２にも、ナットＷＫ２の開口部ＧＰは当然映っていない。
【００５２】
以上の図３（Ｂ）や図４（Ｂ）のように、撮像画像ＰＩＭ１に目標位置（開口部ＧＰ）が映っていない場合には、これまでのビジュアルサーボ等では、目標位置を特定することができないため、組付け作業を行うことができなかった。
【００５３】
そこで、本実施形態のロボット１０等は、撮像画像に目標位置が映っていない場合であっても、目標位置へ物体（組付け対象物）を移動させることを可能にする。
【００５４】
具体的には、本実施形態の処理部１２０は、撮像画像に目標位置の画像が含まれない場合に、ロボット１０に第１物体の位置姿勢を変更させる。つまり、本実施形態の処理部１２０は、ロボット１０に、第１物体を元の正しい設置位置に、正しい姿勢で設置し直させる。
【００５５】
ここで、目標位置は、第１物体に第２物体を組み付ける第１物体上の組み付け位置である。言い換えれば、目標位置は、ビジュアルサーボにより第１物体と第２物体の組付け作業を行うにあたり、第２物体を移動させる際に目標とする、第１物体上の所与の位置である。前述した図２（Ａ）の例では、目標位置は、ナットＷＫ２の開口部ＧＰである。
【００５６】
そして、ビジュアルサーボにより第１物体と第２物体の組付け作業を行う場合には、処理部１２０が、撮像画像に基づいて、目標位置を特定し、特定した目標位置に向けて、第２物体を移動させる。したがって、目標位置が特定できないと、第２物体を移動させることもできない。
【００５７】
前述してきたように、撮像画像に基づいて、目標位置が特定できない原因は、図３（Ａ）の例のように、第１物体が所与の位置からずれて設置されていたり、図４（Ａ）の例のように、逆向きに設置されていたりすること等である。そのため、第１物体上の目標位置が撮像画像に映るように、第１物体の位置姿勢を変更すればよい。これにより、撮像画像に基づいて、第１物体上の目標位置を特定すること等が可能になり、その結果、第２物体を目標位置に移動させることが可能になる。
【００５８】
その場合には、まず画像受付部１１０が、撮像部２００とは異なる第２の撮像部２５０により第１物体を撮像した第２の撮像画像を受け付ける。そして、処理部１２０は、第２の撮像画像に基づいて、ロボット１０に第１物体の位置姿勢を変更させる。
【００５９】
ここで、第２の撮像部２５０は、ロボット１０の頭部カメラ又はハンドアイカメラである。
【００６０】
第２の撮像画像は、ビジュアルサーボ等を行う際に直接参照される画像ではない。そのため、第２の撮像部２５０は、必ずしも第２物体やロボット１０のエンドエフェクター３１０等を映す必要はない（但しこれらを映してもよい）。よって、例えば第１物体が設置後に転がったり、誤って設置されたりする可能性のある領域を映すように、第２の撮像部２５０を設置すること等が可能になる。例えば、第２の撮像部２５０を、第１物体が設置された作業台の全領域を撮像可能なように設置しておく。この際には、作業台や天井に設置するよりも、ロボット１０の頭部やハンド３１０に設置した方が、撮像範囲（又は撮像方向）を変更する際の自由度が高くなり、柔軟に撮像範囲等を変更することが可能になる。よって、第１物体が設置された後に転がったり、作業台の誤った位置に設置されたりした場合でも、第１物体が映っている第２の撮像画像を取得すること等が可能になる。
【００６１】
そして、処理部１２０は、少なくとも第１物体の画像を含む第２の撮像画像に基づいて、ロボット１０に第１物体の位置姿勢を変更させる。
【００６２】
より具体的には、処理部１２０は、撮像部２００に対する第１物体の位置姿勢が、所与の位置姿勢でない場合に、第２の撮像画像に基づいて、ロボット１０に第１物体の位置姿勢を変更させる。
【００６３】
具体例を図５（Ａ）及び図５（Ｂ）を用いて説明する。図５（Ａ）及び図５（Ｂ）は、前述した第１物体（ナットＷＫ２）の位置姿勢が所与の位置姿勢でない図３（Ａ）〜図３（Ｃ）の例において、ナットＷＫ２の位置姿勢を変更する処理の様子を図示している。また、図５（Ａ）及び図５（Ｂ）の例では、ロボットは、第１のアームＡＭ１の他に、第２のアームＡＭ２を有している。
【００６４】
まず、前述した図３（Ｃ）に示す第２の撮像画像ＰＩＭ２から、ナットＷＫ２の現在の位置姿勢を特定する。そして、図５（Ａ）に示すように、特定したナットＷＫ２の位置姿勢に基づいて、ロボットのハンドＨＤにナットＷＫ２を把持させる。なお、ハンドＨＤは、エンドエフェクターとして、ロボットの第２のアームＡＭ２の先端に設けられている。
【００６５】
次に、図５（Ｂ）に示すように、ロボットのハンドＨＤで把持したナットＷＫ２を、元の設置位置ＷＫ２’に移動させる。この際には、ナットＷＫ２の開口部ＧＰが天井方向（作業台と逆方向）を向くように設置する。
【００６６】
このようにして、カメラＣＭ１によりナットＷＫ２の開口部ＧＰを撮像可能な状態にして、処理部１２０が、カメラＣＭ１から得られる撮像画像に基づいて、ナットＷＫ２の開口部ＧＰの位置を特定することを可能にする。ナットＷＫ２の開口部ＧＰの位置が特定できれば、ボルトＷＫ１を開口部ＧＰに向けて、移動させることも可能である。
【００６７】
これにより、撮像画像に目標位置の画像が含まれない場合であっても、目標位置へ物体を移動させること等が可能となる。
【００６８】
また、第２の撮像画像を受け付けることによって、第２の撮像画像に基づいて、現在の第１物体の位置姿勢を特定した上で、第１物体の位置姿勢を変更すること等が可能となる。これにより、第１物体の把持を失敗したり、逆向きに把持したりすることを抑制すること等が可能になる。そのため、再度、第１物体を所与の設置位置に設置する際に、誤った位置姿勢で設置することを抑制すること等が可能になる。
【００６９】
さらに、撮像部２００に対する第１物体の位置姿勢が、所与の位置姿勢でない場合に、第２の撮像画像に基づいて、ロボット１０に第１物体の位置姿勢を変更させることにより、第１物体の位置姿勢を変える必要がある場合にのみ、上記の処理を行うこと等が可能となる。すなわち、第１物体の位置姿勢が正しい場合に、第１物体を再度設置するといった無駄な処理を行わないようにすること等が可能になる。
【００７０】
そして、第１物体の再設置後に第２物体を移動させる際には、処理部１２０は、ロボット１０が第１の姿勢から、第１の姿勢とは異なる第２の姿勢へと移る間に、位置姿勢が変更された第１物体を複数回撮像した撮像画像を用いて、ロボット１０を動作させる。
【００７１】
これにより、複数の撮像画像に基づいて、第１物体上の目標位置を特定し、特定した目標位置へ第２物体を移動させること等が可能となる。つまり、ロボット１０がビジュアルサーボを行なって、目標位置へ第２物体を移動させること等が可能となる。
【００７２】
この際には、画像受付部１１０は、第１物体及び第２物体のうち、少なくとも第１物体が映る撮像画像を受け付ける。そして、処理部１２０は、撮像画像に基づいて、第１物体の特徴量検出処理を行い、第１物体の特徴量に基づいて、ロボット１０に第２物体を移動させる。なお、本処理の詳細については、図７〜図１４を用いて後述する。
【００７３】
これにより、参照画像を準備しなくても、第１物体と第２物体の組付け作業を行うこと等が可能となる。また、第１物体上の目標位置が撮像画像には映っているが、組付け作業を行う度に、目標位置がずれてしまう場合であっても、第２物体を第１物体に正確に組付けること等が可能になる。ただし、本実施形態では、参照画像を用いるビジュアルサーボにより、再設置後の第１物体と第２物体との組付け作業を行ってもよい。
【００７４】
次に、図６のフローチャートを用いて本実施形態の処理の流れについて説明する。まず、画像受付部１１０が、第２の撮像部２５０により第１物体を撮像した第２の撮像画像を受け付ける（Ｓ１）。前述したように、第２の撮像部２５０は、例えば作業台の全領域を撮像可能なようにロボット１０の頭部に設置されており、作業台の所与の部品供給位置に置かれた第１物体を撮像する。
【００７５】
次に、処理部１２０が、第２の撮像画像に基づいて、ロボット１０のアーム３２０（の先端に設けられたハンド３１０）により第１物体を把持して、作業台の所与の位置（前述した所与の設置位置又は作業位置）に第１物体を設置させる（Ｓ２）。例えば、前述した図２（Ａ）の例のように、第１物体であるナットＷＫ２を同図に示す位置に設置する。
【００７６】
そして、所与の位置に設置した後の第１物体を撮像部２００により撮像した撮像画像を、画像受付部１１０が受け付ける（Ｓ３）。例えば画像受付部１１０は、前述した図２（Ｂ）に示すような撮像画像ＰＩＭ１をカメラＣＭ１から受け付ける。
【００７７】
次に、処理部１２０が、取得した撮像画像に第１物体上の目標位置が映っているか否かを判定する（Ｓ４）。取得した撮像画像に第１物体上の目標位置が映っていないと判定した場合には、画像受付部１１０が、第２の撮像部２５０により第１物体を撮像した第２の撮像画像を受け付ける（Ｓ５）。この場合には、例えば前述した図３（Ａ）のように、ナットＷＫ２が転がってしまったり、前述した図４（Ａ）のように、第１物体であるナットＷＫ２が裏返しになっていたりして、図３（Ｂ）及び図４（Ｂ）に示す撮像画像ＰＩＭ２に目標位置ＧＰが映らない状態になっている。そのため、ナットＷＫ２の現在位置を特定するために、画像受付部１１０が、前述した図３（Ｃ）及び図４（Ｃ）に示すような第２の撮像画像ＰＩＭ２を頭部カメラＣＭ２から受け付ける。
【００７８】
そして、処理部１２０が、目標位置の画像又は第１物体の作業面の画像が、撮像画像に含まれない場合に、ロボット１０に第１物体の位置姿勢を変更させる。つまり、処理部１２０が、第２の撮像画像に基づいて、ロボット１０に第１物体を所与の位置に再設置させ（Ｓ６）、ステップＳ３の処理に戻る。例えば、前述した図５（Ａ）に示すように、ロボット１０にナットＷＫ２を把持させて、図５（Ｂ）に示すように、ナットＷＫ２を元の設置位置に再設置させる。なお、第１物体の作業面とは、例えば第２物体を移動させる際の第１物体上の目標位置が存在する面である。具体的に、図２（Ａ）の例では、ナットＷＫ２の開口部ＧＰがある面である。ただし、第１物体の作業面は、必ずしも第１物体において第２物体の目標位置が存在する面とは限らない。
【００７９】
また、ステップＳ６の処理は、参照画像と撮像画像を用いたビジュアルサーボにより行っても良いし、図７〜図１４を用いて後述する方法のビジュアルサーボにより行っても良いし、ビジュアルサーボ以外の方法で行っても良い。例えば、ビジュアルサーボ以外の方法には、ロボットに第１物体を撮像画像に基づいて把持させた後に、ロボットの各関節角の角度をあらかじめ決められた所与の角度にする方法等がある。
【００８０】
また、ステップＳ４において、処理部１２０が、撮像画像に目標位置が映っていると判定した場合には、処理部１２０は、撮像画像に基づいて、第２物体を目標位置に移動させる（Ｓ７）。つまり、処理部１２０がロボット１０に、図２（Ａ）の矢印ＹＪで示すように、目標位置であるナットＷＫ２の開口部ＧＰに向けて、ボルトＷＫ１を移動させる。以上が本実施形態の処理の流れである。
【００８１】
これにより、ロボット１０に、第１物体を所与の位置に設置させた後に、第１物体上の目標位置が撮像画像に映らなくなった時に、ロボット１０に、第１物体を所与の位置に再設置させること等が可能となる。
【００８２】
また前述してきた組付け作業は、前述した例の他にも、例えば第１のワークを第２のワークの上又は隣に置く作業であったり、第１のワークを第２のワークに嵌め込む（嵌め合わせる）作業（嵌入作業、嵌合作業）であったり、第１のワークと第２のワークを接着したり、接続したり、組み立てたり、融着したりする作業（接着作業、接続作業、組立作業、融着作業）などであってもよい。さらに、本実施形態において、ロボットがビジュアルサーボにより行う作業は、組付け作業に限定されず、その他の作業を行っても良い。
【００８３】
３．被組付け対象物の特徴量に基づくビジュアルサーボ
次に、図６のステップＳ７において行うビジュアルサーボについて説明する。また、前述したように、図６のステップＳ６の処理も、以下で説明するビジュアルサーボにより行っても良い。但し、前述したように、本実施形態で行うロボット制御はビジュアルサーボには限定されない。
【００８４】
組付け対象物を被組付け対象物に組み付ける組付け作業を、ビジュアルサーボによりロボットに行わせる場合に、被組付け対象物の位置姿勢が組付け作業を行う度に変わってしまうことがある。被組付け対象物の位置姿勢が変わった場合には、被組付け対象物と組付け状態となる組付け対象物の位置姿勢も変わることになる。
【００８５】
この時に、毎回、同じ参照画像を用いてビジュアルサーボを行うと、正確な組付け作業ができないことがある。これは、組付け状態となる組付け対象物の位置姿勢が変わったにも関わらず、参照画像に映る組付け対象物の位置姿勢に向かって、組付け対象物を移動させてしまうためである。
【００８６】
また、実際の被組付け対象物の位置が変わる度に異なる参照画像を用いれば、参照画像を用いたビジュアルサーボにより組付け作業を行うことが原理的には可能であるが、この場合には大量の参照画像を用意する必要があり、現実的ではない。
【００８７】
ここでは、具体例として図７に示すように、ロボットのハンドＨＤにより把持された組付け対象物ＷＫ１を、被組付け対象物ＷＫ２に組み付ける組付け作業を行う場合について説明する。なお、ロボットのハンドＨＤは、ロボットのアームＡＭの先端に設けられている。
【００８８】
まず、本実施形態の比較例である、前述した参照画像を用いたビジュアルサーボにより、図７に示すような組付け作業を行う場合には、カメラ（撮像部）ＣＭにより撮像された撮像画像と、あらかじめ用意しておいた参照画像とに基づいて、ロボットを制御する。具体的には、参照画像に映る組付け対象物ＷＫ１Ｒの位置に向かって、組付け対象物ＷＫ１を、矢印ＹＪで示すように移動させて、被組付け対象物ＷＫ２に組み付ける。
【００８９】
ここで、この時に用いる参照画像ＲＩＭを図８（Ａ）に、参照画像ＲＩＭに映る被組付け対象物ＷＫ２の実空間（３次元空間）上での位置を図８（Ｂ）に示す。図８（Ａ）の参照画像ＲＩＭには、被組付け対象物ＷＫ２と組付け状態（又は組み付けられる直前の状態）の組付け対象物ＷＫ１Ｒ（図７のＷＫ１Ｒに相当する）が映っている。前述した参照画像ＲＩＭを用いたビジュアルサーボでは、参照画像ＲＩＭに映る組付け状態の組付け対象物ＷＫ１Ｒの位置姿勢に、撮像画像に映る組付け対象物ＷＫ１の位置姿勢が一致するように、組付け対象物ＷＫ１を移動させる。
【００９０】
しかし、前述したように、実際に組付け作業を行う場合には、被組付け対象物ＷＫ２の位置姿勢が変わることがある。例えば、図８（Ｂ）に示すように、図８（Ａ）の参照画像ＲＩＭに映る被組付け対象物ＷＫ２の重心位置が、実空間上ではＧＣ１であるとする。これに対し、実際の被組付け対象物ＷＫ２がずれて置かれており、実際の被組付け対象物ＷＫ２の重心位置はＧＣ２であることがある。この場合には、参照画像ＲＩＭに映る組付け対象物ＷＫ１Ｒの位置姿勢と一致するように、実際の組付け対象物ＷＫ１を移動させても、実際の被組付け対象物ＷＫ２との組付け状態にはならないため、正確に組付け作業を行うことができない。被組付け対象物ＷＫ２の位置姿勢が変わった場合には、被組付け対象物ＷＫ２と組付け状態となる組付け対象物ＷＫ１の位置姿勢も変わるためである。
【００９１】
そこで、本実施形態のロボット１０等は、被組付け対象物の位置姿勢が変わる場合でも、正確に組付け作業を行うことができるようにする。
【００９２】
まず、画像受付部１１０は、組付け作業における組付け対象物と被組付け対象物のうち、少なくとも被組付け対象物が映る撮像画像を受け付ける。
【００９３】
そして、処理部１２０は、撮像画像に基づいて、被組付け対象物の特徴量検出処理を行い、被組付け対象物の特徴量に基づいて、組付け対象物を移動させる。なお、組付け対象物を移動させることには、ロボット機構３００の制御情報（制御信号）を出力する処理なども含むものとする。
【００９４】
このように、前述した参照画像を用いたビジュアルサーボ（比較例）では、参照画像の組付け対象物の特徴量に基づいて、組付け対象物を移動させるのに対して、本実施形態では、撮像画像に映る被組付け対象物の特徴量に基づいて、組付け対象物を移動させる。例えば図９に示すように、カメラＣＭにより撮像された撮像画像において、被組付け対象物であるワークＷＫ２の特徴量を検出し、検出したワークＷＫ２の特徴量に基づいて、矢印ＹＪで示すように組付け対象物であるワークＷＫ１を移動させる。
【００９５】
ここで、カメラＣＭにより撮像された撮像画像には、現時点（撮像した時点）での被組付け対象物ＷＫ２が映っている。そのため、現時点での被組付け対象物ＷＫ２の位置に向かって、組付け対象物ＷＫ１を移動させることができる。よって、前述した参照画像を用いたビジュアルサーボの失敗例（図７で説明した比較例の問題点）のように、現時点では組付け状態にすることができない位置に向かって、組付け対象物ＷＫ１を移動させてしまうことを防ぐことができる。また、組付け作業を行う度に、撮像画像からビジュアルサーボの新しい目標位置を設定するため、被組付け対象物ＷＫ２の位置姿勢が変わった場合でも、正しい目標位置を設定することができる。
【００９６】
以上のように、被組付け対象物の位置姿勢が変わる場合でも、正確に組付け作業を行うことが可能となる。さらに、本実施形態では、あらかじめ参照画像を用意しておく必要もなく、ビジュアルサーボの準備コストを低減することが可能となる。
【００９７】
このように、処理部１２０は、撮像画像に基づくビジュアルサーボを行うことにより、ロボットを制御する。
【００９８】
これにより、現在の作業状況に基づいて、ロボットをフィードバック制御すること等が可能となる。
【００９９】
４．処理の詳細
次に、被組付け対象物の特徴量に基づくビジュアルサーボにおける処理の詳細について説明する。
【０１００】
本実施形態の画像受付部１１０は、組付け対象物及び被組付け対象物が映る１又は複数の撮像画像を受け付ける。そして、処理部１２０は、取得された１又は複数の撮像画像に基づいて、組付け対象物及び被組付け対象物の特徴量検出処理を行う。さらに、処理部１２０は、組付け対象物の特徴量及び被組付け対象物の特徴量に基づいて、組付け対象物と被組付け対象物との相対位置姿勢関係が、目標相対位置姿勢関係になるように、組付け対象物を移動させる。
【０１０１】
ここで、目標相対位置姿勢関係とは、ビジュアルサーボ等により組付け作業を行う際に目標とする、組付け対象物と被組付け対象物との相対位置姿勢関係のことをいう。例えば、図９の例では、ワークＷＫ２の三角形の開口部ＨＬに、ワークＷＫ１が接触（隣接）した時の相対位置姿勢関係が、目標相対位置姿勢となる。
【０１０２】
これにより、撮像画像から検出した組付け対象物の特徴量と、被組付け対象物の特徴量とに基づいて、組付け作業を行うこと等が可能となる。なお、画像受付部１１０が受け付ける１又は複数の撮像画像については、後段にて詳細に説明する。
【０１０３】
また、多くの組付け作業では、組付け対象物のうち、被組付け対象物に組付ける部分（組付け部分）と、被組付け対象物のうち、組付け対象物が組み付けられる部分（被組付け部分）が決まっていることが多い。例えば、図９の例において、組付け対象物のうちの組付け部分とは、ワークＷＫ１の底面ＢＡであり、被組付け対象物の被組付け部分とは、ワークＷＫ２の三角形の開口部ＨＬである。図９の組付け作業の例では、被組付け部分の開口部ＨＬに組付け部分ＢＡをはめ込むのであって、例えば開口部ＨＬにワークＷＫ１の側面ＳＡを組み付けても意味がない。したがって、組付け対象物における組付け部分と、被組付け対象物における被組付け部分とを設定しておくことが望ましい。
【０１０４】
そこで、処理部１２０は、被組付け対象物の特徴量のうち、ゴール特徴量として設定された特徴量と、組付け対象物の特徴量のうち、注目特徴量として設定された特徴量とに基づいて、組付け対象物と被組付け対象物との相対位置姿勢関係が、目標相対位置姿勢関係になるように、組付け対象物を移動させる。
【０１０５】
ここで、特徴量とは、例えば画像の特徴点や、画像中に映る検出対象物（組付け対象物及び被組付け対象物など）の輪郭線などのことを指す。そして、特徴量検出処理とは、画像中の特徴量を検出する処理のことであり、例えば特徴点検出処理や、輪郭線検出処理などのことを指す。
【０１０６】
以下では、特徴量として特徴点を検出する場合について説明する。特徴点とは、画像中から際立って観測できる点のことをいう。例えば、図１０に示す撮像画像ＰＩＭ１１では、被組付け対象物であるワークＷＫ２の特徴点として、特徴点Ｐ１〜特徴点Ｐ１０が検出されており、組付け対象物であるワークＷＫ１の特徴点として、特徴点Ｑ１〜特徴点Ｑ５が検出されている。なお、図１０の例では、図示及び説明の都合上、Ｐ１〜Ｐ１０及びＱ１〜Ｑ５の特徴点だけが検出された様子を図示しているが、実際の撮像画像ではより多数の特徴点が検出される。しかし、より多数の特徴点が検出される場合でも、以下で説明する処理の内容に変わりはない。
【０１０７】
また、本実施形態では、特徴点の検出方法（特徴点検出処理）として、コーナー検出法等を用いるが、その他の一般的なコーナー部検出方法（固有値、ＦＡＳＴ特徴検出）を用いても良いし、ＳＩＦＴ（Scale Invariant Feature Transform）に代表される局所特徴量記述子やＳＵＲＦ（Speeded Up Robust Feature）等を用いても良い。
【０１０８】
そして、本実施形態では、被組付け対象物の特徴量のうち、ゴール特徴量として設定された特徴量と、組付け対象物の特徴量のうち、注目特徴量として設定された特徴量とに基づいて、ビジュアルサーボ等を行う。
【０１０９】
具体的に図１０の例では、ワークＷＫ２の特徴点Ｐ１〜特徴点Ｐ１０のうち、ゴール特徴量としてゴール特徴点Ｐ９及びゴール特徴点Ｐ１０が設定されているものとする。一方で、ワークＷＫ１の特徴点Ｑ１〜特徴点Ｑ５のうち、注目特徴量として注目特徴点Ｑ４及び注目特徴点Ｑ５が設定されているものとする。
【０１１０】
そして、処理部１２０は、被組付け対象物のゴール特徴点と組付け対象物の注目特徴点とが一致するように又は近付くように、組付け対象物を移動させる。
【０１１１】
すなわち、注目特徴点Ｑ４がゴール特徴点Ｐ９に近付き、注目特徴点Ｑ５がゴール特徴点Ｐ１０に近付くように、組付け対象物ＷＫ１を矢印ＹＪで示すように移動させる。
【０１１２】
ここで、ゴール特徴量とは、被組付け対象物を表す特徴量のうち、ビジュアルサーボにより組付け対象物を移動させる際に、目標とする特徴量のことをいう。言い換えれば、ゴール特徴量は、被組付け対象物の被組付け部分の特徴量である。さらに、前述した組付け対象物（第２物体）の目標位置は、ゴール特徴量により表される。
【０１１３】
また、ゴール特徴点とは、特徴点検出処理が行われる場合に、ゴール特徴量として設定される特徴点のことをいう。前述したように図１０の例では、ワークＷＫ２の三角形の開口部ＨＬに対応する特徴点Ｐ９及び特徴点Ｐ１０が、ゴール特徴点として設定されている。
【０１１４】
一方、注目特徴量とは、組付け対象物又は被組付け対象物を表す特徴量のうち、ゴール特徴量に対応する実空間上のポイント（図１０の例では、ワークＷＫ２の三角形の開口部ＨＬ）に向かって移動させる、実空間上のポイント（図１０の例では、ワークＷＫ１の底面）を表す特徴量のことをいう。言い換えれば、注目特徴量は、組付け対象物の組付け部分の特徴量である。また、注目特徴点とは、特徴点検出処理が行われる場合に、注目特徴量として設定される特徴点のことをいう。前述したように図１０の例では、ワークＷＫ１の底面に対応する特徴点Ｑ４及び特徴点Ｑ５が、注目特徴点として設定されている。
【０１１５】
また、ゴール特徴量（ゴール特徴点）及び注目特徴量（注目特徴点）は、予め教示者（ユーザー）が設定しておくものであってもよいし、所与のアルゴリズムに従って設定される特徴量（特徴点）であってもよい。例えば、検出される特徴点のバラつきとゴール特徴点との相対位置関係に基づいて、ゴール特徴点を設定してもよい。具体的に図１０の例では、撮像画像ＰＩＭ１１において、ワークＷＫ２を表す特徴点Ｐ１〜特徴点Ｐ１０のバラつきの中心付近に位置する特徴点Ｐ９及び特徴点Ｐ１０を、ゴール特徴点として設定してもよい。また、他にも被組付け対象物を表すＣＡＤ（Computer Aided Design）データにおいて、ゴール特徴点に対応するポイントを予め設定しておき、撮像画像においてＣＡＤデータとＣＡＤマッチングを行い、被組付け対象物の特徴点の中から、ゴール特徴点として設定された特徴点を、ＣＡＤマッチングの結果に基づき特定（検出）してもよい。注目特徴量（注目特徴点）についても、同様である。
【０１１６】
なお、本実施形態では、処理部１２０は、被組付け対象物のゴール特徴点と、組付け対象物の注目特徴点とが、一致するように又は近付くように、組付け対象物を移動させるが、被組付け対象物と組付け対象物は有体物であるため、実際にゴール特徴点と注目特徴点とが同じポイントにおいて検出されることはない。つまり、一致するように組付け対象物を移動させる、とは、あくまで注目特徴点が検出されるポイントを、ゴール特徴点が検出されるポイントに向かって移動させることを意味する。
【０１１７】
これにより、設定された組付け対象物の組付け部分と、設定された被組付け対象物の被組付け部分の相対位置姿勢関係が、目標相対位置姿勢関係となるように、組付け対象物を移動させること等が可能になる。
【０１１８】
そして、組付け対象物の組付け部分を、被組付け対象物の被組付け部分に組付けること等が可能になる。例えば、図１１に示すように、ワークＷＫ１の組付け部分である底面ＢＡを、ワークＷＫ２の被組付け部分である開口部ＨＬに嵌め込むことができる。
【０１１９】
次に、本実施形態の処理の流れを図１２のフローチャートを用いて説明する。
【０１２０】
まず、画像受付部１１０が、例えば図１０に示すような撮像画像ＰＩＭ１１を受け付ける（Ｓ１０１）。この撮像画像ＰＩＭ１１には、組付け対象物ＷＫ１と被組付け対象物ＷＫ２の両方が映っている。
【０１２１】
次に、処理部１２０が、取得した撮像画像ＰＩＭ１１に基づいて、特徴量検出処理を行って、被組付け対象物ＷＫ２のゴール特徴量ＦＢと、組付け対象物ＷＫ１の注目特徴量ＦＡを検出する（Ｓ１０２、Ｓ１０３）。
【０１２２】
そして、前述したように、処理部１２０が、検出した注目特徴量ＦＡとゴール特徴量ＦＢとに基づいて、組付け対象物ＷＫ１を移動させ（Ｓ１０４）、組付け対象物ＷＫ１と被組付け対象物ＷＫ２との相対位置姿勢関係が、目標相対位置姿勢関係になったか否かを判定する（Ｓ１０５）。
【０１２３】
最後に、組付け対象物ＷＫ１と被組付け対象物ＷＫ２との相対位置姿勢関係が、図１１のように、目標相対位置姿勢関係になったと判定した場合には、処理を終了し、組付け対象物ＷＫ１と被組付け対象物ＷＫ２との相対位置姿勢関係が、目標相対位置姿勢関係になっていないと判定した場合には、ステップＳ１０１に戻り、処理を繰り返す。以上が、本実施形態の処理の流れである。
【０１２４】
また、画像受付部１１０は、複数枚の撮像画像を受け付けてもよい。この場合には、画像受付部１１０は、組付け対象物と被組付け対象物の両方が映っている撮像画像を複数枚受け付けてもよいし、組付け対象物だけが映っている撮像画像と、被組付け対象物だけが映っている撮像画像とを受け付けてもよい。
【０１２５】
ここで、後者の組付け対象物と被組付け対象物とが別々に映っている複数の撮像画像を取得する場合の処理の流れを、図１３のフローチャートに示す。
【０１２６】
まず、画像受付部１１０が、少なくとも被組付け対象物ＷＫ２が映っている撮像画像ＰＩＭ１１を受け付ける（Ｓ２０１）。なお、この撮像画像ＰＩＭ１１には、組付け対象物ＷＫ１が映っていてもよい。そして、処理部１２０が、撮像画像ＰＩＭ１１から被組付け対象物ＷＫ２のゴール特徴量ＦＢを検出する（Ｓ２０２）。
【０１２７】
次に、画像受付部１１０が、少なくとも組付け対象物ＷＫ１が映っている撮像画像ＰＩＭ１２を受け付ける（Ｓ２０３）。なお、ステップＳ２０１と同様に、この撮像画像ＰＩＭ１２には、被組付け対象物ＷＫ２が映っていてもよい。そして、処理部１２０が、撮像画像ＰＩＭ１２に基づいて、組付け対象物ＷＫ１の注目特徴量ＦＡを検出する（Ｓ２０４）。
【０１２８】
そして、以降は図１２で説明した処理の流れと同様に、処理部１２０が、検出した注目特徴量ＦＡとゴール特徴量ＦＢとに基づいて、組付け対象物ＷＫ１を移動させ（Ｓ２０５）、組付け対象物ＷＫ１と被組付け対象物ＷＫ２との相対位置姿勢関係が、目標相対位置姿勢関係になったか否かを判定する（Ｓ２０６）。
【０１２９】
最後に、組付け対象物ＷＫ１と被組付け対象物ＷＫ２との相対位置姿勢関係が、図１１のように、目標相対位置姿勢関係になったと判定した場合には、処理を終了し、組付け対象物ＷＫ１と被組付け対象物ＷＫ２との相対位置姿勢関係が、目標相対位置姿勢関係になっていないと判定した場合には、ステップＳ２０３に戻り、処理を繰り返す。以上が、組付け対象物と被組付け対象物とが別々に映っている複数の撮像画像を取得する場合の処理の流れである。
【０１３０】
また、前述した例では、ビジュアルサーボにより、組付け対象物を被組付け対象物に実際に組付けていたが、本発明はそれに限定されず、ビジュアルサーボにより、組付け対象物を被組付け対象物に組付ける直前の状態にしてもよい。
【０１３１】
すなわち、処理部１２０は、被組付け対象物の特徴量（特徴点）に基づいて、被組付け対象物と所与の位置関係にある画像領域を特定し、特定した画像領域と、組付け対象物の注目特徴点とが、一致するように又は近付くように、組付け対象物を移動させてもよい。言い換えれば、処理部１２０は、被組付け対象物の特徴量に基づいて、被組付け対象物と所与の位置関係にある実空間上のポイントを特定し、特定したポイントに向かって、組付け対象物を移動させてもよい。
【０１３２】
例えば、図１４に示す撮像画像ＰＩＭにおいて、被組付け対象物ＷＫ２の被組付け部分である三角形の開口部ＨＬを表す特徴点として、特徴点Ｐ８〜特徴点Ｐ１０が検出されているとする。この場合に、撮像画像ＰＩＭにおいて、特徴点Ｐ８〜特徴点Ｐ１０と所与の位置関係にある画像領域Ｒ１〜画像領域Ｒ３を特定する。そして、組付け対象物ＷＫ１の注目特徴点Ｑ４を、画像領域Ｒ２に一致させ（近付け）、組付け対象物の注目特徴点Ｑ５を、画像領域Ｒ３に一致させ（近付け）るように、組付け対象物ＷＫ１を移動させる。
【０１３３】
これにより、例えば組付け作業の直前の状態にすること等が可能になる。
【０１３４】
また、前述した例のように組付け対象物の特徴量を検出する処理は、必ずしも必要ではない。例えば、被組付け対象物の特徴量を検出し、検出した被組付け対象物の特徴量に基づいて、ロボットとの相対的な被組付け対象物の位置姿勢を推定し、推定した被組付け対象物の位置に、組付け対象物を把持したハンドを近付けるように、ロボットを制御する等してもよい。
【０１３５】
５．ロボット
次に、図１５（Ａ）及び図１５（Ｂ）に、本実施形態のロボット１０の構成例を示す。図１５（Ａ）及び図１５（Ｂ）のどちらの場合にも、ロボット機構３００は、エンドエフェクター（ハンド）３１０と、アーム３２０と、を有する。なお、図１５（Ａ）のロボット１０は単腕型の例であるが、図１５（Ｂ）に示すようにロボット１０は、双腕型等の多腕型のロボットであってもよい。
【０１３６】
ここで、エンドエフェクター３１０とは、ワーク（作業対象物）を把持したり、持ち上げたり、吊り上げたり、吸着させたり、ワークに加工を施したりするために、アームのエンドポイントに取り付ける部品のことをいう。エンドエフェクター３１０は、例えばハンド（把持部）であってもよいし、フックであってもよいし、吸盤であってもよいし、ドライバー等であってもよい。さらに、１本のアームに対して、複数のエンドエフェクターを設けても良い。
【０１３７】
また、アーム３２０とは、ロボット機構３００のパーツであって、一つ以上の関節を含む可動パーツのことをいう。
【０１３８】
さらに、ロボット機構３００には、外付けの第２の撮像部２５０が取り付けられている。例えば、第２の撮像部２５０は、図１５（Ａ）の場合には、ロボット１０のハンドアイカメラであり、図１５（Ｂ）の場合には、ロボット１０の頭部カメラである。
【０１３９】
そして、本実施形態のロボット１０は、図１５（Ａ）に示すように、ロボット機構３００と制御装置１００とが別体に構成されている。この場合には、制御装置１００の一部又は全部の機能は、例えばＰＣ（Personal Computer）により実現される。
【０１４０】
また、本実施形態のロボットは図１５（Ａ）の構成に限定されず、図１５（Ｂ）のようにロボット機構３００と制御装置１００とが一体に構成されていてもよい。具体的には図１５（Ｂ）に示したように、ロボット１０は、ロボット機構３００及びロボット機構３００を支えるベースユニット部３５０を有し、当該ベースユニット部３５０に制御装置１００が格納されるものであってもよい。図１５（Ｂ）に示すロボット１０のベースユニット部３５０には、車輪３７０等が設けられ、ロボット全体が移動可能な構成となっている。また、ロボット１０は、人手により移動させられるものであってもよいし、車輪３７０を駆動させるモーターを設け、当該モーターを制御装置１００により制御することにより、移動させられるものであってもよい。また、制御装置１００は、図１５（Ｂ）のようにロボット機構３００の下に設けられたベースユニット部３５０に設けられるとは限られない。
【０１４１】
また、図１６に示すように、制御装置１００の機能は、有線及び無線の少なくとも一方を含むネットワーク４００を介して、ロボット機構３００と通信接続されたサーバー５００により実現されてもよい。
【０１４２】
或いは本実施形態では、本発明の制御装置の処理の一部を、サーバー５００の制御装置が行ってもよい。この場合には、ロボット機構３００に設けられた制御装置との分散処理により、当該処理を実現する。なお、ロボット機構３００の制御装置は、例えばロボット機構３００に設置される端末装置３３０（制御部）により実現される。
【０１４３】
そして、この場合に、サーバー５００の制御装置は、本発明の制御装置における各処理のうち、サーバー５００の制御装置に割り当てられた処理を行う。一方、ロボット機構３００に設けられた制御装置は、本発明の制御装置の各処理のうち、ロボット機構３００の制御装置に割り当てられた処理を行う。なお、本発明の制御装置の各処理は、サーバー５００に割り当てられた処理であってもよいし、ロボット機構３００に割り当てられた処理であってもよい。
【０１４４】
これにより、例えば端末装置３３０よりも処理能力の高いサーバー５００が、処理量の多い処理を行うこと等が可能になる。さらに、例えばサーバー５００が各ロボット１０の動作を一括して制御することができ、複数のロボット１０に協調動作をさせること等が容易になる。
【０１４５】
また近年は、多品種少数の部品を製造することが増えてきている。そして、製造する部品の種類を変更する場合には、ロボット１０が行う動作を変更する必要がある。図１６に示すような構成であれば、複数のロボット１０の各ロボットへ教示作業をし直さなくても、サーバー５００が一括して、各ロボットが行う動作を変更すること等が可能になる。
【０１４６】
さらに、図１６に示すような構成であれば、各ロボット１０に対して一つの制御装置１００を設ける場合に比べて、制御装置１００のソフトウェアアップデートを行う際の手間を大幅に減らすこと等が可能になる。
【０１４７】
なお、本実施形態のロボット、ロボットシステム、制御装置及び制御方法等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、ＣＰＵ等のプロセッサーがプログラムを実行することで、本実施形態のロボット、ロボットシステム、制御装置及び制御方法等が実現される。具体的には、情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをＣＰＵ等のプロセッサーが実行する。ここで、情報記憶媒体（コンピューターにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＣＤ等）、ＨＤＤ（ハードディスクドライブ）、或いはメモリー（カード型メモリー、ＲＯＭ等）などにより実現できる。そして、ＣＰＵ等のプロセッサーは、情報記憶媒体に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピューターに実行させるためのプログラム）が記憶される。
【０１４８】
以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、ロボット、ロボットシステム、制御装置及び制御方法の構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１４９】
１０  ロボット、１００  制御装置（制御部）、１１０  画像受付部、１２０  処理部、
２００  撮像部、２５０  第２の撮像部、３００  ロボット機構、
３１０  エンドエフェクター（ハンド）、３２０  アーム、３３０  端末装置、
３５０  ベースユニット部、３７０  車輪、４００  ネットワーク、５００  サーバー
【図１】
2015182186.tif 000003
【図２】
2015182186.tif 000004
【図３】
2015182186.tif 000005
【図４】
2015182186.tif 000006
【図５】
2015182186.tif 000007
【図６】
2015182186.tif 000008
【図７】
2015182186.tif 000009
【図８】
2015182186.tif 000010
【図９】
2015182186.tif 000011
【図１０】
2015182186.tif 000012
【図１１】
2015182186.tif 000013
【図１２】
2015182186.tif 000014
【図１３】
2015182186.tif 000015
【図１４】
2015182186.tif 000016
【図１５】
2015182186.tif 000017
【図１６】
2015182186.tif 000018