JP2015145050A - ロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラム - Google Patents
ロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラム Download PDFInfo
- Publication number
- JP2015145050A JP2015145050A JP2014019154A JP2014019154A JP2015145050A JP 2015145050 A JP2015145050 A JP 2015145050A JP 2014019154 A JP2014019154 A JP 2014019154A JP 2014019154 A JP2014019154 A JP 2014019154A JP 2015145050 A JP2015145050 A JP 2015145050A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- image
- control signal
- unit
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】ビジュアルサーボにおいて良好なロバスト性を実現する。【解決手段】ロボットシステムは、ロボットと、ロボットの動作を制御するロボット制御装置と、対象物を含む画像を撮影する撮影部と、を備え、ロボット制御装置は、撮影部により撮影された画像の情報を取得する対象物画像取得部と、目標画像の情報を取得する目標画像取得部と、対象物画像取得部により取得された画像の情報と目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、複数の異なる画像特徴量のそれぞれごとに、重み付けの重みを制御する制御信号生成部と、制御信号生成部により生成された制御信号に基づいてロボットの動作を制御するロボット制御部と、を備える。【選択図】図1
Description
本発明は、ロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラムに関する。
カメラにより撮影される画像のデータに基づいて、視覚的なフィードバック制御(ビジュアルサーボとも呼ばれる。)により、ロボットを構成するロボットアームの把持部(ハンド)により把持する物体の位置や姿勢を制御するロボット制御装置が開発されている。
このようなビジュアルサーボのシステムに自動フォーカス機構や自動露光機構を設けることで、画像特徴量を用いてロボットアームや把持部(ハンド)を制御する際に、ピンボケが原因で制御がうまくいかない状況を少なくし、ロバスト性を向上させるロボット制御装置が検討されている(特許文献1参照。)。
このようなビジュアルサーボのシステムに自動フォーカス機構や自動露光機構を設けることで、画像特徴量を用いてロボットアームや把持部(ハンド)を制御する際に、ピンボケが原因で制御がうまくいかない状況を少なくし、ロバスト性を向上させるロボット制御装置が検討されている(特許文献1参照。)。
しかしながら、ビジュアルサーボのシステムにおいて、自動フォーカス機構や自動露光機構を設けることでロバスト性を向上させることができるのは、エッジなどの限られた画像特徴量を用いる場合であり、例えば色を画像特徴量に使用する場合には効果が低い。
そもそも、ビジュアルサーボでは、ロボットが設置される場所(例えば、カメラが設置される場所)や、カメラの向きなどによって、撮影画像の変動が大きいことから、上記の方法で十分なロバスト性を確保することは難しいと考えられる。
そもそも、ビジュアルサーボでは、ロボットが設置される場所(例えば、カメラが設置される場所)や、カメラの向きなどによって、撮影画像の変動が大きいことから、上記の方法で十分なロバスト性を確保することは難しいと考えられる。
本発明は、前記の点に鑑み為されたものであり、ビジュアルサーボにおいて良好なロバスト性を実現することができるロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラムを提供することを目的とする。
本発明の一態様は、上記の課題を解決するためになされたものであり、対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットと、前記ロボットの動作を制御するロボット制御装置と、前記対象物を含む画像を撮影する撮影部と、を備え、前記ロボット制御装置は、前記撮影部により撮影された画像の情報を取得する対象物画像取得部と、目標画像の情報を取得する目標画像取得部と、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御する制御信号生成部と、前記制御信号生成部により生成された制御信号に基づいて前記ロボットの動作を制御するロボット制御部と、を備える、ロボットシステムである。
この構成により、ロボットシステムでは、制御信号生成部が、複数の異なる画像特徴量のそれぞれごとに、距離に対する重み付けの重みを制御する。これにより、ロボットシステムでは、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
この構成により、ロボットシステムでは、制御信号生成部が、複数の異なる画像特徴量のそれぞれごとに、距離に対する重み付けの重みを制御する。これにより、ロボットシステムでは、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
本発明の一態様は、ロボットシステムにおいて、前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれごとに、前記ロボットの動作の制御の前後における距離の変化に基づいて、前記重み付けの重みを制御する、構成が用いられてもよい。
この構成により、ロボットシステムでは、制御信号生成部は、複数の異なる画像特徴量のそれぞれごとに、ロボットの動作の制御の前後における距離の変化に基づいて、距離に対する重み付けの重みを制御する。これにより、ロボットシステムでは、ロボットの動作の制御の前後における距離の変化に基づいて、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
この構成により、ロボットシステムでは、制御信号生成部は、複数の異なる画像特徴量のそれぞれごとに、ロボットの動作の制御の前後における距離の変化に基づいて、距離に対する重み付けの重みを制御する。これにより、ロボットシステムでは、ロボットの動作の制御の前後における距離の変化に基づいて、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
本発明の一態様は、ロボットシステムにおいて、前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれごとに、前記ロボットの動作の制御の前後における距離の変化に基づいて、距離が大きくなるように変化した場合には前記重み付けの重みを小さくするように制御し、距離が小さくなるように変化した場合には前記重み付けの重みを大きくするように制御する、構成が用いられてもよい。
この構成により、ロボットシステムでは、制御信号生成部は、複数の異なる画像特徴量のそれぞれごとに、ロボットの動作の制御の前後において、距離が大きくなるように変化した場合には距離に対する重み付けの重みを小さくするように制御し、距離が小さくなるように変化した場合には距離に対する重み付けの重みを大きくするように制御する。これにより、ロボットシステムでは、ロボットの動作の制御の前後における距離の大小の変化に基づいて、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
この構成により、ロボットシステムでは、制御信号生成部は、複数の異なる画像特徴量のそれぞれごとに、ロボットの動作の制御の前後において、距離が大きくなるように変化した場合には距離に対する重み付けの重みを小さくするように制御し、距離が小さくなるように変化した場合には距離に対する重み付けの重みを大きくするように制御する。これにより、ロボットシステムでは、ロボットの動作の制御の前後における距離の大小の変化に基づいて、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
本発明の一態様は、ロボットシステムにおいて、前記複数の異なる画像特徴量は、重心に関する画像特徴量、エッジに関する画像特徴量、ピクセルに関する画像特徴量のうちの1つ以上を含む、構成が用いられてもよい。
この構成により、ロボットシステムでは、複数の異なる画像特徴量として、重心に関する画像特徴量、エッジに関する画像特徴量、ピクセルに関する画像特徴量のうちの1つ以上を用いる。これにより、ロボットシステムでは、重心に関する画像処理や、エッジに関する画像処理や、ピクセルに関する画像処理を用いて、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
この構成により、ロボットシステムでは、複数の異なる画像特徴量として、重心に関する画像特徴量、エッジに関する画像特徴量、ピクセルに関する画像特徴量のうちの1つ以上を用いる。これにより、ロボットシステムでは、重心に関する画像処理や、エッジに関する画像処理や、ピクセルに関する画像処理を用いて、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
本発明の一態様は、ロボットシステムにおいて、前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれに対する重みの初期値として、過去に行われた前記ロボットの動作の制御であって失敗した制御において用いられた重みとは異なる重みを設定する。
この構成により、ロボットシステムでは、制御信号生成部は、複数の異なる画像特徴量のそれぞれに対する重みの初期値として、過去に行われたロボットの動作の制御であって失敗した制御において用いられた重みとは異なる重みを設定する。これにより、ロボットシステムでは、良好と考えられる重みの初期値を用いて、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
この構成により、ロボットシステムでは、制御信号生成部は、複数の異なる画像特徴量のそれぞれに対する重みの初期値として、過去に行われたロボットの動作の制御であって失敗した制御において用いられた重みとは異なる重みを設定する。これにより、ロボットシステムでは、良好と考えられる重みの初期値を用いて、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
本発明の一態様は、上記の課題を解決するためになされたものであり、対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得する対象物画像取得部と、目標画像の情報を取得する目標画像取得部と、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御する制御信号生成部と、前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御するロボット制御部と、を備える、ロボット制御装置である。
この構成により、ロボット制御装置では、制御信号生成部が、複数の異なる画像特徴量のそれぞれごとに、距離に対する重み付けの重みを制御する。これにより、ロボット制御装置では、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
この構成により、ロボット制御装置では、制御信号生成部が、複数の異なる画像特徴量のそれぞれごとに、距離に対する重み付けの重みを制御する。これにより、ロボット制御装置では、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
本発明の一態様は、上記の課題を解決するためになされたものであり、対象物画像取得部が、対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得し、目標画像取得部が、目標画像の情報を取得し、制御信号生成部が、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御し、ロボット制御部が、前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御する、ロボット制御方法である。
この構成により、ロボット制御方法では、制御信号生成部が、複数の異なる画像特徴量のそれぞれごとに、距離に対する重み付けの重みを制御する。これにより、ロボット制御方法では、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
この構成により、ロボット制御方法では、制御信号生成部が、複数の異なる画像特徴量のそれぞれごとに、距離に対する重み付けの重みを制御する。これにより、ロボット制御方法では、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
本発明の一態様は、上記の課題を解決するためになされたものであり、対象物画像取得部が、対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得するステップと、目標画像取得部が、目標画像の情報を取得するステップと、制御信号生成部が、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御するステップと、ロボット制御部が、前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御するステップと、をコンピューターに実行させるためのプログラム(ロボット制御プログラム)である。
この構成により、ロボット制御プログラムでは、制御信号生成部が、複数の異なる画像特徴量のそれぞれごとに、距離に対する重み付けの重みを制御する。これにより、ロボット制御プログラムでは、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
この構成により、ロボット制御プログラムでは、制御信号生成部が、複数の異なる画像特徴量のそれぞれごとに、距離に対する重み付けの重みを制御する。これにより、ロボット制御プログラムでは、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
以上のように、本発明によれば、ロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラムでは、制御信号生成部が、複数の異なる画像特徴量のそれぞれごとに、距離に対する重み付けの重みを制御する。これにより、ロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラムでは、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
本発明の実施形態について図面を参照して詳細に説明する。
[本実施形態に係るロボットシステムの概要]
図1は、本発明の一実施形態に係るロボットシステム1の概略的な構成例を示す図である。
図1は、本実施形態に係るロボットシステム1をその前方から見た外観を示す。
本実施形態に係るロボットシステム1は、格納部11と、胴体部分12〜14と、左側のマニピュレーター21および把持部(ハンド)31と、右側のマニピュレーター22および把持部(ハンド)32と、左側の車輪41と、右側の車輪42と、撮影部51と、ロボット制御装置61を備える。
[本実施形態に係るロボットシステムの概要]
図1は、本発明の一実施形態に係るロボットシステム1の概略的な構成例を示す図である。
図1は、本実施形態に係るロボットシステム1をその前方から見た外観を示す。
本実施形態に係るロボットシステム1は、格納部11と、胴体部分12〜14と、左側のマニピュレーター21および把持部(ハンド)31と、右側のマニピュレーター22および把持部(ハンド)32と、左側の車輪41と、右側の車輪42と、撮影部51と、ロボット制御装置61を備える。
ここで、本実施形態に係るロボットシステム1は、一例として、撮影部51と、ロボット制御装置61と、ロボット(その他の構成部からなるもの)を含んで構成される。なお、撮影部51がロボットに一体に含まれると捉えることも可能である。
本実施形態では、ロボットは、それぞれ腕(アーム)を構成する2本のマニピュレーター21、22を備える双腕ロボットである。ロボットは、ロボット制御装置61と一体に構成されており、ロボット制御装置61から入力された制御信号により動作が制御される。また、ロボットは、自己の状態等を示す信号を、ロボット制御装置61に出力してもよい。
本実施形態では、ロボットは、それぞれ腕(アーム)を構成する2本のマニピュレーター21、22を備える双腕ロボットである。ロボットは、ロボット制御装置61と一体に構成されており、ロボット制御装置61から入力された制御信号により動作が制御される。また、ロボットは、自己の状態等を示す信号を、ロボット制御装置61に出力してもよい。
格納部11の上面には、胴体部材12、胴体部材13、胴体部材14が順に上側に取り付けられており、最も上部の胴体部材14の左側に左腕を構成するマニピュレーター21が取り付けられており、当該胴体部材14の右側に右腕を構成するマニピュレーター22が取り付けられており、格納部11の底面の左側に車輪41が取り付けられており、格納部11の底面の右側に車輪42が取り付けられており、格納部11の上面に撮影部51が取り付けられている。
なお、本実施形態に係るロボットは、人手により外力を加えることで、または、装置により自動的に、左側の車輪41および右側の車輪42を回転させて、移動させることが可能である。
格納部11には、ロボット制御装置61が格納されている。
なお、本実施形態に係るロボットは、人手により外力を加えることで、または、装置により自動的に、左側の車輪41および右側の車輪42を回転させて、移動させることが可能である。
格納部11には、ロボット制御装置61が格納されている。
マニピュレーター21、22は、それぞれ、垂直多関節ロボットの一種であり、ロボットアームとして機能する。それぞれのマニピュレーター21、22は、その先端に把持部31、32を備える。
なお、それぞれのマニピュレーター21、22の自由度は、任意の自由度であってもよく、例えば、3軸の自由度であってもよく、6軸の自由度であってもよく、7軸の自由度であってもよく、または、他の自由度であってもよい。
それぞれの把持部31、32は、把持する対象となる物体(対象物)を把持する。
本実施形態では、マニピュレーター21、22(および把持部31、32)を動作させることで、把持部31、32により把持される対象物を移動させること、つまり当該対象物の位置や姿勢を変化させることが可能である。
なお、それぞれのマニピュレーター21、22の自由度は、任意の自由度であってもよく、例えば、3軸の自由度であってもよく、6軸の自由度であってもよく、7軸の自由度であってもよく、または、他の自由度であってもよい。
それぞれの把持部31、32は、把持する対象となる物体(対象物)を把持する。
本実施形態では、マニピュレーター21、22(および把持部31、32)を動作させることで、把持部31、32により把持される対象物を移動させること、つまり当該対象物の位置や姿勢を変化させることが可能である。
撮影部51は、カメラを用いて構成されており、画像を撮影する。本実施形態では、撮影部51は、把持部31、32により把持される対象物を含む画像を撮影することが可能な配置で備えられる。
なお、本実施形態では、撮影部51を格納部11の上面に備えたが、他の構成例として、撮影部51は、他の任意の場所に備えられてもよく、例えば、ロボットにおける他の任意の場所に備えられてもよく、または、ロボット以外の場所として、床面、天井、壁面などに固定されて備えられてもよい。
また、撮影部51は、例えば、人手により外力を加えることで、または、装置により自動的に、撮影方向や撮影角度などを変化させることが可能な構成であってもよい。
なお、本実施形態では、撮影部51を格納部11の上面に備えたが、他の構成例として、撮影部51は、他の任意の場所に備えられてもよく、例えば、ロボットにおける他の任意の場所に備えられてもよく、または、ロボット以外の場所として、床面、天井、壁面などに固定されて備えられてもよい。
また、撮影部51は、例えば、人手により外力を加えることで、または、装置により自動的に、撮影方向や撮影角度などを変化させることが可能な構成であってもよい。
ロボット制御装置61は、左腕のマニピュレーター21(および把持部31)と、右腕のマニピュレーター22(および把持部32)を制御する。ロボット制御装置61とそれぞれのマニピュレーター21、31とは、例えば、有線または無線の回線を介して、制御信号などを伝送することが可能に接続される。
なお、ロボット制御装置61は、例えば、左腕のマニピュレーター21(および把持部31)と、右腕のマニピュレーター22(および把持部32)とを、同時に関連付けて制御してもよく、または、左腕のマニピュレーター21(および把持部31)と、右腕のマニピュレーター22(および把持部32)とを、それぞれ別個に制御してもよい。
なお、ロボット制御装置61は、例えば、左腕のマニピュレーター21(および把持部31)と、右腕のマニピュレーター22(および把持部32)とを、同時に関連付けて制御してもよく、または、左腕のマニピュレーター21(および把持部31)と、右腕のマニピュレーター22(および把持部32)とを、それぞれ別個に制御してもよい。
[本実施形態に係るロボット制御装置の概要]
図2は、本発明の一実施形態に係るロボット制御装置61の概略的な構成例を示すブロック図である。
本実施形態に係るロボット制御装置61は、制御部101と、記憶部102と、入力部103と、出力部104と、を備える。
制御部101は、例えば、CPU(Central Processing Unit)などを用いて構成されており、各種の処理を行う。
記憶部102は、各種の情報を記憶する記憶媒体を含んで構成される。記憶部102は、例えば、制御部101で使用されるプログラムの情報や、各種の処理で使用されるパラメーター(例えば、数値)の情報などを記憶する。
図2は、本発明の一実施形態に係るロボット制御装置61の概略的な構成例を示すブロック図である。
本実施形態に係るロボット制御装置61は、制御部101と、記憶部102と、入力部103と、出力部104と、を備える。
制御部101は、例えば、CPU(Central Processing Unit)などを用いて構成されており、各種の処理を行う。
記憶部102は、各種の情報を記憶する記憶媒体を含んで構成される。記憶部102は、例えば、制御部101で使用されるプログラムの情報や、各種の処理で使用されるパラメーター(例えば、数値)の情報などを記憶する。
入力部103は、外部からの入力を受け付ける。入力部103は、例えば、ユーザーにより操作された操作入力を受け付けるキーボードやマウスなどを含んで構成される。また、入力部103は、例えば、外部の装置からの入力を受け付ける機能を含んで構成されてもよい。
出力部104は、外部への出力を行う。出力部104は、例えば、ユーザーに対して各種の情報を画像で表示する画面(例えば、液晶ディスプレイ)や、ユーザーに対して音声の情報を出力するスピーカーなどを含んで構成される。また、出力部104は、例えば、外部の装置へ情報を出力する機能を含んで構成されてもよい。
出力部104は、外部への出力を行う。出力部104は、例えば、ユーザーに対して各種の情報を画像で表示する画面(例えば、液晶ディスプレイ)や、ユーザーに対して音声の情報を出力するスピーカーなどを含んで構成される。また、出力部104は、例えば、外部の装置へ情報を出力する機能を含んで構成されてもよい。
[本実施形態に係るロボット制御装置の制御部の概要]
制御部101は、対象物画像取得部111と、目標画像取得部112と、制御信号生成部113と、ロボット制御部114を備える。
対象物画像取得部111は、有線または無線の回線を介して、撮影部51により撮影された画像の情報を受信して取得する。撮影部51は、有線または無線の回線を介して、撮影した画像の情報を対象物画像取得部111へ送信する。
本実施形態では、対象物画像取得部111により取得される画像の情報には、当該画像に映る対象物の画像の情報が含まれる。
制御部101は、対象物画像取得部111と、目標画像取得部112と、制御信号生成部113と、ロボット制御部114を備える。
対象物画像取得部111は、有線または無線の回線を介して、撮影部51により撮影された画像の情報を受信して取得する。撮影部51は、有線または無線の回線を介して、撮影した画像の情報を対象物画像取得部111へ送信する。
本実施形態では、対象物画像取得部111により取得される画像の情報には、当該画像に映る対象物の画像の情報が含まれる。
目標画像取得部112は、ロボットにより把持する対象物の位置や姿勢を制御するときにおける目標(ゴール)となる画像の情報を取得する。
ここで、目標画像(参照画像などとも呼ばれる。)としては、例えば、撮影部51により撮影される画像のフレームと同じフレームにおいて、目標となる位置および姿勢にある対象物(目標物)を含む画像を用いることができる。このような目標画像の情報は、例えば、あらかじめ用意されて記憶部102などに記憶される。また、目標画像において、対象物以外の背景の情報としては、例えば、撮影部51により撮影される画像における背景の情報と一致または類似する背景の情報が用いられてもよく、または、他の情報(例えば、背景無しの情報など)が用いられてもよい。
ここで、目標画像(参照画像などとも呼ばれる。)としては、例えば、撮影部51により撮影される画像のフレームと同じフレームにおいて、目標となる位置および姿勢にある対象物(目標物)を含む画像を用いることができる。このような目標画像の情報は、例えば、あらかじめ用意されて記憶部102などに記憶される。また、目標画像において、対象物以外の背景の情報としては、例えば、撮影部51により撮影される画像における背景の情報と一致または類似する背景の情報が用いられてもよく、または、他の情報(例えば、背景無しの情報など)が用いられてもよい。
制御信号生成部113は、対象物画像取得部111により取得された画像(撮影画像)の情報と、目標画像取得部112により取得された目標画像の情報に基づいて、ビジュアルサーボによりロボット(本実施形態では、マニピュレーター21、22や把持部31、32)を制御するための信号(制御信号)を生成する。この制御信号は、ビジュアルサーボにおける制御量(ゲイン)として用いられる。具体的には、制御信号生成部113は、ロボットにより把持される対象物が目標に近付くようにロボットを制御するための制御信号を生成する。
ロボット制御部114は、制御信号生成部113により生成された制御信号に基づいて、ビジュアルサーボにより、ロボット(本実施形態では、マニピュレーター21、22や把持部31、32)を制御する。具体的には、ロボット制御部114は、例えば、制御信号により表される対象物と目標との誤差が小さくなるように、ロボットを制御する。
ここで、目標画像としては、例えば、順番に切り替えられて使用される複数の異なる目標画像が用いられてもよい。具体例として、第1の目標画像に基づいてビジュアルサーボにより撮影画像における対象物を初期状態から第1の目標の状態へ近付けるように制御し、その後、第2の目標画像に基づいてビジュアルサーボにより撮影画像における対象物を第1の目標の状態から第2の目標の状態へ近付けるように制御し、その後、第3の目標画像に基づいてビジュアルサーボにより撮影画像における対象物を第2の目標の状態から第3の目標の状態(例えば、最終的な目標の状態)へ近付けるように制御する、といった制御が可能である。なお、ここでは、3個の異なる目標画像を用いる場合を示したが、目標画像の数としては任意であってもよい。
また、本実施形態では、対象物画像取得部111により取得された画像(撮影画像)の情報と、目標画像取得部112により取得された目標画像の情報について、それぞれの画像特徴量を比較して、制御信号を生成する構成を示すが、他の構成例として、撮影画像に含まれる対象物の画像と、目標画像に含まれる目標物の画像について、それぞれの画像特徴量を比較して、制御信号を生成することも可能である。この場合、対象物画像取得部111は、例えば、取得された画像(撮影画像)の情報に基づいて、当該画像に映る対象物(ロボットにより把持する対象物)の画像の情報を検出する機能を有する。また、この場合、目標画像取得部112は、目標物の画像の情報を取得する。ここで、対象物の画像の情報を検出する手法としては、様々な手法が用いられてもよく、例えば、対象物のテンプレートの画像の情報をあらかじめ記憶しておき、取得された画像(撮影画像)の情報から、テンプレートの画像に一致または類似する画像の情報を抽出して、それを対象物の画像の情報として検出する手法(テンプレートマッチングの手法)を用いることができる。
[本実施形態に係るロボット制御装置の制御部の制御信号生成部の概要]
図3は、本発明の一実施形態に係る制御信号生成部113の概略的な構成例を示すブロック図である。
本実施形態では、重心に関する画像処理と、エッジに関する画像処理と、ピクセルに関する画像処理を、複数の異なる画像処理として用いる場合を示す。
本実施形態に係る制御信号生成部113は、重心距離検出部201およびその重み付け部202と、エッジ距離検出部211およびその重み付け部212と、ピクセル距離検出部221およびその重み付け部222と、加算部231と、重み付け制御部232を備える。
図3は、本発明の一実施形態に係る制御信号生成部113の概略的な構成例を示すブロック図である。
本実施形態では、重心に関する画像処理と、エッジに関する画像処理と、ピクセルに関する画像処理を、複数の異なる画像処理として用いる場合を示す。
本実施形態に係る制御信号生成部113は、重心距離検出部201およびその重み付け部202と、エッジ距離検出部211およびその重み付け部212と、ピクセル距離検出部221およびその重み付け部222と、加算部231と、重み付け制御部232を備える。
対象物画像取得部111により取得された画像の情報が、重心距離検出部201と、エッジ距離検出部211と、ピクセル距離検出部221に入力される。
目標画像取得部112により取得された目標画像の情報が、重心距離検出部201と、エッジ距離検出部211と、ピクセル距離検出部221に入力される。
目標画像取得部112により取得された目標画像の情報が、重心距離検出部201と、エッジ距離検出部211と、ピクセル距離検出部221に入力される。
重心距離検出部201は、対象物画像取得部111により取得された画像の情報における重心の画像特徴量(重心の位置)と、目標画像取得部112により取得された目標画像の情報における重心の画像特徴量(重心の位置)を演算し、これら2つの重心の画像特徴量(重心の位置)の間の距離を演算して、その演算結果を重心距離として検出する。
ここで、重心距離としては、比較対象となる2つの重心の位置の間の距離の値、または、その距離の2乗の値、などを用いることができる。
また、画像の重心の位置は、例えば、当該画像に含まれるピクセル値(画素値)の重心の位置を用いることができる。なお、画像の重心の位置の代わりに、画像の中心の位置(ピクセル値の違いを考慮しないもの)を用いることも可能である。ピクセル値としては、輝度値、または、他の値(例えば、色に関する値など)を用いることができる。
ここで、重心距離としては、比較対象となる2つの重心の位置の間の距離の値、または、その距離の2乗の値、などを用いることができる。
また、画像の重心の位置は、例えば、当該画像に含まれるピクセル値(画素値)の重心の位置を用いることができる。なお、画像の重心の位置の代わりに、画像の中心の位置(ピクセル値の違いを考慮しないもの)を用いることも可能である。ピクセル値としては、輝度値、または、他の値(例えば、色に関する値など)を用いることができる。
エッジ距離検出部211は、対象物画像取得部111により取得された画像の情報におけるエッジの画像特徴量と、目標画像取得部112により取得された目標画像におけるエッジの画像特徴量を演算し、これら2つの画像特徴量の間の距離を演算して、その演算結果をエッジ距離として検出する。
ここで、エッジ距離としては、比較対象となる2つの画像のエッジの画像特徴量の間の距離の値、または、その距離の2乗の値、などを用いることができる。2つの画像のエッジの画像特徴量の間の距離としては、例えば、2つの画像の対応する各画素についてエッジの画像特徴量の差分を求め、求めた差分を全ての画素について総和した結果の値(さらに、正規化などされてもよい。)を用いることができる。また、エッジを検出する手法としては、例えば、画像におけるピクセル値の差分に基づいてエッジを検出する手法を用いることができ、この場合、ピクセル値としては、輝度値、または、他の値(例えば、色に関する値など)を用いることができる。
ここで、エッジ距離としては、比較対象となる2つの画像のエッジの画像特徴量の間の距離の値、または、その距離の2乗の値、などを用いることができる。2つの画像のエッジの画像特徴量の間の距離としては、例えば、2つの画像の対応する各画素についてエッジの画像特徴量の差分を求め、求めた差分を全ての画素について総和した結果の値(さらに、正規化などされてもよい。)を用いることができる。また、エッジを検出する手法としては、例えば、画像におけるピクセル値の差分に基づいてエッジを検出する手法を用いることができ、この場合、ピクセル値としては、輝度値、または、他の値(例えば、色に関する値など)を用いることができる。
ピクセル距離検出部221は、対象物画像取得部111により取得された画像の情報におけるピクセルの画像特徴量(例えば、ピクセル値)と、目標画像取得部112により取得された目標画像の情報におけるピクセルの画像特徴量(例えば、ピクセル値)について、これら2つの画像特徴量の間の距離を演算して、その演算結果をピクセル距離として検出する。
ここで、ピクセル距離としては、比較対象となる2つの画像のピクセルの画像特徴量の間の距離の値、または、その距離の2乗の値、などを用いることができる。2つの画像のピクセルの画像特徴量の間の距離としては、例えば、2つの画像の対応する各画素についてピクセルの画像特徴量(例えば、ピクセル値)の差分を求め、求めた差分を全ての画素について総和した結果の値(さらに、正規化などされてもよい。)を用いることができる。なお、ピクセル値としては、輝度値、または、他の値(例えば、色に関する値など)を用いることができる。
ここで、ピクセル距離としては、比較対象となる2つの画像のピクセルの画像特徴量の間の距離の値、または、その距離の2乗の値、などを用いることができる。2つの画像のピクセルの画像特徴量の間の距離としては、例えば、2つの画像の対応する各画素についてピクセルの画像特徴量(例えば、ピクセル値)の差分を求め、求めた差分を全ての画素について総和した結果の値(さらに、正規化などされてもよい。)を用いることができる。なお、ピクセル値としては、輝度値、または、他の値(例えば、色に関する値など)を用いることができる。
重み付け部202は、重心距離検出部201により検出された重心距離について重み付けを行い、重み付け後の重心距離の信号を加算部231へ出力する。
重み付け部212は、エッジ距離検出部211により検出されたエッジ距離について重み付けを行い、重み付け後のエッジ距離の信号を加算部231へ出力する。
重み付け部222は、ピクセル距離検出部221により検出されたピクセル距離について重み付けを行い、重み付け後のピクセル距離の信号を加算部231へ出力する。
重み付け部212は、エッジ距離検出部211により検出されたエッジ距離について重み付けを行い、重み付け後のエッジ距離の信号を加算部231へ出力する。
重み付け部222は、ピクセル距離検出部221により検出されたピクセル距離について重み付けを行い、重み付け後のピクセル距離の信号を加算部231へ出力する。
加算部231は、3個の重み付け部202、212、222から入力された信号を加算(総和)し、その加算結果の信号を制御信号(ビジュアルサーボの制御信号)としてロボット制御部114へ出力する。
重み付け制御部232は、それぞれの重み付け部202、212、222における重み(重み付けの値)を制御する。本実施形態では、それぞれの重み付け部202、212、222における重みは、定められた規則にしたがって、ビジュアルサーボの処理の経過(時間の経過)に応じて、動的に変化させられる。
重み付け制御部232は、それぞれの重み付け部202、212、222における重み(重み付けの値)を制御する。本実施形態では、それぞれの重み付け部202、212、222における重みは、定められた規則にしたがって、ビジュアルサーボの処理の経過(時間の経過)に応じて、動的に変化させられる。
ここで、本実施形態では、複数の異なる画像特徴量(画像処理)として、重心に関する画像特徴量と、エッジに関する画像特徴量と、ピクセルに関する画像特徴量を用いるが、他の様々な画像特徴量(画像処理)が用いられてもよい。例えば、画像の特徴量として、HOG(Histograms of Oriented Gradients)特徴量や、SIFT(Scale−Invariant Feature Transform)特徴量などを用いることもできる。
また、本実施形態では、複数の異なる画像特徴量(画像処理)の数として、3個を用いるが、他の構成例として、2個、または、4個以上が用いられてもよい。
また、本実施形態では、複数の異なる画像特徴量(画像処理)の数として、3個を用いるが、他の構成例として、2個、または、4個以上が用いられてもよい。
<本実施形態に係る重み付け制御部により行われる重み付け制御の詳細>
本実施形態に係る重み付け制御部232により行われる重み付け制御の詳細を説明する。
本実施形態では、ビジュアルサーボによりロボットを動作させる過程において、重み付け制御部232が、それぞれの重み付け部202、212、222における重みを逐次的に更新する(変化させる)ことで、それぞれの重み付け部202、212、222における重みを学習し適したものとする。
このような逐次的な更新の手法としては、例えば、ブースティング(Boosting)の手法を用いることができる。
本実施形態に係る重み付け制御部232により行われる重み付け制御の詳細を説明する。
本実施形態では、ビジュアルサーボによりロボットを動作させる過程において、重み付け制御部232が、それぞれの重み付け部202、212、222における重みを逐次的に更新する(変化させる)ことで、それぞれの重み付け部202、212、222における重みを学習し適したものとする。
このような逐次的な更新の手法としては、例えば、ブースティング(Boosting)の手法を用いることができる。
ここで、それぞれの重み付け部202、212、222における重みの初期値としては、任意の値が用いられてもよい。それぞれの重み付け部202、212、222における重みの初期値としては、一例として、全ての重み付け部202、212、222について同じ値を用いることができ、他の例として、それぞれの重み付け部202、212、222ごとに異なり得る値を用いることができる。
また、本実施形態では、重み付け制御部232は、全ての重み付け部202、212、222における重みの総和が一定の値(例えば、1)になるように制御しており、例えば、全ての重み付け部202、212、222における重みについて正規化を行う。
また、本実施形態では、重み付け制御部232は、全ての重み付け部202、212、222における重みの総和が一定の値(例えば、1)になるように制御しており、例えば、全ての重み付け部202、212、222における重みについて正規化を行う。
また、重み付け制御部232によりそれぞれの重み付け部202、212、222における重みを更新するときにおける重みの変化量(例えば、増加量、または、減少量)としては、様々な値が用いられてもよい。具体例として、重みを更新するときにおける重みの変化量としては、あらかじめ定められた一定の値が用いられてもよく、または、加算部231から出力される制御信号の時間的な変化に基づいて決定されてもよく、または、それぞれの画像処理ごとに、距離(本実施形態では、重心距離、エッジ距離、ピクセル距離)の時間的な変化に基づいて決定されてもよい。なお、重みを更新するときにおける重みの変化量としては、例えば、微量(微増量、または、微減量)を用いることができる。
本実施形態に係る重み付け制御部232により行われる重み付け制御の処理を含む、ロボット動作制御時のフローの一例を示す。
本例では、重み付け制御部232を含む制御部101において、以下に示す(ロボット動作制御処理1)〜(ロボット動作制御処理4)を実行する。
本例では、重み付け制御部232を含む制御部101において、以下に示す(ロボット動作制御処理1)〜(ロボット動作制御処理4)を実行する。
(ロボット動作制御処理1)
まず、ビジュアルサーボの動作の開始時(または、開始前)において、重み付け制御部232は、それぞれの重み付け部202、212、222における重みとして、初期値を設定する。
ここで、重み付け制御部232がそれぞれの重み付け部202、212、222における重みを初期化する(初期値に設定する)タイミングとしては、様々なタイミングが用いられてもよい。例えば、ビジュアルサーボに使用されるカメラ(本実施形態では、撮影部51)の配置などが所定以上に変更されたことで撮影方向などが所定以上に変更されたときのタイミングや、ロボットによる作業を行う台(作業台)などの上における各種の物のレイアウトなどが所定以上に変更されたことで作業環境が所定以上に変更されたときのタイミングなどで、重み付け制御部232がそれぞれの重み付け部202、212、222における重みを初期化する構成を用いることができる。
まず、ビジュアルサーボの動作の開始時(または、開始前)において、重み付け制御部232は、それぞれの重み付け部202、212、222における重みとして、初期値を設定する。
ここで、重み付け制御部232がそれぞれの重み付け部202、212、222における重みを初期化する(初期値に設定する)タイミングとしては、様々なタイミングが用いられてもよい。例えば、ビジュアルサーボに使用されるカメラ(本実施形態では、撮影部51)の配置などが所定以上に変更されたことで撮影方向などが所定以上に変更されたときのタイミングや、ロボットによる作業を行う台(作業台)などの上における各種の物のレイアウトなどが所定以上に変更されたことで作業環境が所定以上に変更されたときのタイミングなどで、重み付け制御部232がそれぞれの重み付け部202、212、222における重みを初期化する構成を用いることができる。
(ロボット動作制御処理2)
ビジュアルサーボの動作の制御中は、それぞれの距離検出部(重心距離検出部201、エッジ距離検出部211、ピクセル距離検出部221)により、現在の撮影画像(現在の対象物の画像を含む撮影画像)と目標画像との間で、それぞれの距離(近さ)を演算して求める。また、それぞれの重み付け部202、212、222により、それぞれの距離に対してそれぞれの重みを乗算する。また、加算部231により、全ての重み付け部202、212、222により得られた重み付け後の距離(重みが乗算された距離)の信号を加算して、その加算結果の信号を制御信号として取得する。また、ロボット制御部114により、加算部231により取得された制御信号を用いて、ビジュアルサーボにより、ロボットを制御する。
ビジュアルサーボの動作の制御中は、それぞれの距離検出部(重心距離検出部201、エッジ距離検出部211、ピクセル距離検出部221)により、現在の撮影画像(現在の対象物の画像を含む撮影画像)と目標画像との間で、それぞれの距離(近さ)を演算して求める。また、それぞれの重み付け部202、212、222により、それぞれの距離に対してそれぞれの重みを乗算する。また、加算部231により、全ての重み付け部202、212、222により得られた重み付け後の距離(重みが乗算された距離)の信号を加算して、その加算結果の信号を制御信号として取得する。また、ロボット制御部114により、加算部231により取得された制御信号を用いて、ビジュアルサーボにより、ロボットを制御する。
ここで、本実施形態では、ロボット制御部114は、ビジュアルサーボにおけるロボットの制御では、定められた時間だけロボット(本実施形態では、マニピュレーター21、22や把持部31、32)の位置や姿勢を変化させる。この時間としては、例えば、100msなどのように微小な時間が用いられ、また、一定の時間(一定の周期)が用いられる。
また、制御信号生成部113は、それぞれの距離検出部(重心距離検出部201、エッジ距離検出部211、ピクセル距離検出部221)により検出される距離や、それぞれの重み付け部202、212、222により使用される重みを、記憶部102などに記憶しておく。この記憶は、例えば、その記憶内容が必要とされるときだけの一時的なものであってもよい。
また、制御信号生成部113は、それぞれの距離検出部(重心距離検出部201、エッジ距離検出部211、ピクセル距離検出部221)により検出される距離や、それぞれの重み付け部202、212、222により使用される重みを、記憶部102などに記憶しておく。この記憶は、例えば、その記憶内容が必要とされるときだけの一時的なものであってもよい。
(ロボット動作制御処理3)
ビジュアルサーボにおけるロボットの制御(本実施形態では、対象物の微小時間の移動)が完了した時点で、重み付け制御部232は、そのロボットの制御の後においてそれぞれの距離検出部(重心距離検出部201、エッジ距離検出部211、ピクセル距離検出部221)により検出された距離(例えば、新たに検出された距離)と、そのロボットの制御の前においてそれぞれの距離検出部(重心距離検出部201、エッジ距離検出部211、ピクセル距離検出部221)により検出された距離(例えば、記憶しておいた距離)とを比較し、その比較結果に基づいて、それぞれの重み付け部202、212、222における重みを更新する。
具体的には、重み付け制御部232は、ロボットの制御の前後について、それぞれの画像処理(本実施形態では、重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理)ごとに距離を比較し、制御の後(ロボットにより把持される対象物の位置や姿勢の変化の後)における距離が制御の前(ロボットにより把持される対象物の位置や姿勢の変化の前)における距離よりも小さくなったものについてはその画像処理に対する重みを所定の変化量だけ増加し(つまり、寄与を大きくし)、制御の後における距離が制御の前における距離よりも大きくなったものについてはその画像処理に対する重みを所定の変化量だけ低減する(つまり、寄与を小さくする)。なお、重み付け制御部232は、必要に応じて、重みの正規化などを行う。
ビジュアルサーボにおけるロボットの制御(本実施形態では、対象物の微小時間の移動)が完了した時点で、重み付け制御部232は、そのロボットの制御の後においてそれぞれの距離検出部(重心距離検出部201、エッジ距離検出部211、ピクセル距離検出部221)により検出された距離(例えば、新たに検出された距離)と、そのロボットの制御の前においてそれぞれの距離検出部(重心距離検出部201、エッジ距離検出部211、ピクセル距離検出部221)により検出された距離(例えば、記憶しておいた距離)とを比較し、その比較結果に基づいて、それぞれの重み付け部202、212、222における重みを更新する。
具体的には、重み付け制御部232は、ロボットの制御の前後について、それぞれの画像処理(本実施形態では、重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理)ごとに距離を比較し、制御の後(ロボットにより把持される対象物の位置や姿勢の変化の後)における距離が制御の前(ロボットにより把持される対象物の位置や姿勢の変化の前)における距離よりも小さくなったものについてはその画像処理に対する重みを所定の変化量だけ増加し(つまり、寄与を大きくし)、制御の後における距離が制御の前における距離よりも大きくなったものについてはその画像処理に対する重みを所定の変化量だけ低減する(つまり、寄与を小さくする)。なお、重み付け制御部232は、必要に応じて、重みの正規化などを行う。
(ロボット動作制御処理4)
制御部101では、加算部231により取得される制御信号の値が定められた閾値以下になるまで(つまり、対象物と目標とが閾値以下の程度に近くなるまで)、上記した(ロボット動作制御処理2)および上記した(ロボット動作制御処理3)を繰り返して実行する。これにより、1つの目標画像を用いたビジュアルサーボが終了する。
ここで、加算部231により取得される制御信号の値が定められた閾値以下であるか否かは、例えば、制御信号生成部113により監視されて判定される。
制御部101では、加算部231により取得される制御信号の値が定められた閾値以下になるまで(つまり、対象物と目標とが閾値以下の程度に近くなるまで)、上記した(ロボット動作制御処理2)および上記した(ロボット動作制御処理3)を繰り返して実行する。これにより、1つの目標画像を用いたビジュアルサーボが終了する。
ここで、加算部231により取得される制御信号の値が定められた閾値以下であるか否かは、例えば、制御信号生成部113により監視されて判定される。
<本実施形態に係る重み付け制御の具体例>
図4(A)は、対象物が目標から遠い場合における撮影画像301の一例を示す図であり、図4(B)は目標画像401の一例を示す図である。
図4(A)には、撮影画像301に含まれる対象物の画像311を示してある。
図4(B)には、目標画像401に含まれる目標物の画像411を示してある。
なお、この例では、説明を簡略化するために、撮影画像301および目標画像401について、対象物および目標物以外の背景については省略してある。
図4(A)は、対象物が目標から遠い場合における撮影画像301の一例を示す図であり、図4(B)は目標画像401の一例を示す図である。
図4(A)には、撮影画像301に含まれる対象物の画像311を示してある。
図4(B)には、目標画像401に含まれる目標物の画像411を示してある。
なお、この例では、説明を簡略化するために、撮影画像301および目標画像401について、対象物および目標物以外の背景については省略してある。
図4(A)および図4(B)に示されるように、傾向としては、対象物が目標から遠い場合には、エッジ距離やピクセル距離よりも、重心距離を重視してロボットを制御する方が、対象物を早く目標物に近付けることができるため、エッジ距離に対する重みやピクセル距離に対する重みよりも、重心距離に対する重みを増加させるように、重み付け制御部232が重みを制御する。
図5(A)は、対象物が目標に近い場合における撮影画像501の一例を示す図であり、図5(B)は目標画像401の一例を示す図である。
図5(A)には、撮影画像501に含まれる対象物の画像511を示してある。
図5(B)には、目標画像401に含まれる目標物の画像411を示してある。
なお、この例では、説明を簡略化するために、撮影画像501および目標画像401について、対象物および目標物以外の背景については省略してある。
図5(A)には、撮影画像501に含まれる対象物の画像511を示してある。
図5(B)には、目標画像401に含まれる目標物の画像411を示してある。
なお、この例では、説明を簡略化するために、撮影画像501および目標画像401について、対象物および目標物以外の背景については省略してある。
図5(A)および図5(B)に示されるように、傾向としては、対象物が目標に近い場合には、重心距離よりも、エッジ距離やピクセル距離(さらに近い場合には、エッジ距離よりもピクセル距離)を重視してロボットを制御する方が、対象物を早く精度良く目標物に近付けることができるため、重心距離に対する重みよりも、エッジ距離に対する重みやピクセル距離に対する重み(さらに近い場合には、エッジ距離に対する重みよりもピクセル距離に対する重み)を増加させるように、重み付け制御部232が重みを制御する。
図6は、本発明の一実施形態に係るそれぞれの画像処理(重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理)に対する重みの時間的変化の一例を示す図である。
図6に示すグラフでは、横軸はビジュアルサーボが実行されるときにおける経過時間を表しており、縦軸は重みを表している。また、重心距離に対する重みの時間的変化(重心の特性601)と、エッジ距離に対する重みの時間的変化(エッジの特性602)と、ピクセル距離に対する重みの時間的変化(ピクセルの特性603)を示してある。
図6に示されるように、傾向としては、対象物が目標から遠い場合には、重心距離に対する重みが大きく、エッジ距離に対する重みおよびピクセル距離に対する重みが小さく、その後、対象物が目標に近付く過程で、重心距離に対する重みが減少していき、エッジ距離に対する重みおよびピクセル距離に対する重みが増加していき、その後、さらに対象物が目標に近付くと、重心距離に対する重みがさらに減少していき、エッジ距離に対する重みが減少するようになり、ピクセル距離に対する重みがさらに増加していく。
図6に示すグラフでは、横軸はビジュアルサーボが実行されるときにおける経過時間を表しており、縦軸は重みを表している。また、重心距離に対する重みの時間的変化(重心の特性601)と、エッジ距離に対する重みの時間的変化(エッジの特性602)と、ピクセル距離に対する重みの時間的変化(ピクセルの特性603)を示してある。
図6に示されるように、傾向としては、対象物が目標から遠い場合には、重心距離に対する重みが大きく、エッジ距離に対する重みおよびピクセル距離に対する重みが小さく、その後、対象物が目標に近付く過程で、重心距離に対する重みが減少していき、エッジ距離に対する重みおよびピクセル距離に対する重みが増加していき、その後、さらに対象物が目標に近付くと、重心距離に対する重みがさらに減少していき、エッジ距離に対する重みが減少するようになり、ピクセル距離に対する重みがさらに増加していく。
このように、本実施形態では、対象物が目標から遠い場合と、中程度の距離である場合と、近い場合とで、それぞれに適した画像処理(重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理)に対する重みを用いて、ビジュアルサーボによるロボット制御を行うことができる。本実施形態では、このような重みの時間的変化を滑らかに実現することができる。
[本実施形態に係る重み付け制御に関するまとめ]
以上のように、本実施形態に係るロボットシステム1では、現在における撮影画像を取得し、目標画像を取得し、これら2つの画像について複数の異なる画像特徴量のそれぞれを用いて一致度(類似度)を表す距離を算出し、算出した複数の異なる画像特徴量の距離に基づいてビジュアルサーボにおけるロボットの制御信号を決定して、ロボットを制御して、ロボットにより把持される対象物の位置や姿勢を制御する。この場合に、本実施形態に係るロボットシステム1では、複数の異なる画像特徴量のそれぞれごとに、過去および現在の距離の変化(大きくなったか、または、小さくなったか)に基づいて、重みを決定する。
以上のように、本実施形態に係るロボットシステム1では、現在における撮影画像を取得し、目標画像を取得し、これら2つの画像について複数の異なる画像特徴量のそれぞれを用いて一致度(類似度)を表す距離を算出し、算出した複数の異なる画像特徴量の距離に基づいてビジュアルサーボにおけるロボットの制御信号を決定して、ロボットを制御して、ロボットにより把持される対象物の位置や姿勢を制御する。この場合に、本実施形態に係るロボットシステム1では、複数の異なる画像特徴量のそれぞれごとに、過去および現在の距離の変化(大きくなったか、または、小さくなったか)に基づいて、重みを決定する。
本実施形態に係るロボットシステム1によると、環境(例えば、マニピュレーター21、22からなるアームの位置、対象物の把持姿勢など)に応じて、複数の異なる画像処理(本実施形態では、重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理)のそれぞれに対して重み付けを行うことが可能であり、これらの重み付けをして各距離を結合した制御信号(全体的な画像特徴量)を用いて、ビジュアルサーボを実行する。
したがって、本実施形態に係るロボットシステム1によると、環境の変動に応じて、適応的にビジュアルサーボの制御信号を最適化することで、ロボットを制御する際のロバスト性を向上させることができる。これにより、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
したがって、本実施形態に係るロボットシステム1によると、環境の変動に応じて、適応的にビジュアルサーボの制御信号を最適化することで、ロボットを制御する際のロバスト性を向上させることができる。これにより、ビジュアルサーボにおいて良好なロバスト性を実現することができる。
なお、本実施形態では、ロボットにより把持される対象物について、位置および姿勢の両方を制御する構成を示すが、他の構成例として、位置のみを制御する構成が用いられてもよい。一例として、位置は、三次元XYZ直交座標系の座標(x、y、z)で表され、また、姿勢は、その座標系に対応する角度座標系の座標(θx、θy、θz)で表される。
[本実施形態における重みの初期値の設定]
本実施形態では、複数の異なる画像処理(重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理)に対する重みの初期値を学習により求めて使用することができる。このような学習は、例えば、ビジュアルサーボの制御が行われていないときに行うことができ、または、ビジュアルサーボの制御が行われているときに同時に行ってもよい。
本実施形態では、複数の異なる画像処理(重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理)に対する重みの初期値を学習により求めて使用することができる。このような学習は、例えば、ビジュアルサーボの制御が行われていないときに行うことができ、または、ビジュアルサーボの制御が行われているときに同時に行ってもよい。
具体的には、例えば、重み付け制御部232は、ビジュアルサーボの初期の撮影画像ごとに、および目標画像ごとに、ビジュアルサーボの制御が成功したかまたは失敗したかを示す情報の記録(ログ)を取得して、記憶部102などに記憶する。
また、重み付け制御部232は、複数の異なる画像処理(本実施形態では、重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理)に対する重みについて、ビジュアルサーボの制御における最終的な重みの組み合わせ、または、ビジュアルサーボの制御における初期から最終までに逐次更新される全てまたは定められた一部の重みの組み合わせを取得し、取得した重みの組み合わせと、ビジュアルサーボの制御の成功または失敗とを対応付けて、記憶部102などに記憶する。一例として、重み付け制御部232は、取得した重みの組み合わせと、ビジュアルサーボの制御の成功または失敗との相関関係を取得して、記憶部102などに記憶する。
また、重み付け制御部232は、複数の異なる画像処理(本実施形態では、重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理)に対する重みについて、ビジュアルサーボの制御における最終的な重みの組み合わせ、または、ビジュアルサーボの制御における初期から最終までに逐次更新される全てまたは定められた一部の重みの組み合わせを取得し、取得した重みの組み合わせと、ビジュアルサーボの制御の成功または失敗とを対応付けて、記憶部102などに記憶する。一例として、重み付け制御部232は、取得した重みの組み合わせと、ビジュアルサーボの制御の成功または失敗との相関関係を取得して、記憶部102などに記憶する。
そして、重み付け制御部232は、ビジュアルサーボの初期の撮影画像ごとに、および目標画像ごとに、失敗に対応付けられた重みの組み合わせを、初期の撮影画像および目標画像が同一の場合に、初期値として使用しないように制御する。他の構成例として、重み付け制御部232は、ビジュアルサーボの初期の撮影画像ごとに、および目標画像ごとに、失敗に対応付けられた重みの組み合わせを、初期の撮影画像および目標画像のうちの一方または両方が異なる場合(例えば、定められた閾値以内で相違する場合)においても、初期値として使用しないように制御する、ことも可能である。
また、好ましい構成例として、重み付け制御部232は、ビジュアルサーボの初期の撮影画像ごとに、および目標画像ごとに、成功に対応付けられた重みの組み合わせを、初期の撮影画像および目標画像が同一の場合に、初期値として使用するように制御する。他の構成例として、重み付け制御部232は、ビジュアルサーボの初期の撮影画像ごとに、および目標画像ごとに、成功に対応付けられた重みの組み合わせを、初期の撮影画像および目標画像のうちの一方または両方が異なる場合(例えば、定められた閾値以内で相違する場合)においても、初期値として使用するように制御する、ことも可能である。
ここで、初期の撮影画像に関して、例えば、対象物や固定的な背景について初期の状態が同一であっても、照明の具合や、他の状況(例えば、人が通過する状況)により、初期の撮影画像が異なってしまう場合がある。また、初期の撮影画像に関して、例えば、対象物の位置は同一であるが、当該対象物の姿勢が異なることで、初期の撮影画像が異なってしまう場合がある。一例として、これらのような場合に、初期の撮影画像が異なっても、共通の重みの初期値を適用することが有効である。
ここで、ビジュアルサーボの制御が失敗したと判定する場合の例として、(ビジュアルサーボの失敗の場合の例1)〜(ビジュアルサーボの失敗の場合の例9)を示す。これらは、ビジュアルサーボの制御が収束しない場合に相当する。
(ビジュアルサーボの失敗の場合の例1)
ビジュアルサーボの制御時間(収束までの時間)があらかじめ設定された閾値を超えた(オーバーした)場合に失敗と判定する。この閾値は、例えば、記憶部102などに記憶される。
(ビジュアルサーボの失敗の場合の例2)
ビジュアルサーボの制御時間(収束までの時間)が、前回に成功した場合における所要時間を超えた(オーバーした)場合に失敗と判定する。この所要時間は、例えば、記憶部102などに記憶される。
(ビジュアルサーボの失敗の場合の例3)
ビジュアルサーボの制御中にロボットの把持部などが定められた範囲(可動範囲)の外部に制御された場合に失敗と判定する。この範囲は、例えば、記憶部102などに記憶される。
(ビジュアルサーボの失敗の場合の例4)
ビジュアルサーボの制御中にロボットの把持部などがカメラ(本実施形態では、撮影部51)の視野の外部に制御された場合に失敗と判定する。
(ビジュアルサーボの失敗の場合の例5)
ビジュアルサーボの制御が終了したが、ロボットの把持部などの位置が前回に成功した場合における最終的な収束位置から所定以上離れている場合に失敗と判定する。この前回の収束位置は、例えば、記憶部102などに記憶される。
ビジュアルサーボの制御時間(収束までの時間)があらかじめ設定された閾値を超えた(オーバーした)場合に失敗と判定する。この閾値は、例えば、記憶部102などに記憶される。
(ビジュアルサーボの失敗の場合の例2)
ビジュアルサーボの制御時間(収束までの時間)が、前回に成功した場合における所要時間を超えた(オーバーした)場合に失敗と判定する。この所要時間は、例えば、記憶部102などに記憶される。
(ビジュアルサーボの失敗の場合の例3)
ビジュアルサーボの制御中にロボットの把持部などが定められた範囲(可動範囲)の外部に制御された場合に失敗と判定する。この範囲は、例えば、記憶部102などに記憶される。
(ビジュアルサーボの失敗の場合の例4)
ビジュアルサーボの制御中にロボットの把持部などがカメラ(本実施形態では、撮影部51)の視野の外部に制御された場合に失敗と判定する。
(ビジュアルサーボの失敗の場合の例5)
ビジュアルサーボの制御が終了したが、ロボットの把持部などの位置が前回に成功した場合における最終的な収束位置から所定以上離れている場合に失敗と判定する。この前回の収束位置は、例えば、記憶部102などに記憶される。
(ビジュアルサーボの失敗の場合の例6)
ビジュアルサーボの制御中にロボットの把持部などが他の物と衝突したことを検出した場合に失敗と判定する。この構成では、例えば、ロボットの把持部などに、衝突を検出する検出部(センサー)を備える。
(ビジュアルサーボの失敗の場合の例7)
ビジュアルサーボの制御中にロボットの把持部が対象物を落下させたことを検出した場合に失敗と判定する。この構成では、例えば、ロボットの把持部などに、対象物の落下を検出する検出部(センサー)を備える。
(ビジュアルサーボの失敗の場合の例8)
撮影画像などに基づいて対象物を検出する機能を有する構成において、ビジュアルサーボの制御中に対象物を検出することができなくなった場合に失敗と判定する。
(ビジュアルサーボの失敗の場合の例9)
撮影画像などに基づいて対象物およびマーカーを検出する機能を有する構成において、ロボットの把持部などにマーカーを張り付けて備えておき、ビジュアルサーボの制御中にマーカーを検出することはできるが対象物を検出することができなくなった場合に失敗と判定する。
ビジュアルサーボの制御中にロボットの把持部などが他の物と衝突したことを検出した場合に失敗と判定する。この構成では、例えば、ロボットの把持部などに、衝突を検出する検出部(センサー)を備える。
(ビジュアルサーボの失敗の場合の例7)
ビジュアルサーボの制御中にロボットの把持部が対象物を落下させたことを検出した場合に失敗と判定する。この構成では、例えば、ロボットの把持部などに、対象物の落下を検出する検出部(センサー)を備える。
(ビジュアルサーボの失敗の場合の例8)
撮影画像などに基づいて対象物を検出する機能を有する構成において、ビジュアルサーボの制御中に対象物を検出することができなくなった場合に失敗と判定する。
(ビジュアルサーボの失敗の場合の例9)
撮影画像などに基づいて対象物およびマーカーを検出する機能を有する構成において、ロボットの把持部などにマーカーを張り付けて備えておき、ビジュアルサーボの制御中にマーカーを検出することはできるが対象物を検出することができなくなった場合に失敗と判定する。
図7は、本発明の一実施形態に係る複数の異なる画像処理(重心に関する画像処理、エッジに関する画像処理、ピクセルに関する画像処理)に対する重みの組み合わせとビジュアルサーボの制御の成功/失敗との関係の一例を示す図である。
図7に示されるグラフにおいて、w1軸は重心に関する画像処理に対する重みを表しており、w2軸はエッジに関する画像処理に対する重みを表しており、w3軸はピクセルに関する画像処理に対する重みを表している。また、過去の履歴において、ビジュアルサーボの制御が成功した重みの組み合わせの位置に成功を示す記号(図7の例では、○)を示してあり、ビジュアルサーボの制御が失敗した重みの組み合わせの位置に失敗を示す記号(図7の例では、×)を示してある。
また、このような成功および失敗の位置を解析した結果として、成功と失敗との境界701と、成功の領域711と、失敗の領域712を示してある。この解析としては、例えば、厳密でなくて、推定的であってもよい。また、この解析としては、例えば、SVM(Support Vector Machine)などを用いることができる。
図7に示されるグラフにおいて、w1軸は重心に関する画像処理に対する重みを表しており、w2軸はエッジに関する画像処理に対する重みを表しており、w3軸はピクセルに関する画像処理に対する重みを表している。また、過去の履歴において、ビジュアルサーボの制御が成功した重みの組み合わせの位置に成功を示す記号(図7の例では、○)を示してあり、ビジュアルサーボの制御が失敗した重みの組み合わせの位置に失敗を示す記号(図7の例では、×)を示してある。
また、このような成功および失敗の位置を解析した結果として、成功と失敗との境界701と、成功の領域711と、失敗の領域712を示してある。この解析としては、例えば、厳密でなくて、推定的であってもよい。また、この解析としては、例えば、SVM(Support Vector Machine)などを用いることができる。
以上のように、本実施形態に係るロボットシステム1では、ビジュアルサーボの制御が失敗したときにおける重みの組み合わせや、ビジュアルサーボの制御が成功したときにおける重みの組み合わせに基づいて、重みの初期値を設定することができる。
したがって、本実施形態に係るロボットシステム1によると、重みの初期値について、ビジュアルサーボの制御の失敗の可能性が高い初期値を設定することを回避することができ、ビジュアルサーボの制御の成功の可能性が高い初期値を設定することができる。このような初期値の設定は、例えば、同一の作業または類似する作業を繰り返して複数回実行するような場合に有効である。
したがって、本実施形態に係るロボットシステム1によると、重みの初期値について、ビジュアルサーボの制御の失敗の可能性が高い初期値を設定することを回避することができ、ビジュアルサーボの制御の成功の可能性が高い初期値を設定することができる。このような初期値の設定は、例えば、同一の作業または類似する作業を繰り返して複数回実行するような場合に有効である。
[ロボットシステムの他の構成例]
本実施形態では、図1に示されるような双碗のロボットを備えるロボットシステム1を示すが、他の様々なロボットのシステムに本実施形態と同様な構成を適用することが可能である。
例えば、ロボットが備えるマニピュレーターの数としては、2個に限られず、1個または2個よりも多くてもよい。
本実施形態では、図1に示されるような双碗のロボットを備えるロボットシステム1を示すが、他の様々なロボットのシステムに本実施形態と同様な構成を適用することが可能である。
例えば、ロボットが備えるマニピュレーターの数としては、2個に限られず、1個または2個よりも多くてもよい。
図8は、他の構成例に係るロボットシステム901の概略的な構成例を示す図である。
本構成例に係るロボットシステム901は、ロボット制御装置1001と、ロボット1002と、撮影部1003と、回線1021と、回線1022を備える。
ロボット1002は、1本のマニピュレーターを備える単腕のロボットであり、把持部1011を有する。また、図8には、把持部1011により把持する対象物1201を示してある。
本構成例に係るロボットシステム901は、ロボット制御装置1001と、ロボット1002と、撮影部1003と、回線1021と、回線1022を備える。
ロボット1002は、1本のマニピュレーターを備える単腕のロボットであり、把持部1011を有する。また、図8には、把持部1011により把持する対象物1201を示してある。
ロボット制御装置1001は、制御部1101と、記憶部1102と、入力部1103と、出力部1104と、を備える。
制御部1101は、対象物画像取得部1111と、目標画像取得部1112と、制御信号生成部1113と、ロボット制御部1114を備える。
対象物画像取得部111は、撮影部1003との間で、有線または無線の回線1021により、通信可能に接続される。
ロボット制御部1114は、ロボット1002との間で、有線または無線の回線1022により、通信可能に接続される。
なお、本構成例に係るロボットシステム901において行われる動作は、概略的に、図1に示される本実施形態に係るロボットシステム1において行われる動作と同様であるため、詳しい説明を省略する。
制御部1101は、対象物画像取得部1111と、目標画像取得部1112と、制御信号生成部1113と、ロボット制御部1114を備える。
対象物画像取得部111は、撮影部1003との間で、有線または無線の回線1021により、通信可能に接続される。
ロボット制御部1114は、ロボット1002との間で、有線または無線の回線1022により、通信可能に接続される。
なお、本構成例に係るロボットシステム901において行われる動作は、概略的に、図1に示される本実施形態に係るロボットシステム1において行われる動作と同様であるため、詳しい説明を省略する。
[以上の実施形態に関する構成例]
一構成例として、対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボット(図1の例では、撮影部51およびロボット制御装置61以外の構成部からなるもの。図8の例では、ロボット1002。)と、前記ロボットの動作を制御するロボット制御装置(図1の例では、ロボット制御装置61。図8の例では、ロボット制御装置1001。)と、前記対象物を含む画像を撮影する撮影部(図1の例では、撮影部51.図8の例では、撮影部1003。)と、を備え、前記ロボット制御装置は、前記撮影部により撮影された画像の情報を取得する対象物画像取得部(図2の例では、対象物画像取得部111。図8の例では、対象物画像取得部1111。)と、目標画像の情報を取得する目標画像取得部(図2の例では、目標画像取得部112。図8の例では、目標画像取得部1112。)と、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御する制御信号生成部(図2の例では、制御信号生成部113。図8の例では、制御信号生成部1113。)と、前記制御信号生成部により生成された制御信号に基づいて前記ロボットの動作を制御するロボット制御部(図2の例では、ロボット制御部114。図8の例では、ロボット制御部1114)と、を備える、ロボットシステム(図1の例では、ロボットシステム1。図8の例では、ロボットシステム901)である。
一構成例として、対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボット(図1の例では、撮影部51およびロボット制御装置61以外の構成部からなるもの。図8の例では、ロボット1002。)と、前記ロボットの動作を制御するロボット制御装置(図1の例では、ロボット制御装置61。図8の例では、ロボット制御装置1001。)と、前記対象物を含む画像を撮影する撮影部(図1の例では、撮影部51.図8の例では、撮影部1003。)と、を備え、前記ロボット制御装置は、前記撮影部により撮影された画像の情報を取得する対象物画像取得部(図2の例では、対象物画像取得部111。図8の例では、対象物画像取得部1111。)と、目標画像の情報を取得する目標画像取得部(図2の例では、目標画像取得部112。図8の例では、目標画像取得部1112。)と、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御する制御信号生成部(図2の例では、制御信号生成部113。図8の例では、制御信号生成部1113。)と、前記制御信号生成部により生成された制御信号に基づいて前記ロボットの動作を制御するロボット制御部(図2の例では、ロボット制御部114。図8の例では、ロボット制御部1114)と、を備える、ロボットシステム(図1の例では、ロボットシステム1。図8の例では、ロボットシステム901)である。
ここで、対象物の位置または姿勢のうちの一方または両方を変化させる動作としては、例えば、対象物の位置を変化させる動作が用いられてもよく、または、対象物の姿勢を変化させる動作が用いられてもよく、または、対象物の位置または姿勢の両方を変化させる動作が用いられてもよい。
なお、通常は、対象物の位置を変化させる動作、または、対象物の位置または姿勢の両方を変化させる動作が用いられる場合が多いと考えられる。
なお、通常は、対象物の位置を変化させる動作、または、対象物の位置または姿勢の両方を変化させる動作が用いられる場合が多いと考えられる。
一構成例として、ロボットシステムにおいて、前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれごとに、前記ロボットの動作の制御の前後における距離の変化に基づいて、前記重み付けの重みを制御する。
一構成例として、ロボットシステムにおいて、前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれごとに、前記ロボットの動作の制御の前後における距離の変化に基づいて、距離が大きくなるように変化した場合には前記重み付けの重みを小さくするように制御し、距離が小さくなるように変化した場合には前記重み付けの重みを大きくするように制御する。
一構成例として、ロボットシステムにおいて、前記複数の異なる画像特徴量は、重心に関する画像特徴量、エッジに関する画像特徴量、ピクセルに関する画像特徴量のうちの1つ以上を含む。
一構成例として、ロボットシステムにおいて、前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれに対する重みの初期値として、過去に行われた前記ロボットの動作の制御であって失敗した制御において用いられた重みとは異なる重みを設定する。
一構成例として、ロボットシステムにおいて、前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれごとに、前記ロボットの動作の制御の前後における距離の変化に基づいて、距離が大きくなるように変化した場合には前記重み付けの重みを小さくするように制御し、距離が小さくなるように変化した場合には前記重み付けの重みを大きくするように制御する。
一構成例として、ロボットシステムにおいて、前記複数の異なる画像特徴量は、重心に関する画像特徴量、エッジに関する画像特徴量、ピクセルに関する画像特徴量のうちの1つ以上を含む。
一構成例として、ロボットシステムにおいて、前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれに対する重みの初期値として、過去に行われた前記ロボットの動作の制御であって失敗した制御において用いられた重みとは異なる重みを設定する。
一構成例として、対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得する対象物画像取得部と、目標画像の情報を取得する目標画像取得部と、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御する制御信号生成部と、前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御するロボット制御部と、を備える、ロボット制御装置(図1の例では、ロボット制御装置61。図8の例では、ロボット制御装置1001。)である。
一構成例として、対象物画像取得部が、対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得し、目標画像取得部が、目標画像の情報を取得し、制御信号生成部が、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御し、ロボット制御部が、前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御する、ロボット制御方法(図1の例では、ロボット制御装置61におけるロボット制御方法。図8の例では、ロボット制御装置1001におけるロボット制御方法。)である。
一構成例として、対象物画像取得部が、対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得するステップと、目標画像取得部が、目標画像の情報を取得するステップと、制御信号生成部が、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御するステップと、ロボット制御部が、前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御するステップと、をコンピューターに実行させるためのロボット制御プログラム(図1の例では、ロボット制御装置61におけるロボット制御プログラム。図8の例では、ロボット制御装置1001におけるロボット制御プログラム。)である。
[以上の実施形態について]
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
なお、以上に説明した装置(例えば、ロボット制御装置61、1001など)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM:Random Access Memory)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1、901…ロボットシステム、11…格納部、12〜14…胴体部分、21〜22…マニピュレーター、31〜32、1011…把持部(ハンド)、41〜42…車輪、51、1003…撮影部、61、1001…ロボット制御装置、101、1101…制御部、102、1102…記憶部、103、1103…入力部、104、1104…出力部、111、1111…対象物画像取得部、112、1112…目標画像取得部、113、1113…制御信号生成部、114、1114…ロボット制御部、201…重心距離検出部、202、212、222…重み付け部、211…エッジ距離検出部、221…ピクセル距離検出部、231…加算部、232…重み付け制御部、301、501…撮影画像、311、511…対象物の画像、401…目標画像、411…目標物の画像、601…重心の特性、602…エッジの特性、603…ピクセルの特性、701…境界、711…成功の領域、712…失敗の領域、1002…ロボット、1021〜1022…回線、1201…対象物
Claims (8)
- 対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットと、前記ロボットの動作を制御するロボット制御装置と、前記対象物を含む画像を撮影する撮影部と、を備え、
前記ロボット制御装置は、
前記撮影部により撮影された画像の情報を取得する対象物画像取得部と、
目標画像の情報を取得する目標画像取得部と、
前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御する制御信号生成部と、
前記制御信号生成部により生成された制御信号に基づいて前記ロボットの動作を制御するロボット制御部と、を備える、
ロボットシステム。 - 前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれごとに、前記ロボットの動作の制御の前後における距離の変化に基づいて、前記重み付けの重みを制御する、
請求項1に記載のロボットシステム。 - 前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれごとに、前記ロボットの動作の制御の前後における距離の変化に基づいて、距離が大きくなるように変化した場合には前記重み付けの重みを小さくするように制御し、距離が小さくなるように変化した場合には前記重み付けの重みを大きくするように制御する、
請求項2に記載のロボットシステム。 - 前記複数の異なる画像特徴量は、重心に関する画像特徴量、エッジに関する画像特徴量、ピクセルに関する画像特徴量のうちの1つ以上を含む、
請求項1から請求項3のいずれか1項に記載のロボットシステム。 - 前記制御信号生成部は、前記複数の異なる画像特徴量のそれぞれに対する重みの初期値として、過去に行われた前記ロボットの動作の制御であって失敗した制御において用いられた重みとは異なる重みを設定する、
請求項1から請求項4のいずれか1項に記載のロボットシステム。 - 対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得する対象物画像取得部と、
目標画像の情報を取得する目標画像取得部と、
前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御する制御信号生成部と、
前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御するロボット制御部と、を備える、
ロボット制御装置。 - 対象物画像取得部が、対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得し、
目標画像取得部が、目標画像の情報を取得し、
制御信号生成部が、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御し、
ロボット制御部が、前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御する、
ロボット制御方法。 - 対象物画像取得部が、対象物を含む画像を撮影する撮影部により撮影された画像の情報を取得するステップと、
目標画像取得部が、目標画像の情報を取得するステップと、
制御信号生成部が、前記対象物画像取得部により取得された画像の情報と前記目標画像取得部により取得された目標画像の情報に基づいて、複数の異なる画像特徴量のそれぞれについて距離を検出して重み付けし、重み付けした距離の信号を全ての画像特徴量について総和した結果の信号を制御信号として生成し、この場合に、前記複数の異なる画像特徴量のそれぞれごとに、前記重み付けの重みを制御するステップと、
ロボット制御部が、前記制御信号生成部により生成された制御信号に基づいて、前記対象物の位置または姿勢のうちの一方または両方を変化させる動作を行うロボットの動作を制御するステップと、
をコンピューターに実行させるためのロボット制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014019154A JP2015145050A (ja) | 2014-02-04 | 2014-02-04 | ロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014019154A JP2015145050A (ja) | 2014-02-04 | 2014-02-04 | ロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015145050A true JP2015145050A (ja) | 2015-08-13 |
Family
ID=53889615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014019154A Pending JP2015145050A (ja) | 2014-02-04 | 2014-02-04 | ロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015145050A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019518297A (ja) * | 2016-05-19 | 2019-06-27 | ディープ ラーニング ロボティクス リミテッドDeep Learning Robotics Ltd. | ロボット支援型物体学習視覚システム |
CN113290564A (zh) * | 2020-02-21 | 2021-08-24 | 西门子股份公司 | 一种消毒机器人的控制方法、控制装置和消毒机器人 |
CN116129374A (zh) * | 2023-04-12 | 2023-05-16 | 中铁第四勘察设计院集团有限公司 | 轨旁多功能探伤集群及其控制方法 |
-
2014
- 2014-02-04 JP JP2014019154A patent/JP2015145050A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019518297A (ja) * | 2016-05-19 | 2019-06-27 | ディープ ラーニング ロボティクス リミテッドDeep Learning Robotics Ltd. | ロボット支援型物体学習視覚システム |
CN113290564A (zh) * | 2020-02-21 | 2021-08-24 | 西门子股份公司 | 一种消毒机器人的控制方法、控制装置和消毒机器人 |
CN116129374A (zh) * | 2023-04-12 | 2023-05-16 | 中铁第四勘察设计院集团有限公司 | 轨旁多功能探伤集群及其控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102576842B1 (ko) | 핸드-아이 캘리브레이션을 수행하는 로봇 및 전자 장치 | |
JP5899951B2 (ja) | ロボット装置および位置姿勢検出方法 | |
US9844881B2 (en) | Robotic device including machine vision | |
JP2015168040A (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
JP7377627B2 (ja) | 物体検出装置、物体把持システム、物体検出方法及び物体検出プログラム | |
CN110303474B (zh) | 使用图像处理修正机器人的示教的机器人系统 | |
JP2015145050A (ja) | ロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラム | |
CN111061215B (zh) | 控制机器人脱困的方法、装置、机器人 | |
US20180215044A1 (en) | Image processing device, robot control device, and robot | |
JP6838833B2 (ja) | 把持装置、把持方法、及びプログラム | |
JP6067547B2 (ja) | 物体認識装置、ロボット及び物体認識方法 | |
Quesada et al. | Holo-SpoK: Affordance-aware augmented reality control of legged manipulators | |
CN114670189A (zh) | 存储介质、以及生成机器人的控制程序的方法及系统 | |
JP2019077026A (ja) | 制御装置、ロボットシステム、制御装置の動作方法及びプログラム | |
Chen et al. | Human-aided robotic grasping | |
US20230150142A1 (en) | Device and method for training a machine learning model for generating descriptor images for images of objects | |
JP6455869B2 (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
JP2021026599A (ja) | 画像処理システム | |
Hafiane et al. | 3D hand recognition for telerobotics | |
JP2009214268A (ja) | 全身協調装置、ロボット及びロボットの制御方法 | |
JP2015157343A (ja) | ロボット、ロボットシステム、制御装置、および制御方法 | |
JP6248694B2 (ja) | ロボット、ロボットシステム、及び制御装置 | |
KR101865691B1 (ko) | 인간 로봇 상호작용 기반의 작업 수행 로봇 및 방법 | |
US20240100692A1 (en) | Object gripping method, storage medium, and object gripping control device | |
JP7401250B2 (ja) | 画像処理装置、制御方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20160617 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20160624 |