(57)【要約】  【課題】作業内容が変更されても、より簡単に効率よくビジュアルサーボを行う。  【解決手段】ロボット制御装置は、背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、ロボットのビジュアルサーボを行う。【選択図】図１
2015182210.tif 000002
【特許請求の範囲】
【請求項１】
背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、ロボットのビジュアルサーボを行う、
ロボット制御装置。
【請求項２】
請求項１に記載のロボット制御装置であって、
前記重畳画像は、前記対象物を把持した前記ロボットの部分のモデル画像が重ね合わされている、
ロボット制御装置。
【請求項３】
請求項１又は２に記載のロボット制御装置であって、
予め用意された複数の対象物のモデル画像から、一の対象物のモデル画像の選択を受け付け、
前記選択された対象物のモデル画像を用いて前記重畳画像を生成する、
ロボット制御装置。
【請求項４】
請求項３に記載のロボット制御装置であって、
前記対象物及び前記ロボットが取り得る姿勢のうち、一の姿勢の選択を受け付け、
前記選択された姿勢の対象物のモデル画像及び前記ロボットの部分のモデル画像を用いて前記重畳画像を生成する、
ロボット制御装置。
【請求項５】
請求項１〜４いずれか一項に記載のロボット制御装置であって、
前記対象物を撮像した撮像画像を取得する画像取得部を備え、
前記ビジュアルサーボは、前記ロボットが第一の姿勢から第二の姿勢へ移る間に、前記画像取得部により前記撮像画像を複数回取得し、前記目標画像と前記撮像画像とに基づいて、前記ロボットを制御する第一の処理を含む、
ロボット制御装置。
【請求項６】
請求項５に記載のロボット制御装置であって、
前記ビジュアルサーボは、前記ロボットが前記第一の姿勢から前記第二の姿勢へ移る間に、前記画像取得部により前記撮像画像を複数回取得し、前記撮像画像と、前記背景画像を省略した前記対象物のモデル画像を含む目標画像とに基づいて、前記ロボットを制御する第二の処理を含む、
ロボット制御装置。
【請求項７】
請求項６に記載のロボット制御装置であって、
前記撮像画像及び前記目標画像から抽出した所定の特徴点間の距離、又は前記撮像画像及び前記目標画像から抽出した所定の領域の重なり度合、の少なくとも一方に基づいて、前記第二の処理を前記第一の処理に切り替える、
ロボット制御装置。
【請求項８】
請求項１〜７に記載のロボット制御装置であって、
前記目標画像を表示する表示部、
を備えるロボット制御装置。
【請求項９】
背景を撮像した画像である背景画像を記憶する背景画像記憶部と、
対象物のモデル画像を記憶するモデル画像記憶部と、
前記背景画像と、前記対象物のモデル画像とを重ね合わせた目標画像を生成する目標画像生成部と、
前記対象物を撮像した撮像画像を取得する画像取得部と、
前記撮像画像と前記目標画像とに基づいてビジュアルサーボによりロボットを制御する制御部と、
を備えるロボット制御装置。
【請求項１０】
背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、ビジュアルサーボを行う、
ロボット。
【請求項１１】
ロボットと、前記ロボットを制御するロボット制御装置とを備えるロボットシステムであって、
前記ロボット制御装置は、背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、前記ロボットのビジュアルサーボを行う、
ロボットシステム。
【請求項１２】
背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、ロボットのビジュアルサーボを行う、
ロボット制御方法。
【請求項１３】
背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、ロボットのビジュアルサーボを行う処理を、
演算装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置、ロボット、ロボットシステム、ロボット制御方法、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、ビジュアルサーボを行うロボット装置において、教示の際に、ロボットアームの先端に固定されたＣＣＤカメラを用いて対象物を撮像し、ＣＣＤカメラからの画像に基づいて画像特徴量を抽出することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１８７５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、例えば多品種少量生産においては、ロボットの作業内容が部品等の対象物の変更に応じてより頻繁に変更される。また、ビジュアルサーボを行う場合には、目標画像（「参照画像」、「ゴール画像」などともいう）を用意するため、対象物が変更されるたびにロボットを操作して当該対象物を撮像する教示作業が必要となる。また、教示作業では、ロボットの操作が伴うため、熟練したスキルの作業者が必要である。このように、従来のビジュアルサーボは、作業時間などの面で効率が悪い。
【０００５】
そこで、本発明は、作業内容が変更されても、より簡単に効率よくビジュアルサーボを行うことを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決する本発明の第一態様は、背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、ロボットのビジュアルサーボを行う、ロボット制御装置である。これにより、背景画像に対象物のモデル画像を重ねた目標画像を作成すれば、実際にロボットを操作して撮像装置で目標画像を撮像しなくても、簡単に効率よくビジュアルサーボを実行できる。また、対象物のモデル画像を使用するため、作業内容の変更（対象物の変更など）が発生しても簡単に目標画像を作成することができる。
【０００７】
上記のロボット制御装置であって、前記重畳画像は、前記対象物を把持した前記ロボットの部分のモデル画像が重ね合わされていてもよい。これにより、背景画像にロボットのモデル画像を重ねた目標画像を作成すれば、実際にロボットを操作して撮像装置で目標画像を撮像しなくても、簡単に効率よくビジュアルサーボを実行できる。また、ロボットのモデル画像を使用するため、作業内容の変更（ロボットの姿勢の変更など）が発生しても簡単に目標画像を作成することができる。
【０００８】
上記のロボット制御装置であって、予め用意された複数の対象物のモデル画像から、一の対象物のモデル画像の選択を受け付け、前記選択された対象物のモデル画像を用いて前記重畳画像を生成してもよい。これにより、対象物の変更が発生しても簡単に目標画像を作成することができる。
【０００９】
上記のロボット制御装置であって、前記対象物及び前記ロボットが取り得る姿勢のうち、一の姿勢の選択を受け付け、前記選択された姿勢の対象物のモデル画像及び前記ロボットの部分のモデル画像を用いて前記重畳画像を生成してもよい。これにより、対象物やロボットの姿勢の変更が発生しても簡単に目標画像を作成することができる。
【００１０】
上記のロボット制御装置であって、前記対象物を撮像した撮像画像を取得する画像取得部を備え、前記ビジュアルサーボは、前記ロボットが第一の姿勢から第二の姿勢へ移る間に、前記画像取得部により前記撮像画像を複数回取得し、前記目標画像と前記撮像画像とに基づいて、前記ロボットを制御する第一の処理を含んでいてもよい。背景画像とモデル画像とを重ね合わせた目標画像を用いることで、画像から抽出できる特徴量が増えるため、より精度の高いビジュアルサーボを行うことができる。
【００１１】
上記のロボット制御装置であって、前記ビジュアルサーボは、前記ロボットが前記第一の姿勢から前記第二の姿勢へ移る間に、前記画像取得部により前記撮像画像を複数回取得し、前記撮像画像と、前記背景画像を省略した前記対象物のモデル画像を含む目標画像とに基づいて、前記ロボットを制御する第二の処理を含んでいてもよい。背景画像を省略した目標画像を用いることで、特徴量の算出に掛かる演算処理量を減るため、ビジュアルサーボの処理時間を短くすることができる。
【００１２】
上記のロボット制御装置であって、前記撮像画像及び前記目標画像から抽出した所定の特徴点間の距離、又は前記撮像画像及び前記目標画像から抽出した所定の領域の重なり度合、の少なくとも一方に基づいて、前記第二の処理を前記第一の処理に切り替えてもよい。これにより、例えば、作業の前半までは、演算処理量が少ないビジュアルサーボを行い、作業の後半からは、精度の高いビジュアルサーボを行うことができる。
【００１３】
上記のロボット制御装置であって、前記目標画像を表示する表示部、を備えていてもよい。これにより、ユーザーは、背景画像とモデル画像とを重ね合わせた目標画像、あるいは、背景画像を省略した目標画像を確認することができる。
【００１４】
上記の課題を解決する本発明の第二態様は、背景を撮像した画像である背景画像を記憶する背景画像記憶部と、対象物のモデル画像を記憶するモデル画像記憶部と、前記背景画像と、前記対象物のモデル画像とを重ね合わせた目標画像を生成する目標画像生成部と、前記対象物を撮像した撮像画像を取得する画像取得部と、前記撮像画像と前記目標画像とに基づいてビジュアルサーボによりロボットを制御する制御部と、を備えるロボット制御装置である。これにより、背景画像に対象物のモデル画像を重ねた目標画像を作成すれば、実際にロボットを操作して撮像装置で目標画像を撮像しなくても、簡単に効率よくビジュアルサーボを実行できる。また、対象物のモデル画像を使用するため、作業内容の変更（対象物の変更など）が発生しても簡単に目標画像を作成することができる。
【００１５】
上記の課題を解決する本発明の第三態様は、背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、ビジュアルサーボを行う、ロボットである。これにより、背景画像に対象物のモデル画像を重ねた目標画像を作成すれば、実際にロボットを操作して撮像装置で目標画像を撮像しなくても、簡単に効率よくビジュアルサーボを実行できる。また、対象物のモデル画像を使用するため、作業内容の変更（対象物の変更など）が発生しても簡単に目標画像を作成することができる。
【００１６】
上記の課題を解決する本発明の第四態様は、ロボットと、前記ロボットを制御するロボット制御装置とを備えるロボットシステムであって、前記ロボット制御装置は、背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、前記ロボットのビジュアルサーボを行う、ロボットシステムである。これにより、背景画像に対象物のモデル画像を重ねた目標画像を作成すれば、実際にロボットを操作して撮像装置で目標画像を撮像しなくても、簡単に効率よくビジュアルサーボを実行できる。また、対象物のモデル画像を使用するため、作業内容の変更（対象物の変更など）が発生しても簡単に目標画像を作成することができる。
【００１７】
上記の課題を解決する本発明の第五態様は、背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、ロボットのビジュアルサーボを行う、ロボット制御方法である。これにより、背景画像に対象物のモデル画像を重ねた目標画像を作成すれば、実際にロボットを操作して撮像装置で目標画像を撮像しなくても、簡単に効率よくビジュアルサーボを実行できる。また、対象物のモデル画像を使用するため、作業内容の変更（対象物の変更など）が発生しても簡単に目標画像を作成することができる。
【００１８】
上記の課題を解決する本発明の第六態様は、背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、ロボットのビジュアルサーボを行う処理を、演算装置に実行させるプログラムである。これにより、背景画像に対象物のモデル画像を重ねた目標画像を作成すれば、実際にロボットを操作して撮像装置で目標画像を撮像しなくても、簡単に効率よくビジュアルサーボを実行できる。また、対象物のモデル画像を使用するため、作業内容の変更（対象物の変更など）が発生しても簡単に目標画像を作成することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態に係るロボットシステムの概略構成の一例を示す図である。
【図２】ロボットシステムの機能構成の一例を示す図である。
【図３】ロボット制御装置の機能を実現するハードウェア構成の一例を示す図である。
【図４】教示処理の一例を示すフロー図である。
【図５】ビジュアルサーボ処理の一例を示すフロー図である。
【図６】背景画像、目標モデル画像、及び目標画像の一例を説明する図である。
【発明を実施するための形態】
【００２０】
本発明の一実施形態について、図面を参照して説明する。
【００２１】
図１は、本発明の一実施形態に係るロボットシステムの概略構成の一例を示す図である。
【００２２】
ロボットシステム１は、ロボット２と、ロボット制御装置３とを有する。ロボット２とロボット制御装置３は、通信可能に接続される。また、ロボット制御装置３には、撮像装置４が通信可能に接続される。
【００２３】
ロボット２は、ロボット制御装置３からの指示に従って作業を行う。ロボット２は、例えば、作業台Ｔの近くに配置され、作業台Ｔ上の所定の作業領域内で作業を行う。ロボット２の作業内容は特に限定されないが、以下では、二つの対象物Ｗをそれぞれ左右のハンドで把持し、これらの対象物Ｗを組み付ける作業を例に挙げて説明する。
【００２４】
ロボット２は、胴部２０と、アーム２１と、ハンド２２と、脚部２４と、頭部２５とを有する。
【００２５】
アーム２１は、胴部２０に設けられる。アーム２１は、一以上のジョイント（「回転軸」ともいう）２１ａ及び一以上のアーム部材（「リンク」ともいう）２１ｂを含む。
【００２６】
ジョイント２１ａには、それらを動作させるためのアクチュエーター（図示せず）が設けられる。アクチュエーターは、例えば、サーボモーターやエンコーダーなどを備える。エンコーダーが出力するエンコーダー値は、ロボット２のフィードバック制御などに使用される。
【００２７】
また、アーム２１の先端には、力覚センサー２１ｃが設けられる。力覚センサー２１ｃは、ロボット２が出している力に対する反力として受けている力や、モーメントを検出するセンサーである。力覚センサー２１ｃとしては、例えば、並進３軸方向の力成分と、回転３軸回りのモーメント成分の６成分を同時に検出することができる６軸力覚センサーを用いることができる。なお、力覚センサーは、６軸に限らず、例えば３軸でもよい。
【００２８】
各回転軸を連動させることにより、アーム部材２１ｂの姿勢を変化させ、アーム２１の先端部などに設定された注目位置（「エンドポイント」ともいう）を、所定の可動範囲内で自在に移動させたり自由な方向へ向けたりすることができる。なお、エンドポイントの位置は、アームの先端部に限定されず、例えば、ハンド２２の先端部などに設定されてもよい。
【００２９】
なお、アーム２１は、マニピュレーターの一種ということができる。マニピュレーターは、エンドポイントの位置を移動させる機構であり、アームに限られず様々な形態をとることができる。また、マニピュレーターは、図示するように２本に限られず、１本あるいは３本以上設けるようにしてもよい。
【００３０】
ハンド２２は、アーム２１の先端に設けられる。ハンド２２は、例えば、複数の指を備え、少なくとも２本の指で作業対象物を把持したり解放したりすることができる。ハンド２２は、アーム２１の先端部に対して着脱可能であってもよい。なお、各指には、それらを動作させるためのアクチュエーター（図示せず）が設けられる。アクチュエーターは、例えば、サーボモーターやエンコーダーなどを備える。
【００３１】
なお、ハンド２２は、エンドエフェクターの一種ということができる。エンドエフェクターは、作業対象物を把持したり、持ち上げたり、吊り上げたり、吸着したり、ワークを加工したりするための部材である。エンドエフェクターは、ハンド、フック、吸盤など、様々な形態をとることができる。また、エンドエフェクターは、一本のアームに対して複数設けるようにしてもよい。
【００３２】
もちろん、ロボット２の構成は図示した例に限られない。例えば、図１ではジョイント数が６個（６軸）の例が示されているが、ジョイントの数（「軸数」ともいう）やリンクの数を増減させてもよい。また、ジョイント、リンク、ハンド等の各種部材の形状、大きさ、配置、構造等も適宜変更してよい。
【００３３】
ロボット制御装置３は、ロボット２の動作を制御する。例えば、ロボット制御装置３は、ユーザーの操作により、ロボット２に実行させる作業内容の教示を受け付ける。また、ロボット制御装置３は、教示に基づいて、ビジュアルサーボ等によりロボット２を動作させる制御命令を生成し、生成した制御命令をロボット２に出力する。ロボット２は、ロボット制御装置３から出力された制御命令に従ってアクチュエーターを駆動させることで動作する。また、ロボット制御装置３は、撮像装置４を制御し、ビジュアルサーボ等に使用する撮像画像を取得する。ロボット制御装置３については、後に詳述する。
【００３４】
撮像装置４は、例えば作業台Ｔ上の作業領域を撮像して、撮像画像データを生成し、ロボット制御装置３に出力する。撮像装置４は、例えば、ＣＣＤ（Charge Coupled Device）、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）等を有するカメラである。
【００３５】
上記のロボットシステム１の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成例に限られない。また、一般的なロボットシステムが備える構成を排除するものではない。
【００３６】
例えば、撮像装置４の設置位置は、特に限定されず、天井、壁などに設置することができる。また、撮像装置４は、ロボット２の頭部２５、アーム２１の先端部分、胴部２０などに設けられてもよい。また、例えば、撮像装置４に加えて、他の撮像装置を設けるようにしてもよい。また、例えば、ロボット制御装置３は、制御部としてロボット２に内蔵されていてもよい。また、例えば、ロボット制御装置３の教示に関する機能は、ロボット制御装置３とは別の教示装置として設けられ、当該教示装置からロボット制御装置３又はロボット２の制御部に対して教示又は制御命令を送るようにしてもよい。
【００３７】
図２は、ロボットシステムの機能構成の一例を示す図である。
【００３８】
ロボット２は、動作制御部２００等を備える。ロボット制御装置３は、画像記憶部３００、入力部３１０、出力部３２０、画像取得部３３０、目標画像生成部３４０、ビジュアルサーボ制御部３５０等を備える。
【００３９】
動作制御部２００は、例えば、ロボット制御装置３から出力される移動指令値を含む制御命令と、各ジョイント２１ａのアクチュエーターのエンコーダー値等とに基づいて、エンドポイントの現在位置が移動指令値が示す目標位置となるように、各ジョイント２１ａのアクチュエーターを駆動させる。なお、エンドポイントの現在位置は、例えば各ジョイント２１ａのアクチュエーターにおけるエンコーダー値等から求めることができる。また、動作制御部２００は、例えば、ロボット制御装置３から出力されるハンド２２の各指に対する制御命令に従って、指定された移動量だけ指を閉じたり開いたりする。
【００４０】
画像記憶部３００は、背景画像記憶部として、背景画像を格納する。
【００４１】
本実施形態では、対象物Ｗやロボット２の部分などの動的な物を含まない状態で、ロボット２が作業を行う作業領域を撮像し、これを背景画像として使用する。すなわち、背景画像の内容は、作業環境が変わらない限りは静的である。また、本実施形態では、当該背景画像に、対象物Ｗやロボット２の部分などの動的な物のモデル画像を重畳することで、ビジュアルサーボで用いる目標画像を生成する。また、本実施形態では、背景画像を省略し、対象物Ｗやロボット２の部分などの動的な物のモデル画像を、ビジュアルサーボで用いる目標画像として生成する。
【００４２】
また、画像記憶部３００は、モデル画像記憶部として、対象物Ｗやロボット２の部分などの動的な物のモデル画像を記憶する。モデル画像は、例えば、より実物に近い３次元リアルＣＧ（コンピューターグラフィックス）であるのが好ましい。具体的には、例えば、対象物Ｗやロボット２の３次元ＣＡＤデータに実物の写真データをテクスチャーマッピングしたＣＧである。対象物Ｗのモデル画像は、ロボット２の異なる複数の作業内容に対応できるように、対象物Ｗごとに用意することができる。なお、後述するように、３次元リアルＣＧをユーザーが操作することで、様々な姿勢の対象物Ｗやロボット２の部分のモデル画像を作成することができる。
【００４３】
また、画像記憶部３００は、入力部３１０を介して設定された目標画像を記憶する。本実施形態では、画像記憶部３００に記憶される目標画像は、例えば、背景画像と、対象物Ｗ及びロボットの部分の目標姿勢（ビジュアルサーボにおける目標）を表すモデル画像（目標モデル画像ともいう）とを関連付けた画像である。
【００４４】
入力部３１０は、ユーザーから情報の入力を受け付ける。入力部３１０は、例えば、出力部３２０により出力されるユーザーインターフェイス画面などを介して、背景画像の設定、目標モデル画像の設定などを受け付ける。
【００４５】
出力部３２０は、ユーザーに対して情報を出力する。出力部３２０は、例えば、ユーザーインターフェイス画面、背景画像、撮像画像、目標モデル画像、目標画像等を表示する。なお、出力部３２０は、本発明の表示部に相当する。
【００４６】
画像取得部３３０は、撮像装置４を制御して撮像を行い、撮像画像を取得し、他の機能部に出力する。
【００４７】
目標画像生成部３４０は、画像記憶部３００に格納されている背景画像と目標モデル画像とに基づいて、背景画像に目標モデル画像を重畳する（背景画像と目標モデル画像を重ね合わせる）ことで、ビジュアルサーボで用いる目標画像（重畳画像）を生成する。また、目標画像生成部３４０は、画像記憶部３００に格納されている目標モデル画像に基づいて、目標モデル画像を、背景画像を省略した目標画像として生成する。
【００４８】
ビジュアルサーボ制御部３５０は、画像取得部３３０から取得した撮像画像（現在画像）と、目標画像生成部３４０が生成した目標画像とに基づいて、ビジュアルサーボを実行して、ロボット２のエンドポイントを次に移動させる移動指令値を生成し、ロボット２に出力する。ビジュアルサーボとしては、例えば、目標画像から抽出した特徴量と現在画像から抽出した特徴量が所定の条件を満たすようにエンドポイントの次の移動指令値を決定する画像ベース法（特徴ベース法）を用いることができる。なお、特徴抽出では、ビジュアルサーボ系への入力情報（制御量）として、画像の特徴量を求める。
【００４９】
なお、関節を持つロボット２では、各関節の角度を決定すると、フォワードキネマティクス処理によりエンドポイントの位置は一意に決定される。つまり、Ｎ関節ロボットではＮ個の関節角度により１つの位置を表現できることになるから、当該Ｎ個の関節角度の組を１つの目標関節角度とすれば、エンドポイントの軌道を目標関節角度の集合と考えることができる。よって、移動指令値は、位置に関する値（目標位置）であってもよいし、関節の角度に関する値（目標角度）であってもよい。
【００５０】
図３は、ロボット制御装置の機能を実現するハードウェア構成の一例を示す図である。
【００５１】
ロボット制御装置３は、例えば、図３に示すような、ＣＰＵ（Central Processing Unit）等の演算装置９１と、ＲＡＭ（Random Access Memory）等の主記憶装置９２と、ＨＤＤ（Hard Disk Drive）等の補助記憶装置９３と、有線又は無線により通信ネットワークと接続するための通信インターフェイス（Ｉ／Ｆ）９４と、マウス、キーボード、タッチセンサーやタッチパネルなどの入力装置９５と、液晶ディスプレイなどの表示装置９６と、ＤＶＤ（Digital Versatile Disk）などの持ち運び可能な記憶媒体に対する情報の読み書きを行う読み書き装置９７と、を備えるコンピューター９０で実現することができる。
【００５２】
入力部３１０、出力部３２０、画像取得部３３０、目標画像生成部３４０、ビジュアルサーボ制御部３５０等は、例えば、補助記憶装置９３等から主記憶装置９２にロードされた所定のプログラムを演算装置９１が実行することで実現される。画像記憶部３００は、例えば、演算装置９１が主記憶装置９２又は補助記憶装置９３を利用することで実現されてもよい。入力部３１０は、例えば、演算装置９１が入力装置９５を利用することで実現されてもよい。出力部３２０は、例えば、演算装置９１が表示装置９６を利用することで実現されてもよい。ロボット２との通信は、例えば、演算装置９１が通信Ｉ／Ｆ９４を利用することで実現される。なお、上記の所定のプログラムは、例えば、読み書き装置９７により読み取られた記憶媒体からインストールされてもよいし、通信Ｉ／Ｆ９４を介してネットワークからインストールされてもよい。
【００５３】
なお、動作制御部２００は、例えば、演算装置、記憶装置、処理回路、駆動回路などを備えるコントローラー基板等により実現することができる。
【００５４】
上述したロボットシステム１の機能構成は、ロボットシステム１の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。ロボットシステム１の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、１つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【００５５】
また、ロボットシステム１の機能及び処理の分担は、説明した例に限られない。例えば、ロボット制御装置３の少なくとも一部の機能は、ロボット２に含まれ、ロボット２により実現されてもよい。また、例えば、ロボット２の少なくとも一部の機能は、ロボット制御装置３に含まれ、ロボット制御装置３により実現されてもよい。
【００５６】
図４は、教示処理の一例を示すフロー図である。適宜図６（背景画像、目標モデル画像、及び目標画像の一例を説明する図）を参照して説明する。
【００５７】
まず、ロボット制御装置３は、背景画像の設定を行う（ステップＳ１）。具体的には、入力部３１０は、出力部３２０が表示した所定のインターフェイス画面を介して、背景画像の撮像の指示をユーザーから受け付ける。例えば、ユーザーは、ロボット２の作業で使用する作業領域等が撮像範囲に含まれるように撮像装置４を作業台Ｔ上に設置し、対象物Ｗやロボット２等の動的な物が撮像範囲に含まれない状態で、撮像を指示する。画像取得部３３０は、入力部３１０を介した指示に応じて、撮像装置４を制御して撮像を行い、背景画像として画像記憶部３００に格納する。
【００５８】
図６（Ａ）には、背景画像Ｂが示してある。背景画像Ｂには、後述する対象物Ｗのモデル画像とロボット２のモデル画像が含まれていない。
【００５９】
それから、ロボット制御装置３は、目標モデル画像の設定を行う（ステップＳ２）。具体的には、入力部３１０は、出力部３２０が表示した所定のインターフェイス画面を介して、目標モデル画像の設定をユーザーから受け付ける。例えば、入力部３１０は、画像記憶部３００に格納されている複数の対象物Ｗのモデル画像のうち、ロボット２が行う作業で使用する対象物Ｗのモデル画像の選択を受け付ける。また、例えば、入力部３１０は、選択された対象物Ｗのモデル画像とロボット２のモデル画像とに対する操作を受け付け、所望の目標姿勢を表すモデルの作成を行う。本実施形態では、ユーザーは、二つの対象物Ｗをそれぞれ左右のハンドで把持し、これらの対象物Ｗを組み付けた状態を目標姿勢として、モデルを作成する。ロボット２のモデル画像には、ロボット２全体が含まれていなくてもよく、ハンド２２やアーム２１の一部などが含まれていればよい。使用するロボット２のパーツのモデル画像を選択できてもよい。なお、３次元リアルＣＧを操作して様々な姿勢を作成することには、一般的な技術を採用することができるため、詳細な説明は省略する。
【００６０】
なお、対象物Ｗをロボット２のハンドで把持した状態の、様々な姿勢のモデル画像を、予め画像記憶部３００に格納しておいてもよい。そして、入力部３１０は、これらの複数の姿勢のモデル画像の中から、目標モデル画像の選択を受け付けるようにしてもよい。また例えば、対象物Ｗの様々な姿勢のモデル画像と、ロボット２の部分の様々な動作状態（様々な姿勢）のモデル画像とを、予め画像記憶部３００に格納しておいてもよい。そして、入力部３１０は、これらの複数の姿勢のモデル画像の中から、対象物Ｗのモデル画像とロボット２のモデル画像の選択を受け付け、これらの組み合わせを目標モデル画像として受け付けるようにしてもよい。このようにすれば、ユーザーは、モデル画像を選択することで、簡単に目標モデル画像を作成することができる。
【００６１】
図６（Ｂ）には、背景画像Ｂ上に、目標モデル画像Ｍを重ねた画像が表示されている。目標モデル画像Ｍには、目標姿勢の対象物Ｗ及びロボット２の部分のモデルが含まれている。
【００６２】
入力部３１０は、上述のようにして作成された対象物Ｗ及びロボット２の目標姿勢を表す目標モデル画像を、ステップＳ１で撮像された背景画像に関連付けて、画像記憶部３００に格納し、図４に示すフローチャートの処理を終了する。
【００６３】
このように、ロボット制御装置３上で、３次元リアルＣＧ等のモデルを使って作業内容に応じた目標モデル画像を生成することができるため、実際にロボット２を動かす必要がなく、簡単に効率的に作業を行うことができる。また、作業内容の変更により対象物Ｗ等が変更されても、３次元リアルＣＧ等のモデルを使って簡単に目標モデル画像を作り直すことができる。
【００６４】
なお、ステップＳ２では、出力部３２０は、ステップＳ１で設定された背景画像を所定のインターフェイス画面に表示してもよい。また、入力部３１０は、表示された背景画像上で、目標モデル画像の作成を受け付けるようにしてもよい。このようにすれば、背景画像に表われている作業領域等と目標モデルとの相対的な距離や位置関係等を考慮して、目標モデルの位置、大きさ、姿勢等を決定することができる。入力部３１０は、このように作成された背景画像に対する目標モデルの相対的な位置等を、画像記憶部３００に格納してもよい。
【００６５】
図５は、ビジュアルサーボ処理の一例を示すフロー図である。適宜図６を参照して説明する。
【００６６】
なお、図５のフローの前段階として、ロボット制御装置３は、ロボット２を制御し、ハンド２２で対象物Ｗを把持し、ビジュアルサーボを開始する所定位置までエンドポイントを移動する。この制御には、例えば軌道計画に基づく位置制御などを用いればよい。従って、図５のフローの処理は、例えば、エンドポイントが前記所定位置まで移動した場合に、開始される。
【００６７】
まず、ロボット制御装置３は、第一目標画像を生成する（ステップＳ１０）。具体的には、目標画像生成部３４０は、図４のステップＳ２で画像記憶部３００に格納された、背景画像に関連付けられた目標モデル画像を取得する。また、目標画像生成部３４０は、取得した目標モデル画像をレンダリングし（例えば、背景画像と同サイズの、背景が存在しない画像にレンダリングし）、２次元画像データ（第一目標画像）を生成する。
【００６８】
図６（Ｃ）には、第一目標画像が示してある。第一目標画像では、背景画像Ｂが省略され、目標モデル画像Ｍがレンダリングされている。
【００６９】
また、ロボット制御装置３は、第二目標画像を生成する（ステップＳ１１）。具体的には、目標画像生成部３４０は、図４のステップＳ１及びステップＳ２で画像記憶部３００に格納された背景画像と当該背景画像に関連付けられた目標モデル画像とを取得する。また、目標画像生成部３４０は、取得した目標モデル画像を取得した背景画像にレンダリングし、２次元画像データ（第二目標画像）を生成する。
【００７０】
図６（Ｄ）には、第二目標画像が示してある。第二目標画像では、背景画像Ｂに目標モデル画像Ｍがレンダリングされている。
【００７１】
それから、ロボット制御装置３は、現在画像を取得する（ステップＳ１２）。具体的には、ビジュアルサーボ制御部３５０は、画像取得部３３０に撮像を指示する。画像取得部３３０は、撮像装置４に撮像を行わせ、撮像画像を取得する。ビジュアルサーボ制御部３５０は、画像取得部３３０から撮像画像（現在画像）を取得する。
【００７２】
それから、ロボット制御装置３は、特徴抽出を行う（ステップＳ１３）。具体的には、ビジュアルサーボ制御部３５０は、例えば、ステップＳ１０で生成された第一目標画像から、特徴量を抽出する。また、ステップＳ１２で取得した現在画像から、特徴量を抽出する。なお、第一目標画像の特徴量は、ステップＳ１０で抽出しておき、これをステップＳ１３で取得してもよい。
【００７３】
それから、ロボット制御装置３は、画像を比較し（ステップＳ１４）、第一条件を満たすか否かを判定する（ステップＳ１５）。具体的には、ビジュアルサーボ制御部３５０は、ステップＳ１３で抽出された第一目標画像の特徴量と現在画像の特徴量とを比較する。また、ビジュアルサーボ制御部３５０は、比較結果が所定の第一条件を満たすか否かを判定する。例えば、ビジュアルサーボ制御部３５０は、第一目標画像の特徴量と現在画像の特徴量の関係を距離で表した評価値（例えば、所定の特徴点間の距離）を算出し、この評価値が予め定めた閾値を超えるか否かを判定する（超えていなければ、第一条件を満たす）。なお、距離で表した評価値に加えて又は替えて、ビジュアルサーボ制御部３５０は、第一目標画像の特徴量と現在画像の特徴量とに基づいて、第一目標画像と現在画像とからハンド２２等の所定の領域を抽出し、これらの二つの領域の重なり度合を表す評価値を算出し、この評価値が予め定めた閾値を超えるか否かを判定するようにしてもよい（超えていなければ、第一条件を満たす）。
【００７４】
第一条件を満たさない場合（ステップＳ１５でＮ）、ロボット制御装置３は、指令を生成し（ステップＳ１６）、ロボット２に指令を送信し（ステップＳ１７）、処理をステップＳ１２に戻す。具体的には、ビジュアルサーボ制御部３５０は、ステップＳ１３で抽出し第一目標画像の特徴量と現在画像の特徴量とに基づいて、エンドポイントの次の移動指令値を生成し、ロボット２に送信する。
【００７５】
一方、第一条件を満たす場合（ステップＳ１５でＹ）、ロボット制御装置３は、現在画像を取得する（ステップＳ１８）。ステップＳ１８の処理は、ステップＳ１２と同じなので、説明を省略する。なお、ステップＳ１５からステップＳ１８に最初に遷移する場合は、ステップＳ１８では、ステップＳ１２で最後に取得された現在画像を使用するようにしてもよい。
【００７６】
それから、ロボット制御装置３は、特徴抽出を行う（ステップＳ１９）。具体的には、ビジュアルサーボ制御部３５０は、例えば、ステップＳ１１で生成された第二目標画像から、特徴量を抽出する。また、ステップＳ１８で取得した現在画像から、特徴量を抽出する。なお、第二目標画像の特徴量は、ステップＳ１１で抽出しておき、これをステップＳ１９で取得してもよい。
【００７７】
それから、ロボット制御装置３は、画像を比較し（ステップＳ２０）、第二条件を満たすか否かを判定する（ステップＳ２１）。具体的には、ビジュアルサーボ制御部３５０は、ステップＳ１９で抽出された第二目標画像の特徴量と現在画像の特徴量とを比較する。また、ビジュアルサーボ制御部３５０は、比較結果が所定の第二条件を満たすか否かを判定する。例えば、ビジュアルサーボ制御部３５０は、第二目標画像の特徴量と現在画像の特徴量の関係を距離で表した評価値（例えば、所定の特徴点間の距離）を算出し、この評価値が予め定めた閾値を超えるか否かを判定する（超えていなければ、第二条件を満たす）。なお、距離で表した評価値に加えて又は替えて、ビジュアルサーボ制御部３５０は、第二目標画像の特徴量と現在画像の特徴量とに基づいて、第二目標画像と現在画像とからハンド２２等の所定の領域を抽出し、これらの二つの領域の重なり度合を表す評価値を算出し、この評価値が予め定めた閾値を超えるか否かを判定するようにしてもよい（超えていなければ、第二条件を満たす）。
【００７８】
第二条件を満たさない場合（ステップＳ２１でＮ）、ロボット制御装置３は、指令を生成し（ステップＳ２２）、ロボット２に指令を送信し（ステップＳ２３）、処理をステップＳ１８に戻す。具体的には、ビジュアルサーボ制御部３５０は、ステップＳ１９で抽出し第二目標画像の特徴量と現在画像の特徴量とに基づいて、エンドポイントの次の移動指令値を生成し、ロボット２に送信する。
【００７９】
一方、第二条件を満たす場合（ステップＳ２１でＹ）、ロボット制御装置３は、図５に示すフローを終了する。
【００８０】
このように、目標モデル画像をレンダリングした目標画像を用いて、ビジュアルサーボを実行してロボット２を動作させることができる。また、背景画像を省略した第一目標画像を用いることで、特徴量の算出に掛かる演算処理量を減らすことができるため、ビジュアルサーボの処理時間を短くすることができる。また、第一条件を満たした後は背景画像を含む第二目標画像を用いることで、画像から抽出できる特徴量が増えるため、より精度の高いビジュアルサーボを行うことができる。
【００８１】
なお、ステップＳ１１の処理は、例えば、ステップＳ１５の次など、ステップＳ１５とステップＳ１８の間に実行するようにしてもよい。このようにすれば、第一目標画像を用いたビジュアルサーボ（ステップＳ１２〜ステップＳ１７）をより早く開始することができる。
【００８２】
図４及び図５に示した各フローチャートの各処理単位は、ロボット制御装置３の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。ロボット制御装置３の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、１つの処理単位がさらに多くの処理を含むように分割することもできる。また、各処理単位の順序も、図示した例に限られない。
【００８３】
以上、本発明の一実施形態について説明した。本実施形態によれば、作業内容が変更されても、より簡単に効率よくビジュアルサーボを行うことができる。
【００８４】
なお、上記の実施形態では、二つの対象物Ｗをそれぞれ左右のハンドで把持し、これらの対象物Ｗを組み付ける作業を例に説明したが、作業内容はこれに限られない。例えば、対象物Ｗをハンドで把持し、対象物Ｗを所定位置に置く、という作業が考えられる。この場合、対象物Ｗをハンドで把持した状態の目標モデル画像を用意すればよい。このとき、背景画像内に所定位置を定め、当該所定位置に対象物Ｗが位置するように目標モデル画像の位置を設定し、画像記憶部３００に格納すればよい。また、例えば、所定位置に置かれた対象物Ｗをハンドで把持する、という作業が考えられる。この場合も、対象物Ｗをハンドで把持した状態の目標モデル画像を用意すればよい。このとき、背景画像内に所定位置を定め、当該所定位置に対象物Ｗが位置するように目標モデル画像の位置を設定し、画像記憶部３００に格納すればよい。
【００８５】
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。本発明の提供の態様にも、様々な態様が取り得る。本発明は、例えば、ロボット制御装置の機能が含まれるロボットとして提供してもよい。また、例えば、ロボット制御装置の教示に関する機能を、教示装置に含め、教示装置と、ロボット制御装置と、ロボットとを別個に有するロボットシステムとして提供してもよい。また、例えば、教示装置と、ロボット制御装置の機能が含まれるロボットとを含むロボットシステムとして提供してもよい。また、本発明は、ロボット制御方法、プログラム、当該プログラムを記憶した記憶媒体などとしても提供することもできる。
【符号の説明】
【００８６】
１：ロボットシステム
２：ロボット
３：ロボット制御装置
４：撮像装置
２０：胴部
２１：アーム
２１ａ：ジョイント
２１ｂ：アーム部材
２１ｃ：力覚センサー
２２：ハンド
２４：脚部
２５：頭部
９０：コンピューター
９１：演算装置
９２：主記憶装置
９３：補助記憶装置
９４：通信Ｉ／Ｆ
９５：入力装置
９６：表示装置
９７：読み書き装置
２００：動作制御部
３００：画像記憶部
３１０：入力部
３２０：出力部
３３０：画像取得部
３４０：目標画像生成部
３５０：ビジュアルサーボ制御部
Ｂ：背景画像
Ｍ：目標モデル画像
Ｔ：作業台
Ｗ：対象物
【図１】
2015182210.tif 000003
【図２】
2015182210.tif 000004
【図３】
2015182210.tif 000005
【図４】
2015182210.tif 000006
【図５】
2015182210.tif 000007
【図６】
2015182210.tif 000008