(57)【要約】【課題】有効な情報を不要な情報よりも相対的に増やすことでビジュアルサーボの精度を高く維持することができる。【解決手段】予めロボットの可動部を目標位置に位置させた状態で前記可動部が保持する対象物を撮影した教示用画像を撮影し、教示用画像内の対象物を含む所定の範囲の画素が特定点に向けて縮小されてより小さい範囲に収まるように、かつ特定点近傍の画像の変形量と、周縁の画像の変形量とが異なるように教示用画像を幾何学変換し、変換後の教示用画像のより小さい範囲から画像特徴量を抽出する。現在の可動部の位置を示す現在画像を取得し、現在画像を教示用画像と同様に幾何学変換し、変換後の現在画像のより小さい範囲から画像特徴量を抽出する。抽出された画像特徴量から可動部の現在位置と目標位置との差分を求め、差分が少なくなるように可動部を制御する。【選択図】図４
2014144515.tif 000002
【特許請求の範囲】
【請求項１】
対象物を前記対象物の現在位置から前記対象物の目標位置へ移動させるようにロボットを制御するロボット制御装置において、
前記目標位置に位置する対象物を撮影した画像である教示用画像及び前記現在位置に位置する前記対象物を撮影した画像である現在画像を取得する画像取得部と、
前記教示用画像及び前記現在画像内の前記対象物を含む所定の範囲である第１の範囲内の画素が前記第１の範囲内の所定の点である特定点に向けて縮小されて前記第１の範囲より小さい第２の範囲に収まるように、かつ前記特定点の近傍位置と前記近傍位置よりも前記特定点から離れた位置とでは画像の変形量が異なるように、前記教示用画像及び前記現在画像を幾何学変換する画像変換部と、
前記幾何学変換された教示用画像である変換教示用画像及び前記幾何学変換された現在画像である変換現在画像に基づいて前記対象物の前記現在位置と前記目標位置との差分を求め、当該差分が少なくなるように前記ロボットを制御する制御部と、
を備えることを特徴とするロボット制御装置。
【請求項２】
請求項１に記載のロボット制御装置において、
前記画像変換部は、前記教示用画像及び前記現在画像の中心を前記特定点として前記教示用画像及び前記現在画像を幾何学変換する
ことを特徴とするロボット制御装置。
【請求項３】
請求項１に記載のロボット制御装置において、
前記第１の範囲、前記第２の範囲及び前記特定点の少なくとも１つを入力する第１の入力部を備える
ことを特徴とするロボット制御装置。
【請求項４】
請求項１から３のいずれか一項に記載のロボット制御装置において、
前記変換教示用画像又は前記変換現在画像を表示する表示部を備える
ことを特徴とするロボット制御装置。
【請求項５】
請求項１から４のいずれか一項に記載のロボット制御装置において、
前記画像変換部は、シグモイド関数を用いて前記教示用画像及び前記現在画像を幾何学変換する
ことを特徴とするロボット制御装置。
【請求項６】
請求項１から５のいずれか一項に記載のロボット制御装置において、
前記特定点の前記近傍位置での画像の変形量と、前記近傍位置よりも前記特定点から離れた位置での画像の変形量とを入力する第２の入力部を備える
ことを特徴とするロボット制御装置。
【請求項７】
対象物を前記対象物の現在位置から前記対象物の目標位置へ移動させるようにロボットを制御するロボットシステムにおいて、
ロボットと、
前記目標位置に位置する対象物を撮影した画像である教示用画像及び前記現在位置の画像である現在画像を撮影する撮影部と、
前記教示用画像及び前記現在画像内の前記対象物を含む所定の範囲である第１の範囲内の画素が前記第１の範囲内の所定の点である特定点に向けて縮小されて前記第１の範囲より小さい第２の範囲に収まるように、かつ前記特定点の近傍位置と前記近傍位置よりも前記特定点から離れた位置とでは画像の変形量が異なるように、前記教示用画像及び前記現在画像を幾何学変換する画像変換部と、
前記幾何学変換された教示用画像である変換教示用画像及び前記幾何学変換された現在画像である変換現在画像から前記対象物の前記現在位置と前記目標位置との差分を求め、当該差分が少なくなるように前記ロボットを制御する制御部と、
を備えることを特徴とするロボットシステム。
【請求項８】
対象物を前記対象物の現在位置から前記対象物の目標位置へ移動させるように可動部を制御するロボットにおいて、
可動部と、
前記目標位置に位置する対象物を撮影した画像である教示用画像及び前記現在位置に位置する前記対象物を撮影した画像である現在画像を取得する画像取得部と、
前記教示用画像及び前記現在画像内の前記対象物を含む所定の範囲である第１の範囲内の画素が前記第１の範囲内の所定の点である特定点に向けて縮小されて前記第１の範囲より小さい第２の範囲に収まるように、かつ前記特定点の近傍位置と前記近傍位置よりも前記特定点から離れた位置とでは画像の変形量が異なるように、前記教示用画像及び前記現在画像を幾何学変換する画像変換部と、
前記幾何学変換された教示用画像である変換教示用画像及び前記幾何学変換された現在画像である変換現在画像から前記対象物の前記現在位置と前記目標位置との差分を求め、当該差分が少なくなるように前記可動部を制御する制御部と、
を備えることを特徴とするロボット。
【請求項９】
対象物を前記対象物の現在位置から前記対象物の目標位置へ移動させるようにロボットを制御するロボット制御方法において、
前記目標位置に位置する前記対象物を撮影した画像である教示用画像を取得するステップと、
前記教示用画像の前記対象物を含む所定の範囲である第１の範囲内の画素が前記第１の範囲内の所定の点である特定点に向けて縮小されて前記第１の範囲より小さい第２の範囲に収まるように、かつ前記特定点の近傍位置と前記近傍位置よりも前記特定点から離れた位置とでは画像の変形量が異なるように、前記教示用画像を幾何学変換するステップと、
前記現在位置に位置する前記対象物を撮影した画像である現在画像を取得するステップと、
前記現在画像の前記対象物を含む所定の範囲である第１の範囲内の画素が前記第１の範囲内の所定の点である特定点に向けて縮小されて前記第１の範囲より小さい第２の範囲に収まるように、かつ前記特定点の近傍位置と前記近傍位置よりも前記特定点から離れた位置とでは画像の変形量が異なるように、前記現在画像を幾何学変換するステップと、
前記幾何学変換された教示用画像である変換教示用画像及び前記幾何学変換された現在画像である変換現在画像に基づいて前記対象物の前記現在位置と前記目標位置との差分を求め、当該差分が少なくなるように前記ロボットを制御するステップと、
を有することを特徴とするロボット制御方法。
【請求項１０】
対象物を前記対象物の現在位置から前記対象物の目標位置へ移動させるようにロボットを制御するプログラムにおいて、
前記目標位置に位置する前記対象物を撮影した画像である教示用画像を取得するステップと、
前記教示用画像の前記対象物を含む所定の範囲である第１の範囲内の画素が前記第１の範囲内の所定の点である特定点に向けて縮小されて前記第１の範囲より小さい第２の範囲に収まるように、かつ前記特定点の近傍位置と前記近傍位置よりも前記特定点から離れた位置とでは画像の変形量が異なるように、前記教示用画像を幾何学変換するステップと、
前記現在位置に位置する前記対象物を撮影した画像である現在画像を取得するステップと、
前記現在画像の前記対象物を含む所定の範囲である第１の範囲内の画素が前記第１の範囲内の所定の点である特定点に向けて縮小されて前記第１の範囲より小さい第２の範囲に収まるように、かつ前記特定点の近傍位置と前記近傍位置よりも前記特定点から離れた位置とでは画像の変形量が異なるように、前記現在画像を幾何学変換するステップと、
前記幾何学変換された教示用画像である変換教示用画像及び前記幾何学変換された現在画像である変換現在画像に基づいて前記対象物の前記現在位置と前記目標位置との差分を求め、当該差分が少なくなるように前記ロボットを制御するステップと、
を演算装置に実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置、ロボットシステム、ロボット、制御方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、ビジュアルサーボによるロボットアームの制御において、現在データと目標データとの誤差が大きい時には、画像処理の分解能を下げて処理すべき画像データ量を低減させることが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２１１３８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の画像処理の分解能を下げることは、画像を全体的に縮小することと同義である。特許文献１に記載の発明のように、画像を全体的に縮小してしまうと、ビジュアルサーボに必要な部分（例えば、対象物）についての情報量が減ってしまう。そのため、画像からエッジ等の画像特徴量が算出しにくくなり、ビジュアルサーボの精度が下がるという問題がある。
【０００５】
そこで、本発明は、画像データ量を削減した場合であっても、有効な情報を不要な情報よりも相対的に増やすことでビジュアルサーボの精度を高く維持することができるロボット制御装置、ロボットシステム、ロボット、制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するための第一の態様は、対象物を前記対象物の現在位置から前記対象物の目標位置へ移動させるようにロボットを制御するロボット制御装置において、前記目標位置に位置する対象物を撮影した画像である教示用画像及び前記現在位置に位置する前記対象物を撮影した画像である現在画像を取得する画像取得部と、前記教示用画像及び前記現在画像内の前記対象物を含む所定の範囲である第１の範囲内の画素が前記第１の範囲内の所定の点である特定点に向けて縮小されて前記第１の範囲より小さい第２の範囲に収まるように、かつ前記特定点の近傍位置と前記近傍位置よりも前記特定点から離れた位置とでは画像の変形量が異なるように、前記教示用画像及び前記現在画像を幾何学変換する画像変換部と、前記幾何学変換された教示用画像である変換教示用画像及び前記幾何学変換された現在画像である変換現在画像に基づいて前記対象物の前記現在位置と前記目標位置との差分を求め、当該差分が少なくなるように前記ロボットを制御する制御部と、を備えることを特徴とする。
【０００７】
第一の態様によれば、教示用画像及び現在画像に対して、対象物を含む所定の範囲である第１の範囲内の画素が第１の範囲内の所定の点である特定点に向けて縮小されて第１の範囲より小さい第２の範囲に収まるように、かつ特定点の近傍位置と近傍位置よりも特定点から離れた位置とでは画像の変形量が異なるように幾何学変換し、これらに基づいて可動部の現在位置と目標位置との差分が少なくなるようにロボットを制御する。これにより、画像データ量を削減した場合であっても、有効な情報を不要な情報よりも相対的に増やすことでビジュアルサーボの精度を高く維持することができる。
【０００８】
ここで、前記画像変換部は、前記教示用画像及び前記現在画像の中心を前記特定点として前記教示用画像及び前記現在画像を幾何学変換してもよい。これにより、様々なシチュエーション下においても複雑な設定等をすることなく適切な処理をすることができる。
【０００９】
ここで、前記第１の範囲、前記第２の範囲及び前記特定点の少なくとも１つを入力する第１の入力部を備えてもよい。これにより、より適切な幾何学変換を行うことができる。
【００１０】
ここで、前記変換教示用画像又は前記変換現在画像を表示する表示部を備えてもよい。これにより、第１の範囲、第２の範囲、特定点等の入力を受け付けることができる。
【００１１】
ここで、前記画像変換部は、シグモイド関数を用いて前記教示用画像及び前記現在画像を幾何学変換してもよい。これにより、画像の周縁では画像が拡大され、画像の中心近傍では画像が縮小するような幾何学変換をすることができる。
【００１２】
ここで、前記特定点の前記近傍位置での画像の変形量と、前記近傍位置よりも前記特定点から離れた位置での画像の変形量とを入力する第２の入力部を備えてもよい。これにより、より適切な幾何学変換を行うことができる。
【００１３】
上記課題を解決するための第二の態様は、対象物を前記対象物の現在位置から前記対象物の目標位置へ移動させるようにロボットを制御するロボットシステムにおいて、ロボットと、前記目標位置に位置する対象物を撮影した画像である教示用画像及び前記現在位置の画像である現在画像を撮影する撮影部と、前記教示用画像及び前記現在画像内の前記対象物を含む所定の範囲である第１の範囲内の画素が前記第１の範囲内の所定の点である特定点に向けて縮小されて前記第１の範囲より小さい第２の範囲に収まるように、かつ前記特定点の近傍位置と前記近傍位置よりも前記特定点から離れた位置とでは画像の変形量が異なるように、前記教示用画像及び前記現在画像を幾何学変換する画像変換部と、前記幾何学変換された教示用画像である変換教示用画像及び前記幾何学変換された現在画像である変換現在画像から前記対象物の前記現在位置と前記目標位置との差分を求め、当該差分が少なくなるように前記ロボットを制御する制御部と、を備えることを特徴とする。これにより、画像データ量を削減した場合であっても、有効な情報を不要な情報よりも相対的に増やすことでビジュアルサーボの精度を高く維持することができることができる。
【００１４】
上記課題を解決するための第三の態様は、対象物を前記対象物の現在位置から前記対象物の目標位置へ移動させるように可動部を制御するロボットにおいて、可動部と、前記目標位置に位置する対象物を撮影した画像である教示用画像及び前記現在位置に位置する前記対象物を撮影した画像である現在画像を取得する画像取得部と、前記教示用画像及び前記現在画像内の前記対象物を含む所定の範囲である第１の範囲内の画素が前記第１の範囲内の所定の点である特定点に向けて縮小されて前記第１の範囲より小さい第２の範囲に収まるように、かつ前記特定点の近傍位置と前記近傍位置よりも前記特定点から離れた位置とでは画像の変形量が異なるように、前記教示用画像及び前記現在画像を幾何学変換する画像変換部と、前記幾何学変換された教示用画像である変換教示用画像及び前記幾何学変換された現在画像である変換現在画像から前記対象物の前記現在位置と前記目標位置との差分を求め、当該差分が少なくなるように前記可動部を制御する制御部と、を備えることを特徴とする。これにより、画像データ量を削減した場合であっても、有効な情報を不要な情報よりも相対的に増やすことでビジュアルサーボの精度を高く維持することができることができる。
【００１５】
上記課題を解決するための第四の態様は、対象物を前記対象物の現在位置から前記対象物の目標位置へ移動させるようにロボットを制御するロボット制御方法において、前記目標位置に位置する前記対象物を撮影した画像である教示用画像を取得するステップと、前記教示用画像の前記対象物を含む所定の範囲である第１の範囲内の画素が前記第１の範囲内の所定の点である特定点に向けて縮小されて前記第１の範囲より小さい第２の範囲に収まるように、かつ前記特定点の近傍位置と前記近傍位置よりも前記特定点から離れた位置とでは画像の変形量が異なるように、前記教示用画像を幾何学変換するステップと、前記現在位置に位置する前記対象物を撮影した画像である現在画像を取得するステップと、前記現在画像の前記対象物を含む所定の範囲である第１の範囲内の画素が前記第１の範囲内の所定の点である特定点に向けて縮小されて前記第１の範囲より小さい第２の範囲に収まるように、かつ前記特定点の近傍位置と前記近傍位置よりも前記特定点から離れた位置とでは画像の変形量が異なるように、前記現在画像を幾何学変換するステップと、前記幾何学変換された教示用画像である変換教示用画像及び前記幾何学変換された現在画像である変換現在画像に基づいて前記対象物の前記現在位置と前記目標位置との差分を求め、当該差分が少なくなるように前記ロボットを制御するステップと、有することを特徴とする。これにより、画像データ量を削減した場合であっても、有効な情報を不要な情報よりも相対的に増やすことでビジュアルサーボの精度を高く維持することができることができる。
【００１６】
上記課題を解決するための第五の態様は、対象物を前記対象物の現在位置から前記対象物の目標位置へ移動させるようにロボットを制御するプログラムにおいて、前記目標位置に位置する前記対象物を撮影した画像である教示用画像を取得するステップと、前記教示用画像の前記対象物を含む所定の範囲である第１の範囲内の画素が前記第１の範囲内の所定の点である特定点に向けて縮小されて前記第１の範囲より小さい第２の範囲に収まるように、かつ前記特定点の近傍位置と前記近傍位置よりも前記特定点から離れた位置とでは画像の変形量が異なるように、前記教示用画像を幾何学変換するステップと、前記現在位置に位置する前記対象物を撮影した画像である現在画像を取得するステップと、前記現在画像の前記対象物を含む所定の範囲である第１の範囲内の画素が前記第１の範囲内の所定の点である特定点に向けて縮小されて前記第１の範囲より小さい第２の範囲に収まるように、かつ前記特定点の近傍位置と前記近傍位置よりも前記特定点から離れた位置とでは画像の変形量が異なるように、前記現在画像を幾何学変換するステップと、前記幾何学変換された教示用画像である変換教示用画像及び前記幾何学変換された現在画像である変換現在画像に基づいて前記対象物の前記現在位置と前記目標位置との差分を求め、当該差分が少なくなるように前記ロボットを制御するステップと、を演算装置に実行させることを特徴とする。これにより、画像データ量を削減した場合であっても、有効な情報を不要な情報よりも相対的に増やすことでビジュアルサーボの精度を高く維持することができることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態におけるロボットシステム１の構成の一例を示す図である。
【図２】ロボットシステム１の機能構成の一例を示すブロック図である。
【図３】制御部２０のハードウェア構成を示す図である。
【図４】ビジュアルサーボの処理の流れを示すフローチャートである。
【図５】ゴール画像の一例を示す図である。
【図６】シグモイド関数を示す図である。
【図７】幾何学変換後のゴール画像の一例を示す図である。
【図８】（Ａ）は幾何学変換後のゴール画像の一部を抜き出した図であり、（Ｂ）は（Ａ）と同じ大きさとなるようにゴール画像を縮小した図である。
【図９】本発明の第２の実施形態におけるビジュアルサーボの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１８】
本発明の一実施形態について、図面を参照しながら説明する。
【００１９】
＜第１の実施形態＞
図１は、本発明の一実施形態におけるロボットシステム１の構成の一例を示すシステム構成図である。本実施形態におけるロボットシステム１は、主として、ロボット１０と、制御部２０と、撮影部３０とを備える。
【００２０】
ロボット１０は、複数のジョイント（関節）１２と、複数のリンク１３とを含むアーム部を有するアーム型のロボットである。アーム部の先端には、対象物（ワーク）を把持したり、道具を把持して対象物に対して所定の作業を行ったりすることが可能なハンド１４（いわゆるエンドエフェクター）が設けられる。以下、ロボット１０のアーム部及びハンド１４を可動部１１という。
【００２１】
ジョイント１２及びハンド１４には、それらを動作させるためのアクチュエーター（図示せず）が設けられる。アクチュエーターは、例えば、サーボモーターやエンコーダーなどを備える。エンコーダーが出力するエンコーダー値は、制御部２０によるロボット１０のフィードバック制御に使用される。
【００２２】
なお、ロボット１０の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。一般的な把持ロボットが備える構成を排除するものではない。例えば、図１では６軸のアームが示されているが、軸数（ジョイント数）をさらに増加させてもよいし、減らしてもよい。リンクの数を増減させてもよい。また、アーム、ハンド、リンク、ジョイント等の各種部材の形状、大きさ、配置、構造等も適宜変更してよい。また、エンドエフェクターはハンド１４に限られない。また、ロボットは、アームを２本有するいわゆる双腕ロボットとすることもできる。さらに、配置空間を作ることの出来るロボットであれば、どのような態様のロボット、例えば自走式のロボットにも適用することができる。
【００２３】
制御部２０は、ロボット１０の全体を制御する処理を行う。制御部２０は、ロボット１０の本体とは離れた場所に設置してもよいし、ロボット１０に内蔵してもよい。制御部２０がロボット１０の本体と離れた場所に設置されている場合には、制御部２０は、有線又は無線でロボット１０と接続される。
【００２４】
撮影部３０は、可動部１１の作業領域付近を撮影して、画像データを生成するユニットである。撮影部３０は、例えば、カメラを含み、作業台、天井、壁などに設けられる。図１では、撮影部３０は、作業台の外側に設けられている。撮影部３０としては、可視光カメラ、赤外線カメラ等を採用することができる。撮影部３０は制御部２０に接続され、撮影部３０により撮影された画像は制御部２０に入力される。なお、撮影部３０は、制御部２０ではなくロボット１０に接続されるようにしてもよいし、ロボット１０に内蔵されるようにしてもよい。この場合には、撮影部３０により撮影された画像は、ロボット１０を介して制御部２０に入力される。
【００２５】
次に、ロボットシステム１の機能構成例について説明する。図２は、ロボットシステム１の機能ブロック図である。
【００２６】
ロボット１０は、アクチュエーターのエンコーダー値、及びセンサーのセンサー値等に基づいて可動部１１を制御する動作制御部１０１を備える。
【００２７】
動作制御部１０１は、出力部２０８から出力された情報、アクチュエーターのエンコーダー値、及びセンサーのセンサー値等に基づいて可動部１１を制御する。例えば、動作制御部１０１は、出力部２０８から出力された移動方向及び移動量で可動部１１を移動させるように、アクチュエーターを駆動させる。
【００２８】
また、動作制御部１０１は、アクチュエーターのエンコーダー値等から可動部１１の移動方向及び移動量を求め、アクチュエーターの駆動を制御し、かつ可動部１１の移動方向及び移動量を制御情報取得部２０４に出力する。
【００２９】
制御部２０は、主として、中央制御部２０１と、記憶部２０２と、撮影制御部２０３と、制御情報取得部２０４と、画像変換部２０５と、特徴量抽出部２０６と、動作決定部２０７と、出力部２０８とを備える。
【００３０】
中央制御部２０１は、他の各部（２０２〜２０８）を統括的に制御する。
記憶部２０２は、各種データやプログラムを記憶する。
撮影制御部２０３は、撮影部３０を制御する。例えば、撮影制御部２０３は、撮影部３０に対して、画像を撮影するように指示を出力する。そして、撮影制御部２０３は、撮影部３０で撮影された画像データを取得する。
制御情報取得部２０４は、動作制御部１０１の制御結果を取得する。
【００３１】
画像変換部２０５は、撮影制御部２０３を介して取得された画像を幾何学変換する。具体的には、画像変換部２０５は、撮影制御部２０３を介して取得された画像の重要な部分であるワークＷ等を、特定点（本実施の形態では、画像の中心）に向けて縮小して所定範囲内に収まるように、かつ画像の重要な部分の中心近傍の画素と、画像周縁の画素との変形量が異なるように、撮影制御部２０３を介して取得された画像を歪ませる。なお、中心近傍とは、中心とその近辺の所定範囲（例えば、画像の一割程度の大きさ）を含む概念である。画像変換部２０５の処理については、後に詳述する。
【００３２】
特徴量抽出部２０６は、画像変換部２０５が幾何学変換した画像の重要な部分が含まれる一部の領域から、コーナー、エッジ、色等の画像特徴量を抽出する。画像から画像特徴量を抽出する方法は、すでに公知の様々な方法を用いることができる。
【００３３】
なお、画像変換部２０５が幾何学変換した画像から重要な部分が含まれる一部の領域を抜き出す処理は、画像変換部２０５が行ってもよいし、特徴量抽出部２０６が行ってもよい。本実施の形態では、特徴量抽出部２０６が行うとする。
【００３４】
動作決定部２０７は、撮影制御部２０３で撮影された画像及び制御情報取得部２０４が取得した情報に基づいて可動部１１の動作を決定する。動作決定部２０７の処理については、後に詳述する。
出力部２０８は、動作決定部２０７が決定した動作内容を動作制御部１０１に出力する。
【００３５】
図３は、制御部２０の概略構成の一例を示すブロック図である。図示するように、例えばコンピューターなどで構成される制御部２０は、演算装置であるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１と、揮発性の記憶装置であるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）や不揮発性の記憶装置であるＲＯＭ（Ｒｅａｄ  ｏｎｌｙ  Ｍｅｍｏｒｙ）からなるメモリー２２と、外部記憶装置２３と、ロボット１０等の外部の装置と通信を行う通信装置２４と、マウスやキーボード等の入力装置２５と、ディスプレイ等の出力装置２６と、ＣＤドライブ、ＤＶＤドライブ等の読み書き装置２７と、制御部２０と他のユニットを接続するインターフェイス（Ｉ／Ｆ）２８とを備える。
【００３６】
上記の各機能部は、例えば、ＣＰＵ２１がメモリー２２に格納された所定のプログラムをメモリー２２に読み出して実行することにより実現される。なお、所定のプログラムは、例えば、予めメモリー２２にインストールされてもよいし、通信装置２４を介してネットワークからダウンロードされてインストール又は更新されてもよい。
【００３７】
以上のロボットシステム１の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。例えば、ロボット１０が制御部２０や撮影部３０を備えていてもよい。また、一般的なロボットシステムが備える構成を排除するものではない。
【００３８】
次に、本実施形態における、上記構成からなるロボットシステム１の特徴的な処理について説明する。
【００３９】
図４は、ビジュアルサーボの処理の流れを示すフローチャートである。この処理は、例えば、図示しないボタン等を介してビジュアルサーボの開始指示が入力されることにより開始される。
【００４０】
中央制御部２０１は、可動部１１を目標位置に位置させた状態で可動部１１を撮影した教示用画像（以下、ゴール画像という）を撮影するように、撮影制御部２０３、制御情報取得部２０４及び出力部２０８を制御する（ステップＳ１００）。具体的には、まず、制御情報取得部２０４及び出力部２０８は、入力装置２５等を介して入力された目標位置に可動部１１を移動させる。目標位置に可動部１１が移動されたら、撮影制御部２０３は、撮影部３０に撮影指示を出力し、撮影部３０が撮影した画像であるゴール画像を取得する。
【００４１】
なお、本実施形態では、ハンド１４が把持するワーク（対象物）Ｗを最終目的地に配置するときの可動部１１の位置及び姿勢を、可動部１１の目標位置とする。また、本実施形態では、ワークＷを対象物として、ワークが目標位置に位置するようにビジュアルサーボを行うとする。
【００４２】
画像変換部２０５は、ステップＳ１００で取得したゴール画像を幾何学変換する（ステップＳ１０２）。以下、ステップＳ１０２の幾何学変換処理について詳細に説明する。
【００４３】
一般的に、撮影部３０は、ビジュアルサーボに重要な部分が撮影される画像の中心となるように、位置及び姿勢が設定される。なお、中心とは、中心及び中心から一定範囲（例えば、画像の１割程度の大きさ）を含む概念である。したがって、本実施の形態では、画像の特徴部分が画像の中心にあると推定して、幾何学変換を行う。そのため、様々なシチュエーション下においても複雑な設定等をすることなく適切な処理が可能である。
【００４４】
幾何学変換処理を行う目的の一つは、画像の大きさを小さくすることである。画像を小さくすることで、特徴量抽出部２０６が行う処理を軽くし、処理時間を短くすることができる。特に、後に説明するヤコビアン推定は重い処理であるため、画像の大きさを小さくすることは有効である。
【００４５】
しかしながら、画像にはビジュアルサーボに不要な部分も含まれるため、単に画像を縮小するよりは、不要な部分を除くようにした方が有効である。そこで、幾何学変換処理を行うもう一つの目的は、画像の大きさを縮小するときに、有効な入力を多くし、ノイズを除くようにすることである。
【００４６】
図５は、ステップＳ１００で取得されたゴール画像の一例である。図５に示すゴール画像では、ハンド１４は３本の爪１４ａ、１４ｂ、１４ｃを有し、３本の爪１４ａ、１４ｂ、１４ｃでワークＷを把持している。
【００４７】
本実施の形態では、範囲Ａの大きさまで画像を小さくしたい。しかしながら、ワークＷが範囲Ａより大きい。したがって、画像変換部２０５は、ビジュアルサーボに重要な部分が画像の所定範囲内に含まれるように画像を歪ませる幾何学変換を行う。なお、ビジュアルサーボに重要な部分は、本実施形態ではワークＷ及び爪１４ａ、１４ｂ、１４ｃのワークＷ近傍の部分であり、本発明の第１の範囲に相当する。また、所定範囲は、本実施形態では範囲Ａであり、本発明の第２の範囲に相当する。本実施の形態では、画像の特徴部分が画像の中心にあると推定しているので、ビジュアルサーボに重要な部分及び範囲Ａ（本発明の第１の範囲及び第２の範囲）の中心は、画像の中心である。
【００４８】
また、図５に示すゴール画像には、ワークＷ等のビジュアルサーボに重要な部分以外に、ビジュアルサーボに不要な物体Ｎも含まれている。物体Ｎは、例えば、ロボット１０のコード、柱や、建物の柱等である。したがって、画像変換部２０５は、ワークＷが範囲Ａ内に含まれつつ、物体Ｎ等のビジュアルサーボに不要な部分を範囲Ａにできるだけ入れないように、画像を歪ませる幾何学変換を行う。
【００４９】
そこで、画像変換部２０５は、ビジュアルサーボに重要な部分が画像の所定範囲内に含まれ、かつビジュアルサーボに不要な部分をできるだけ所定範囲に入れないようにするため、シグモイド関数を用いて画像の幾何学変換を行う。
【００５０】
図６はシグモイド関数を示す図及び式である。図６に示すように、シグモイド関数は、ステップ関数をなだらかに連続させたような形をしている。なお、図６に示す式において、ａはゲインである。本実施形態では、ゲインａが１である標準シグモイド関数を用いる。
【００５１】
シグモイド関数を用いて画像の幾何学変換が行われると、図６に示すグラフの傾きに応じた移動量で、画素が画像の中心に向けて移動される。図６に示すグラフがなだらかな部分、すなわち画像の周縁部の画素はあまり移動されない。それに対し、図６に示すグラフが急峻な部分、すなわち画像の中心に近い領域の画素は大きく移動される。
【００５２】
図７は、図５に示すゴール画像を、シグモイド関数を用いて幾何学変換が行われた結果を示す。図７に示すように、ゴール画像は、画像の中心の変形量は小さいが、画像の周縁に行くに従い画像の変形量が大きくなっている。また、画像全体の大きさは変更されていない。その結果、画像の周縁では画像が拡大され、画像の中心近傍では画像が縮小されている。
【００５３】
図７においては、一点鎖線で示す範囲Ａ内に、ワークＷ及び爪１４ａ、１４ｂ、１４ｃが含まれるが、ビジュアルサーボに不要な物体Ｎはほとんど含まれていない。
【００５４】
図８（Ａ）は、図７の範囲Ａの画像を抜き出した画像を示し、図８（Ｂ）は、図７の範囲Ａ内に、図５に示すゴール画像が収まるように、図５に示すゴール画像を縮小した画像を示す。図８（Ａ）と図８（Ｂ）とを比較すると、図８（Ａ）の方が、範囲Ａの大きさに対するワークＷの占める割合が大きい。さらに、図８（Ａ）には、物体Ｎがほとんど含まれていないのに対し、図８（Ｂ）には、物体Ｎが多く含まれている。
【００５５】
このように、シグモイド関数を用いて画像を歪ませることにより、必要な部分（ワークＷ及び爪１４ａ、１４ｂ、１４ｃ）を範囲Ａ内にできるだけ多く入れることができる。これにより、同じ画素数でもより多くの有効な特徴が表現できる。また、不要な部分（物体Ｎ）を範囲Ａ内にできるだけ入れないようにすることができる。これにより、ノイズを低減することができる。
【００５６】
本実施形態では、範囲Ａの大きさがあらかじめ設定されているが、範囲Ａの大きさを任意に設定できるようにしてもよい。また、本実施形態では、ゲインａが１である標準シグモイド関数を用いたが、範囲Ａの大きさや、画像に含まれるビジュアルサーボに必要な部分の大きさ等に応じて、適切なゲインａを設定するようにしてもよい。
【００５７】
このようにして画像変換部２０５により画像変換が行われたゴール画像は、特徴量抽出部２０６へ出力される。特徴量抽出部２０６は、画像変換が行われたゴール画像を取得し、画像変換が行われたゴール画像の範囲Ａ内の画像から画像特徴量を抽出する（ステップＳ１０４）。本実施形態では、画像特徴量として特徴ベクトルが求められる。
【００５８】
これにより、ビジュアルサーボの準備段階が終了する。ビジュアルサーボの準備段階は、ロボット１０を用いた生産を始める前に行っておく。ビジュアルサーボの準備段階が終了したら、ロボット１０を用いた生産を開始し、その後のビジュアルサーボの各ステップ（ステップＳ１０６〜Ｓ１２２）を行う。
【００５９】
撮影制御部２０３は、ゴール画像と同じ画角の画像を撮影するように撮影部３０を制御し、撮影部３０が撮影した画像である現在画像を取得する（ステップＳ１０６）。現在画像は、現在の可動部１１の位置及び姿勢（以下、可動部１１の位置という）を示す画像である。なお、本発明では、可動部１１の位置及び姿勢を、可動部１１の位置と定義する。そのため、以下、可動部１１の位置及び姿勢を、単に、可動部１１の位置という。
【００６０】
画像変換部２０５は、ステップＳ１０６で取得した現在画像を幾何学変換する（ステップＳ１０８）。ステップＳ１０８で現在画像を幾何学変換する方法は、ステップＳ１０２でゴール画像を幾何学変換する方法と同一であるため、説明を省略する。画像変換部２０５により画像変換が行われた現在画像は、特徴量抽出部２０６へ出力される。
【００６１】
特徴量抽出部２０６は、画像変換が行われた現在画像を取得し、画像変換が行われた現在画像の範囲Ａ内の画像から画像特徴量を抽出する（ステップＳ１１０）。本実施形態では、画像特徴量として特徴ベクトルが求められる。
【００６２】
動作決定部２０７は、ステップＳ１０４でゴール画像から抽出された画像特徴量と、ステップＳ１１０で現在画像から抽出された画像特徴量とを取得する。そして、動作決定部２０７は、取得した画像を比較することにより、現在の可動部１１の位置と目標位置との距離を計算する（ステップＳ１１２）。
【００６３】
現在の可動部１１の位置と目標位置との距離は、以下の数式（１）により、現在画像から抽出された画像特徴量である特徴ベクトルと、ゴール画像から抽出された画像特徴量である特徴ベクトルとの差分で算出される。
【００６４】
【数１】
2014144515.tif 000003
【００６５】
動作決定部２０７は、ステップＳ１１２で算出された距離が、特定の閾値以下であるか否か、すなわち収束しているか否かを判定する（ステップＳ１１４）。ステップＳ１１２で算出された距離が、特定の閾値以下である場合（ステップＳ１１４でＹＥＳ）には、現在の可動部１１の位置と目標位置との差が閾値以下、すなわち収束している場合であるため、中央制御部２０１は、処理を終了する。
【００６６】
ステップＳ１１２で算出された距離が、特定の閾値以下でない場合（ステップＳ１１４でＮＯ）には、動作決定部２０７は、以下の数式（２）を用いて、ヤコビアンの推定及び更新を行う（ステップＳ１１６）。なお、数式（２）のｎは今回を意味し、ｎ−１は前回を意味する。最初のヤコビアンは、対角行列、作業実施済みである場合は前回の値、等を用いることができる。
【００６７】
【数２】
2014144515.tif 000004
【００６８】
動作決定部２０７は、以下の数式（３）を用いて、推定されたヤコビアンからジョイント角の差分を算出する（ステップＳ１１８）。
【００６９】
【数３】
2014144515.tif 000005
【００７０】
動作決定部２０７は、ステップＳ１１８で算出されたジョイント角の差分を出力部２０８に出力する。出力部２０８は、ジョイント角の差分を動作制御部１０１に出力する（ステップＳ１２０）。これにより、可動部１１が移動される。
【００７１】
中央制御部２０１は、ステップＳ１０６が行われた後で一定の時間（以下、サンプリング時間という）が経過するまで待機する（ステップＳ１２２）。中央制御部２０１は、ステップＳ１０６が行われた後、サンプリング時間が経過したら、再度ステップＳ１０６を行う。すなわち、ステップＳ１０６〜Ｓ１２２では、可動部１１の現在位置と目標位置との差分を求め、差分が閾値以下となるまで、差分が少なくなるように可動部１１をフィードバック制御している。
【００７２】
本実施形態によれば、画像を小さくして画像データ量を削減することで、処理時間を短縮化することができる。かつ、画像を小さくするにあたり、ビジュアルサーボに必要な部分を画像特徴量の抽出を行う範囲にできるだけ多く入れつつ、不要な部分を画像特徴量の抽出を行う範囲に内にできるだけ入れないようにするように幾何学変換を行うため、画像からの画像特徴量の算出精度が高くなる。その結果、ロボットの挙動を安定させ、ビジュアルサーボの精度を高く維持することができる。
【００７３】
なお、本実施形態では、画像の幾何学変換としてシグモイド関数を用いた変換、すなわち画素の平行移動を例に示したが、幾何学変換はこれに限らない。幾何学変換としては、平行移動、回転、せん断等も含まれる。また、本実施形態では、シグモイド関数を用いて幾何学変換を行ったが、幾何学変換の方法はこれに限られない。ビジュアルサーボに必要な部分がある点に向けて縮小されてより小さい所定範囲に収まるように、かつビジュアルサーボに必要な部分の中心と画像周縁とで変形量とが異なるのであれば、どのような方法でもよい。例えば、シグモイド関数以外の関数（例えばステップ関数）を用いてもよいし、アフィン変換、射影変換等の異なる方法を用いてもよい。
【００７４】
また、本実施形態では、画像の幾何学変換において、画像の中心（本発明の特定点）に対して画像を縮小したが、幾何学変換において画像を歪ませる時の中心は画像の中心に限られない。さらに、標準シグモイド関数を用いて、あらかじめ設定された所定範囲（ここでは、図５範囲Ａ）にワークＷやハンド１４が含まれるように画像の幾何学変換を行ったが、シグモイド関数は標準でなくてもよいし、所定範囲もこれに限られない。さらに、ワークＷの位置は画像の中心にあるとは限らないし、ワークの大きさも常に同じではない。幾何学変換の中心（特定点）の位置の設定、ビジュアルサーボに必要な部分（本発明の第１の範囲）及び所定範囲（本発明の第２の範囲）の位置、大きさの設定、シグモイド関数のゲインの設定等は、幾何学変換後のゴール画像等を出力装置２６に表示させて、入力装置２５を介して入力を受けつけるようにすれば、任意に変更可能である。
【００７５】
例えば、出力装置２６にゴール画像を表示し、入力装置２５を介して入力された位置を特定点として、特定点に向けて画像の幾何学変換をしてもよい。また、出力装置２６にゴール画像を表示し、入力装置２５を介して入力された範囲をビジュアルサーボに必要な部分（本発明の第１の範囲）として、画像の幾何学変換をしてもよい。これにより、必要な部分をできるだけ多く入れ、不要な部分をできるだけ入れないような、より適切な範囲や特定点を設定することができる。なお、幾何学変換後の画像を出力装置２６に表示させ、入力装置２５を介して所定範囲や幾何学変換の中心（特定点）の入力を受け付けるようにしてもよい。
【００７６】
さらに、まずは標準シグモイド関数を用いて幾何学変換を行い、幾何学変換後の画像を出力装置２６に表示させ、入力装置２５を介してシグモイド関数のゲインの変更や画像特徴量を抽出する範囲（本発明の第２の範囲）を入力させるようにしてもよい。さらに、幾何学変換の方法、例えば用いる関数等を、入力装置２５を介して入力を受け付けるようにしてもよい。これにより、より適切な幾何学変換を行うことができる。
【００７７】
また、本実施形態では、ハンド１４でワークＷを把持したが、可動部１１がワークＷを保持する形態はこれに限られない。例えば、ハンド１４の代わりに磁性体が、ワークＷを吸着するようにしてもよい。
【００７８】
＜第２の実施形態＞
本発明の第１の実施形態は、現在画像がゴール画像に一致するようにフィードバック制御を行う、すなわち画像特徴量から直接ジョイント角等の制御を行ういわゆる画像ベースビジュアルサーボを行ったが、本発明の適用範囲は画像ベースビジュアルサーボに限定されない。
【００７９】
本発明の第２の実施形態は、画像座標とロボット座標（ロボットの位置）とを結合するキャリブレーションが必要ないわゆる位置ベースのビジュアルサーボに本発明を適用した形態である。以下、本発明の第２の実施形態について説明する。なお、第１の実施形態と構成は同一であるため、構成についての説明を省略し、処理の流れについてのみ説明する。また、第１の実施形態と同一の部分については、同一の符号を付し、説明を省略する。
【００８０】
図９は、ビジュアルサーボの処理の流れを示すフローチャートである。この処理は、例えば、図示しないボタン等を介してビジュアルサーボの開始指示が入力されることにより開始される。
【００８１】
中央制御部２０１は、ゴール画像を撮影するように、撮影制御部２０３、制御情報取得部２０４及び出力部２０８を制御し、ゴール画像を取得する（ステップＳ１００）。
画像変換部２０５は、ステップＳ１００で取得したゴール画像を幾何学変換する（ステップＳ１０２）。
【００８２】
特徴量抽出部２０６は、画像変換が行われたゴール画像を取得し、画像変換が行われたゴール画像の所定範囲（ここでは、範囲Ａ）内の画像から特徴量抽出を行い、モデルとマッチングすることにより、対象物（または対象点）を検出する。そして、特徴量抽出部２０６は、画像座標をロボット座標に変換して、ゴール画像におけるロボット１０の位置及び姿勢を示す位置姿勢情報を取得する（ステップＳ１０５）。ここでは、対象はワークＷである。特徴量抽出を行った結果をモデルとマッチングすることにより対象物（または対象点）を検出する方法は、すでに公知であるため、説明を省略する。なお、対象物（または対象点）を検出する方法はこれに限られず、すでに公知の様々な方法を用いることができる。
【００８３】
これにより、ビジュアルサーボの準備段階が終了する。ビジュアルサーボの準備段階は、ロボット１０を用いた生産を始める前に行っておく。ビジュアルサーボの準備段階が終了したら、ロボット１０を用いた生産を開始し、その後のビジュアルサーボの各ステップ（ステップＳ１０６〜Ｓ１２２）を行う。
【００８４】
撮影制御部２０３は、現在画像を取得する（ステップＳ１０６）。画像変換部２０５は、ステップＳ１０６で取得した現在画像を幾何学変換する（ステップＳ１０８）。
【００８５】
特徴量抽出部２０６は、画像変換が行われた現在画像を取得し、画像変換が行われた現在画像の範囲Ａ内の画像から特徴量抽出を行い、モデルとマッチングすることにより、対象物（または対象点）を検出する。そして、特徴量抽出部２０６は、画像座標をロボット座標に変換して、現在画像におけるロボット１０の位置及び姿勢を示す位置姿勢情報を取得する（ステップＳ１１１）。
【００８６】
動作決定部２０７は、ステップＳ１０５で取得されたロボット１０の位置姿勢情報と、ステップＳ１１１で取得されたロボット１０の位置姿勢情報とを比較し、目標位置までの距離を計算する（ステップＳ１１３）。ここで、距離とは、可動部１１の位置（第１の実施形態と同様、位置及び姿勢を意味する）の差異を意味する。
【００８７】
動作決定部２０７は、ステップＳ１１３算出された距離が、特定の閾値以下であるか否か、すなわち収束しているか否かを判定する（ステップＳ１１５）。ステップＳ１１３で算出された距離が、特定の閾値以下である場合（ステップＳ１１５でＹＥＳ）には、現在の可動部１１の位置と目標位置との差が閾値以下、すなわち収束している場合であるため、中央制御部２０１は、処理を終了する。
【００８８】
ステップＳ１１３で算出された距離が、特定の閾値以下でない場合（ステップＳ１１５でＮＯ）には、動作決定部２０７は、ステップＳ１１１で算出された位置姿勢をロボット１０のジョイント角に変換する（ステップＳ１１７）。当該ステップの処理は、一般的な逆運動学の解法を用いることができるため、説明は省略する。本実施形態では、位置姿勢からロボット１０を直接制御できるため、ヤコビアンの推定は不要である。
【００８９】
動作決定部２０７は、ステップＳ１０５で算出されたゴール画像におけるロボット１０の位置姿勢情報からジョイント角を求め、このジョイント角とステップＳ１１７で算出されたジョイント角との差分を算出する（ステップＳ１１９）。
【００９０】
動作決定部２０７は、ステップＳ１１９で算出されたジョイント角の差分を出力部２０８に出力する。出力部２０８は、ジョイント角の差分を動作制御部１０１に出力する（ステップＳ１２１）。ステップＳ１２１は、ステップＳ１２０と出力する内容のみが異なり、その他は同一である。これにより、可動部１１が移動される。
【００９１】
中央制御部２０１は、ステップＳ１０６が行われた後、サンプリング時間が経過するまで待機する（ステップＳ１２２）。中央制御部２０１は、ステップＳ１０６が行われた後、サンプリング時間が経過したら、再度ステップＳ１０６を行う。
【００９２】
このように、本発明は、キャリブレーションの要、不要に限らず、画像を用いて位置制御を行う様々な技術に適用することができる。ただし、目標位置に近い位置で精密にロボットを移動させるいわゆる精密ビジュアルサーボについて、より有効である。
【００９３】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。特に、本発明は、ロボットと、制御部及び撮影部とが別に設けられたロボットシステムとして提供してもよいし、ロボットに制御部及び撮影部が含まれたロボットとして提供してもよいし、制御部のみ、又は制御部及び撮影部からなるロボット制御装置として提供してもよい。また、本発明は、ロボット等を制御するプログラムやプログラムを記憶した記憶媒体として提供することもできる。
【符号の説明】
【００９４】
１：ロボットシステム、１０：ロボット、１１：可動部、１２：ジョイント、１３：リンク、１４：ハンド、１４ａ、１４ｂ、１４ｃ：爪、２０：制御部、２１：ＣＰＵ、２２：メモリー、２３：外部記憶装置、２４：通信装置、２５：入力装置、２６：出力装置、２７：読み書き装置、２８：Ｉ／Ｆ、３０：撮影部、１０１：動作制御部、２０１：中央制御部、２０２：記憶部、２０３：撮影制御部、２０４：制御情報取得部、２０５：画像変換部、２０６：特徴量抽出部、２０７：動作決定部、２０８：出力部
【図１】
2014144515.tif 000006
【図２】
2014144515.tif 000007
【図３】
2014144515.tif 000008
【図４】
2014144515.tif 000009
【図５】
2014144515.tif 000010
【図６】
2014144515.tif 000011
【図７】
2014144515.tif 000012
【図８】
2014144515.tif 000013
【図９】
2014144515.tif 000014