(57)【要約】【課題】画像を用いたロボットの制御においてヤコビアンの演算負荷を軽減するロボット、制御装置、ロボットシステム及び制御方法等を提供すること。【解決手段】ロボット１００は、撮像画像の画像特徴量である撮像画像特徴量を求め、撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボット１００の制御を行う制御部１１０と、作業対象物又はロボット１００のエンドエフェクター３１９の位置姿勢と、ヤコビアンとを対応づけて記憶する記憶部１２０を含む。【選択図】      図１
2015131367.tif 000002
【特許請求の範囲】
【請求項１】
撮像画像の画像特徴量である撮像画像特徴量を求め、前記撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボットの制御を行う制御部と、
作業対象物又は前記ロボットのエンドエフェクターの位置姿勢と、前記ヤコビアンとを対応づけて記憶する記憶部と、
を含むことを特徴とするロボット。
【請求項２】
請求項１において、
前記制御部は、
前記記憶部に記憶された前記ヤコビアンを読み出し、前記ヤコビアンと、前記撮像画像特徴量と、前記目標特徴量とに基づいて、前記ロボットの制御を行うことを特徴とするロボット。
【請求項３】
請求項２において、
前記制御部は、
処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されているか否かの判定を行い、前記ヤコビアンが記憶されている場合に、前記撮像画像特徴量と前記目標特徴量との差分情報と、前記ヤコビアンとに基づいて、前記ロボットの動作パラメーターを求め、前記動作パラメーターに従って、前記ロボットの制御を行うことを特徴とするロボット。
【請求項４】
請求項３において、
前記制御部は、
前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されていない場合に、前記位置姿勢に対応する前記ヤコビアンを求め、
前記記憶部は、
前記ヤコビアンを、前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応づけて記憶することを特徴とするロボット。
【請求項５】
請求項３において、
前記制御部は、
前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されていない場合に、
前記処理タイミングにおける前記位置姿勢から、位置姿勢座標空間における空間距離が所与の距離範囲内である所定範囲内位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されているかの判定を行い、
前記所定範囲内位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されている場合には、前記所定範囲内位置姿勢に対応する前記ヤコビアンを、前記処理タイミングにおける前記位置姿勢に対応する前記ヤコビアンとして求め、
前記記憶部は、
前記ヤコビアンを、前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応づけて記憶することを特徴とするロボット。
【請求項６】
請求項５において、
前記制御部は、
前記所定範囲内位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されていない場合に、前記処理タイミングにおける前記位置姿勢に対応する前記ヤコビアンを求め、
前記記憶部は、
前記ヤコビアンを、前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応づけて記憶することを特徴とするロボット。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記制御部は、
前記ヤコビアンを用いた前記ロボットの制御を行うことで求められる前記撮像画像特徴量と、前記ヤコビアンから推定される暫定目標特徴量との差分値が所与の閾値よりも大きい場合に、前記ヤコビアンを修正し、
前記記憶部は、
修正後の前記ヤコビアンを、前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応づけて記憶することを特徴とするロボット。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記記憶部は、
前記ヤコビアンを用いた処理が行われたタイミングを表すタイムスタンプ情報を、前記ヤコビアンとを対応づけて記憶し、
前記制御部は、
前記ヤコビアンを用いた前記ロボットの制御を行った場合に、前記ヤコビアンに対応づけられた前記タイムスタンプ情報を更新することを特徴とするロボット。
【請求項９】
請求項８において、
前記制御部は、
前記タイムスタンプ情報に基づいて、前記記憶部から削除される前記ヤコビアンを決定することを特徴とするロボット。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記記憶部は、
前記ヤコビアンを用いた前記ロボットの制御が行われた回数を表すカウンター情報を、前記ヤコビアンとを対応づけて記憶することを特徴とするロボット。
【請求項１１】
請求項１０において、
前記制御部は、
前記ヤコビアンを用いた前記ロボットの制御を行うことで求められる前記撮像画像特徴量と、前記ヤコビアンから推定される暫定目標特徴量との差分値が所与の閾値以下である場合に、前記ヤコビアンに対応づけられた前記カウンター情報を増加させることを特徴とするロボット。
【請求項１２】
請求項１０又は１１において、
前記制御部は、
前記ヤコビアンを用いた処理により求められる動作パラメーターの値を、前記ヤコビアンに対応づけられた前記カウンター情報に基づいて調整することを特徴とするロボット。
【請求項１３】
撮像画像の画像特徴量である撮像画像特徴量を求め、前記撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボットの制御を行う制御部と、
作業対象物又は前記ロボットのエンドエフェクターの位置姿勢と、前記ヤコビアンとを対応づけて記憶する記憶部と、
を含むことを特徴とする制御装置。
【請求項１４】
ロボットと、
撮像画像の画像特徴量である撮像画像特徴量を求め、前記撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、前記ロボットの制御を行う制御部と、
作業対象物又は前記ロボットのエンドエフェクターの位置姿勢と、前記ヤコビアンとを対応づけて記憶する記憶部と、
を含むことを特徴とするロボットシステム。
【請求項１５】
撮像画像の画像特徴量である撮像画像特徴量を求め、前記撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボットの制御を行うことと、
作業対象物又は前記ロボットのエンドエフェクターの位置姿勢と、前記ヤコビアンとを対応づけて記憶することと、
を含むことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、制御装置、ロボットシステム及び制御方法等に関する。
【背景技術】
【０００２】
産業用ロボットによる各種作業において、撮像画像（カメラ画像）を使って制御を行う手法が知られている。ゴール画像を使って位置合わせする方式としては、特許文献１がある。特許文献１には、成功時のゴール画像を覚えておいて、新規に動作時に、同じゴール画像となる場合には、その位置へ位置制御により直接ロボットを移動させるという手法が開示されている。
【０００３】
また、撮像画像を用いて精密な位置合わせを行う技術としてビジュアルサーボと呼ばれるものがある。ビジュアルサーボは、ゴール画像と現在の画像との差分を無すくように制御（サーボ）することにより、目的の位置に近づける技術である。例えば特許文献２には、ビジュアルサーボを用いてロボットを制御する手法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２３１０７８号公報
【特許文献２】特開２００９−８３０９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１は、それ以前のロボット動作で覚えておいた位置を利用して位置制御を行うものである。そのため、作業対象物の供給位置が異なる場合のように、作業環境にずれが生じた場合には正確な動作を行うことが困難である。
【０００６】
一方、特許文献２のビジュアルサーボでは、逐次撮像画像の情報を用いてフィードバックをかけるため、作業環境にずれが生じても精度の高いロボットの制御が可能である。しかし、ビジュアルサーボにおいてはヤコビアン（ヤコビ行列）が用いられることが多いが、特許文献２の手法ではヤコビアンをビジュアルサーボの度に演算している。そのため、ビジュアルサーボの実行に要する演算負荷が大きくなってしまい、ロボットの動作が低速になる等の影響が考えられる。
【課題を解決するための手段】
【０００７】
本発明の一態様は、撮像画像の画像特徴量である撮像画像特徴量を求め、前記撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボットの制御を行う制御部と、作業対象物又は前記ロボットのエンドエフェクターの位置姿勢と、前記ヤコビアンとを対応づけて記憶する記憶部と、を含むロボットに関係する。
【０００８】
本発明の一態様では、ロボットの制御に用いられるヤコビアンを、位置姿勢と対応付けて記憶する。そのため、状況に応じて記憶したヤコビアンを利用すること等ができるため、処理負荷の軽減やロボット動作の高速化等が可能になる。
【０００９】
また、本発明の一態様では、前記制御部は、前記記憶部に記憶された前記ヤコビアンを読み出し、前記ヤコビアンと、前記撮像画像特徴量と、前記目標特徴量とに基づいて、前記ロボットの制御を行ってもよい。
【００１０】
これにより、記憶しておいたヤコビアンを再利用すること等が可能になる。
【００１１】
また、本発明の一態様では、前記制御部は、処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されているか否かの判定を行い、前記ヤコビアンが記憶されている場合に、前記撮像画像特徴量と前記目標特徴量との差分情報と、前記ヤコビアンとに基づいて、前記ロボットの動作パラメーターを求め、前記動作パラメーターに従って、前記ロボットの制御を行ってもよい。
【００１２】
これにより、所望のヤコビアンを記憶されている場合には、当該ヤコビアンを用いることで処理負荷を軽減すること等が可能になる。
【００１３】
また、本発明の一態様では、前記制御部は、前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されていない場合に、前記位置姿勢に対応する前記ヤコビアンを求め、前記記憶部は、前記ヤコビアンを、前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応づけて記憶してもよい。
【００１４】
これにより、所望のヤコビアンが記憶されていない場合には、ヤコビアンを新規演算すること、及び演算結果であるヤコビアンを記憶すること等が可能になる。
【００１５】
また、本発明の一態様では、前記制御部は、前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されていない場合に、前記処理タイミングにおける前記位置姿勢から、位置姿勢座標空間における空間距離が所与の距離範囲内である所定範囲内位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されているかの判定を行い、前記所定範囲内位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されている場合には、前記所定範囲内位置姿勢に対応する前記ヤコビアンを、前記処理タイミングにおける前記位置姿勢に対応する前記ヤコビアンとして求め、前記記憶部は、前記ヤコビアンを、前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応づけて記憶してもよい。
【００１６】
これにより、所望のヤコビアンが記憶されていない場合であっても、所定距離範囲内となるヤコビアンを用いることで処理負荷を軽減すること等が可能になる。
【００１７】
また、本発明の一態様では、前記制御部は、前記所定範囲内位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されていない場合に、前記処理タイミングにおける前記位置姿勢に対応する前記ヤコビアンを求め、前記記憶部は、前記ヤコビアンを、前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応づけて記憶してもよい。
【００１８】
これにより、所定距離範囲内となるヤコビアンも記憶されていない場合には、ヤコビアンを新規演算すること、及び演算結果であるヤコビアンを記憶すること等が可能になる。
【００１９】
また、本発明の一態様では、前記制御部は、前記ヤコビアンを用いた前記ロボットの制御を行うことで求められる前記撮像画像特徴量と、前記ヤコビアンから推定される暫定目標特徴量との差分値が所与の閾値よりも大きい場合に、前記ヤコビアンを修正し、前記記憶部は、修正後の前記ヤコビアンを、前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応づけて記憶してもよい。
【００２０】
これにより、ヤコビアンの修正処理を行うこと等が可能になる。
【００２１】
また、本発明の一態様では、前記記憶部は、前記ヤコビアンを用いた処理が行われたタイミングを表すタイムスタンプ情報を、前記ヤコビアンとを対応づけて記憶し、前記制御部は、前記ヤコビアンを用いた前記ロボットの制御を行った場合に、前記ヤコビアンに対応づけられた前記タイムスタンプ情報を更新してもよい。
【００２２】
これにより、ヤコビアンをタイムスタンプと対応付けて記憶すること等が可能になる。
【００２３】
また、本発明の一態様では、前記制御部は、前記タイムスタンプ情報に基づいて、前記記憶部から削除される前記ヤコビアンを決定してもよい。
【００２４】
これにより、タイムスタンプを用いて削除対象となるヤコビアンを決定すること等が可能になる。
【００２５】
また、本発明の一態様では、前記記憶部は、前記ヤコビアンを用いた前記ロボットの制御が行われた回数を表すカウンター情報を、前記ヤコビアンとを対応づけて記憶してもよい。
【００２６】
ヤコビアンをカウンター情報と対応付けて記憶すること等が可能になる。
【００２７】
また、本発明の一態様では、前記制御部は、前記ヤコビアンを用いた前記ロボットの制御を行うことで求められる前記撮像画像特徴量と、前記ヤコビアンから推定される暫定目標特徴量との差分値が所与の閾値以下である場合に、前記ヤコビアンに対応づけられた前記カウンター情報を増加させてもよい。
【００２８】
これにより、所与の条件に基づいてカウンター情報を更新すること等が可能になる。
【００２９】
また、本発明の一態様では、前記制御部は、前記ヤコビアンを用いた処理により求められる動作パラメーターの値を、前記ヤコビアンに対応づけられた前記カウンター情報に基づいて調整してもよい。
【００３０】
これにより、カウンター情報に基づいて、動作パラメーターの値を調整すること等が可能になる。
【００３１】
また、本発明の他の態様は、撮像画像の画像特徴量である撮像画像特徴量を求め、前記撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボットの制御を行う制御部と、作業対象物又は前記ロボットのエンドエフェクターの位置姿勢と、前記ヤコビアンとを対応づけて記憶する記憶部と、を含む制御装置に関係する。
【００３２】
本発明の他の態様では、ロボットの制御に用いられるヤコビアンを、位置姿勢と対応付けて記憶する。そのため、状況に応じて記憶したヤコビアンを利用すること等ができるため、処理負荷の軽減やロボット動作の高速化等が可能になる。
【００３３】
また、本発明の他の態様は、ロボットと、撮像画像の画像特徴量である撮像画像特徴量を求め、前記撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、前記ロボットの制御を行う制御部と、作業対象物又は前記ロボットのエンドエフェクターの位置姿勢と、前記ヤコビアンとを対応づけて記憶する記憶部と、を含むロボットシステムに関係する。
【００３４】
本発明の他の態様では、ロボットの制御に用いられるヤコビアンを、位置姿勢と対応付けて記憶する。そのため、状況に応じて記憶したヤコビアンを利用すること等ができるため、処理負荷の軽減やロボット動作の高速化等が可能になる。
【００３５】
また、本発明の他の態様は、撮像画像の画像特徴量である撮像画像特徴量を求め、前記撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボットの制御を行うことと、作業対象物又は前記ロボットのエンドエフェクターの位置姿勢と、前記ヤコビアンとを対応づけて記憶することと、を含む制御方法に関係する。
【００３６】
本発明の他の態様では、ロボットの制御に用いられるヤコビアンを、位置姿勢と対応付けて記憶する。そのため、状況に応じて記憶したヤコビアンを利用すること等ができるため、処理負荷の軽減やロボット動作の高速化等が可能になる。
【００３７】
このように、本発明の幾つかの態様によれば、画像を用いたロボットの制御においてヤコビアンの演算負荷を軽減するロボット、制御装置、ロボットシステム及び制御方法等を提供することができる。
【図面の簡単な説明】
【００３８】
【図１】本実施形態に係るロボットのシステム構成例。
【図２】作業対象物とエンドエフェクターの相対関係の説明図。
【図３】本実施形態に係る制御装置及びロボットシステムの構成例。
【図４】本実施形態に係るロボットの構造の例。
【図５】本実施形態に係るロボットの構造の他の例。
【図６】本実施形態に係る制御装置等をサーバーシステムにより実現する例。
【図７】画像特徴量、位置姿勢及び関節角の相互関係の説明図。
【図８】ビジュアルサーボ制御の説明図。
【図９】位置姿勢空間に設定される局所領域の例。
【図１０】図１０（Ａ）、図１０（Ｂ）は関節角と画像特徴量の関係図。
【図１１】本実施形態の処理を説明するフローチャート。
【図１２】本実施形態の具体的な処理を説明する図。
【図１３】ヤコビアンの修正処理を説明する図。
【図１４】記憶部に記憶されるデータ構造の例。
【図１５】本実施形態の処理を説明する他のフローチャート。
【発明を実施するための形態】
【００３９】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００４０】
１．本実施形態の手法
まず本実施形態の手法について説明する。上述したように、撮像画像を用いてロボットを制御する手法が広く知られている。しかし、特許文献１のように実際の制御が位置制御である場合、手先位置等の精度を高くするには非常に剛性の高いロボットを用いたり、精度の高いキャリブレーションを実行しておく必要がある。また、ロボットの作業環境も一定としておかなくてはならない。例えば、作業対象物（ワーク）が給材される位置や、当該作業対象物に対して作業を行う位置、作業後の作業対象物を配置（除材）する位置等の精度も高くしておかなければ、精度のよいロボットの制御ができない。
【００４１】
特に本出願人は、種々の環境変化に応じて柔軟に動作することができるロボットを想定している。例えば、撮像部（撮像センサー）等の種々のセンサーを用いて周辺環境を認識し、認識結果を用いて動作内容を決定、修正するロボット等が考えられる。このようなロボットでは、例えばユーザーが作業対象物を給材エリアに配置する際に、その位置姿勢を厳密に決定しなくても適切なロボット動作が可能となる。逆に言えば、本出願人の想定するロボットでは、ユーザー負担を軽減する観点から、作業対象物等の厳密な位置決めがされないことになり、特許文献１のように過去に記憶しておいた位置を用いた位置制御では高精度なロボット制御は難しい。
【００４２】
また、撮像画像を用いたロボット制御としては、特許文献２に示したようなビジュアルサーボが知られている。ビジュアルサーボでは、連続的に画像情報を取得し、当該画像情報から取得される情報と、目標となる情報との比較処理の結果をフィードバックする。具体的には、最新の画像情報から取得された情報と、目標となる情報との差が小さくなる方向にロボットを制御する。さらに具体的に言えば、目標に近づくような関節角の変化量等を求め、当該変化量等に従って関節を駆動する制御を行うことになる。
【００４３】
ビジュアルサーボでは撮像画像に対する画像処理結果をフィードバックするため、人間が作業状況を目で見ながら腕や手の動かし方を微調整できるのと同様に、現在の位置姿勢が目標の位置姿勢からずれていたとしても、当該ずれを認識して修正することができる。そのため、高精度でのロボット制御が可能である。
【００４４】
ビジュアルサーボでは、処理においてヤコビアンが用いられることが多い。例えば目標位置や現在位置を表す特徴量ベクトルを［Ｆ］とし、ロボットの関節角ベクトルを［θ］とする。この場合、ヤコビアン［Ｊ］は特徴量ベクトルの差分［ΔＦ］及び関節角ベクトルの差分［Δθ］とを、［ΔＦ］＝［Ｊ］［Δθ］と関連づけるものである。フィードバック処理を用いたロボット制御においては、［ΔＦ］が目標値及び実測値等から求められた場合に、［Δθ］を制御パラメーターとして算出する必要があることから、ヤコビアンの逆行列である逆ヤコビアンを用いることになる。なお、図１０（Ｂ）を用いて後述するように、本実施形態では［Ｆ］と［θ］の関係を、［Ｆ］と［Ｐ］、［Ｐ］と［θ］の２つの関係に分けて考えることで、ヤコビアンもＪθＰとＪＰＦの２つに分けて考えることが想定されるが、ここでは説明を簡略化するため図１０（Ａ）のように［Ｆ］と［θ］の関係を考える。
【００４５】
ここで、［Ｆ］と［θ］は本来非線形な関係であり、ヤコビアンＪは［Ｆ］と［θ］をそれぞれ所与の値を基準とした小さな変化幅に限定することで、［ΔＦ］と［Δθ］を線形な関係として表現するものである。つまり、ある［θｉ］の付近ではヤコビアンＪｉが精度のよい近似として用いることができたとしても、［θｉ］に比べてある程度値が異なる［θｊ］ではヤコビアンＪｉによる近似は精度のよいものとならない。そのため、ビジュアルサーボではアーム等の位置姿勢が変化するごとに、処理に用いるヤコビアンを変化させなくてはならない。
【００４６】
特許文献２では、一連のロボット作業（例えば作業対象物の給材エリアからの取得、作業対象物に対する処理、及び作業対象物の除材エリアへの退避を含む作業）を行うに当たり、必要なヤコビアンをその都度求めている。そのため、ヤコビアンを演算する負荷が過去の作業回数、作業内容等によらず常に大きいものとなり、ロボットの移動速度が遅くなる等の影響が考えられる。
【００４７】
そこで本出願人は、過去に演算したヤコビアンを作業対象物の位置姿勢又はロボットの手先の位置姿勢と関連づけて記憶しておき、必要に応じて再利用することで、ヤコビアン演算の負荷を軽減するロボット等を提案する。具体的には、本実施形態に係るロボット１００は図１に示したように、撮像画像の画像特徴量である撮像画像特徴量を求め、撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボットの制御を行う制御部１１０と、作業対象物又はロボット１００のエンドエフェクター３１９の位置姿勢と、ヤコビアンとを対応づけて記憶する記憶部１２０を含む。
【００４８】
ここで、位置姿勢とは、例えばｘｙｚの３軸における位置、及び各軸周りの回転角ｕｖｗにより表現することができる。作業対象物の位置姿勢とは、作業対象物に設定された基準位置のｘｙｚの３軸における位置と、作業対象物の基準姿勢に対する各軸周りの回転角により表すことができる。エンドエフェクター３１９の位置姿勢も同様であり、エンドエフェクター３１９に設定された基準位置のｘｙｚの３軸における位置と、エンドエフェクター３１９の基準姿勢に対する各軸周りの回転角により表すことができる。
【００４９】
エンドエフェクター３１９による作業対象物の把持位置姿勢が特定されていれば、作業対象物の位置姿勢と、エンドエフェクター３１９の位置姿勢は相互に変換可能である。例えば、作業対象物をＯＢとし、エンドエフェクター３１９による作業対象物ＯＢの把持位置姿勢が図２に示したものであるとわかっていれば、作業対象物ＯＢの位置姿勢とエンドエフェクター３１９の位置姿勢は、一方が決定されれば他方を一意に決定することができる。よって本明細書では、特に断りなく「位置姿勢」という用語を用いた場合には、作業対象物の位置姿勢及びエンドエフェクター３１９の位置姿勢のいずれを指してもよいものとする。
【００５０】
また、目標特徴量とは、目標状態（ゴール状態）を表す特徴量である。目標特徴量は、例えば目標状態での画像（目標画像）に対する画像処理により取得される画像特徴量であってもよい。ただし、目標状態での特徴量が決定されればよいため、目標画像を用いなくてもよい。例えば、目標状態では作業対象物の画像上での座標値が（ｘｇ，ｙｂ）となることがわかっていれば、当該（ｘｇ，ｙｂ）をそのまま目標特徴量とすればよく、目標特徴量の設定において目標画像を用いる必要はない。
【００５１】
図１０（Ａ）、図１０（Ｂ）を用いて後述するように、［Ｆ］と［θ］の関係を作業対象物又はエンドエフェクターの位置姿勢［Ｐ］を介在させて捉えると、ヤコビアンはＪθＰとＪＰＦに分けて考えることができる。このうち、ＪθＰはロボットの構造から解析的に求めることができるため、ヤコビアン演算において負荷が高いのはＪＰＦである。つまり位置姿勢が［Ｐｋ］となったときに、当該［Ｐｋ］に対応するヤコビアンＪＰｋＦを求める処理の負荷が大きいのであるから、ＪＰｋＦが一度求められたのであれば、当該ＪＰｋＦを［Ｐｋ］と対応付けて記憶しておく。そのようにすれば、それ以降の作業において位置姿勢が［Ｐｋ］に充分近い［Ｐｋ’］となったときには、対応するヤコビアンＪＰｋ’Ｆを一から演算する必要はなく、記憶されていたＪＰｋＦを利用すればよい。
【００５２】
つまり本実施形態では、ロボット１００の制御部１１０は、記憶部１２０に記憶されたヤコビアンを読み出し、読み出したヤコビアンと、撮像画像特徴量と、目標特徴量とに基づいて、ロボット１００の制御（具体的にはアーム３１０やエンドエフェクター３１９の制御）を行う。
【００５３】
このようにすれば、過去に演算したヤコビアンを再利用することができるため、ヤコビアン演算の負荷を軽減することができ、ロボット１００の動作を高速化すること等が可能になる。なお、本実施形態の手法を用いた場合であっても、処理タイミングでの位置姿勢に近い位置姿勢でのヤコビアンが記憶されていなければ、処理に必要なヤコビアンを求める必要がある。よってロボット動作の回数が少なく、ヤコビアンの蓄積が充分でない場合には、ロボット動作に時間を要する場合がある。しかし、ロボット動作を繰り返しヤコビアンが蓄積されることで、処理負荷の軽減効果が高くなり、ロボット動作の高速化が可能となる。
【００５４】
以下、本実施形態に係るロボット１００や制御装置２００のシステム構成例を説明し、その後本実施形態の処理の詳細について説明する。
【００５５】
２．システム構成例
図１に示したように、本実施形態に係るロボット１００は、制御部１１０と、記憶部１２０と、ロボット機構３００を含み、ロボット機構３００は、例えばアーム３１０とエンドエフェクター３１９を含む。ただしロボット１００は、図１の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。また、種々の変形実施が可能な点は図３等の構成例についても同様である。
【００５６】
記憶部１２０は、制御部１１０等のワーク領域となるもので、その機能はＲＡＭ等のメモリーやＨＤＤ（ハードディスクドライブ）などにより実現できる。記憶部１２０は、上述したようにヤコビアンを位置姿勢と対応付けて記憶する。また、図１４等を用いて後述するように、付加情報としてタイムスタンプやカウンター数、ゲイン量等をヤコビアン及び位置姿勢と対応付けて記憶してもよい。
【００５７】
また、本実施形態の手法は図３に示したように、撮像画像の画像特徴量である撮像画像特徴量を求め、撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボット１００の制御を行う制御部２１０と、作業対象物又はロボット１００のエンドエフェクター３１９の位置姿勢と、ヤコビアンとを対応づけて記憶する記憶部２２０を含む制御装置２００に適用できる。この場合、制御装置２００の制御部２１０は、適宜記憶部２２０に記憶されたヤコビアンを再利用して、ロボット１００を動作させるための動作パラメーター（例えばアーム３１０に含まれる各関節の駆動量等）を求め、当該動作パラメーターを用いてロボット１００のアーム３１０等の制御を行う。
【００５８】
また、本実施形態の手法は、ロボット１００と、撮像画像の画像特徴量である撮像画像特徴量を求め、撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボット１００の制御を行う制御部２１０と、作業対象物又はロボット１００のエンドエフェクター３１９の位置姿勢と、ヤコビアンとを対応づけて記憶する記憶部２２０と、を含むロボットシステムに適用できる。ここでのロボットシステムとは、図３の全体に相当するシステムであってもよく、ロボット１００と、ロボット１００の制御を行う制御装置２００を含んでもよい。また、ここでは制御部が制御装置２００に含まれる制御部２１０であり、記憶部２２０が制御装置２００に含まれる記憶部２２０であるものとしたがこれには限定されない。例えばロボットシステムの制御部は、ロボット１００に含まれる制御部１１０であってもよいし、ロボットシステムの記憶部は、ロボット１００に含まれる記憶部１２０であってもよい。或いは、制御部及び記憶部の機能が、ロボット１００と制御装置２００の分散処理により実現されてもよい。或いは、ロボットシステムが図３の不図示の他の機器（例えばサーバーシステム）を含む場合に、制御部や記憶部が当該他の機器に含まれてもよい。
【００５９】
ここでのロボットとは、図４に示したように、ＰＣ等の装置４００と、ロボット本体５００と、を含むロボットであってもよい。図４の構成であれば、装置４００に図１等の制御部１１０が含まれる、或いは装置４００が図３に示した制御装置２００に対応することになる。そしてロボット本体５００は、アーム３１０と、エンドエフェクター３１９を含む。
【００６０】
なお、本実施形態に係るロボット１００の構成例は図４に限定されない。例えば、図５に示したように、ロボット１００は、ロボット本体５００と、ベースユニット部５５０を含んでもよい。本実施形態に係るロボットは図５に示したように双腕ロボットであってもよく、頭部や胴体に相当する部分に加え、第１のアーム３１０と第２のアーム３２０を含む。図５では第１のアーム３１０は、関節３１１，３１３と、関節の間に設けられるフレーム３１５，３１７から構成され、第２のアーム３２０についても同様のものとしたがこれに限定されない。なお、図５では２本のアームを有する双腕ロボットの例を示したが、本実施形態のロボットは３本以上のアームを有してもよい。
【００６１】
ベースユニット部５５０は、ロボット本体５００の下部に設けられ、ロボット本体５００を支持する。図５の例では、ベースユニット部５５０には車輪等が設けられ、ロボット全体が移動可能な構成となっている。ただし、ベースユニット部５５０が車輪等を持たず、床面等に固定される構成であってもよい。図５のロボットシステムでは、ベースユニット部５５０に図４に示した装置４００が格納されることで、ロボット本体５００と装置４００とが一体として構成される。
【００６２】
或いは、ＰＣ等の装置４００のように、特定の制御用の機器を設けることなく、ロボットに内蔵される基板（更に具体的には基板上に設けられるＩＣ等）により、上記の制御部１１０を実現するとともに、ロボット制御を実行するロボットが考えられる。
【００６３】
また、図６に示すように、制御装置２００やロボットの制御部１１０等（以下制御装置等）の機能は、有線及び無線の少なくとも一方を含むネットワーク６００を介して、ロボットと通信接続されたサーバー７００により実現されてもよい。
【００６４】
或いは本実施形態では、本発明の制御装置等の処理の一部を、サーバー７００側の制御装置等が行ってもよい。この場合には、ロボット側に設けられた制御装置等との分散処理により、当該処理を実現する。
【００６５】
そして、この場合に、サーバー７００側の制御装置等は、本発明の制御装置等における各処理のうち、サーバー７００の制御装置等に割り当てられた処理を行う。一方、ロボットに設けられた制御装置等は、本発明の制御装置等の各処理のうち、ロボットの制御装置等に割り当てられた処理を行う。
【００６６】
例えば、本発明の制御装置等が第１〜第Ｍ（Ｍは整数）の処理を行うものであり、第１の処理がサブ処理１ａ及びサブ処理１ｂにより実現され、第２の処理がサブ処理２ａ及びサブ処理２ｂにより実現されるように、第１〜第Ｍの各処理が複数のサブ処理に分割できる場合を考える。この場合、サーバー７００側の制御装置等がサブ処理１ａ、サブ処理２ａ、・・・サブ処理Ｍａを行い、ロボット側に設けられた制御装置等がサブ処理１ｂ、サブ処理２ｂ、・・・サブ処理Ｍｂを行うといった分散処理が考えられる。この際、本実施形態に係る制御装置等、すなわち、第１〜第Ｍの処理を実行する制御装置等とは、サブ処理１ａ〜サブ処理Ｍａを実行する制御装置等であってもよいし、サブ処理１ｂ〜サブ処理Ｍｂを実行する制御装置等であってもよいし、サブ処理１ａ〜サブ処理Ｍａ及びサブ処理１ｂ〜サブ処理Ｍｂの全てを実行する制御装置等であってもよい。更にいえば、本実施形態に係る制御装置等は、第１〜第Ｍの処理の各処理について、少なくとも１つのサブ処理を実行する制御装置等である。
【００６７】
これにより、例えばロボット側の端末装置（例えば図３の制御装置２００）よりも処理能力の高いサーバー７００が、処理負荷の高い処理を行うこと等が可能になる。さらに、サーバー７００が各ロボットの動作を一括して制御することができ、例えば複数のロボットに協調動作をさせること等が容易になる。
【００６８】
また近年は、多品種少数の部品を製造することが増えてきている。そして、製造する部品の種類を変更する場合には、ロボットが行う動作を変更する必要がある。図６に示すような構成であれば、複数のロボットの各ロボットへ教示作業をし直さなくても、サーバー７００が一括して、ロボットが行う動作を変更すること等が可能になる。さらに、各ロボットに対して一つの制御装置２００等を設ける場合に比べて、制御装置２００等のソフトウェアアップデートを行う際の手間を大幅に減らすこと等が可能になる。
【００６９】
３．処理の詳細
本実施形態の処理の詳細について説明する。まず前提として一般的に用いられているヤコビアンを利用したロボットの制御（ビジュアルサーボ）を説明する。次に、本実施形態の手法であるヤコビアンの記憶及び再利用について図１１のフローチャート等を用いて説明する。さらに図１１のＳ１０５に対応するヤコビアンの修正処理について説明した後、ヤコビアンに対応付けて記憶される付加的な情報について説明する。最後に、ヤコビアンの再利用における変形例を説明する。
【００７０】
３．１  ヤコビアンを用いたロボットの制御
本実施形態に係る手法を説明する前に、一般的なビジュアルサーボ制御について説明する。ビジュアルサーボに用いる画像特徴量の次元数をｎ（ｎは整数）とした場合に、画像特徴量ＦはＦ＝［Ｆ１，Ｆ２，・・・，Ｆｎ］Ｔとなる画像特徴量ベクトルで表現される。Ｆの各要素は、例えば特徴点（制御点）の画像における座標値等を用いればよい。この場合、目標特徴量Ｆｇも同様に、Ｆｇ＝［Ｆｇ１，Ｆｇ２，・・・，Ｆｇｎ］Ｔと表現される。
【００７１】
また、関節角についても、ロボット１００（狭義にはアーム３１０）に含まれる関節数に対応する次元数の関節角ベクトルとして表現される。例えば、アーム３１０が６つの関節を有する６自由度のアームであれば、関節角ベクトルθは、θ＝［θ１，θ２，・・・，θ６］Ｔと表現される。
【００７２】
ビジュアルサーボでは、現在の画像特徴量Ｆが取得された場合に、当該画像特徴量Ｆと目標特徴量Ｆｇとの差分をロボットの動きへフィードバックする。具体的には、画像特徴量Ｆと目標特徴量Ｆｇの差分を小さくする方向にロボットを動作させる。そのためには、関節角θをどのように動かせば、画像特徴量Ｆがどのように変化する、という関係性を知らなくてはならない。一般的にこの関係性は非線形となり、例えばＦ１＝ｇ（θ１，θ２，θ３，θ４，θ５，θ６）となる場合に、関数ｇは非線形関数となる。
【００７３】
そこで、ビジュアルサーボにおいてヤコビアンＪを用いる手法が広く知られている。２つの空間が非線形な関係にあっても、それぞれの空間での微少な変化量の間は線形な関係で表現することができる。ヤコビアンＪはその微少変化量同士を関連づけるものである。
【００７４】
具体的には、ロボット１００の手先の位置姿勢ＰをＰ＝［ｘ，ｙ，ｚ，ｕ，ｖ，ｗ］Ｔとした場合に、関節角の変化量と位置姿勢の変化量の間のヤコビアンＪθＰは、下式（１）で表現され、位置姿勢の変化量と画像特徴量変化量の間のヤコビアンＪＰＦは、下式（２）で表現される。
【数１】
2015131367.tif 000003
【数２】
2015131367.tif 000004
【００７５】
そして、ＪθＰ，ＪＰＦを用いることで、Δθ、ΔＰ、ΔＦの関係を下式（３）、（４）のように表記できる。ＪθＰは一般的にロボットヤコビアンと呼ばれるものであり、ロボット１００のリンク長や回転軸等の機構情報があれば解析的に算出することが出来る。一方、ＪＰＦは事前にロボット１００の手先の位置姿勢を微少量変化させた際の画像特徴量の変化などから推測することが出来るし、ＪＰＦを動作中に随時推定する手法も提案されている。
ΔＰ＝ＪθＰΔθ  ・・・・・（３）
ΔＦ＝ＪＰＦΔＰ  ・・・・・（４）
【００７６】
さらに、上式（３）、（４）を用いることで、画像特徴量変化量ΔＦと、関節角の変化量Δθの関係を下式（５）のように表現できる。
ΔＦ＝ＪθＦΔθ  ・・・・・（５）
【００７７】
ここで、ＪθＦ＝ＪθＰＪＰＦであり、関節角の変化量と画像特徴量変化量の間のヤコビアンを表す。また、ＪθＦを画像ヤコビアンと表記することもある。上式（３）〜（５）の関係性を図示したものが図７である。
【００７８】
以上をふまえると、制御部１１０では、ＦとＦｇの差分をΔＦとして、関節角の駆動量（関節角の変化量）Δθを求めればよい。このようにすれば、画像特徴量ＦをＦｇに近づけるための関節角の変化量を求めることができる。具体的には、ΔＦからΔθを求めるため、上式（５）の両辺に左からＪθＦの逆行列ＪθＦ−１をかければよいが、さらに制御ゲインをλを考慮して、下式（６）により目標となる関節角の変化量Δθｇを求める。
Δθｇ＝−λＪθＦ−１（Ｆ−Ｆｇ）  ・・・・・（６）
【００７９】
なお、上式（６）ではＪθＦの逆行列ＪθＦ−１を求められるものとしているが、ＪθＦ−１を求められない場合には、ＪθＦの一般化逆行列（疑似逆行列）ＪθＦ＃を用いてもよい。
【００８０】
上式（６）を用いることで、新たな画像が取得されるごとに、新たなΔθｇが求められる。よって、取得した画像を用いて、目標となる関節角を更新しながら、ゴール状態（画像特徴量がＦｇとなる状態）に近づける制御を行うことが可能になる。この流れを図示したものが図８である。第ｍ−１の画像（ｍは整数）から画像特徴量Ｆｍ−１が求められれば、上式（６）のＦ＝Ｆｍ−１とすることでΔθｇｍ−１を求めることができる。そして、第ｍ−１の画像と、次の画像である第ｍの画像の間で、求めたΔθｇｍ−１を目標としてロボット１００の制御を行えばよい。そして、第ｍの画像が取得されたら、当該第ｍの画像から画像特徴量Ｆｍを求め、上式（６）により新たな目標であるΔθｇｍを算出する。算出したΔθｇｍは、第ｍの画像と第ｍ＋１の画像の間で制御に用いられる。以下、この処理を収束するまで（画像特徴量がＦｇに充分近づくまで）継続すればよい。
【００８１】
３．２  記憶部に記憶されたヤコビアンの利用
上述のビジュアルサーボの説明では、ヤコビアンとしてＪθＦを用いるものとしたが、本実施形態においては、上式（３）、（４）に示したように、ヤコビアンをＪθＰとＪＰＦに分離して考える。
【００８２】
本来、θとＦとの間の非線形性は非常に強いものである。そのため、ＪθＦが精度のよい近似となる領域は狭くなってしまい、ＪθＦを関節角θに対応付けて記憶しておいても、当該ＪθＦを再利用することが困難になってしまう。具体的には、所与の関節角θｋ（ここでのθｋは例えば７つの関節角により表現されるベクトル）に対応付けてヤコビアンＪθＦｋが記憶されていたとしても、当該ヤコビアンＪθＦｋを再利用できるのは、関節角がθｋに非常に近い範囲に限定されてしまう。そのため、記憶しているヤコビアンが再利用される頻度が低くなってしまう。また、所与の関節角においてヤコビアンの一からの演算をスキップするためには、非常に多くのヤコビアンを記憶する（例えば関節角に関する空間を図９のように格子状に分割する際に、格子１つ当たりのサイズが非常に小さくなる）ことになりメモリー容量を圧迫する等のおそれがある。
【００８３】
ここで、図１０（Ａ）に示すθとＦの関係は、位置姿勢Ｐを介在させることで、図１０（Ｂ）に示すように非線形性の非常に強いθとＰの関係、及び非線形性の非常に弱いＰとＦの関係に分離して考えることができる。そして、ＪＰＦを位置姿勢Ｐと対応付けて記憶しておくものとすれば、ＰとＦの非線形性は弱いため、ＪＰＦがよい近似となる領域を広くすることができ再利用が容易である。つまり本実施形態においては、再利用が容易なＪＰＦをＰと対応付けて記憶しておき、ΔＦから実際のロボット制御に必要な動作パラメーター（例えばΔθ）を求める際には、必要に応じてＪθＰを解析的に求めて用いるものとする。
【００８４】
まず本実施形態では、位置姿勢Ｐに関する空間を局所領域に分割する。これは例えば図９に示したように空間を格子状に分割すればよい。この局所領域は、当該局所領域内の位置姿勢であれば１つのヤコビアンが精度のよい近似となるようにサイズ設定が行われる。このようにすれば、所与の局所領域内の１つの位置姿勢においてヤコビアンが求められた場合、当該ヤコビアンは当該所与の局所領域内の他の位置姿勢においても、精度のよい近似として再利用することが可能となる。上述したように、ＪＰＦを用いることで、ＪθＦを用いる場合に比べて局所領域サイズを大きくすることが可能である。
【００８５】
なお、図９では３次元空間に設定された格子状の領域を示したが、位置姿勢Ｐは（ｘ，ｙ，ｚ，ｕ，ｖ，ｗ）の６次元となるため、局所領域も６次元空間に対して設定されるものである。
【００８６】
図１１に本実施形態の処理を説明するフローチャートを示す。この処理が開始されると、まず目標となる情報が取得される（Ｓ１０１）。ここで目標となる情報とは、例えば目標特徴量や目標特徴量に対応する位置姿勢である。そして、現在の位置姿勢に対応するヤコビアンが記憶部１２０に記憶されているか否かの判定を行う（Ｓ１０２）。具体的には、現在の位置姿勢が含まれる局所領域に対して、ヤコビアンが記憶されているかを判定する。すなわち、現在の位置姿勢と、記憶されているヤコビアンに対応付けられた位置姿勢は完全一致する必要はなく、局所領域サイズに対応する程度の誤差があってもよい。上述したように、ヤコビアンを用いることによる誤差が問題とならないように、局所領域が設定されることを前提とするためである。
【００８７】
対応するヤコビアンが記憶されている場合には、当該ヤコビアンを記憶部１２０から読み出し（Ｓ１０３）、ビジュアルサーボを実行する。この際、本実施形態では、ＪＰＦが読み出されることになるため、実際の動作パラメーター（例えばΔθ）を求めるために、ロボットヤコビアンＪθＰが必要となる点は上述したとおりである。ＪθＰは例えばその都度解析的に求めてもよいし、ＪθＰはロボットの構造が既知であれば計算可能であるから、種々のθに対して、ＪθＰを事前に（ロボット動作前に）求めておいてもよい。いずれにせよ、本実施形態におけるヤコビアン演算の負荷とは、解析的に求めることができないＦに関するヤコビアンの負荷を問題としており、ＪθＰの演算負荷は大きな問題とならない。
【００８８】
ヤコビアンが取得されたら、ビジュアルサーボを行い、その結果ロボットがゴールに近づいたかを判定する（Ｓ１０４）。ゴールに近づいた場合（Ｓ１０４でＹｅｓの場合）には、処理に用いたヤコビアンは適切なものであるとして、カウンターの更新処理（Ｓ１０６）及びタイムスタンプの更新処理（Ｓ１０７）を行う。一方、ゴールに近づいていない場合（Ｓ１０４でＮｏの場合）には、処理に用いたヤコビアンが適切でないものとしてヤコビアンの修正処理を行う（Ｓ１０５）。Ｓ１０５の修正処理の詳細については後述する。Ｓ１０５の処理後はタイムスタンプの更新処理が行われる（Ｓ１０７）。
【００８９】
カウンター数及びタイムスタンプは、ヤコビアンに対応付けられて記憶部１２０に記憶される情報である。カウンター数及びタイムスタンプの詳細については後述する。また、Ｓ１０８及びＳ１０９の処理はカウンター数を用いたものであるため、この処理についても後述する。いずれにせよ、Ｓ１０３〜Ｓ１０９のステップは、現在の位置姿勢に対応するヤコビアンが記憶部１２０に記憶されているケースであり、この場合ヤコビアンを一から演算する必要がないため処理負荷を軽減することが可能である。
【００９０】
以上をまとめると、本実施形態の制御部１１０は、処理タイミングにおける作業対象物又はエンドエフェクター３１９の位置姿勢に対応するヤコビアンが、記憶部１２０に記憶されているか否かの判定を行い、対応するヤコビアンが記憶されている場合に、撮像画像特徴量と目標特徴量との差分情報（ΔＦ）と、記憶部１２０から読み出したヤコビアンとに基づいて、ロボット１００の動作パラメーター（例えばΔθ）を求め、動作パラメーターに従って、ロボット１００の制御を行うものとなる。
【００９１】
一方、現在の位置姿勢に対応するヤコビアンが記憶部１２０に記憶されていない場合（Ｓ１０２でＮｏの場合）には、新規にヤコビアンを生成（演算）する（Ｓ１１０）。これは例えば、現在の位置姿勢から、（ｘ，ｙ，ｚ，ｕ，ｖ，ｗ）のそれぞれを独立に微小変化させた際の画像特徴量Ｆの変化を求めればよい。その他、実測値を用いてヤコビアンを演算する手法は種々知られているため、詳細な説明は省略する。
【００９２】
Ｓ１１０でヤコビアンが演算されたら、記憶部１２０のうちヤコビアンに関する記憶領域（エントリー）に空きがあるか否かを判定する（Ｓ１１１）。空きがある場合（Ｓ１１１でＹｅｓの場合）には、当該空き領域に、ヤコビアンを現在の位置姿勢に対応付けて記憶するとともに、当該ヤコビアンに対応するタイムスタンプを現時刻に設定し、カウンターを初期値にリセットする（Ｓ１１３）。ここでのカウンター数やタイムスタンプはＳ１０６等で用いられるものと同様であり、詳細については後述する。
【００９３】
一方、エントリーに空きがない場合（Ｓ１１１でＮｏの場合）には、いずれかのエントリーを削除して空きを作り（Ｓ１１２）、当該空き領域に対してＳ１１０で求めたヤコビアンを、位置姿勢やカウンター数等と対応付けて記憶する（Ｓ１１３）。Ｓ１１２の処理の詳細については後述する。
【００９４】
以上をまとめると、本実施形態の制御部１１０は、処理タイミングにおける作業対象物又はエンドエフェクター３１９の位置姿勢に対応するヤコビアンが、記憶部１２０に記憶されていない場合に、処理タイミングの位置姿勢に対応するヤコビアンを求め、記憶部１２０は、求めたヤコビアンを、処理タイミングにおける作業対象物又はエンドエフェクター３１９の位置姿勢に対応づけて記憶するものとなる。
【００９５】
このような処理を行うことで、現在の位置姿勢に対応するヤコビアンが既にある場合には、Ｓ１０３〜Ｓ１０９のように当該ヤコビアンを再利用し、対応するヤコビアンがない場合にはＳ１１０〜Ｓ１１３のようにヤコビアンを新規に演算することができる。よって、ヤコビアンを用いたロボット制御（ビジュアルサーボ）を適切に行いつつ、特許文献２等の従来手法に比べてヤコビアン演算に関する負荷を軽減することが可能になる。
【００９６】
図１１の処理の流れを具体例を用いて説明する。以下では、説明を簡略化するために図１２に示すように位置姿勢を２次元空間として、平面格子状の領域を局所領域とするが、上述したように処理上は６次元空間等に拡張して考えればよい。
【００９７】
図１２に示したようにａ１〜ｆ６の局所領域が設定されている場合に、ｆ１をスタートとしてａ５まで移動するロボット制御を行うことを考える。その際、過去のロボット制御において演算が行われ、且つ現在まで削除されていないヤコビアンとして、Ｊａ２，Ｊｂ２，Ｊｄ３，Ｊｅ２，Ｊｅ３，Ｊｆ１，Ｊｆ２が記憶部１２０に記憶されているとする。ここでＪｘｙ（ｘはａ〜ｆのいずれかであり、ｙは１から５のいずれか）とは、局所領域ｘｙに対応するヤコビアンを表す。
【００９８】
この場合、スタート後は位置姿勢がｆ１に含まれるため、対応するヤコビアンＪｆ１は記憶部１２０に記憶されている。よって、Ｓ１０３〜Ｓ１０９に対応する処理が行われることになり、Ｊｆ１（及び対応するロボットヤコビアンＪθＰ）を用いて動作パラメーターを求め、当該動作パラメーターに基づきロボット１００が制御される。
【００９９】
その後、図１２の曲線に示したように、位置姿勢が局所領域ｆ２に含まれるものとなった場合、ｆ２に対応するヤコビアンが記憶されているかの判定が行われる。この場合もＪｆ２は記憶されているため、Ｓ１０３〜Ｓ１０９に対応する処理となる。
【０１００】
このようにロボットを制御していった結果、作業対象物又はエンドエフェクター３１９は、図１２の曲線の軌道に従い、ｆ１→ｆ２→ｅ２→ｄ３と移動していき、この間は対応するヤコビアンが記憶済みであるため、ヤコビアンの新規演算は不要となる。しかし、図１２の例では、Ｊｄ３を用いて制御を行った結果、位置姿勢はｃ３に含まれる位置姿勢となり、この場合、対応するＪｃ３は記憶部１２０に記憶されていない。
【０１０１】
このような状況では、図１１のＳ１１０〜Ｓ１１３に対応する処理が行われることになり、具体的には現在の位置姿勢に対応するヤコビアンを新規演算し、Ｊｃ３として位置姿勢に対応付けて記憶する。この際、Ｓ１１２の処理が行われるのであれば、既存のヤコビアンのいずれかを削除してからＪｃ３が記憶されることになる。
【０１０２】
図１２の例では、求めたＪｃ３を用いた制御により位置姿勢が局所領域ｂ３に移動し、ここでも対応するヤコビアンが記憶されていないためＪｂ３を新規演算する。以下同様であり、ａ３，ａ４，ａ５についてもヤコビアンを新規演算しつつロボットを制御することで、ａ５まで作業対象物又はエンドエフェクター３１９を移動させることになる。
【０１０３】
図１２に示したロボット動作が終了し、さらに次のロボット動作が行われる場合には、図１２のロボット動作終了時のヤコビアンが再利用の対象となる。例えば、Ｓ１１２の削除処理が行われなかったのであれば、図１２の動作以前に記憶されていたＪａ２，Ｊｂ２，Ｊｄ３，Ｊｅ２，Ｊｅ３，Ｊｆ１，Ｊｆ２に加えて、Ｊｃ３，Ｊｂ３，Ｊａ３，Ｊａ４，Ｊａ５もそれ以降のロボット動作において再利用可能となる。つまり、記憶容量の許す限りにおいては、ロボット動作を繰り返すほどヤコビアンの蓄積が進む傾向となるため、後の動作ほどヤコビアンの新規演算の可能性が低く、高速でのロボット動作等が可能となる。
【０１０４】
なお、以上の説明では現在の位置姿勢に対応するヤコビアンが記憶部１２０されているか否かを、（ｘ，ｙ，ｚ，ｕ，ｖ，ｗ）の６次元空間における局所領域を用いて判定していた。これは言い換えれば、各ヤコビアンを（ｘ，ｙ，ｚ，ｕ，ｖ，ｗ）をインデックスとして記憶しておき、現在の位置姿勢に対応するヤコビアンの有無をインデックスを利用して探索する処理と考えることができる。しかし、インデックスとして位置姿勢の６次元を全て用いる必要はなく、（ｘ，ｙ，ｚ）の３次元だけを用いてもよい。この場合、ｘｙｚの３次元空間を局所領域に分割し、現在の位置に対応する局所領域に対応するヤコビアンが記憶されているか否かを判定すればよいことになる。
【０１０５】
これは例えば、局所領域が設定される３次元空間に設定される直交座標系と、ロボットのエンドエフェクター３１９の姿勢（ロボットの手先座標系）の間で変換処理を行うことで実現できる。具体的には、所与の位置姿勢（ｘ，ｙ，ｚ，ｕ，ｖ，ｗ）に対応するヤコビアンが演算された場合に、位置姿勢のうちの姿勢部分（ｕ，ｖ，ｗ）をｘｙｚ空間に規定される所与の直交座標系に対応する姿勢とする変換処理を行った上で記憶しておく。演算されたヤコビアンに対応する姿勢は通常一定ではなく、種々の姿勢が考えられるが、これを所与の基準姿勢に統一してしまう処理に対応する。この場合、ヤコビアンの記憶において姿勢を考慮しなくてもよいため、ヤコビアンに対応付けられるインデックスはｘｙｚの３つでよく、これは図９に示したように局所領域が３次元空間に設定されることに相当する。
【０１０６】
そして記憶したヤコビアンを読み出して利用する際に、その際のロボットの姿勢と上記基準姿勢との関係を用いて変換処理を行う。ｘｙｚの３つをインデックスとしたヤコビアンは、エンドエフェクター３１９の姿勢が上記基準姿勢であるという条件で精度よく用いることができるものであり、任意の姿勢で用いることができるものではない。しかし、ロボット自身はエンドエフェクター３１９の姿勢を知ることができるのであるから、当該姿勢と上記基準姿勢との間での相互変換は容易なことである。つまり、ｘｙｚをインデックスとして記憶されたヤコビアンを、現在のｘｙｚを用いて探索するとともに、対応するヤコビアンが見つかった場合には、そのまま利用するのではなく、上記基準姿勢を現在の姿勢とするような変換処理を加えた上で利用すればよい。このようにすれば、ヤコビアンに対応付けて記憶する位置姿勢（インデックス）は、（ｘ，ｙ，ｚ，ｕ，ｖ，ｗ）の６つではなく、（ｘ，ｙ，ｚ）の３つとすることができるため、所望のヤコビアンの探索を容易にすることが可能である。
【０１０７】
なお、インデックスを（ｘ，ｙ，ｚ）の３つだけにすると言っても、姿勢を所与の基準姿勢に統一して処理を行っているに過ぎず、姿勢に関する情報が完全に失われているものではない。つまりこの場合であっても、各ヤコビアンに対して姿勢に関する情報が関連づけられている点に変わりはない。よって、本明細書における「作業対象物又はロボットのエンドエフェクターの位置姿勢と、ヤコビアンとを対応づけて記憶する」との記載は、ヤコビアンのインデックスとして（ｘ，ｙ，ｚ，ｕ，ｖ，ｗ）の６つを用いるケースと、（ｘ，ｙ，ｚ）の３つを用いるケースの両方を含む概念である。
【０１０８】
３．３  ヤコビアンの修正処理
次に、図１１のＳ１０５に対応するヤコビアンの修正処理について説明する。Ｓ１０５に示したように、制御部１１０は、ビジュアルサーボが成功していない場合に、ヤコビアンを修正する修正処理を行い、記憶部１２０は、修正処理後のヤコビアンを、作業対象物又はエンドエフェクター３１９の位置姿勢に対応づけて記憶する。ここで、ビジュアルサーボが成功したか否かは、ヤコビアンを用いたロボット１００の制御を行うことで求められる撮像画像特徴量と、ヤコビアンから推定される暫定目標特徴量との差分値が所与の閾値よりも大きいか否かを判定すればよく、差分値が閾値以下である場合にビジュアルサーボが成功したと判定する。
【０１０９】
説明を容易にするため、以下ではまず図１３に示したように１次元の場合を考える。図１３のｘは実際にはＰ或いはθに対応するため、６次元や７次元の変数となる。また、Ｆについても実際には画像特徴量に対応するため、一般的に次数は１次よりも大きいものとなる。
【０１１０】
図１３に示したように、所与のタイミングｎにおいて、変数の値がｘｎであり、画像特徴量はＦ（ｘｎ）＝Ｆｎであったとする。さらに、ｘｎでのヤコビアンがＪｎであり、Ｊｎは図１３のＡ１に示した直線に対応するものであったとする。なお、ヤコビアンは１次微分項の係数に対応するものであるため、図１３の例であればＪｎは直線Ａ１の傾きに対応する。
【０１１１】
この場合、次のタイミングｎ＋１での画像特徴量の目標値がＦｎ＋１であったとすると、Ａ１に対応するヤコビアンＪｎを用いることで、変数ｘｎをΔｘだけ変更すれば、変更後の変数ｘｎ＋１（＝ｘｎ＋Δｘ）において画像特徴量が目標値Ｆｎ＋１となることが期待されるｘｎ＋１（或いはΔｘ）を求めることができる。ここでのＦｎ＋１が上述した暫定目標特徴量に対応する。
【０１１２】
しかしながら、ヤコビアンＪｎには誤差が含まれたため、変数をｘｎ＋１に変更した場合に、画像特徴量は期待したＦｎ＋１にはならず、Ｆ＊ｎ＋１＝Ｆ（ｘｎ＋１）となってしまった。この場合、ｘｎにおいて用いるべきであったヤコビアンＪｎは、Ａ１ではなくＡ２の方が適切と考えられる。Ａ２は図１３からわかるように、ｘｎからｘｎ＋１に変数を変更した場合に、画像特徴量Ｆの変化を正確に（少なくとも実測値に合致するように）変更するものだからである。
【０１１３】
よってヤコビアンの修正処理としては、実際に用いた変数ｘｎとｘｎ＋１（Δｘ）、及び実際に取得された特徴量Ｆｎ、Ｆ＊ｎ＋１、及び期待された特徴量Ｆｎ＋１を用いて、Ａ１に対応するＪｎをＡ２に対応するＪｎ＋１に変更する処理を行えばよい。具体的には、修正後のヤコビアンＪｎ＋１は、直線Ａ２の傾きとなるのであるから、下式（７）或いは下式（７）を変形した下式（８）を用いればよい。
【数３】
2015131367.tif 000005
【数４】
2015131367.tif 000006
【０１１４】
実際の処理に用いる際には、上述したようにＦを画像特徴量の次元数に拡張するとともに、ＸをＰ又はθの次元数に拡張すればよい。具体的には、上式（７）を下式（９）に拡張する、或いは上式（８）を下式（１０）に拡張すればよい。
【数５】
2015131367.tif 000007
【数６】
2015131367.tif 000008
【０１１５】
なお、ここで説明したヤコビアンの修正処理は一例であり、他の手法を用いてもよい。具体的には、Broyden's method等の非線形最適化手法を広く適用することが可能である。
【０１１６】
３．４  付加的な情報
次に、ヤコビアンに対応付けて記憶される付加的な情報について説明する。図１１のＳ１０６に示したように、記憶部１２０は、ヤコビアンを用いたロボット１００の制御が行われた回数を表すカウンター情報を、ヤコビアンとを対応づけて記憶する。
【０１１７】
なお、Ｓ１０６の処理が、Ｓ１０４でＹｅｓの場合（ビジュアルサーボが成功した場合）に行われ、Ｓ１０４でＮｏの場合に行われないことから、カウンター情報（カウンター数）は、対応するヤコビアンが処理に用いられ、且つ当該処理が成功した（例えば当該処理により目標状態に適切に近づいた）回数であると考えることができる。
【０１１８】
つまり、本実施形態の制御部１１０は、ヤコビアンを用いたロボット１００の制御を行うことで求められる撮像画像特徴量と、ヤコビアンから推定される暫定目標特徴量との差分値が所与の閾値以下である場合に、ヤコビアンに対応づけられたカウンター情報を増加させる更新処理を行う。ここで暫定目標特徴量とは、図１３におけるＦｎ＋１に対応するものであり、当該ヤコビアンに全く誤差がなければ、撮像画像特徴量が当該値となることが期待される特徴量である。なお、上式（６）に示したように、一般的には１以下のゲイン量λが演算に用いられるため、暫定目標特徴量はゴール状態に対応する目標特徴量とは異なる値となる。
【０１１９】
つまり、ヤコビアンに対応付けられたカウンター数が大きいことは、当該ヤコビアンにより適切な処理が多くの回数行われたことを表す。よって本実施形態では、制御部１１０は、ヤコビアンを用いた処理により求められる動作パラメーターの値を、ヤコビアンに対応づけられたカウンター情報に基づいて調整してもよい。具体的には、上式（６）に示したゲイン量λの値を大きくすることが考えられる。ゲイン量を大きくすることで、対応するヤコビアンを用いた処理において一度にロボット１００を移動させる距離が大きくなる。通常、移動距離を大きくしてしまうと理想的な移動に対する誤差が大きくなってしまうが、カウンター数が大きく、精度が高いと推定されるヤコビアンについては、当該誤差を小さく抑えることが可能である。また、ゲイン量を大きくし、それに伴い移動量を大きくすれば、ロボット１００を高速で目標状態とすること等も可能になる。
【０１２０】
この処理を示したものが図１１のＳ１０８及びＳ１０９であり、Ｓ１０８ではカウンター数と所与の閾値との比較処理を行い、カウンター数が閾値よりも大きければゲイン量を更新する（Ｓ１０９）。具体的にはゲイン量を大きくする更新処理を行えばよい。なお、Ｓ１０９ではゲイン量を大きくするとともに、カウンター数をリセットしている。このようにすれば、所与のヤコビアンに対応付けられたゲイン量が連続的に大きくなることを抑止できる。また、ゲイン量を大きくすることで誤差も大きくなるため、そのような状況でも当該ヤコビアンが精度の高いものか否かを再度判定することが可能になる。
【０１２１】
また、Ｓ１０７に示したように付加情報としてタイムスタンプを用いてもよい。具体的には、記憶部１２０は、ヤコビアンを用いた処理が行われたタイミングを表すタイムスタンプ情報を、ヤコビアンとを対応づけて記憶し、制御部１１０は、ヤコビアンを用いたロボット１００の制御を行った場合に、ヤコビアンに対応づけられたタイムスタンプ情報を更新する処理を行う。さらに具体的には、Ｓ１０７において、ヤコビアンを用いた処理のタイミング（例えばＳ１０３における演算タイミングであってもよいし、Ｓ１０７の処理が行われるタイミングであってもよい）を用いてタイムスタンプ情報を上書きする処理を行えばよい。このようにすれば、記憶部１２０に記憶されるヤコビアンのそれぞれについて、当該ヤコビアンが最後に処理に用いられたタイミングを特定することが可能になる。
【０１２２】
その場合、Ｓ１１２に示したように、記憶容量に限界がある場合に、タイムスタンプを基準として削除対象のヤコビアンを決定することが可能になる。具体的には、制御部１１０は、タイムスタンプ情報に基づいて、記憶部１２０から削除されるヤコビアンを決定する処理を行う。さらに具体的には、記憶されたヤコビアンのうち、タイムスタンプが最も古いヤコビアンを削除対象とすればよい。
【０１２３】
なお、図１１のフローチャート及び以上の説明では、カウンター数はゲイン量の設定に用いられ、タイムスタンプが削除対象の決定に用いられるものとしたがこれには限定されない。カウンター数を削除対象の決定に用いたり、タイムスタンプに応じてゲイン量の変動度合いを制御することも可能であるし、カウンター数やタイムスタンプを他の指標値に関する処理において用いることも可能である。
【０１２４】
図１４に本実施形態の記憶部１２０に記憶されるデータ構造の例を示す。記憶部１２０は、ヤコビアンを、位置姿勢と、カウンター数と、タイムスタンプと、ゲイン量とに関連づけて記憶する。ヤコビアンは、例えば位置姿勢の変化量と画像特徴量の変化量を対応付けるものであり、位置姿勢の次元数及び画像特徴量の次元数に対応する行列となる。位置姿勢は例えば（ｘ，ｙ，ｚ，ｕ，ｖ，ｗ）の６次元により表現される。ただし、上述したように所与の基準姿勢をインデックスとして用いる例であれば、姿勢情報については所与の基準姿勢（ｕｒ，ｖｒ，ｗｒ）に統一できるため、データ構造にはｘｙｚだけ記憶するものとしてもよい。カウンター数は例えば所与の整数を用いて表現できる。タイムスタンプは、年日時分を用いて表現される情報でもよいし、所与のタイミングを基準とした相対時間（経過時間）であってもよい。ゲイン量は例えば１以下の数であり、上式（６）等に処理に用いられる情報である。ただし、記憶部１２０に記憶されるデータの構造は図１４に限定されるものではなく、一部を省略（例えばカウンター数、タイムスタンプ、ゲイン量の少なくとも１つを省略）してもよい。
【０１２５】
３．５  変形例
最後に本実施形態の変形例について説明する。上述の説明では、処理タイミングにおける位置姿勢に対応する局所領域を特定し、当該局所領域に対応するヤコビアンが記憶されている場合に当該ヤコビアンを再利用するものとしていた。つまり、誤差を考慮して、ヤコビアンを再利用できる位置姿勢の範囲を狭いものに限定し、当該範囲外であればヤコビアンを新規演算するものとしていた。
【０１２６】
しかし本実施形態の手法はこれに限定されず、対応する局所領域のヤコビアンが記憶されていなくても、近傍の（例えば隣接する）局所領域のヤコビアンを流用してもよい。具体的には、制御部１１０は、処理タイミングにおける作業対象物又はエンドエフェクター３１９の位置姿勢に対応するヤコビアンが、記憶部１２０に記憶されていない場合に、処理タイミングにおける位置姿勢から、位置姿勢座標空間における空間距離が所与の距離範囲内である所定範囲内位置姿勢に対応するヤコビアンが、記憶部１２０に記憶されているかの判定を行う。そして、所定範囲内位置姿勢に対応するヤコビアンが、記憶部１２０に記憶されている場合には、所定範囲内位置姿勢に対応するヤコビアンを、処理タイミングにおける位置姿勢に対応するヤコビアンとして求め、記憶部１２０は、ヤコビアンを処理タイミングにおける作業対象物又はエンドエフェクターの位置姿勢に対応づけて記憶する。図１２の例であれば、局所領域ｃ３に対応するヤコビアンＪｃ３が記憶されていない場合に、ヤコビアンを新規演算するのではなく、Ｊｄ３やＪｂ２をｃ３に対応するヤコビアンとして利用する。
【０１２７】
このようにすれば、ヤコビアンを再利用できる距離範囲が広くとれるため、ヤコビアンを新規演算する頻度を低くでき、処理負荷軽減及びロボット動作の高速化が可能になる。ここで位置姿勢座表空間における空間距離とは、例えば（ｘ，ｙ，ｚ，ｕ，ｖ，ｗ）の６次元空間における空間距離である。空間距離は、ユークリッド距離やマハラビノス距離等、種々の距離を用いることができる。
【０１２８】
ただし、ヤコビアンを再利用する距離範囲が広くなれば、当該ヤコビアンを本来使うべき位置姿勢と、処理タイミングでの位置姿勢の差異が大きくなり、ヤコビアンを用いた処理の精度が低下する（目標特徴量に適切に近づかなくなる）おそれがある。よって、図１３等を用いて上述したように、近傍のヤコビアンを流用するだけではなく、誤差を小さくする修正処理を行うことが望ましい。
【０１２９】
この場合、制御部１１０は、所定範囲内位置姿勢に対応するヤコビアンが、記憶部１２０に記憶されていない場合に、処理タイミングにおける位置姿勢に対応するヤコビアンを求め（新規に演算し）、記憶部１２０は、ヤコビアンを、処理タイミングにおける作業対象物又はエンドエフェクター３１９の位置姿勢に対応づけて記憶する。
【０１３０】
以上の変形例の処理を説明するフローチャートが図１５である。図１５のＳ２０１〜Ｓ２０９は図１１のＳ１０１〜Ｓ１０９と同様である。処理タイミングの位置姿勢を含む局所領域に対応するヤコビアンが記憶されていれば、当該ヤコビアンを用いればよい。一方、処理タイミングの位置姿勢を含む局所領域に対応するヤコビアンが記憶されていない場合には、即座にヤコビアンを新規演算するのではなく、上述したように所与の距離範囲内となるヤコビアンを探索する（Ｓ２１０）。ここでヤコビアンが見つかれば、当該ヤコビアンを用いて処理を行い（Ｓ２１１）、ビジュアルサーボが成功したか否かを判定する（Ｓ２１２）。成功した場合には、そのまま当該ヤコビアンを記憶すればよいし、成功でない場合にはＳ２０５と同様に修正処理を行ってから（Ｓ２１３）、記憶すればよい。ヤコビアンの記憶については新規演算を行った場合と同様であり、Ｓ２１５〜Ｓ２１７に示したように、Ｓ１１１〜Ｓ１１３と同様の処理を行えばよい。
【０１３１】
また、本変形例では、Ｓ２０２でＮｏであり且つＳ２１０でＮｏの場合、すなわち処理タイミングでの局所領域に対応するヤコビアンも、近傍でのヤコビアンも記憶されていない場合に、ヤコビアンを新規演算する（Ｓ２１４）。Ｓ２１４後の処理は、Ｓ２１５〜Ｓ２１７の処理を行えばよい。
【０１３２】
また、以上の説明ではヤコビアンを新規演算する際には、位置姿勢の各値を独立に微小変化させた場合の実測値を用いる等、ある程度妥当性の高い値を求めるものとしていた。しかし、図１３を用いて上述したように、ヤコビアンは逐次的に修正していくことが可能である。つまり、ヤコビアンの初期値としてランダムに発生させた値を用いてもよい。この場合、ランダム生成の直後はヤコビアンを用いた処理によりロボットがどの方向に移動するか（撮像画像特徴量がどの方向に変化するか）を規定できないため、ロボットを目標状態に近づけていくことが難しい。しかし、ヤコビアンを用いた処理を繰り返し、修正処理が行われていけば、当該ヤコビアンは精度の高いものとなっていく。
【０１３３】
つまり、ヤコビアンの逐次修正を前提とする場合であれば、Ｓ１１０，或いはＳ２１４におけるヤコビアンの演算はランダムに発生させた値を用いるだけであってもよく、この場合ヤコビアンの演算に要する処理負荷を非常に軽いものとすることができる。例えば、上述したように位置姿勢を微小変化させる手法であれば、１つのヤコビアンを求める際にロボット動作を実行する必要があるが、ランダム生成であればロボットを動作させることなくヤコビアンを生成可能である。
【０１３４】
なお、本実施形態の制御装置２００等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、ＣＰＵ等のプロセッサーがプログラムを実行することで、本実施形態の制御装置２００等が実現される。具体的には、非一時的な情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをＣＰＵ等のプロセッサーが実行する。ここで、情報記憶媒体（コンピューターにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＣＤ等）、ＨＤＤ（ハードディスクドライブ）、或いはメモリー（カード型メモリー、ＲＯＭ等）などにより実現できる。そして、ＣＰＵ等のプロセッサーは、情報記憶媒体に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピューターに実行させるためのプログラム）が記憶される。
【０１３５】
なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。またロボット、制御装置等の構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１３６】
１００  ロボット、１１０  制御部、１２０  記憶部、２００  制御装置、
２１０  制御部、２２０  記憶部、３００  ロボット機構、３１０  アーム、
３１１，３１３  関節、３１５，３１７  フレーム、３１９  エンドエフェクター、
３２０  アーム、４００  装置、５００  ロボット本体、５５０  ベースユニット部、
６００  ネットワーク、７００  サーバー
【図１】
2015131367.tif 000009
【図２】
2015131367.tif 000010
【図３】
2015131367.tif 000011
【図４】
2015131367.tif 000012
【図５】
2015131367.tif 000013
【図６】
2015131367.tif 000014
【図７】
2015131367.tif 000015
【図８】
2015131367.tif 000016
【図９】
2015131367.tif 000017
【図１０】
2015131367.tif 000018
【図１１】
2015131367.tif 000019
【図１２】
2015131367.tif 000020
【図１３】
2015131367.tif 000021
【図１４】
2015131367.tif 000022
【図１５】
2015131367.tif 000023