(57)【要約】【課題】ビジュアルサーボにおいて良好なロバスト性を実現する。【解決手段】ロボットシステムは、ロボットと、ロボットの動作を制御するロボット制御装置と、対象物を含む画像を撮影する撮影部と、を備え、ロボット制御装置は、撮影部により撮影された画像の情報を取得する対象物画像取得部と、目標画像の情報を取得する目標画像取得部と、対象物画像取得部により取得された画像の情報と目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、複数の異なる画像特徴量のそれぞれごとに、重み付けの重みを制御する制御信号生成部と、制御信号生成部により生成された制御信号に基づいてロボットの動作を制御するロボット制御部と、を備える。【選択図】図１
2015145050.tif 000002
【特許請求の範囲】
【請求項１】
対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットと、前記ロボットの動作を制御するロボット制御装置と、前記対象物を含む画像を撮影する撮影部と、を備え、
前記ロボット制御装置は、
前記撮影部により撮影された画像の情報を取得する対象物画像取得部と、
目標画像の情報を取得する目標画像取得部と、
前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御する制御信号生成部と、
前記制御信号生成部により生成された制御信号に基づいて前記ロボットの動作を制御するロボット制御部と、を備える、
ロボットシステム。
【請求項２】
前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれごとに、前記ロボットの動作の制御の前後における距離の変化に基づいて、前記重み付けの重みを制御する、
請求項１に記載のロボットシステム。
【請求項３】
前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれごとに、前記ロボットの動作の制御の前後における距離の変化に基づいて、距離が大きくなるように変化した場合には前記重み付けの重みを小さくするように制御し、距離が小さくなるように変化した場合には前記重み付けの重みを大きくするように制御する、
請求項２に記載のロボットシステム。
【請求項４】
前記複数の異なる画像特徴量は、重心に関する画像特徴量、エッジに関する画像特徴量、ピクセルに関する画像特徴量のうちの１つ以上を含む、
請求項１から請求項３のいずれか１項に記載のロボットシステム。
【請求項５】
前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれに対する重みの初期値として、過去に行われた前記ロボットの動作の制御であって失敗した制御において用いられた重みとは異なる重みを設定する、
請求項１から請求項４のいずれか１項に記載のロボットシステム。
【請求項６】
対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得する対象物画像取得部と、
目標画像の情報を取得する目標画像取得部と、
前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御する制御信号生成部と、
前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御するロボット制御部と、を備える、
ロボット制御装置。
【請求項７】
対象物画像取得部が、対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得し、
目標画像取得部が、目標画像の情報を取得し、
制御信号生成部が、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御し、
ロボット制御部が、前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御する、
ロボット制御方法。
【請求項８】
対象物画像取得部が、対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得するステップと、
目標画像取得部が、目標画像の情報を取得するステップと、
制御信号生成部が、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御するステップと、
ロボット制御部が、前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御するステップと、
をコンピューターに実行させるためのロボット制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラムに関する。
【背景技術】
【０００２】
カメラにより撮影される画像のデータに基づいて、視覚的なフィードバック制御（ビジュアルサーボとも呼ばれる。）により、ロボットを構成するロボットアームの把持部（ハンド）により把持する物体の位置や姿勢を制御するロボット制御装置が開発されている。
このようなビジュアルサーボのシステムに自動フォーカス機構や自動露光機構を設けることで、画像特徴量を用いてロボットアームや把持部（ハンド）を制御する際に、ピンボケが原因で制御がうまくいかない状況を少なくし、ロバスト性を向上させるロボット制御装置が検討されている（特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２１１３８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ビジュアルサーボのシステムにおいて、自動フォーカス機構や自動露光機構を設けることでロバスト性を向上させることができるのは、エッジなどの限られた画像特徴量を用いる場合であり、例えば色を画像特徴量に使用する場合には効果が低い。
そもそも、ビジュアルサーボでは、ロボットが設置される場所（例えば、カメラが設置される場所）や、カメラの向きなどによって、撮影画像の変動が大きいことから、上記の方法で十分なロバスト性を確保することは難しいと考えられる。
【０００５】
本発明は、前記の点に鑑み為されたものであり、ビジュアルサーボにおいて良好なロバスト性を実現することができるロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様は、上記の課題を解決するためになされたものであり、対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットと、前記ロボットの動作を制御するロボット制御装置と、前記対象物を含む画像を撮影する撮影部と、を備え、前記ロボット制御装置は、前記撮影部により撮影された画像の情報を取得する対象物画像取得部と、目標画像の情報を取得する目標画像取得部と、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御する制御信号生成部と、前記制御信号生成部により生成された制御信号に基づいて前記ロボットの動作を制御するロボット制御部と、を備える、ロボットシステムである。
この構成により、ロボットシステムでは、制御信号生成部が、複数の異なる画像特徴量のそれぞれごとに、距離に対する重み付けの重みを制御する。これにより、ロボットシステムでは、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
【０００７】
本発明の一態様は、ロボットシステムにおいて、前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれごとに、前記ロボットの動作の制御の前後における距離の変化に基づいて、前記重み付けの重みを制御する、構成が用いられてもよい。
この構成により、ロボットシステムでは、制御信号生成部は、複数の異なる画像特徴量のそれぞれごとに、ロボットの動作の制御の前後における距離の変化に基づいて、距離に対する重み付けの重みを制御する。これにより、ロボットシステムでは、ロボットの動作の制御の前後における距離の変化に基づいて、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
【０００８】
本発明の一態様は、ロボットシステムにおいて、前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれごとに、前記ロボットの動作の制御の前後における距離の変化に基づいて、距離が大きくなるように変化した場合には前記重み付けの重みを小さくするように制御し、距離が小さくなるように変化した場合には前記重み付けの重みを大きくするように制御する、構成が用いられてもよい。
この構成により、ロボットシステムでは、制御信号生成部は、複数の異なる画像特徴量のそれぞれごとに、ロボットの動作の制御の前後において、距離が大きくなるように変化した場合には距離に対する重み付けの重みを小さくするように制御し、距離が小さくなるように変化した場合には距離に対する重み付けの重みを大きくするように制御する。これにより、ロボットシステムでは、ロボットの動作の制御の前後における距離の大小の変化に基づいて、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
【０００９】
本発明の一態様は、ロボットシステムにおいて、前記複数の異なる画像特徴量は、重心に関する画像特徴量、エッジに関する画像特徴量、ピクセルに関する画像特徴量のうちの１つ以上を含む、構成が用いられてもよい。
この構成により、ロボットシステムでは、複数の異なる画像特徴量として、重心に関する画像特徴量、エッジに関する画像特徴量、ピクセルに関する画像特徴量のうちの１つ以上を用いる。これにより、ロボットシステムでは、重心に関する画像処理や、エッジに関する画像処理や、ピクセルに関する画像処理を用いて、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
【００１０】
本発明の一態様は、ロボットシステムにおいて、前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれに対する重みの初期値として、過去に行われた前記ロボットの動作の制御であって失敗した制御において用いられた重みとは異なる重みを設定する。
この構成により、ロボットシステムでは、制御信号生成部は、複数の異なる画像特徴量のそれぞれに対する重みの初期値として、過去に行われたロボットの動作の制御であって失敗した制御において用いられた重みとは異なる重みを設定する。これにより、ロボットシステムでは、良好と考えられる重みの初期値を用いて、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
【００１１】
本発明の一態様は、上記の課題を解決するためになされたものであり、対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得する対象物画像取得部と、目標画像の情報を取得する目標画像取得部と、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御する制御信号生成部と、前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御するロボット制御部と、を備える、ロボット制御装置である。
この構成により、ロボット制御装置では、制御信号生成部が、複数の異なる画像特徴量のそれぞれごとに、距離に対する重み付けの重みを制御する。これにより、ロボット制御装置では、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
【００１２】
本発明の一態様は、上記の課題を解決するためになされたものであり、対象物画像取得部が、対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得し、目標画像取得部が、目標画像の情報を取得し、制御信号生成部が、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御し、ロボット制御部が、前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御する、ロボット制御方法である。
この構成により、ロボット制御方法では、制御信号生成部が、複数の異なる画像特徴量のそれぞれごとに、距離に対する重み付けの重みを制御する。これにより、ロボット制御方法では、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
【００１３】
本発明の一態様は、上記の課題を解決するためになされたものであり、対象物画像取得部が、対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得するステップと、目標画像取得部が、目標画像の情報を取得するステップと、制御信号生成部が、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御するステップと、ロボット制御部が、前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御するステップと、をコンピューターに実行させるためのプログラム（ロボット制御プログラム）である。
この構成により、ロボット制御プログラムでは、制御信号生成部が、複数の異なる画像特徴量のそれぞれごとに、距離に対する重み付けの重みを制御する。これにより、ロボット制御プログラムでは、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
【００１４】
以上のように、本発明によれば、ロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラムでは、制御信号生成部が、複数の異なる画像特徴量のそれぞれごとに、距離に対する重み付けの重みを制御する。これにより、ロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラムでは、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係るロボットシステムの概略的な構成例を示す図である。
【図２】本発明の一実施形態に係るロボット制御装置の概略的な構成例を示すブロック図である。
【図３】本発明の一実施形態に係る制御信号生成部の概略的な構成例を示すブロック図である。
【図４】（Ａ）は対象物が目標から遠い場合における撮影画像の一例を示す図であり、（Ｂ）は目標画像の一例を示す図である。
【図５】（Ａ）は対象物が目標に近い場合における撮影画像の一例を示す図であり、（Ｂ）は目標画像の一例を示す図である。
【図６】本発明の一実施形態に係るそれぞれの画像処理（重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理）に対する重みの時間的変化の一例を示す図である。
【図７】本発明の一実施形態に係る複数の異なる画像処理（重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理）に対する重みの組み合わせとビジュアルサーボの制御の成功／失敗との関係の一例を示す図である。
【図８】他の構成例に係るロボットシステムの概略的な構成例を示す図である。
【発明を実施するための形態】
【００１６】
本発明の実施形態について図面を参照して詳細に説明する。
［本実施形態に係るロボットシステムの概要］
図１は、本発明の一実施形態に係るロボットシステム１の概略的な構成例を示す図である。
図１は、本実施形態に係るロボットシステム１をその前方から見た外観を示す。
本実施形態に係るロボットシステム１は、格納部１１と、胴体部分１２〜１４と、左側のマニピュレーター２１および把持部（ハンド）３１と、右側のマニピュレーター２２および把持部（ハンド）３２と、左側の車輪４１と、右側の車輪４２と、撮影部５１と、ロボット制御装置６１を備える。
【００１７】
ここで、本実施形態に係るロボットシステム１は、一例として、撮影部５１と、ロボット制御装置６１と、ロボット（その他の構成部からなるもの）を含んで構成される。なお、撮影部５１がロボットに一体に含まれると捉えることも可能である。
本実施形態では、ロボットは、それぞれ腕（アーム）を構成する２本のマニピュレーター２１、２２を備える双腕ロボットである。ロボットは、ロボット制御装置６１と一体に構成されており、ロボット制御装置６１から入力された制御信号により動作が制御される。また、ロボットは、自己の状態等を示す信号を、ロボット制御装置６１に出力してもよい。
【００１８】
格納部１１の上面には、胴体部材１２、胴体部材１３、胴体部材１４が順に上側に取り付けられており、最も上部の胴体部材１４の左側に左腕を構成するマニピュレーター２１が取り付けられており、当該胴体部材１４の右側に右腕を構成するマニピュレーター２２が取り付けられており、格納部１１の底面の左側に車輪４１が取り付けられており、格納部１１の底面の右側に車輪４２が取り付けられており、格納部１１の上面に撮影部５１が取り付けられている。
なお、本実施形態に係るロボットは、人手により外力を加えることで、または、装置により自動的に、左側の車輪４１および右側の車輪４２を回転させて、移動させることが可能である。
格納部１１には、ロボット制御装置６１が格納されている。
【００１９】
マニピュレーター２１、２２は、それぞれ、垂直多関節ロボットの一種であり、ロボットアームとして機能する。それぞれのマニピュレーター２１、２２は、その先端に把持部３１、３２を備える。
なお、それぞれのマニピュレーター２１、２２の自由度は、任意の自由度であってもよく、例えば、３軸の自由度であってもよく、６軸の自由度であってもよく、７軸の自由度であってもよく、または、他の自由度であってもよい。
それぞれの把持部３１、３２は、把持する対象となる物体（対象物）を把持する。
本実施形態では、マニピュレーター２１、２２（および把持部３１、３２）を動作させることで、把持部３１、３２により把持される対象物を移動させること、つまり当該対象物の位置や姿勢を変化させることが可能である。
【００２０】
撮影部５１は、カメラを用いて構成されており、画像を撮影する。本実施形態では、撮影部５１は、把持部３１、３２により把持される対象物を含む画像を撮影することが可能な配置で備えられる。
なお、本実施形態では、撮影部５１を格納部１１の上面に備えたが、他の構成例として、撮影部５１は、他の任意の場所に備えられてもよく、例えば、ロボットにおける他の任意の場所に備えられてもよく、または、ロボット以外の場所として、床面、天井、壁面などに固定されて備えられてもよい。
また、撮影部５１は、例えば、人手により外力を加えることで、または、装置により自動的に、撮影方向や撮影角度などを変化させることが可能な構成であってもよい。
【００２１】
ロボット制御装置６１は、左腕のマニピュレーター２１（および把持部３１）と、右腕のマニピュレーター２２（および把持部３２）を制御する。ロボット制御装置６１とそれぞれのマニピュレーター２１、３１とは、例えば、有線または無線の回線を介して、制御信号などを伝送することが可能に接続される。
なお、ロボット制御装置６１は、例えば、左腕のマニピュレーター２１（および把持部３１）と、右腕のマニピュレーター２２（および把持部３２）とを、同時に関連付けて制御してもよく、または、左腕のマニピュレーター２１（および把持部３１）と、右腕のマニピュレーター２２（および把持部３２）とを、それぞれ別個に制御してもよい。
【００２２】
［本実施形態に係るロボット制御装置の概要］
図２は、本発明の一実施形態に係るロボット制御装置６１の概略的な構成例を示すブロック図である。
本実施形態に係るロボット制御装置６１は、制御部１０１と、記憶部１０２と、入力部１０３と、出力部１０４と、を備える。
制御部１０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などを用いて構成されており、各種の処理を行う。
記憶部１０２は、各種の情報を記憶する記憶媒体を含んで構成される。記憶部１０２は、例えば、制御部１０１で使用されるプログラムの情報や、各種の処理で使用されるパラメーター（例えば、数値）の情報などを記憶する。
【００２３】
入力部１０３は、外部からの入力を受け付ける。入力部１０３は、例えば、ユーザーにより操作された操作入力を受け付けるキーボードやマウスなどを含んで構成される。また、入力部１０３は、例えば、外部の装置からの入力を受け付ける機能を含んで構成されてもよい。
出力部１０４は、外部への出力を行う。出力部１０４は、例えば、ユーザーに対して各種の情報を画像で表示する画面（例えば、液晶ディスプレイ）や、ユーザーに対して音声の情報を出力するスピーカーなどを含んで構成される。また、出力部１０４は、例えば、外部の装置へ情報を出力する機能を含んで構成されてもよい。
【００２４】
［本実施形態に係るロボット制御装置の制御部の概要］
制御部１０１は、対象物画像取得部１１１と、目標画像取得部１１２と、制御信号生成部１１３と、ロボット制御部１１４を備える。
対象物画像取得部１１１は、有線または無線の回線を介して、撮影部５１により撮影された画像の情報を受信して取得する。撮影部５１は、有線または無線の回線を介して、撮影した画像の情報を対象物画像取得部１１１へ送信する。
本実施形態では、対象物画像取得部１１１により取得される画像の情報には、当該画像に映る対象物の画像の情報が含まれる。
【００２５】
目標画像取得部１１２は、ロボットにより把持する対象物の位置や姿勢を制御するときにおける目標（ゴール）となる画像の情報を取得する。
ここで、目標画像（参照画像などとも呼ばれる。）としては、例えば、撮影部５１により撮影される画像のフレームと同じフレームにおいて、目標となる位置および姿勢にある対象物（目標物）を含む画像を用いることができる。このような目標画像の情報は、例えば、あらかじめ用意されて記憶部１０２などに記憶される。また、目標画像において、対象物以外の背景の情報としては、例えば、撮影部５１により撮影される画像における背景の情報と一致または類似する背景の情報が用いられてもよく、または、他の情報（例えば、背景無しの情報など）が用いられてもよい。
【００２６】
制御信号生成部１１３は、対象物画像取得部１１１により取得された画像（撮影画像）の情報と、目標画像取得部１１２により取得された目標画像の情報に基づいて、ビジュアルサーボによりロボット（本実施形態では、マニピュレーター２１、２２や把持部３１、３２）を制御するための信号（制御信号）を生成する。この制御信号は、ビジュアルサーボにおける制御量（ゲイン）として用いられる。具体的には、制御信号生成部１１３は、ロボットにより把持される対象物が目標に近付くようにロボットを制御するための制御信号を生成する。
【００２７】
ロボット制御部１１４は、制御信号生成部１１３により生成された制御信号に基づいて、ビジュアルサーボにより、ロボット（本実施形態では、マニピュレーター２１、２２や把持部３１、３２）を制御する。具体的には、ロボット制御部１１４は、例えば、制御信号により表される対象物と目標との誤差が小さくなるように、ロボットを制御する。
【００２８】
ここで、目標画像としては、例えば、順番に切り替えられて使用される複数の異なる目標画像が用いられてもよい。具体例として、第１の目標画像に基づいてビジュアルサーボにより撮影画像における対象物を初期状態から第１の目標の状態へ近付けるように制御し、その後、第２の目標画像に基づいてビジュアルサーボにより撮影画像における対象物を第１の目標の状態から第２の目標の状態へ近付けるように制御し、その後、第３の目標画像に基づいてビジュアルサーボにより撮影画像における対象物を第２の目標の状態から第３の目標の状態（例えば、最終的な目標の状態）へ近付けるように制御する、といった制御が可能である。なお、ここでは、３個の異なる目標画像を用いる場合を示したが、目標画像の数としては任意であってもよい。
【００２９】
また、本実施形態では、対象物画像取得部１１１により取得された画像（撮影画像）の情報と、目標画像取得部１１２により取得された目標画像の情報について、それぞれの画像特徴量を比較して、制御信号を生成する構成を示すが、他の構成例として、撮影画像に含まれる対象物の画像と、目標画像に含まれる目標物の画像について、それぞれの画像特徴量を比較して、制御信号を生成することも可能である。この場合、対象物画像取得部１１１は、例えば、取得された画像（撮影画像）の情報に基づいて、当該画像に映る対象物（ロボットにより把持する対象物）の画像の情報を検出する機能を有する。また、この場合、目標画像取得部１１２は、目標物の画像の情報を取得する。ここで、対象物の画像の情報を検出する手法としては、様々な手法が用いられてもよく、例えば、対象物のテンプレートの画像の情報をあらかじめ記憶しておき、取得された画像（撮影画像）の情報から、テンプレートの画像に一致または類似する画像の情報を抽出して、それを対象物の画像の情報として検出する手法（テンプレートマッチングの手法）を用いることができる。
【００３０】
［本実施形態に係るロボット制御装置の制御部の制御信号生成部の概要］
図３は、本発明の一実施形態に係る制御信号生成部１１３の概略的な構成例を示すブロック図である。
本実施形態では、重心に関する画像処理と、エッジに関する画像処理と、ピクセルに関する画像処理を、複数の異なる画像処理として用いる場合を示す。
本実施形態に係る制御信号生成部１１３は、重心距離検出部２０１およびその重み付け部２０２と、エッジ距離検出部２１１およびその重み付け部２１２と、ピクセル距離検出部２２１およびその重み付け部２２２と、加算部２３１と、重み付け制御部２３２を備える。
【００３１】
対象物画像取得部１１１により取得された画像の情報が、重心距離検出部２０１と、エッジ距離検出部２１１と、ピクセル距離検出部２２１に入力される。
目標画像取得部１１２により取得された目標画像の情報が、重心距離検出部２０１と、エッジ距離検出部２１１と、ピクセル距離検出部２２１に入力される。
【００３２】
重心距離検出部２０１は、対象物画像取得部１１１により取得された画像の情報における重心の画像特徴量（重心の位置）と、目標画像取得部１１２により取得された目標画像の情報における重心の画像特徴量（重心の位置）を演算し、これら２つの重心の画像特徴量（重心の位置）の間の距離を演算して、その演算結果を重心距離として検出する。
ここで、重心距離としては、比較対象となる２つの重心の位置の間の距離の値、または、その距離の２乗の値、などを用いることができる。
また、画像の重心の位置は、例えば、当該画像に含まれるピクセル値（画素値）の重心の位置を用いることができる。なお、画像の重心の位置の代わりに、画像の中心の位置（ピクセル値の違いを考慮しないもの）を用いることも可能である。ピクセル値としては、輝度値、または、他の値（例えば、色に関する値など）を用いることができる。
【００３３】
エッジ距離検出部２１１は、対象物画像取得部１１１により取得された画像の情報におけるエッジの画像特徴量と、目標画像取得部１１２により取得された目標画像におけるエッジの画像特徴量を演算し、これら２つの画像特徴量の間の距離を演算して、その演算結果をエッジ距離として検出する。
ここで、エッジ距離としては、比較対象となる２つの画像のエッジの画像特徴量の間の距離の値、または、その距離の２乗の値、などを用いることができる。２つの画像のエッジの画像特徴量の間の距離としては、例えば、２つの画像の対応する各画素についてエッジの画像特徴量の差分を求め、求めた差分を全ての画素について総和した結果の値（さらに、正規化などされてもよい。）を用いることができる。また、エッジを検出する手法としては、例えば、画像におけるピクセル値の差分に基づいてエッジを検出する手法を用いることができ、この場合、ピクセル値としては、輝度値、または、他の値（例えば、色に関する値など）を用いることができる。
【００３４】
ピクセル距離検出部２２１は、対象物画像取得部１１１により取得された画像の情報におけるピクセルの画像特徴量（例えば、ピクセル値）と、目標画像取得部１１２により取得された目標画像の情報におけるピクセルの画像特徴量（例えば、ピクセル値）について、これら２つの画像特徴量の間の距離を演算して、その演算結果をピクセル距離として検出する。
ここで、ピクセル距離としては、比較対象となる２つの画像のピクセルの画像特徴量の間の距離の値、または、その距離の２乗の値、などを用いることができる。２つの画像のピクセルの画像特徴量の間の距離としては、例えば、２つの画像の対応する各画素についてピクセルの画像特徴量（例えば、ピクセル値）の差分を求め、求めた差分を全ての画素について総和した結果の値（さらに、正規化などされてもよい。）を用いることができる。なお、ピクセル値としては、輝度値、または、他の値（例えば、色に関する値など）を用いることができる。
【００３５】
重み付け部２０２は、重心距離検出部２０１により検出された重心距離について重み付けを行い、重み付け後の重心距離の信号を加算部２３１へ出力する。
重み付け部２１２は、エッジ距離検出部２１１により検出されたエッジ距離について重み付けを行い、重み付け後のエッジ距離の信号を加算部２３１へ出力する。
重み付け部２２２は、ピクセル距離検出部２２１により検出されたピクセル距離について重み付けを行い、重み付け後のピクセル距離の信号を加算部２３１へ出力する。
【００３６】
加算部２３１は、３個の重み付け部２０２、２１２、２２２から入力された信号を加算（総和）し、その加算結果の信号を制御信号（ビジュアルサーボの制御信号）としてロボット制御部１１４へ出力する。
重み付け制御部２３２は、それぞれの重み付け部２０２、２１２、２２２における重み（重み付けの値）を制御する。本実施形態では、それぞれの重み付け部２０２、２１２、２２２における重みは、定められた規則にしたがって、ビジュアルサーボの処理の経過（時間の経過）に応じて、動的に変化させられる。
【００３７】
ここで、本実施形態では、複数の異なる画像特徴量（画像処理）として、重心に関する画像特徴量と、エッジに関する画像特徴量と、ピクセルに関する画像特徴量を用いるが、他の様々な画像特徴量（画像処理）が用いられてもよい。例えば、画像の特徴量として、ＨＯＧ（Ｈｉｓｔｏｇｒａｍｓ  ｏｆ  Ｏｒｉｅｎｔｅｄ  Ｇｒａｄｉｅｎｔｓ）特徴量や、ＳＩＦＴ（Ｓｃａｌｅ−Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）特徴量などを用いることもできる。
また、本実施形態では、複数の異なる画像特徴量（画像処理）の数として、３個を用いるが、他の構成例として、２個、または、４個以上が用いられてもよい。
【００３８】
＜本実施形態に係る重み付け制御部により行われる重み付け制御の詳細＞
本実施形態に係る重み付け制御部２３２により行われる重み付け制御の詳細を説明する。
本実施形態では、ビジュアルサーボによりロボットを動作させる過程において、重み付け制御部２３２が、それぞれの重み付け部２０２、２１２、２２２における重みを逐次的に更新する（変化させる）ことで、それぞれの重み付け部２０２、２１２、２２２における重みを学習し適したものとする。
このような逐次的な更新の手法としては、例えば、ブースティング（Ｂｏｏｓｔｉｎｇ）の手法を用いることができる。
【００３９】
ここで、それぞれの重み付け部２０２、２１２、２２２における重みの初期値としては、任意の値が用いられてもよい。それぞれの重み付け部２０２、２１２、２２２における重みの初期値としては、一例として、全ての重み付け部２０２、２１２、２２２について同じ値を用いることができ、他の例として、それぞれの重み付け部２０２、２１２、２２２ごとに異なり得る値を用いることができる。
また、本実施形態では、重み付け制御部２３２は、全ての重み付け部２０２、２１２、２２２における重みの総和が一定の値（例えば、１）になるように制御しており、例えば、全ての重み付け部２０２、２１２、２２２における重みについて正規化を行う。
【００４０】
また、重み付け制御部２３２によりそれぞれの重み付け部２０２、２１２、２２２における重みを更新するときにおける重みの変化量（例えば、増加量、または、減少量）としては、様々な値が用いられてもよい。具体例として、重みを更新するときにおける重みの変化量としては、あらかじめ定められた一定の値が用いられてもよく、または、加算部２３１から出力される制御信号の時間的な変化に基づいて決定されてもよく、または、それぞれの画像処理ごとに、距離（本実施形態では、重心距離、エッジ距離、ピクセル距離）の時間的な変化に基づいて決定されてもよい。なお、重みを更新するときにおける重みの変化量としては、例えば、微量（微増量、または、微減量）を用いることができる。
【００４１】
本実施形態に係る重み付け制御部２３２により行われる重み付け制御の処理を含む、ロボット動作制御時のフローの一例を示す。
本例では、重み付け制御部２３２を含む制御部１０１において、以下に示す（ロボット動作制御処理１）〜（ロボット動作制御処理４）を実行する。
【００４２】
（ロボット動作制御処理１）
まず、ビジュアルサーボの動作の開始時（または、開始前）において、重み付け制御部２３２は、それぞれの重み付け部２０２、２１２、２２２における重みとして、初期値を設定する。
ここで、重み付け制御部２３２がそれぞれの重み付け部２０２、２１２、２２２における重みを初期化する（初期値に設定する）タイミングとしては、様々なタイミングが用いられてもよい。例えば、ビジュアルサーボに使用されるカメラ（本実施形態では、撮影部５１）の配置などが所定以上に変更されたことで撮影方向などが所定以上に変更されたときのタイミングや、ロボットによる作業を行う台（作業台）などの上における各種の物のレイアウトなどが所定以上に変更されたことで作業環境が所定以上に変更されたときのタイミングなどで、重み付け制御部２３２がそれぞれの重み付け部２０２、２１２、２２２における重みを初期化する構成を用いることができる。
【００４３】
（ロボット動作制御処理２）
ビジュアルサーボの動作の制御中は、それぞれの距離検出部（重心距離検出部２０１、エッジ距離検出部２１１、ピクセル距離検出部２２１）により、現在の撮影画像（現在の対象物の画像を含む撮影画像）と目標画像との間で、それぞれの距離（近さ）を演算して求める。また、それぞれの重み付け部２０２、２１２、２２２により、それぞれの距離に対してそれぞれの重みを乗算する。また、加算部２３１により、全ての重み付け部２０２、２１２、２２２により得られた重み付け後の距離（重みが乗算された距離）の信号を加算して、その加算結果の信号を制御信号として取得する。また、ロボット制御部１１４により、加算部２３１により取得された制御信号を用いて、ビジュアルサーボにより、ロボットを制御する。
【００４４】
ここで、本実施形態では、ロボット制御部１１４は、ビジュアルサーボにおけるロボットの制御では、定められた時間だけロボット（本実施形態では、マニピュレーター２１、２２や把持部３１、３２）の位置や姿勢を変化させる。この時間としては、例えば、１００ｍｓなどのように微小な時間が用いられ、また、一定の時間（一定の周期）が用いられる。
また、制御信号生成部１１３は、それぞれの距離検出部（重心距離検出部２０１、エッジ距離検出部２１１、ピクセル距離検出部２２１）により検出される距離や、それぞれの重み付け部２０２、２１２、２２２により使用される重みを、記憶部１０２などに記憶しておく。この記憶は、例えば、その記憶内容が必要とされるときだけの一時的なものであってもよい。
【００４５】
（ロボット動作制御処理３）
ビジュアルサーボにおけるロボットの制御（本実施形態では、対象物の微小時間の移動）が完了した時点で、重み付け制御部２３２は、そのロボットの制御の後においてそれぞれの距離検出部（重心距離検出部２０１、エッジ距離検出部２１１、ピクセル距離検出部２２１）により検出された距離（例えば、新たに検出された距離）と、そのロボットの制御の前においてそれぞれの距離検出部（重心距離検出部２０１、エッジ距離検出部２１１、ピクセル距離検出部２２１）により検出された距離（例えば、記憶しておいた距離）とを比較し、その比較結果に基づいて、それぞれの重み付け部２０２、２１２、２２２における重みを更新する。
具体的には、重み付け制御部２３２は、ロボットの制御の前後について、それぞれの画像処理（本実施形態では、重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理）ごとに距離を比較し、制御の後（ロボットにより把持される対象物の位置や姿勢の変化の後）における距離が制御の前（ロボットにより把持される対象物の位置や姿勢の変化の前）における距離よりも小さくなったものについてはその画像処理に対する重みを所定の変化量だけ増加し（つまり、寄与を大きくし）、制御の後における距離が制御の前における距離よりも大きくなったものについてはその画像処理に対する重みを所定の変化量だけ低減する（つまり、寄与を小さくする）。なお、重み付け制御部２３２は、必要に応じて、重みの正規化などを行う。
【００４６】
（ロボット動作制御処理４）
制御部１０１では、加算部２３１により取得される制御信号の値が定められた閾値以下になるまで（つまり、対象物と目標とが閾値以下の程度に近くなるまで）、上記した（ロボット動作制御処理２）および上記した（ロボット動作制御処理３）を繰り返して実行する。これにより、１つの目標画像を用いたビジュアルサーボが終了する。
ここで、加算部２３１により取得される制御信号の値が定められた閾値以下であるか否かは、例えば、制御信号生成部１１３により監視されて判定される。
【００４７】
＜本実施形態に係る重み付け制御の具体例＞
図４（Ａ）は、対象物が目標から遠い場合における撮影画像３０１の一例を示す図であり、図４（Ｂ）は目標画像４０１の一例を示す図である。
図４（Ａ）には、撮影画像３０１に含まれる対象物の画像３１１を示してある。
図４（Ｂ）には、目標画像４０１に含まれる目標物の画像４１１を示してある。
なお、この例では、説明を簡略化するために、撮影画像３０１および目標画像４０１について、対象物および目標物以外の背景については省略してある。
【００４８】
図４（Ａ）および図４（Ｂ）に示されるように、傾向としては、対象物が目標から遠い場合には、エッジ距離やピクセル距離よりも、重心距離を重視してロボットを制御する方が、対象物を早く目標物に近付けることができるため、エッジ距離に対する重みやピクセル距離に対する重みよりも、重心距離に対する重みを増加させるように、重み付け制御部２３２が重みを制御する。
【００４９】
図５（Ａ）は、対象物が目標に近い場合における撮影画像５０１の一例を示す図であり、図５（Ｂ）は目標画像４０１の一例を示す図である。
図５（Ａ）には、撮影画像５０１に含まれる対象物の画像５１１を示してある。
図５（Ｂ）には、目標画像４０１に含まれる目標物の画像４１１を示してある。
なお、この例では、説明を簡略化するために、撮影画像５０１および目標画像４０１について、対象物および目標物以外の背景については省略してある。
【００５０】
図５（Ａ）および図５（Ｂ）に示されるように、傾向としては、対象物が目標に近い場合には、重心距離よりも、エッジ距離やピクセル距離（さらに近い場合には、エッジ距離よりもピクセル距離）を重視してロボットを制御する方が、対象物を早く精度良く目標物に近付けることができるため、重心距離に対する重みよりも、エッジ距離に対する重みやピクセル距離に対する重み（さらに近い場合には、エッジ距離に対する重みよりもピクセル距離に対する重み）を増加させるように、重み付け制御部２３２が重みを制御する。
【００５１】
図６は、本発明の一実施形態に係るそれぞれの画像処理（重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理）に対する重みの時間的変化の一例を示す図である。
図６に示すグラフでは、横軸はビジュアルサーボが実行されるときにおける経過時間を表しており、縦軸は重みを表している。また、重心距離に対する重みの時間的変化（重心の特性６０１）と、エッジ距離に対する重みの時間的変化（エッジの特性６０２）と、ピクセル距離に対する重みの時間的変化（ピクセルの特性６０３）を示してある。
図６に示されるように、傾向としては、対象物が目標から遠い場合には、重心距離に対する重みが大きく、エッジ距離に対する重みおよびピクセル距離に対する重みが小さく、その後、対象物が目標に近付く過程で、重心距離に対する重みが減少していき、エッジ距離に対する重みおよびピクセル距離に対する重みが増加していき、その後、さらに対象物が目標に近付くと、重心距離に対する重みがさらに減少していき、エッジ距離に対する重みが減少するようになり、ピクセル距離に対する重みがさらに増加していく。
【００５２】
このように、本実施形態では、対象物が目標から遠い場合と、中程度の距離である場合と、近い場合とで、それぞれに適した画像処理（重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理）に対する重みを用いて、ビジュアルサーボによるロボット制御を行うことができる。本実施形態では、このような重みの時間的変化を滑らかに実現することができる。
【００５３】
［本実施形態に係る重み付け制御に関するまとめ］
以上のように、本実施形態に係るロボットシステム１では、現在における撮影画像を取得し、目標画像を取得し、これら２つの画像について複数の異なる画像特徴量のそれぞれを用いて一致度（類似度）を表す距離を算出し、算出した複数の異なる画像特徴量の距離に基づいてビジュアルサーボにおけるロボットの制御信号を決定して、ロボットを制御して、ロボットにより把持される対象物の位置や姿勢を制御する。この場合に、本実施形態に係るロボットシステム１では、複数の異なる画像特徴量のそれぞれごとに、過去および現在の距離の変化（大きくなったか、または、小さくなったか）に基づいて、重みを決定する。
【００５４】
本実施形態に係るロボットシステム１によると、環境（例えば、マニピュレーター２１、２２からなるアームの位置、対象物の把持姿勢など）に応じて、複数の異なる画像処理（本実施形態では、重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理）のそれぞれに対して重み付けを行うことが可能であり、これらの重み付けをして各距離を結合した制御信号（全体的な画像特徴量）を用いて、ビジュアルサーボを実行する。
したがって、本実施形態に係るロボットシステム１によると、環境の変動に応じて、適応的にビジュアルサーボの制御信号を最適化することで、ロボットを制御する際のロバスト性を向上させることができる。これにより、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
【００５５】
なお、本実施形態では、ロボットにより把持される対象物について、位置および姿勢の両方を制御する構成を示すが、他の構成例として、位置のみを制御する構成が用いられてもよい。一例として、位置は、三次元ＸＹＺ直交座標系の座標（ｘ、ｙ、ｚ）で表され、また、姿勢は、その座標系に対応する角度座標系の座標（θｘ、θｙ、θｚ）で表される。
【００５６】
［本実施形態における重みの初期値の設定］
本実施形態では、複数の異なる画像処理（重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理）に対する重みの初期値を学習により求めて使用することができる。このような学習は、例えば、ビジュアルサーボの制御が行われていないときに行うことができ、または、ビジュアルサーボの制御が行われているときに同時に行ってもよい。
【００５７】
具体的には、例えば、重み付け制御部２３２は、ビジュアルサーボの初期の撮影画像ごとに、および目標画像ごとに、ビジュアルサーボの制御が成功したかまたは失敗したかを示す情報の記録（ログ）を取得して、記憶部１０２などに記憶する。
また、重み付け制御部２３２は、複数の異なる画像処理（本実施形態では、重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理）に対する重みについて、ビジュアルサーボの制御における最終的な重みの組み合わせ、または、ビジュアルサーボの制御における初期から最終までに逐次更新される全てまたは定められた一部の重みの組み合わせを取得し、取得した重みの組み合わせと、ビジュアルサーボの制御の成功または失敗とを対応付けて、記憶部１０２などに記憶する。一例として、重み付け制御部２３２は、取得した重みの組み合わせと、ビジュアルサーボの制御の成功または失敗との相関関係を取得して、記憶部１０２などに記憶する。
【００５８】
そして、重み付け制御部２３２は、ビジュアルサーボの初期の撮影画像ごとに、および目標画像ごとに、失敗に対応付けられた重みの組み合わせを、初期の撮影画像および目標画像が同一の場合に、初期値として使用しないように制御する。他の構成例として、重み付け制御部２３２は、ビジュアルサーボの初期の撮影画像ごとに、および目標画像ごとに、失敗に対応付けられた重みの組み合わせを、初期の撮影画像および目標画像のうちの一方または両方が異なる場合（例えば、定められた閾値以内で相違する場合）においても、初期値として使用しないように制御する、ことも可能である。
【００５９】
また、好ましい構成例として、重み付け制御部２３２は、ビジュアルサーボの初期の撮影画像ごとに、および目標画像ごとに、成功に対応付けられた重みの組み合わせを、初期の撮影画像および目標画像が同一の場合に、初期値として使用するように制御する。他の構成例として、重み付け制御部２３２は、ビジュアルサーボの初期の撮影画像ごとに、および目標画像ごとに、成功に対応付けられた重みの組み合わせを、初期の撮影画像および目標画像のうちの一方または両方が異なる場合（例えば、定められた閾値以内で相違する場合）においても、初期値として使用するように制御する、ことも可能である。
【００６０】
ここで、初期の撮影画像に関して、例えば、対象物や固定的な背景について初期の状態が同一であっても、照明の具合や、他の状況（例えば、人が通過する状況）により、初期の撮影画像が異なってしまう場合がある。また、初期の撮影画像に関して、例えば、対象物の位置は同一であるが、当該対象物の姿勢が異なることで、初期の撮影画像が異なってしまう場合がある。一例として、これらのような場合に、初期の撮影画像が異なっても、共通の重みの初期値を適用することが有効である。
【００６１】
ここで、ビジュアルサーボの制御が失敗したと判定する場合の例として、（ビジュアルサーボの失敗の場合の例１）〜（ビジュアルサーボの失敗の場合の例９）を示す。これらは、ビジュアルサーボの制御が収束しない場合に相当する。
【００６２】
（ビジュアルサーボの失敗の場合の例１）
ビジュアルサーボの制御時間（収束までの時間）があらかじめ設定された閾値を超えた（オーバーした）場合に失敗と判定する。この閾値は、例えば、記憶部１０２などに記憶される。
（ビジュアルサーボの失敗の場合の例２）
ビジュアルサーボの制御時間（収束までの時間）が、前回に成功した場合における所要時間を超えた（オーバーした）場合に失敗と判定する。この所要時間は、例えば、記憶部１０２などに記憶される。
（ビジュアルサーボの失敗の場合の例３）
ビジュアルサーボの制御中にロボットの把持部などが定められた範囲（可動範囲）の外部に制御された場合に失敗と判定する。この範囲は、例えば、記憶部１０２などに記憶される。
（ビジュアルサーボの失敗の場合の例４）
ビジュアルサーボの制御中にロボットの把持部などがカメラ（本実施形態では、撮影部５１）の視野の外部に制御された場合に失敗と判定する。
（ビジュアルサーボの失敗の場合の例５）
ビジュアルサーボの制御が終了したが、ロボットの把持部などの位置が前回に成功した場合における最終的な収束位置から所定以上離れている場合に失敗と判定する。この前回の収束位置は、例えば、記憶部１０２などに記憶される。
【００６３】
（ビジュアルサーボの失敗の場合の例６）
ビジュアルサーボの制御中にロボットの把持部などが他の物と衝突したことを検出した場合に失敗と判定する。この構成では、例えば、ロボットの把持部などに、衝突を検出する検出部（センサー）を備える。
（ビジュアルサーボの失敗の場合の例７）
ビジュアルサーボの制御中にロボットの把持部が対象物を落下させたことを検出した場合に失敗と判定する。この構成では、例えば、ロボットの把持部などに、対象物の落下を検出する検出部（センサー）を備える。
（ビジュアルサーボの失敗の場合の例８）
撮影画像などに基づいて対象物を検出する機能を有する構成において、ビジュアルサーボの制御中に対象物を検出することができなくなった場合に失敗と判定する。
（ビジュアルサーボの失敗の場合の例９）
撮影画像などに基づいて対象物およびマーカーを検出する機能を有する構成において、ロボットの把持部などにマーカーを張り付けて備えておき、ビジュアルサーボの制御中にマーカーを検出することはできるが対象物を検出することができなくなった場合に失敗と判定する。
【００６４】
図７は、本発明の一実施形態に係る複数の異なる画像処理（重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理）に対する重みの組み合わせとビジュアルサーボの制御の成功／失敗との関係の一例を示す図である。
図７に示されるグラフにおいて、ｗ１軸は重心に関する画像処理に対する重みを表しており、ｗ２軸はエッジに関する画像処理に対する重みを表しており、ｗ３軸はピクセルに関する画像処理に対する重みを表している。また、過去の履歴において、ビジュアルサーボの制御が成功した重みの組み合わせの位置に成功を示す記号（図７の例では、○）を示してあり、ビジュアルサーボの制御が失敗した重みの組み合わせの位置に失敗を示す記号（図７の例では、×）を示してある。
また、このような成功および失敗の位置を解析した結果として、成功と失敗との境界７０１と、成功の領域７１１と、失敗の領域７１２を示してある。この解析としては、例えば、厳密でなくて、推定的であってもよい。また、この解析としては、例えば、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）などを用いることができる。
【００６５】
以上のように、本実施形態に係るロボットシステム１では、ビジュアルサーボの制御が失敗したときにおける重みの組み合わせや、ビジュアルサーボの制御が成功したときにおける重みの組み合わせに基づいて、重みの初期値を設定することができる。
したがって、本実施形態に係るロボットシステム１によると、重みの初期値について、ビジュアルサーボの制御の失敗の可能性が高い初期値を設定することを回避することができ、ビジュアルサーボの制御の成功の可能性が高い初期値を設定することができる。このような初期値の設定は、例えば、同一の作業または類似する作業を繰り返して複数回実行するような場合に有効である。
【００６６】
［ロボットシステムの他の構成例］
本実施形態では、図１に示されるような双碗のロボットを備えるロボットシステム１を示すが、他の様々なロボットのシステムに本実施形態と同様な構成を適用することが可能である。
例えば、ロボットが備えるマニピュレーターの数としては、２個に限られず、１個または２個よりも多くてもよい。
【００６７】
図８は、他の構成例に係るロボットシステム９０１の概略的な構成例を示す図である。
本構成例に係るロボットシステム９０１は、ロボット制御装置１００１と、ロボット１００２と、撮影部１００３と、回線１０２１と、回線１０２２を備える。
ロボット１００２は、１本のマニピュレーターを備える単腕のロボットであり、把持部１０１１を有する。また、図８には、把持部１０１１により把持する対象物１２０１を示してある。
【００６８】
ロボット制御装置１００１は、制御部１１０１と、記憶部１１０２と、入力部１１０３と、出力部１１０４と、を備える。
制御部１１０１は、対象物画像取得部１１１１と、目標画像取得部１１１２と、制御信号生成部１１１３と、ロボット制御部１１１４を備える。
対象物画像取得部１１１は、撮影部１００３との間で、有線または無線の回線１０２１により、通信可能に接続される。
ロボット制御部１１１４は、ロボット１００２との間で、有線または無線の回線１０２２により、通信可能に接続される。
なお、本構成例に係るロボットシステム９０１において行われる動作は、概略的に、図１に示される本実施形態に係るロボットシステム１において行われる動作と同様であるため、詳しい説明を省略する。
【００６９】
［以上の実施形態に関する構成例］
一構成例として、対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボット（図１の例では、撮影部５１およびロボット制御装置６１以外の構成部からなるもの。図８の例では、ロボット１００２。）と、前記ロボットの動作を制御するロボット制御装置（図１の例では、ロボット制御装置６１。図８の例では、ロボット制御装置１００１。）と、前記対象物を含む画像を撮影する撮影部（図１の例では、撮影部５１．図８の例では、撮影部１００３。）と、を備え、前記ロボット制御装置は、前記撮影部により撮影された画像の情報を取得する対象物画像取得部（図２の例では、対象物画像取得部１１１。図８の例では、対象物画像取得部１１１１。）と、目標画像の情報を取得する目標画像取得部（図２の例では、目標画像取得部１１２。図８の例では、目標画像取得部１１１２。）と、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御する制御信号生成部（図２の例では、制御信号生成部１１３。図８の例では、制御信号生成部１１１３。）と、前記制御信号生成部により生成された制御信号に基づいて前記ロボットの動作を制御するロボット制御部（図２の例では、ロボット制御部１１４。図８の例では、ロボット制御部１１１４）と、を備える、ロボットシステム（図１の例では、ロボットシステム１。図８の例では、ロボットシステム９０１）である。
【００７０】
ここで、対象物の位置または姿勢のうちの一方または両方を変化させる動作としては、例えば、対象物の位置を変化させる動作が用いられてもよく、または、対象物の姿勢を変化させる動作が用いられてもよく、または、対象物の位置または姿勢の両方を変化させる動作が用いられてもよい。
なお、通常は、対象物の位置を変化させる動作、または、対象物の位置または姿勢の両方を変化させる動作が用いられる場合が多いと考えられる。
【００７１】
一構成例として、ロボットシステムにおいて、前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれごとに、前記ロボットの動作の制御の前後における距離の変化に基づいて、前記重み付けの重みを制御する。
一構成例として、ロボットシステムにおいて、前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれごとに、前記ロボットの動作の制御の前後における距離の変化に基づいて、距離が大きくなるように変化した場合には前記重み付けの重みを小さくするように制御し、距離が小さくなるように変化した場合には前記重み付けの重みを大きくするように制御する。
一構成例として、ロボットシステムにおいて、前記複数の異なる画像特徴量は、重心に関する画像特徴量、エッジに関する画像特徴量、ピクセルに関する画像特徴量のうちの１つ以上を含む。
一構成例として、ロボットシステムにおいて、前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれに対する重みの初期値として、過去に行われた前記ロボットの動作の制御であって失敗した制御において用いられた重みとは異なる重みを設定する。
【００７２】
一構成例として、対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得する対象物画像取得部と、目標画像の情報を取得する目標画像取得部と、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御する制御信号生成部と、前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御するロボット制御部と、を備える、ロボット制御装置（図１の例では、ロボット制御装置６１。図８の例では、ロボット制御装置１００１。）である。
【００７３】
一構成例として、対象物画像取得部が、対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得し、目標画像取得部が、目標画像の情報を取得し、制御信号生成部が、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御し、ロボット制御部が、前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御する、ロボット制御方法（図１の例では、ロボット制御装置６１におけるロボット制御方法。図８の例では、ロボット制御装置１００１におけるロボット制御方法。）である。
【００７４】
一構成例として、対象物画像取得部が、対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得するステップと、目標画像取得部が、目標画像の情報を取得するステップと、制御信号生成部が、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御するステップと、ロボット制御部が、前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御するステップと、をコンピューターに実行させるためのロボット制御プログラム（図１の例では、ロボット制御装置６１におけるロボット制御プログラム。図８の例では、ロボット制御装置１００１におけるロボット制御プログラム。）である。
【００７５】
［以上の実施形態について］
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【００７６】
なお、以上に説明した装置（例えば、ロボット制御装置６１、１００１など）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のように、一定時間プログラムを保持しているものも含むものとする。
【００７７】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００７８】
１、９０１…ロボットシステム、１１…格納部、１２〜１４…胴体部分、２１〜２２…マニピュレーター、３１〜３２、１０１１…把持部（ハンド）、４１〜４２…車輪、５１、１００３…撮影部、６１、１００１…ロボット制御装置、１０１、１１０１…制御部、１０２、１１０２…記憶部、１０３、１１０３…入力部、１０４、１１０４…出力部、１１１、１１１１…対象物画像取得部、１１２、１１１２…目標画像取得部、１１３、１１１３…制御信号生成部、１１４、１１１４…ロボット制御部、２０１…重心距離検出部、２０２、２１２、２２２…重み付け部、２１１…エッジ距離検出部、２２１…ピクセル距離検出部、２３１…加算部、２３２…重み付け制御部、３０１、５０１…撮影画像、３１１、５１１…対象物の画像、４０１…目標画像、４１１…目標物の画像、６０１…重心の特性、６０２…エッジの特性、６０３…ピクセルの特性、７０１…境界、７１１…成功の領域、７１２…失敗の領域、１００２…ロボット、１０２１〜１０２２…回線、１２０１…対象物
【図１】
2015145050.tif 000003
【図２】
2015145050.tif 000004
【図３】
2015145050.tif 000005
【図４】
2015145050.tif 000006
【図５】
2015145050.tif 000007
【図６】
2015145050.tif 000008
【図７】
2015145050.tif 000009
【図８】
2015145050.tif 000010