(57)【要約】【課題】作業現場の環境によらず対象物の位置を制御する。【解決手段】第１の物体と所定の位置関係となる位置に第２の物体を動かすロボットと、前記第１の物体の画像を投影する投影部と、前記第１の物体の画像と前記第２の物体の画像を撮影する撮影部と、を含み、前記ロボットは、前記撮影部が撮影した前記画像に基づいて、前記第２の物体を動かして、前記第１の物体と前記第２の物体を前記所定の位置関係にする。これにより、作業現場の環境によらず対象物の位置を制御する。【選択図】図１
2015123560.tif 000002
【特許請求の範囲】
【請求項１】
第１の物体と所定の位置関係となる位置に第２の物体を動かすロボットと、
前記第１の物体の画像を投影する投影部と、
前記第１の物体の画像と前記第２の物体の画像を撮影する撮影部と、を含み、
前記ロボットは、
前記撮影部が撮影した前記画像に基づいて、前記第２の物体を動かして、前記第１の物体と前記第２の物体を前記所定の位置関係にする、
ロボットシステム。
【請求項２】
前記撮影部が撮影した前記第１の物体の画像の特徴量と前記第２の物体の画像の特徴量との差分を算出する差分算出部を備え、
前記差分算出部が算出した差分に基づいて、前記第２の物体の位置を制御する請求項１に記載のロボットシステム。
【請求項３】
前記投影部が前記第１の物体の画像を投影する画像表示部を備える請求項１又は請求項２に記載のロボットシステム。
【請求項４】
前記投影部は、前記第１の物体の画像を前記画像表示部の一方の面に投影し、
前記撮影部は前記画像表示部の他方の面に表示された第１の物体の画像と前記第２の物体の画像を撮影する請求項３に記載のロボットシステム。
【請求項５】
前記投影部は、前記ロボットが前記第２の物体を操作することができる操作範囲の空間内に前記第１の物体の画像を投影する請求項１又は請求項２に記載のロボットシステム。
【請求項６】
第１の物体と所定の位置関係となる位置に第２の物体を動かすロボットを動作させるロボット制御装置であって、
投影部により投影された前記第１の物体の画像を撮影した撮影画像を受け付ける画像受付部と、
前記撮影画像に基づいて、前記ロボットに前記第２の物体を動かさせ、前記第１の物体と前記第２の物体を前記所定の位置関係にするロボット制御部と、
を備えるロボット制御装置。
【請求項７】
第１の物体と所定の位置関係となる位置に第２の物体を動かすロボットを動作させるロボット制御方法であって、
前記第１の物体の画像を投影することと、
前記第１の物体の画像と前記第２の物体の画像を撮影することと、
撮影した画像に基づいて、前記ロボットに前記第２の物体を動かさせ、前記第１の物体と前記第２の物体を前記所定の位置関係にすることと、
を含むロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステム、ロボット制御装置、及びロボット制御方法に関する。
【背景技術】
【０００２】
製造等の作業現場では、製品の組み立てや検査等の作業に多軸ロボットが用いられることがある。作業を行う際に用いられるロボットの制御方法として、ビジュアルサーボ（ビジュアルフィードバックともいう）がある。ビジュアルサーボは、作業の対象となる対象物との相対的な位置の変化を視覚情報として計測し、計測した視覚情報をフィードバック情報として用いることによって対象物を追跡するサーボシステムの一種である。
【０００３】
ビジュアルサーボでは、予め取得した複数枚の参照画像を順次用いて、対象物を目標位置に誘導することがある。参照画像は、移動の目標とする目標位置に、目標とする目標姿勢（向き）に向くように配置された対象物を示す画像である。参照画像は、教示画像と呼ばれることがある。このとき、ビジュアルサーボでは、参照画像とその時点で撮影された画像（以下、現在画像と呼ぶ）に基づいて、対象物の位置の差分と姿勢の差分を推定する。
【０００４】
例えば、特許文献１には、あらかじめ参照画像として基準位置からワークＷを撮影したデータを記憶させ、制御装置がカメラで撮影した画像と参照画像のデータとに基づいてビジュアルサーボにより位置、姿勢の制御を行う方法について記載されている。特許文献１には、収束した段階で、カメラを、姿勢角を所定以上傾けて画像データを取得する。このとき、各画像での姿勢角と参照画像のデータとの誤差値を演算し、誤差値が最も小さくなる時の姿勢角を推定し、補正量として求める。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１１７８６７号公報
【特許文献２】特開２００７−２０６５８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、作業現場でビジュアルサーボが用いられる工程毎に参照画像を撮影することは現実的ではない。他方、事前に対象物を用いて模擬的な参照画像を撮影することも考えられるが、現場の環境が変化すると実際の対象物の位置や姿勢が撮影された時点から変化する。そのため対象物の位置や姿勢が推定できずに、ロボットの動作の制御に失敗するという問題が生じることがあった。
【０００７】
そこで、本発明は、上記問題に鑑みてなされたものであり、作業現場の環境によらず対象物の位置を制御することができるロボットシステム、ロボット制御装置、及びロボット制御方法、を提供することを課題とする。
【課題を解決するための手段】
【０００８】
（１）本発明の一態様は、第１の物体と所定の位置関係となる位置に第２の物体を動かすロボットと、前記第１の物体の画像を投影する投影部と、  前記第１の物体の画像と前記第２の物体の画像を撮影する撮影部と、を含み、前記ロボットは、前記撮影部が撮影した前記画像に基づいて、前記第２の物体を動かして、前記第１の物体と前記第２の物体を前記所定の位置関係にする、ロボットシステムである。
この構成によれば、第１の物体の画像を事前に作業現場の環境毎に撮影しなくても、その画像を投影することで第１の物体の位置に関する情報が与えられる。そのため、作業現場の環境によらず第１の物体と第２の物体とが所定の位置関係を有するように制御することができる。
【０００９】
（２）本発明の他の態様は、上記のロボットシステムにおいて、前記撮影部が撮影した前記第１の物体の画像の特徴量と前記第２の物体の画像の特徴量との差分を算出する差分算出部を備え、前記差分算出部が算出した差分に基づいて、前記第２の物体の位置を制御する。
この構成によれば、撮影された画像に基づいて得られた第１の物体と第２の物体の特徴量の差分が、対象物の状態の制御に用いられる。そのため、第２の物体が第１の物体の位置に近づくように制御することができる。
【００１０】
（３）本発明の他の態様は、上記のロボットシステムにおいて、前記投影部が前記第１の物体の画像を投影する画像表示部を備える。
この構成によれば、画像表示部に投影された第１の物体の画像と第２の物体の画像とを用いて、第２の物体の位置を制御することができる。
【００１１】
（４）本発明の他の態様は、上記のロボットシステムにおいて、前記投影部は、前記第１の物体の画像を前記画像表示部の一方の面に投影し、前記撮影部は前記画像表示部の他方の面に表示された第１の物体の画像と前記第２の物体の画像を撮影する。
この構成によれば、投影部と撮影部とを画像表示部を挟んで相対して配置することができるので、投影部が配置されることによりロボットの作業空間が制約されることや、撮影部により撮影される画像が遮蔽されることを防止することができる。
【００１２】
（５）本発明の他の態様は、上記のロボットシステムにおいて、前記投影部は、前記ロボットが前記第２の物体を操作することができる操作範囲の空間内に前記第１の物体の画像を投影する。
この構成によれば、画像表示部を用いなくても第１の物体の画像が表示されるので、ロボットによる作業空間への影響を与えずに第１の物体の画像と第２の物体の画像とを取得することができる。
【００１３】
（６）本発明の他の態様は、第１の物体と所定の位置関係となる位置に第２の物体を動かすロボットを動作させるロボット制御装置であって、投影部により投影された前記第１の物体の画像を撮影した撮影画像を受け付ける画像受付部と、前記撮影画像に基づいて、前記ロボットに前記第２の物体を動かさせ、前記第１の物体と前記第２の物体を前記所定の位置関係にするロボット制御部と、を備えるロボット制御装置である。
この構成によれば、第１の物体の画像を事前に作業現場の環境毎に撮影しなくても、その画像を投影することで第１の物体の位置に関する情報が与えられる。そのため、作業現場の環境によらず第１の物体と第２の物体とが所定の位置関係を有するように制御することができる。
【００１４】
（７）本発明の他の態様は、第１の物体と所定の位置関係となる位置に第２の物体を動かすロボットを動作させるロボット制御方法であって、前記第１の物体の画像を投影することと、前記第１の物体の画像と前記第２の物体の画像を撮影することと、撮影した画像に基づいて、前記ロボットに前記第２の物体を動かさせ、前記第１の物体と前記第２の物体を前記所定の位置関係にすることと、を含むロボット制御方法である。
この構成によれば、第１の物体の画像を事前に作業現場の環境毎に撮影しなくても、その画像を投影することで第１の物体の位置に関する情報が与えられる。そのため、作業現場の環境によらず第１の物体と第２の物体とが所定の位置関係を有するように制御することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態に係るロボットシステムの概略図である。
【図２】参照画像の例を示す図である。
【図３】取得された画像情報の例を示す図である。
【図４】本実施形態に係るロボットシステムの他の配置例を示す図である。
【図５】本実施形態に係るロボットシステムの他の構成例を示す図である。
【図６】本実施形態に係るロボットシステムのさらに他の構成例を示す概略図である。
【図７】本実施形態に係るロボットシステムのまたさらに他の構成例を示す概略図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
図１は、本実施形態に係るロボットシステム１の概略図である。
ロボットシステム１は、ロボット制御装置１０と、投影部１３と、ロボット２０と、撮影部２０４と、回線３０とを備える。
ロボット制御装置１０と、ロボット２０とは、回線３０を介して、互いに通信することができる。回線３０は、有線の回線であってもよいし、無線の回線であってもよい。
【００１７】
ロボット制御装置１０は、制御部１１と、記憶部１２と、入力部１４と、出力部１５と、を備える。
投影部１３は、ロボット制御装置１０と一体に備えられてもよく、又は、他の構成例として、ロボット制御装置１０とは別体で備えられてもよい。
【００１８】
図１の例では、ロボット２０により作業が行われる対象となる対象物（ワークとも呼ばれる、第２の物体）Ｗｋ１と、その下方に他の対象物Ｗｋ２が置かれている。対象物Ｗｋ１は、ロボット２０の把持部（ハンド）２０３−１に把持され、対象物Ｗｋ２は、作業台（図示せず）の上面に置かれている。ロボット２０が動作を行う作業領域（対象物Ｗｋ１、Ｗｋ２が配置されている領域を含む）の背面の側には、スクリーン（画像表示部）３１が設置されている。ロボット２０に備えられている撮影部２０４の光学軸は、スクリーン３１の表面上の一点（例えば、中心）に向けられ、スクリーン３１の表面の一部又は全部は、撮影部２０４が画像を撮影することができる撮影範囲（視野）内に含まれる。撮影部２０４は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）カメラである。
【００１９】
スクリーン３１は、例えば、透過型スクリーン（半透過スクリーン、リアスクリーンとも呼ばれる）である。透過型スクリーンは、透明な平板（例えば、ガラス板、アクリル板）の表面が半透過フィルムで覆われ、一体化されたスクリーンである。半透過フィルムは、表面から入射された表面入射光の一部を表面上で反射し、かつ、裏面から入射された裏面入射光の一部を表面に透過させる膜である。半透過フィルムは、例えば、銀、等の金属材料の薄膜である。
【００２０】
投影部１３は、スクリーン３１の背面側に配置され、その光学軸がスクリーン３１の裏面上の一点（例えば、中心）に向けられ、予め取得した参照画像をスクリーン３１の裏面に投影する。参照画像は、例えば、２個の目標物（第１の物体）Ｏｂ１、Ｏｂ２を示す画像である。これにより、目標物Ｏｂ１、Ｏｂ２の画像が、それぞれスクリーン３１の表面に表示され、後述するように、対象物Ｗｋ１、Ｗｋ２との位置関係を合わせるために用いられる。目標物Ｏｂ１、Ｏｂ２は、それぞれ対象物Ｗｋ１、Ｗｋ２と同じ種類の物体である。撮影部２０４は、スクリーン３１の表面に表示された目標物Ｏｂ１、Ｏｂ２の画像と、対象物Ｗｋ１、Ｗｋ２とが予め定めた位置関係で配置された画像を撮影する。その位置関係は、例えば、撮影部２０４を視点として目標物Ｏｂ２の画像の外縁と対象物Ｗｋ２の外縁とが重なり合う位置である。ここで、投影部１３により投影された参照画像が表示された範囲が撮影部２０４の視野内に含まれていればよく、投影部１３の光学軸の方向は必ずしも撮影部２０４の光学軸の方向と同一でなくてもよい。
【００２１】
投影部１３は、２次元の参照画像をスクリーン３１に投影するプロジェクターであってもよいが、これには限られない。投影部１３は、３次元の画像をスクリーン３１に投影する３次元プロジェクターであってもよい。３次元プロジェクターは、所定の視点からの距離に応じた視差を有する２つの画像をスクリーン３１に投影し、スクリーン３１は、それぞれの画像を示す画像光を放射する。その画像の視点の位置を撮影部２０４の光学系の焦点に配置することで、撮影部２０４は投影部１３が投影した３次元の参照画像を撮影することができる。
【００２２】
なお、投影部１３の位置は、参照画像がスクリーン３１に投影されることができれば、スクリーン３１の背面に限らず、任意の位置であってもよい。投影部１３の位置は、スクリーン３１の前面であってもよい。投影部１３がスクリーン３１の前面に配置される場合には、スクリーン３１は、透過型スクリーンに限らず、非透過型スクリーンであってもよい。
【００２３】
次に、本実施形態に係るロボットシステムにおいて行われる処理の概要を説明する。
本実施形態では、図１に示される作業の環境において、投影部１３がスクリーン３１に投影した画像を参照画像として、撮影部２０４は、少なくとも参照画像と対象物Ｗｋ１を示す画像が重畳した重畳画像を撮影する。ロボット制御装置１０は、撮影した重畳画像を用いてビジュアルフィードバック制御により、対象物Ｗｋ１を目標の位置（目標位置）に移動させるようにロボット２０の動作を制御する。
【００２４】
図１に示される例では、ロボット２０が対象物Ｗｋ１を把持し、当該対象物Ｗｋ１を、参照画像が示す目標物Ｏｂ１の位置を目標位置（ゴール）として移動させる。但し、この例では、対象物Ｗｋ２の位置と目標物Ｏｂ２の位置は、撮影部２０４を基準とするカメラ座標系上では同一である。ここで、目標物Ｏｂ２の真上に目標物Ｏｂ１が配置されていることを示す参照画像を投影することで、対象物Ｗｋ１を移動すべき目標位置が対象物Ｗｋ２の直上であることがロボット制御装置１０に教示される。
【００２５】
スクリーン３１に投影される参照画像は、最終的な目標位置に配置された目標物Ｏｂ１，Ｏｂ２を示す画像１個のみでもよいが、これには限られない。投影される参照画像は、各時刻でそれぞれ異なる位置に配置された目標物Ｏｂ１，Ｏｂ２を示す複数の画像であってもよい。つまり、ある目標位置に存在する目標物Ｏｂ１，Ｏｂ２を示す参照画像を異なる目標位置に存在する目標物Ｏｂ１，Ｏｂ２を示す参照画像に代えることで、対象物Ｗｋ１を移動させるべき目標位置を変更することができる。その場合には、複数の画像のそれぞれが時刻順に投影される。
これにより、ロボット２０は、目標物Ｏｂ１が最終的な目標位置（終点）に至るまでの軌道に沿って対象物Ｗｋ１を移動させることができる。目標物Ｏｂ１の軌道は、投影される画像を予め生成する過程で任意に設定することができる。例えば、対象物Ｗｋ１が組み付けようとする製品の他の構成物、その他の作業上の障害物との接触を回避して移動されるように、目標物Ｏｂ１の軌道を設定してもよい。
【００２６】
ここで、ロボット制御装置１０は、ロボット２０に対象物Ｗｋ１を把持させながら、その時点での位置から、投影された参照画像が示す目標物Ｏｂ１の位置に移動させるタスクを逐次に行う。これにより、対象物Ｗｋ１を最終的な目標位置に到達させる。
【００２７】
入力部１４は、例えば、ユーザーにより操作された操作入力を受け付けるキーボードやマウスなどのポインティングデバイスを含んで構成される。
出力部１５は、例えば、情報を画像で表示する液晶ディスプレイなどを用いて構成され、ユーザーに対して各種の情報を画像で表示する。
【００２８】
記憶部１２は、各種の情報を記憶する記憶媒体を含んで構成される。
記憶部１２は、例えば、制御部１１で使用されるプログラムの情報や、各種の処理で使用される数値などの情報を記憶する。
本実施形態では、記憶部１２は、スクリーン３１に表示させる参照画像を示す画像データを含む教示情報を記憶する。
【００２９】
本実施形態では、それぞれ目標物の画像を示す画像データを予め生成しておき、生成した画像データを教示情報として記憶部１２に記憶しておいてもよい。例えば、記憶部１２には、最終的な目標位置に至るまでの複数（例えば、５個）の目標位置のそれぞれに配置された目標物Ｏｂ１を示す参照画像の画像データが記憶されてもよい。それぞれの目標位置の教示情報には、その目標位置に存在する目標物Ｏｂ１の画像（参照画像）の画像データの他、さらにその目標位置に対象物Ｗｋ１を移動させる場合に用いられるパラメーター（差分算出パラメーター）を特定する情報、対象物Ｗｋ１の姿勢の制御方法（姿勢制御処理）を規定する情報、又はそれらの両者が含まれていてもよい。
【００３０】
ここで、差分算出パラメーターは、例えば、３次元直交座標系（ＸＹＺ座標系）において、目標物Ｏｂ１の３次元の位置を表す座標値［Ｘ，Ｙ，Ｚ］を指定する３個のパラメーターＸ，Ｙ，Ｚと、目標物Ｏｂ１の３次元の姿勢を表す回転量［θＸ，θＹ，θＺ］を指定する３個のパラメーターθＸ，θＹ，θＺである。つまり、差分算出パラメーターは、目標物Ｏｂ１の位置、又はその位置と姿勢との組を示すパラメーターである。
【００３１】
そして、本実施形態では、３次元の位置を表す座標値［Ｘ，Ｙ，Ｚ］を指定する３個のパラメーターＸ，Ｙ，Ｚを差分算出パラメーターとして用いる制御モード（位置制御モード）と、３次元の位置を表す座標値［Ｘ，Ｙ，Ｚ］を指定する３個のパラメーターＸ，Ｙ，Ｚ及び３次元の姿勢を表す回転量［θＸ，θＹ，θＺ］を指定する３個のパラメーターθＸ，θＹ，θＺを差分算出パラメーターとして用いる制御モード（位置姿勢制御モード）といった２つの制御モードをタスクごと（目標位置ごと）に使い分けられてもよい。
【００３２】
本実施形態では、例えば、差分算出パラメーターを特定する情報として、初期の目標位置から最後から２番目の目標位置までは、位置制御モードを使用することが設定され、また、最終的な目標位置については、位置姿勢制御モードを使用することが設定されてもよい。本実施形態では、このような各目標位置（各タスク）において使用する制御モードは、あらかじめ設定されて記憶部１２に記憶されるが、他の構成例として、入力部１４においてユーザーが受け付けた操作入力に基づいて制御モードが可変に設定されてもよい。
【００３３】
なお、制御モードで指定される差分算出パラメーターの種類や数は、上述の例に限られない。例えば、制御モードは、３次元の位置を表す座標値［Ｘ，Ｙ，Ｚ］を指定する３個のパラメーターＸ，Ｙ，Ｚのうちで、Ｚ方向の制御が不要である場合には、２個のパラメーターＸ，Ｙを差分算出パラメーターとして使用されてもよい。
また、差分算出パラメーターのうち、３次元の位置を表す座標値［Ｘ，Ｙ，Ｚ］が省略され、回転量［θＸ，θＹ，θＺ］のみが用いられ、制御モードとして位置姿勢制御モードのみが設定され、位置制御モードが設定されなくてもよい。
【００３４】
規定された姿勢制御処理は、姿勢に関する差分算出パラメーターが用いられない場合（本実施形態では、位置制御モードの場合）に実行されるようにしてもよい。
他方、姿勢に関する差分算出パラメーターが用いられる場合（本実施形態では、位置姿勢制御モードの場合）には、対象物を目標位置に移動させるタスク（本実施形態では、ビジュアルフィードバック制御）において当該差分算出パラメーターを用いて姿勢が制御され、姿勢制御処理は用いられないため、姿勢制御処理は規定されなくてもよい。
【００３５】
姿勢制御処理としては、公知の方式が用いられてもよい。例えば、そのような姿勢制御処理では、対象物Ｗｋ１を目標位置に移動させるタスク（本実施形態では、ビジュアルフィードバック制御）の途中で、対象物Ｗｋ１の姿勢を変化させずに同じまま（不変）として、当該タスクの初期状態のまま固定しておいてもよい。
【００３６】
姿勢制御処理の他の一例として、２つの異なる位置における対象物Ｗｋ１の姿勢の違いをスプライン関数などの連続関数を用いて補間し、この補間結果に従うように、２つの位置の一方から他方までに移動させるタスク（本実施形態では、ビジュアルフィードバック制御）の途中で対象物Ｗｋ１の姿勢を変化させてもよい。
【００３７】
具体的には、ロボット制御装置１０は、ロボット２０により対象物Ｗｋ１を把持した初期の状態（第１のタスクの初期状態）における当該対象物Ｗｋ１の実際の姿勢から、最終的な目標位置である第Ｎ番目の目標位置（第Ｎのタスク）における対象物Ｗｋ１の目標となる姿勢へと、スプライン関数などにより補間する。その補間された対象物Ｗｋ１の姿勢が第１のタスク〜第Ｎのタスクが順次実行されるときに実現されるように、ロボット２０の動作を制御する。
【００３８】
また、姿勢に関する差分算出パラメーターが用いられない場合（本実施形態では、位置制御モードの場合）には、ロボット制御装置１０は、位置に関する差分算出パラメーターを用いて、ロボット２０により対象物Ｗｋ１の位置を変化させるように制御する。この場合における実際の対象物Ｗｋ１及び参照画像中の目標物Ｏｂ１の位置（両者の対象物を比較するときに、比較する位置）としては、様々な位置が用いられてもよい。
【００３９】
一例として、実際の対象物Ｗｋ１及び参照画像中の当該目標物Ｏｂ１の位置（両者の対象物を比較するときに、比較する位置）としては、ロボット制御装置１０は、対象物Ｗｋ１，目標物Ｏｂ１それぞれの重心の位置、又は、対象物Ｗｋ１，目標物Ｏｂ１それぞれの所定の特徴点の位置などを用いることができる。
具体的な例として、ロボット制御装置１０は、実際の対象物Ｗｋ１及び参照画像中の目標物Ｏｂ１のそれぞれについて、対象物が表示されている表示領域を検出し、当該領域の重心位置を算出する。ロボット制御装置１０は、算出した両者の重心位置を比較して差分算出処理を行い、これら両者の重心位置が一致するように、ロボット２０の位置、姿勢、又はその両者を制御する。
【００４０】
本実施形態では、このように差分算出処理において比較に用いる目標物Ｏｂ１の位置は、あらかじめ設定されて記憶部１２に記憶されるが、他の構成例として、ユーザーが入力部１４を操作することなどにより可変に設定されてもよい。
【００４１】
また、各目標位置における参照画像は、一例として、撮影部２０４又は他のカメラにより、予め撮影され、その参照画像の情報が記憶部１２に記憶させておいてもよい。他の構成例として、ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）システムを適用し、各目標位置における参照画像としてＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ、コンピュータグラフィックス）などを用いて生成された目標物Ｏｂ１の画像が用いられてもよい。
【００４２】
なお、姿勢に関する差分算出パラメーターが用いられる場合（本実施形態では、位置姿勢制御モードの場合）のタスクについては、対象物Ｗｋ１の位置ばかりでなく姿勢も目標の状態にある参照画像を予め生成しておく。
一方、姿勢に関する差分算出パラメーターが用いられない場合（本実施形態では、位置制御モードの場合）のタスクについては、対象物Ｗｋ１の位置が目標の状態にある参照画像を予め生成しておき、参照画像中における対象物Ｗｋ１の姿勢については一定であってもよい。
【００４３】
制御部１１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）で構成され、ロボット制御装置１０における各種の処理を制御する。機能面から考察すると、制御部１１は、ロボット制御部１１１、教示情報処理部（参照画像取得部）１１２、画像取得部１１３及び差分算出部（画像誤差算出部）１１４を含んで構成される。
制御部１１は、例えば、入力部１４により受け付けられたユーザーによる操作入力に応じた処理を実行する機能、各種の情報を出力部１５に画像として表示させる機能、記憶部１２に記憶された情報を読み取る機能及び記憶部１２に情報を書き込む（記憶させる）機能を有する。
【００４４】
教示情報処理部１１２は、記憶部１２に記憶される教示情報を読み取る。教示情報処理部１１２は、読み取った教示情報に含まれる画像データを投影部１３に出力して、スクリーン３１にその参照画像を表示させる。
【００４５】
記憶部１２は、対象物Ｗｋ１の位置又はさらに姿勢に関して順次達成されるべき複数の目標があり、それぞれの目標ごとに教示情報を記憶する。このため、教示情報処理部１１２は、記憶部１２に記憶された複数の教示情報の中から、その時点での対象物Ｗｋ１の状態において使用されるべき教示情報を選択して読み取る。つまり、教示情報処理部１１２は、ロボット２０が対象物Ｗｋ１を把持している状態で、対象物Ｗｋ１をそれぞれの目標位置（目標物Ｏｂ１に対応した位置）に移動させるための教示情報を記憶部１２から読み取り、ロボット制御部１１１が読み取った教示情報に基づいて対象物Ｗｋ１を移動させる、という処理を繰り返す。
【００４６】
なお、教示情報処理部１１２は、各目標位置における参照画像を、ＣＧを用いて生成し、生成した参照画像を教示情報として生成してもよい。その場合には、教示情報処理部１１２は、参照画像とその目標位置とを対応付けて教示情報を生成してもよい。ＣＧを用いて参照画像を生成する際には、教示情報処理部１１２は、更に目標物Ｏｂ１の方向を目標姿勢として用い、その目標姿勢をとる参照画像を生成してもよい。その場合には、教示情報処理部１１２は、参照画像とその目標位置とその目標姿勢とを対応付けて教示情報を生成してもよい。教示情報処理部１１２が教示情報を生成する場合には、記憶部１２において予め教示情報を記憶させておく必要はない。また、入力部１４がユーザーの操作によって受け付けた操作入力によって目標位置、目標姿勢、又はその両者が設定可能であってもよい。
【００４７】
画像取得部１１３は、撮影部２０４から入力された画像の情報を取得する。
ここで、撮影部２０４は、例えば、ロボット２０に設置されたカメラを用いて構成される。撮影部２０４は、ロボット２０による作業（例えば、把持や移動などの作業）が行われる対象となる対象物Ｗｋ１とスクリーン３１に表された目標物Ｏｂ１の画像を撮影する。そして、撮影部２０４は、撮影した画像の情報（画像データ）を画像取得部１１３に出力する。画像取得部１１３は、取得した画像データを差分算出部１１４に出力する。
【００４８】
差分算出部１１４は、画像取得部１１３から入力される画像の情報に基づいて、差分算出の処理を行う。ここで、差分算出部１１４は、画像取得部１１３から入力される画像情報が示す対象物（例えば、対象物Ｗｋ１）と目標物（例えば、目標物Ｏｂ１）のそれぞれの差分算出パラメーターを比較してその差分を算出する。読み取った教示情報に差分算出パラメーターを特定する情報が含まれている場合には、差分算出部１１４は、その情報で特定される差分算出パラメーターに応じた制御モード（例えば、位置制御モード、又は、位置姿勢制御モード）を使用して、差分算出パラメーターの差分を算出する。位置制御モードが使用される場合には、差分算出部１１４は、対象物の位置と目標物の位置との差分を算出する。位置姿勢制御モードが使用される場合には、差分算出部１１４は、対象物の位置ならびに姿勢の組と、対象物の位置ならびに姿勢の組との差分を算出する。
【００４９】
これに先立ち、差分算出部１１４は、例えば、入力された画像の情報について既知の物体検出処理（例えば、エッジ抽出、等）を行って対象物と目標物の形態の特徴を示す特徴点（例えば、エッジ）を抽出して、それぞれが表示されている領域（表示領域）を抽出する。差分算出部１１４は、それぞれ抽出した表示領域の代表点（例えば、重心点）を対象物Ｗｋ１の位置、目標物Ｏｂ１の位置と定める。入力された画像が２次元の画像の情報である場合には、差分算出部１１４は、例えば、対象物Ｗｋ１、目標物Ｏｂ１それぞれのエッジで囲まれる部分の大きさに基づいて、対象物Ｗｋ１、目標物Ｏｂ１までの距離を推定する。他方、入力された画像が３次元の画像の情報である場合には、差分算出部１１４は、画像情報が示す視差と画像情報の生成時に予め設定された基線長に基づいて対象物Ｗｋ１及び目標物Ｏｂ１までの距離をそれぞれ検出する。３次元の画像の情報を用いることで、対象物Ｗｋ１と目標物Ｏｂ１との位置の差分を精度よく算出することができる。
【００５０】
また、対象物Ｗｋ１の姿勢、目標物Ｏｂ１の姿勢を検出する場合には、差分算出部１１４は、既知の姿勢検出処理を対象物Ｗｋ１及び目標物Ｏｂ１の表示領域について実行して、それぞれの姿勢を検出してもよい。例えば、差分算出部１１４は、対象物Ｗｋ１及び目標物Ｏｂ１の表示領域のそれぞれについて、形態の特徴を示す複数の特徴点（例えば、頂点、交点、斑点、等）を検出し、特徴間の距離が予め与えられた特徴点間の距離と等しくなる姿勢を探索する。
【００５１】
このような差分算出部１１４における差分算出の処理の算出結果により、使用する制御モードに従って、ロボット２０により作業が行われる対象となる対象物Ｗｋ１の実際の状態が、目標物Ｏｂ１の状態に対応（例えば、一致）するか否かを撮影した画像に基づいて判定することができる。判定に用いられる状態は、位置制御モードにおいては位置、位置姿勢制御モードにおいては位置及び姿勢である。
本実施形態では、ロボット制御部１１１が、このような判定を行ってもよいし、差分算出部１１４が、このような判定を行ってもよい。
ロボット制御部１１１又は差分算出部１１４は、このような判定を行う際、上述した他、例えば、対象物Ｗｋ１の表示領域と、目標物Ｏｂ１の表示領域との間の各画素の階調差を最小にする非線形最小化問題を解くことで、これら２枚の画像間における物体（対象物、目標物）の位置や姿勢の誤差（差分）を算出してもよい。
【００５２】
ロボット制御部１１１は、回線３０を介して、制御のための信号（制御信号）をロボット２０に送信することで、ロボット２０の動作を制御する機能を有する。本実施形態では、ロボット制御部１１１は、ロボット２０により行われる物体（例えば、対象物Ｗｋ１）の把持や移動（位置や姿勢の変化）を制御する。
また、ロボット制御部１１１は、ロボット２０が送信する信号を、回線３０を介して、受信することも可能である。
【００５３】
教示情報に差分算出パラメーターを特定する情報、又は、使用する制御モードを特定することができる他の情報が含まれている場合には、差分算出部１１４は、その情報をロボット制御部１１１に出力する。
ロボット制御部１１１は、この情報を入力することにより、使用する制御モード（本実施形態では、位置制御モード、又は、位置姿勢制御モード）を検出することができる。
【００５４】
また、姿勢に関する差分算出パラメーターが用いられない場合（本実施形態では、位置制御モードが用いられる場合）には、差分算出部１１４は、教示情報に含まれる姿勢制御処理を規定する情報をロボット制御部１１１に出力する。
ロボット制御部１１１は、この情報を入力することにより、姿勢に関する差分算出パラメーターが用いられない場合（本実施形態では、位置制御モードが用いられる場合）に、使用する姿勢制御処理を検出することができる。
【００５５】
なお、姿勢に関する差分算出パラメーターが用いられる場合（本実施形態では、位置姿勢制御モードが用いられる場合）には、差分算出部１１４は、教示情報に含まれる姿勢制御方法を規定する情報をロボット制御部１１１に出力してもよいが、出力する必要はないため出力しなくてもよい。
【００５６】
具体的には、位置姿勢制御モードが用いられるときには、ビジュアルフィードバック制御として、差分算出部１１４は、撮影された画像に基づいて対象物Ｗｋ１の実際の位置及び姿勢の状態が目標物Ｏｂ１の位置及び姿勢の状態に対応しないと判定する場合がある。その場合には、ロボット制御部１１１は、ロボット２０を制御して、これらの状態を互いに近づけるように、当該対象物Ｗｋ１の位置や姿勢を変化させる。
その後、ロボット制御部１１１は、再び、上述したように、撮影部２０４、画像取得部１１３、差分算出部１１４の順で処理された結果（差分算出部１１４による差分算出の結果）を検出して、当該検出結果に応じた制御を行う。
【００５７】
ここで、本実施形態では、ロボット制御部１１１は、ロボット２０の動作を制御して対象物Ｗｋ１の位置や姿勢を変化させる場合には、１回の制御で、予め定められた変化量だけ対象物Ｗｋ１の位置や姿勢を変化させてもよい。ロボット制御部１１１は、ロボット２０の動作を制御する代わりに、又はロボット２０の動作の制御とともに撮影部２０４の撮影方向を変化させてもよい。
そして、ロボット制御部１１１は、各セットでこのような制御を繰り返して行うことにより、対象物Ｗｋ１の位置及び姿勢の状態を、目標物Ｏｂ１の位置及び姿勢の状態に近づける。各セット内での繰り返し毎に撮影部２０４を基準とする対象物Ｗｋ１を移動させる方向（移動方向）、姿勢を変化させる方向（回転方向）は異なっている。ロボット制御部１１１は、対象物Ｗｋ１の実際の位置及び姿勢の状態と、目標物Ｏｂ１の位置及び姿勢の状態との間の差分（画像ヤコビアン）を差分算出部１１４から取得する。ロボット制御部１１１は、対象物Ｗｋ１の実際の位置及び姿勢の状態と、目標物Ｏｂ１の位置及び姿勢の状態との間の差分が最も小さい対象物のＷｋ１の移動方向、回転方向を選択する。
このようなセットを繰り返すことで、ロボット制御部１１１は、撮影した画像上で、対象物Ｗｋ１の位置及び姿勢を目標物Ｏｂ１の画像が示す目標物Ｏｂ１の位置及び姿勢に対応した位置及び姿勢にそれぞれ近づけることができる。最終的には、対象物Ｗｋ１の実際の位置及び姿勢が、目標物の位置及び姿勢に対応づけられる。
【００５８】
なお、ロボット制御部１１１は、例えば、同一の目標物Ｏｂ１について、制御の回数が増加することに応じて、又は、対象物Ｗｋ１の位置及び姿勢の状態が目標物Ｏｂ１の位置及び姿勢の状態に近づくほど、前記した変化量（対象物Ｗｋ１の位置や姿勢を変化させる変化量）を、連続的又は段階的に小さくするようにしてもよい。
【００５９】
ロボット制御部１１１は、対象物Ｗｋ１の位置及び姿勢の状態が目標物Ｏｂ１の位置及び姿勢の状態に対応すると差分算出部１１４の算出結果により判定された場合には、この目標位置（タスク）に関しては、ロボット２０の制御を終了し、それ以降はロボット２０を制御しない。
【００６０】
なお、位置及び姿勢の状態が対応するか否かを判定する処理においては、ロボット制御部１１１は、例えば、予め任意に設定された誤差の分だけ完全に一致する状態からずれていても、対象物Ｗｋ１の位置及び姿勢の状態が目標物Ｏｂ１の位置及び姿勢の状態に対応するとみなす判定を行ってもよい。つまり、実用上で支障とならない程度で、任意の誤差が許容されてもよい。
【００６１】
また、位置姿勢制御モードが用いられるときには、差分算出部１１４は、対象物Ｗｋ１の位置及び姿勢の状態が目標物Ｏｂ１の位置及び姿勢の状態に対応（例えば、一致）すると判定する場合がある。その場合において、次の目標位置（タスク）があるときには、ロボット制御部１１１は、当該次の目標位置に関しても差分算出の処理を用いたビジュアルフィードバック制御を行う。
【００６２】
また、位置制御モードが用いられるときには、具体的には、差分算出部１１４は、ビジュアルフィードバック制御として、対象物Ｗｋ１の実際の位置の状態が目標物Ｏｂ１の位置の状態に対応しないと判定する場合がある。その場合、ロボット制御部１１１は、ロボット２０を制御して、撮影された画像上でこれらの状態を互いに近づけるように、当該対象物Ｗｋ１の位置を変化させる。また、ロボット制御部１１１は、使用する姿勢制御処理が対象物Ｗｋ１の姿勢を変化させるものであるときには、その姿勢制御処理に従って、当該対象物Ｗｋ１の姿勢も変化させてもよい。
その後、ロボット制御部１１１は、以上に説明したように、再び撮影部２０４、画像取得部１１３、差分算出部１１４の順で処理された結果（差分算出部１１４による差分算出の結果）を検出して、当該検出結果に応じた制御を行う。
【００６３】
ここで、本実施形態では、ロボット制御部１１１は、ロボット２０を制御する際、１回の制御で、あらかじめ定められた変化量だけ対象物Ｗｋ１の位置を変化させてもよい。ロボット制御部１１１は、ロボット２０の動作を制御する代わりに、又はロボット２０の動作の制御とともに撮影部２０４の撮影方向を変化させてもよい。
そして、ロボット制御部１１１は、各セットでこのような制御を繰り返して行うことにより、対象物Ｗｋ１の位置の状態を、目標物Ｏｂ１の位置の状態に最も近づける。ここで、各セット内での繰り返し毎に撮影部２０４を基準とする対象物Ｗｋ１を移動させる方向（移動方向）は異なっており、ロボット制御部１１１は、対象物Ｗｋ１の実際の位置の状態と、目標物Ｏｂ１の位置の状態との間の差分を差分算出部１１４から取得する。ロボット制御部１１１は、差分が最も小さい対象物のＷｋ１の移動方向を選択する。このようなセットを繰り返すことで、ロボット制御部１１１は、撮影された画像上で対象物Ｗｋ１の画像が示す対象物Ｗｋ１の位置を、参照画像が示す目標物Ｏｂ１の位置に近づけることができる。これにより、対象物Ｗｋ１の実際の位置が目標物の位置に対応した位置に合わせられる。
【００６４】
なお、ロボット制御部１１１は、例えば、同一の目標物Ｏｂ１について、制御の回数が増加するに応じて、又は、対象物Ｗｋ１の位置の状態が目標物Ｏｂ１の位置の状態に近づくに応じて、前記した変化量（対象物Ｗｋ１の位置を変化させる変化量）を連続的又は段階的に小さくするようにしてもよい。
【００６５】
ロボット制御部１１１は、対象物Ｗｋ１の位置の状態が目標物Ｏｂ１の位置の状態に対応すると差分算出部１１４の算出結果により判定された場合には、この目標位置（タスク）に関しては、ロボット２０の制御を終了として、それ以降はロボット２０を制御しない。
【００６６】
なお、位置の状態が対応するか否かを判定する処理においては、ロボット制御部１１１は、例えば、予め任意に設定された誤差の分だけ一致する状態からずれていても対象物Ｗｋ１の位置の状態が目標物Ｏｂ１の位置の状態に対応するとみなす判定を行ってもよい。つまり、実用上で支障とならない程度で、任意の誤差が許容されてもよい。
【００６７】
また、位置制御モードが用いられるときには、差分算出部１１４が、対象物Ｗｋ１の位置の状態が目標物Ｏｂ１の位置の状態に対応すると判定する場合がある。その場合、次の目標位置（タスク）があるとき、ロボット制御部１１１は、当該次の目標位置に関して、同様に、テンプレート情報に基づく差分算出の処理を用いたビジュアルフィードバック制御を行う。
【００６８】
なお、テンプレート情報に基づく差分算出の処理における一般的な技術や、ビジュアルフィードバック制御における一般的な技術については、上述した以外にも、例えば、公知の様々な手法を用いることが可能である。
【００６９】
以上のように、ビジュアルフィードバック制御では、参照画像と現在撮影した画像とが撮影した画像上で対応するまで（つまり、参照画像に写る対象物の位置又はさらに姿勢と現在撮影した画像に写る対象物の位置又はさらに姿勢とが一致するまで）、ビジュアルフィードバックが繰り返されて、対象物Ｗｋ１の移動が継続される。
【００７０】
ここで、位置姿勢制御モードでは、例えば、位置（３次元）及び姿勢（３次元）の６自由度を最適化する必要があるが、最適化に時間がかかる場合がある。
そこで、本実施形態では、対象物Ｗｋ１を複数の目標位置に順に移動させるビジュアルフィードバック制御において、複数（Ｎ個）の目標位置のうちの一部（１つ以上）については、位置制御モードを使用する構成としてもよい。
【００７１】
具体的には、本実施形態の例では、ロボット制御部１１１は、第１番目の目標位置〜第Ｎ番目の目標位置において、画像上で第１番目の目標位置〜第Ｎ−１番目の目標位置については、対象物Ｗｋ１の位置のみを目標物Ｏｂ１の位置と対応させるように制御する位置制御モードを使用してビジュアルフィードバック制御を行う。そして、ロボット制御部１１１は、最終的な目標位置である第Ｎ番目の目標位置のみについて、対象物Ｗｋ１の位置及び姿勢の両方を、目標物の位置及び姿勢の両方と対応させるように制御する位置姿勢制御モードを使用してビジュアルフィードバック制御を行う。
【００７２】
このような構成では、第１番目の目標位置〜第Ｎ−１番目の目標位置についてのビジュアルフィードバック制御においては、位置（本実施形態では、３次元）だけの最適化が行われる。そのため、位置（本実施形態では、３次元）及び姿勢（本実施形態では、３次元）の両方を最適化する場合（本実施系形態では、６自由度）よりも少ない自由度（本実施形態では、３自由度）の最適化でよいため、計算時間を短縮させることができる。このように計算時間を短縮させることができることにより、ビジュアルフィードバック制御において対象物の位置を目標位置から予め定めた範囲に収束させるまでの収束時間を短縮させることができ、結果として、対象物の目標位置までの移動時間を短縮させることができる。
【００７３】
本実施形態では、ビジュアルフィードバック制御を行う一連のタスク（本実施形態では、第１のタスク〜第Ｎのタスク）がユーザーによりあらかじめ把握されており、ユーザーは、対象物Ｗｋ１の位置及び姿勢の情報を目標物Ｏｂ１の位置及び姿勢の情報と比較して求めた差分に基づいてビジュアルフィードバック制御を行う期間（本実施形態では、第Ｎのタスク）と、対象物Ｗｋ１の位置のみの情報を目標物Ｏｂ１の位置のみの情報と比較して求めた差分に基づいてビジュアルフィードバック制御を行う期間（本実施形態では、第１のタスク〜第Ｎ−１のタスク）を設定する。
【００７４】
この設定は、任意に行われてもよい。具体例として、部品など（例えば、対象物Ｗｋ１）の組み付けを行う期間（本実施形態では、第Ｎのタスク）だけ対象物Ｗｋ１の位置及び姿勢の情報を目標物Ｏｂ１の位置及び姿勢の情報と比較して求めた差分に基づいてビジュアルフィードバック制御を行い、その他の期間（本実施形態では、第１のタスク〜第Ｎ−１のタスク）では対象物Ｗｋ１の位置のみの情報を目標物Ｏｂ１の位置のみの情報と比較して求めた差分に基づいてビジュアルフィードバック制御を行うように設定されてもよい。
【００７５】
次に、参照画像の例について説明する。
図２は、参照画像の例を示す図である。
図２は、３つの参照画像を示す。３つの参照画像は、３回に分けて対象物Ｗｋ１の目標位置を教示するために用いられる。図２は、左側から右側に向かって、順に１回目、２回目、３回目の参照画像を示す。この例では、３回目の参照画像が最終的な目標位置を示す。本実施形態では、例えば、１回目の参照画像を用いることで、対象物Ｗｋ１の位置を、目標物Ｏｂ１−１の位置に移動させることができる。２回目の参照画像を用いることで、対象物Ｗｋ１の位置を、目標物Ｏｂ１−２の位置に移動させることができる。３回目の参照画像を用いることで、対象物Ｗｋ１の位置を、目標物Ｏｂ１−３の位置に移動させ、対象物Ｗｋ１を移動させる制御を終了する。
【００７６】
次に、撮影部２０４で撮影され、画像取得部１１３で取得された画像情報の例について説明する。
図３は、取得された画像情報の例を示す図である。
図３に示す画像情報は、図２の３回目の参照画像がスクリーン３１に表示され、時刻ｔ１，ｔ２，ｔ３のそれぞれにおいて対象物Ｗｋ１の位置が制御されているときに撮影部２０４が撮影した画像を示す。
【００７７】
図３に示す例では、時刻ｔ１，ｔ２，ｔ３のそれぞれにおいて対象物Ｗｋ２の位置と目標物Ｏｂ２の位置がほぼ同一となるように固定されている。また、目標物Ｏｂ１の位置も、目標物Ｏｂ２の真上に固定されている。これに対して、対象物Ｗｋ１の位置は、時間経過に伴い目標物Ｏｂ１の位置に近づくように制御され、対象物Ｗｋ１の位置が目標物Ｏｂ１の位置に一致した時点で制御が終了する。
【００７８】
図２、３では、参照画像は２つの目標物を示すが、これには限られない。参照画像に操作対象の対象物Ｗｋ１に対応する目標物の画像が含まれていれば、その他の対象物についての目標物の個数は任意である。また、操作対象の対象物は、対象物Ｗｋ１に限られず、作業によって対象物やその種別、大きさが異なっていてもよい。例えば、対象物Ｗｋ２がロボット２０の操作対象になってもよい。対象物Ｗｋ１，Ｗｋ２の両者が操作対象となる場合、対象物Ｗｋ１、Ｗｋ２のいずれが先に操作されてもよい。ロボット２０が２つの把持部（ハンド）２０３−１，２０３−２（後述）を備える場合には、対象物Ｗｋ１，Ｗｋ２は、把持部２０３−１，２０３−２のいずれで把持されてもよい。また、対象物Ｗｋ１，Ｗｋ２が、それぞれ把持部２０３−１，２０３−２のいずれか一方、又は他方で把持されてもよい。
【００７９】
本実施形態では、撮影部２０４が少なくともロボット２０の動作の対象となる対象物Ｗｋ１と目標物Ｏｂ１を撮影し、ロボット制御装置１０が撮影した画像を示す画像情報を用いてロボット２０の動作を制御することができれば、ロボット制御装置１０、投影部１３、ロボット２０、撮影部２０４、及びスクリーン３１の位置関係は、図１に示した位置関係に限られない。
【００８０】
図４は、ロボットシステム１の他の配置例を示す図である。
図４には、説明を簡潔にするためロボット２０のうちマニピュレーター２０２−１（後述）と把持部２０３−１のみが示されている。図４に示すように撮影部２０４は、ロボット２０及びスクリーン３１に向かって左方に配置されていてよい。ロボットシステム１の動作環境として、このような配置に変更して参照画像を取得し直さなくても、ロボット制御装置１０は、ロボット２０が把持する対象物Ｗｋ１の位置を、参照画像が示す目標物Ｏｂ１の位置に応じて撮影した画像上で制御することができる。
【００８１】
次に、本実施形態に係るロボットシステムの他の構成例（ロボットシステム２）について説明する。
図５は、本実施形態に係るロボットシステムの他の構成例を示す図である。
図５は、ロボットシステム２をその前方から見た外観を示す。図５の右側が図１の左側に相当し、図５の左側が図１の右側に相当する。
【００８２】
ロボットシステム２は、ロボット制御装置１０と、ロボット２０と、を含んで構成される。
ロボット２０は、腕（アーム）をそれぞれ構成する２本のマニピュレーター２０２−１、２０２−２を備える双腕ロボットである。ロボット２０は、ロボット制御装置１０と一体に構成され、ロボット制御装置１０のロボット制御部１１１（図１）から入力された制御信号により動作が制御される。また、ロボット２０は、自己の状態等を示す信号を、ロボット制御部１１１に出力してもよい。
ロボット２０は、制御装置を格納する格納部２０１と、マニピュレーター２０２−１，２０２−２と、把持部（ハンド）２０３−１，２０３−２と、撮影部２０４と、車輪２０５−１，２０５−２と、胴体を構成する胴体部材２０６，２０７，２０８と、を備える。
【００８３】
格納部２０１には、ロボット制御装置１０（図１）が格納され、ロボット制御部１１１は、左腕のマニピュレーター２０２−２と右腕のマニピュレーター２０２−１を制御する。ロボット制御部１１１は、例えば、左腕のマニピュレーター２０２−２と右腕のマニピュレーター２０２−１とを同時に関連付けて制御してもよく、又は、左腕のマニピュレーター２０２−２と右腕のマニピュレーター２０２−１とをそれぞれ別個に制御してもよい。
【００８４】
マニピュレーター２０２−１，２０２−２は、それぞれ垂直多関節ロボットの一種であり、例えば、ロボットアームとして機能する。マニピュレーター２０２−１，２０２−２は、それぞれその先端に把持部２０３−１，２０３−２を備える。把持部２０３−１，２０３−２は、物体（例えば、対象物Ｗｋ１）を把持して、当該物体を移動させること、つまり位置や姿勢を変化させることが可能である。
マニピュレーター２０２−１，２０２−２の自由度は、それぞれ、３軸に限らず、任意の自由度（例えば、７軸）であってもよい。
【００８５】
格納部２０１の主面（上面）には、胴体部材２０６、胴体部材２０７、胴体部材２０８が順に積み重ねて取り付けられ、最上部の胴体部材２０８の左側に左腕を構成するマニピュレーター２０２−２が取り付けられ、胴体部材２０８の右側に右腕を構成するマニピュレーター２０２−１が取り付けられ、格納部２０１の底面の右側に車輪２０５−１が取り付けられ、格納部２０１の底面の左側に車輪２０５−２が取り付けられ、格納部２０１の上面に撮影部２０４が取り付けられている。
【００８６】
撮影部２０４は、対象物Ｗｋ１、目標物Ｏｂ１の画像を撮影することができれば格納部２０１の上面に限らず、ロボット２０における任意の場所、例えば、胴体部材２０８の上面に備えられてもよい。また、撮影部２０４は、ロボット２０と別体であってもよく、少なくとも動作対象の対象物Ｗｋ１の画像と目標物Ｏｂ１の画像を撮影することができれば、任意の場所、例えば、床面、天井、壁面、等に固定されていてもよい。
また、本実施形態に係るロボット２０は、右側の車輪２０５−１と、左側の車輪２０５−２とを備えることで、人手により外力を加えることで車輪２０５−１、２０５−２を回転させて、容易に移動させることが可能にある。
【００８７】
なお、上述したロボット制御装置１０（図１）に備えられる機能の一部を、ロボット２０とは別体のコントローラーに備えることも可能である。具体的には、ロボット制御装置１０（図１）に備えられる入力部１４と出力部１５の機能と同様な機能を、ロボット２０とは別体のコントローラーに備え、ロボット制御装置１０と当該コントローラーとの間で互いに無線により通信する機能を備えてもよい。その場合、入力部１４と出力部１５（図１）の機能と同様な機能をリモートのコントローラーで実現することが可能になる。
【００８８】
このように、本実施形態に係るロボットシステム２は、ロボット制御部１１１と２つのマニピュレーター２０２−１、２０２−２とが、ロボット２０と一体化して構成可能である。ロボット２０は、様々な用途に利用されてもよい。例えば、ロボット２０として、産業用のロボットとして構成することができるばかりでなく、宇宙用途や遊具など、様々な分野のロボットに適用することが可能である。
【００８９】
なお、本実施形態では、２つのマニピュレーター２０２−１、２０２−２のうち、いずれか一方のみ、その２つのマニピュレーター２０２−１、２０２−２のそれぞれ、又はその両者がロボット２０（図１）として用いられてもよい。ここで、格納部２０１に備えられるロボット制御部１１１と各マニピュレーター２０２−１、２０２−２とは、例えば、有線又は無線の回線を介して、制御信号等を伝送できるように接続される。
【００９０】
図１、５に示すロボット２０は、２本のマニピュレーター２０２−１、２０２−２を備える双腕ロボットであるが、これには限られない。ロボット２０が備えるマニピュレーターの数は、１個又は２個よりも多くてもよい。
例えば、ロボットシステム１ａは、ロボットシステム１（図１）においてロボット２０に代えて、ロボット２０ａを備えて構成してもよい。
図６は、本実施形態に係るロボットシステムのさらに他の構成例（ロボットシステム１ａ）を示す概略図である。
【００９１】
ロボットシステム１ａは、ロボット制御装置１０と、投影部１３と、ロボット２０ａと、撮影部２０４と、回線３０とを含んで構成される。撮影部２０４は、ロボット２０ａとは別体で、床面上に設置されている。
ロボット２０ａは、腕（アーム）を構成する１本のマニピュレーター２０２ａを備える単腕ロボットである。ロボット２０ａは、ロボット制御装置１０のロボット制御部１１１から送信される制御信号を、回線３０を介して受信し、受信した制御信号により動作が制御される。また、ロボット２０ａは、自己の状態などを示す信号を、回線３０を介して、ロボット制御装置１０のロボット制御部１１１に送信してもよい。
ロボット２０ａは、マニピュレーター２０２ａと、把持部（ハンド）２０３ａと、胴体部材２０６ａと、を備える。
【００９２】
マニピュレーター２０２ａは、マニピュレーター２０２−１、２０２−２と同様な構成を有し、その先端に把持部２０３ａを備える。把持部２０３ａは、把持部２０３−１、２０３−２と同様に、物体（例えば、対象物Ｗｋ１）を把持して、当該物体を移動させることができる。
胴体部材２０６ａは、ロボット２０ａの基台（下部）を形成し、ロボット２０ａの全体を支持している。胴体部材２０６ａの主面（上面）にはマニピュレーター２０２ａが取り付けられている。
【００９３】
このように、本実施形態は、単腕のロボット２０ａを用いた場合でも、物体（例えば、対象物Ｗｋ１）の位置をスクリーン３１に投影した参照画像に表示される目標物Ｏｂ１の位置に応じて制御することができる。
そのため、本実施形態は、ロボットの種別、対象物との位置関係等、作業環境の差異に適応して対象物の位置を制御することができる。
【００９４】
上述では、投影部１３がスクリーン３１に参照画像を表示する場合を例にとって説明したが、これには限られない。
ロボットシステム１ｂは、ロボットシステム１（図１）において投影部１３に代えて投影部１３ｂを備えて構成してもよい。
【００９５】
図７は、本実施形態に係るロボットシステムのまたさらに他の構成例を示す概略図である。
本構成例に係るロボットシステム１ｂは、ロボット制御装置１０と、投影部１３ｂと、ロボット２０と、撮影部２０４と、回線３０とを含んで構成される。
投影部１３ｂは、レーザー光源（図示せず）と、レーザー光源が発したレーザービームを集光するレンズ（図示せず）を備える。集光された空間からは、プラズマが発生し、発生したプラズマが発する光を画像光として放射する。この画像光が、参照画像を示す。レーザー光源は、不可視域の波長を有するレーザービームを発する光源であればよい。そのような光源には、例えば、ＹＡＧ（Ｙｔｔｒｉｕｍ  Ａｌｕｍｉｎｕｍ  Ｇａｒｎｅｔ）レーザー、炭酸ガスレーザ、等がある。投影部１３ｂは、例えば、特許文献２に記載の空中可視像形成装置と同様の構成を備えてもよい。
レーザービームが集光される位置の範囲、つまり、参照画像が表される範囲（表示範囲）は、ロボット２０が対象物を操作することができる操作範囲に含まれる。ここで、投影部１３ｂが備えるレンズの数や作業環境に応じて予め表示範囲を定めておく。
【００９６】
撮影部２０４は、入射された画像光が示す参照画像を撮影し、ロボット制御装置１０は、撮影部２０４が撮影した参照画像に基づいて、ロボット２０が把持する対象物（例えば、Ｗｋ１）の位置を目標物（例えば、目標物Ｏｂ１）の位置と所定の関係になるように制御する。
このように、投影部１３ｂは、所望の空間に参照画像を表示することができるため、スクリーン３１を省略することができ、ひいては作業空間を有効に活用することができる。
なお、ロボットシステム１ｂは、ロボット２０に代えてロボット２０ａを備え、ロボット制御装置１０は、ロボット２０ａの動作を制御するようにしてもよい。
【００９７】
以上のように、本実施形態に係るロボットシステム（例えば、ロボットシステム１，１ａ，１ｂ，２）は、第１の物体（例えば、目標物Ｏｂ１）と所定の位置関係となる位置に第２の物体（例えば、対象物Ｗｋ１）を動かすロボット（例えば、ロボット２０，２０ａ）と、第１の物体の画像（例えば、参照画像）を投影する投影部（例えば、投影部１３，１３ｂ）と、前記第１の物体の画像と前記第２の物体の画像を撮影する撮影部（例えば、撮影部２０４）とを含む。また、ロボットは、撮影部が撮影した画像に基づいて第２の物体を動かして第１の物体と第２の物体を所定の位置関係にする。
【００９８】
そのため、第１の物体の画像を事前に作業現場の環境毎に撮影しなくても、その画像を投影することで第１の物体の位置に関する情報が与えられる。そのため、作業現場の環境によらず第１の物体と第２の物体とが所定の位置関係を有するように制御することができる。即ち、作業現場の環境によらず第１の物体の位置に関する情報が与えられ、第２の物体の位置を制御することができる。例えば、試作、少量生産、設計変更のように、作業現場の環境が比較的頻繁に変化する場合でも、第１の物体を示す画像を作業環境の変化に応じて取得しなくても、その画像を投影することで制御の手がかりが得られ、ひいては、作業工数を低減することができる。
【００９９】
なお、対象物の位置と目標物の位置が一致又は近似していると、目標物を示す画像が対象物やその他の物体（例えば、マニピュレーター２０２−１、把持部２０３−１、等）に遮蔽されることがある。そのため、撮影部２０４が撮影した画像から対象物及び目標物の両者が検知されなくなることがある。
そこで、ロボット制御部１１１又は差分算出部１１４は、目標物の位置［Ｘ’，Ｙ’，Ｚ’］と対象物の位置［Ｘ，Ｙ，Ｚ］との差分を算出する際、その差分から更に予め定めた変位量［ΔＸ，ΔＹ，ΔＺ］を減算して差分を補正してもよい。そして、ロボット制御部１１１は、補正した差分を用いて対象物の位置を制御する。これにより、対象物の位置が目標物から当該変位量だけ離れた位置に制御される。その場合、参照画像として実際に制御しようとする対象物の位置から、その変位量だけ加算した位置（目標位置）に配置された目標物を示す画像を予め生成しておく。そのため、差分算出部１１４は、撮影部２０４が撮影した画像から対象物及び目標物の両者を検知して、確実に補正した差分を算出することによって対象物の位置を制御することができる。
【０１００】
ロボット制御装置１０とロボット２０，２０ａとは、ロボットシステム１，１ａ，１ｂのように別体で構成されてもよく、又は、ロボットシステム２のように一体でロボットシステムとして構成されてもよい。
【０１０１】
ロボットによる作業の対象となる対象物としては、様々なものが用いられてもよく、例えば、ギア（対象物となる物品）を組み付けるギア装置、部品（対象物となる物品）を組み付ける組み付け装置などに適用することができる。また、例えば、ラックアンドピニオン、チェーン、ベルトなどに適用することもできる。
また、ロボットによる作業の対象となるものとしては、例えば、平面での位置合わせが必要な部品の組み付けばかりでなく、空間での位置合わせが必要な部品の組み付けに適用することも可能である。例えば、ウォームギア、傘歯車などに適用することができる。
また、ロボットによる作業としては、ギア装置あるいは組み付け装置などのような装置の組み立て作業ばかりでなく、例えば、部品同士の位置及び姿勢を合わせることが必要となる作業に適用することも可能である。
【０１０２】
また、本実施形態では、ロボットの一例として、マニピュレーターを示したが、ロボットとしては、様々なものが用いられてもよい。
具体的には、ロボットとしては、例えば、様々なスカラロボットが用いられてもよく、又は、様々な垂直多関節ロボットが用いられてもよい。
また、上述した単腕ロボット（又は、ロボットシステム）や双腕ロボット（又は、ロボットシステム）ばかりでなく、３本以上の腕を持つロボット（又は、ロボットシステム）が用いられてもよい。また、ロボット（又は、ロボットシステム）の移動を可能にする部材（移動部）としては、例えば、車輪を用いるロボット（又は、ロボットシステム）ばかりでなく、歩行を用いるロボット（又は、ロボットシステム）などが用いられてもよい。
【０１０３】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【０１０４】
なお、以上に説明したロボットシステム１，１ａ，１ｂ，２を構成する構成部、例えば、ロボット制御部１１１、教示情報処理部１１２、画像取得部１１３、又は差分算出部１１４の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、「コンピューターシステム」とは、ＯＳ（Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）、ＣＤ（Ｃｏｍｐａｃｔ Ｄｉｓｋ）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことを言う。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ：Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１０５】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１０６】
１，１ａ，１ｂ，２…ロボットシステム、１０…ロボット制御装置、１１…制御部、
１１１…ロボット制御部、１１２…教示情報処理部、１１３…画像取得部、
１１４…差分算出部、
１２…記憶部、１３，１３ｂ…投影部、１４…入力部、１５…出力部、
２０，２０ａ…ロボット、２０１…格納部、
２０２−１，２０２−２，２０２ａ…マニピュレーター、
２０３−１，２０３−２，２０３ａ…把持部、２０４…撮影部、
２０５−１，２０５−２…車輪、
２０６，２０６ａ，２０７，２０８…胴体部材、３０…回線、３１…スクリーン
【図１】
2015123560.tif 000003
【図２】
2015123560.tif 000004
【図３】
2015123560.tif 000005
【図４】
2015123560.tif 000006
【図５】
2015123560.tif 000007
【図６】
2015123560.tif 000008
【図７】
2015123560.tif 000009