(57)【要約】【課題】カメラキャリブレーションを行うことなく、移設前に教示された動作プログラムを移設後に使用可能に簡易に修正する。【解決手段】ロボット１１０のアーム１１１先端に取り付けられる視覚センサ２と、作業対象物Ｏまたは保持装置１２０に設けられた一直線上に並ばない３以上の各基準点Ａに対して、視覚センサを所定の位置に配置したときに視覚センサにより取得された視覚情報に基づいてロボットの先端の３次元位置を計測する位置計測部と、ロボットの作動により視覚センサを並進移動させながら位置計測部により計測される３次元位置に基づいて、基準点どうしの相対位置を算出する相対位置算出部とを備え、ロボットおよび保持装置の少なくとも一方の移設前後のそれぞれに、算出された基準点の相対位置に基づいて、ロボットと保持装置との相対位置の変化が補償されるように、ロボットの動作プログラムの教示点位置を修正する教示位置修正装置１を提供する。【選択図】図１
2018202559.tif 000002
【特許請求の範囲】
【請求項１】
ロボットのアームの先端に取り付けられ視覚情報を取得する視覚センサと、
前記ロボットにより作業を行う作業対象物または該作業対象物を保持する保持装置のいずれかに設けられた一直線上に並ばない３以上の各基準点に対して、前記視覚センサを所定の位置に配置したときに前記視覚センサにより取得された前記視覚情報に基づいて前記ロボットの先端の３次元位置を計測する位置計測部と、
前記ロボットの作動により前記視覚センサを並進移動させながら前記位置計測部により計測される前記３次元位置に基づいて、いずれか１つの前記基準点に対する他の各前記基準点の相対位置を算出する相対位置算出部とを備え、
前記ロボットおよび前記保持装置の少なくとも一方の移設前後のそれぞれに、前記相対位置算出部により算出された前記基準点の相対位置に基づいて、前記ロボットと前記保持装置との相対位置の変化が補償されるように、前記ロボットの動作プログラムの教示点位置を修正する教示位置修正装置。
【請求項２】
前記移設前後に前記相対位置算出部により算出された前記基準点の相対位置に基づいて、前記移設前後の前記教示点位置の回転移動成分の変換行列を算出し、該変換行列を用いて前記教示点位置を修正する請求項１に記載の教示位置修正装置。
【請求項３】
前記移設前後に、前記位置計測部によりいずれか１つの前記基準点に対して前記視覚センサを所定の位置に配置したときの前記ロボットの先端の前記３次元位置および姿勢を計測し、計測された前記移設前後の前記ロボットの先端の姿勢成分および前記回転移動成分の変換行列に基づいて、前記移設前後の前記教示点位置の並進移動成分の変換行列を算出し、該変換行列を用いて前記教示点位置を修正する請求項２に記載の教示位置修正装置。
【請求項４】
前記基準点が、前記保持装置または前記作業対象物の特徴的な形状を有する点である請求項１から請求項３のいずれかに記載の教示位置修正装置。
【請求項５】
前記基準点が、前記保持装置または前記作業対象物上に設けられた基準マークである請求項１から請求項３のいずれかに記載の教示位置修正装置。
【請求項６】
ロボットおよび該ロボットにより作業を行う作業対象物を保持する保持装置の少なくとも一方の移設前に、
前記ロボットのアームの先端に取り付けられた視覚センサを前記ロボットの作動によって並進移動させながら前記作業対象物または前記保持装置のいずれかに設けられた一直線上に並ばない３以上の各基準点に対して所定の位置に配置したときに、該視覚センサにより取得された視覚情報に基づいて、前記ロボットの先端の３次元位置を計測する第１ステップを含み、
前記移設後に、
前記ロボットのアームの先端に取り付けられた前記視覚センサを前記ロボットの作動によって並進移動させながら前記作業対象物または前記保持装置のいずれかに設けられた一直線上に並ばない３以上の各基準点に対して所定の位置に配置したときに、該視覚センサにより取得された視覚情報に基づいて、前記ロボットの先端の３次元位置を計測する第２ステップと、
前記移設の前後における、いずれか１つの前記基準点に対する他の各前記基準点の相対位置をそれぞれ算出する第３ステップと、
該第３ステップにより算出された前記移設前後の前記基準点の相対位置に基づいて、前記ロボットと前記保持装置との相対位置の変化が補償されるように、前記ロボットの動作プログラムの教示点位置を修正する第４ステップとを含む教示位置修正方法。
【請求項７】
前記第４ステップが、前記移設前後に算出された前記基準点の相対位置に基づいて、前記移設前後の前記教示点位置の回転移動成分の変換行列を算出し、該変換行列を用いて前記教示点位置を修正する請求項６に記載の教示位置修正方法。
【請求項８】
前記第１ステップおよび前記第２ステップが、いずれか１つの前記基準点に対して前記視覚センサを所定の位置に配置したときの前記ロボットの先端の３次元位置および姿勢を計測し、
前記第４ステップが、前記移設前後に計測された前記ロボットの先端の姿勢成分および前記回転移動成分の変換行列に基づいて、前記移設前後の前記教示点位置の並進移動成分の変換行列を算出し、該変換行列を用いて前記教示点位置を修正する請求項７に記載の教示位置修正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、教示位置修正装置および教示位置修正方法に関するものである。
【背景技術】
【０００２】
従来、ロボットを用いて作業対象物に対して作業を行うロボットシステムにおいて、ロボットおよび作業対象物を保持する保持装置の少なくとも一方を移設した場合に、移設後においても移設前に教示された動作プログラムを使用できるようにするために、教示位置を修正する教示位置修正装置が知られている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１４９２９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の教示位置修正装置は、ロボットの手先に取り付けたカメラを用いた計測によって作業対象物上の被計測箇所の３次元位置情報を取得するために、ロボットの手先に対するカメラの相対位置をカメラキャリブレーションによって取得することを前提としている。しかしながら、カメラキャリブレーションはロボットの手先の姿勢をなるべく大きく変化させる必要があるため、ツールを取り付けたままの状態でロボットの手先を大きく移動させるとツールとロボットの機構部との干渉が生じてしまうという不都合がある。
【０００５】
本発明は上述した事情に鑑みてなされたものであって、カメラキャリブレーションを行うことなく、移設前に教示された動作プログラムを移設後に使用可能に簡易に修正することができる教示位置修正装置および教示位置修正方法を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明は以下の手段を提供する。
本発明の一態様は、ロボットのアームの先端に取り付けられ視覚情報を取得する視覚センサと、前記ロボットにより作業を行う作業対象物または該作業対象物を保持する保持装置のいずれかに設けられた一直線上に並ばない３以上の各基準点に対して、前記視覚センサを所定の位置に配置したときに前記視覚センサにより取得された前記視覚情報に基づいて前記ロボットの先端の３次元位置を計測する位置計測部と、前記ロボットの作動により前記視覚センサを並進移動させながら前記位置計測部により計測される前記３次元位置に基づいて、いずれか１つの前記基準点に対する他の各前記基準点の相対位置を算出する相対位置算出部とを備え、前記ロボットおよび前記保持装置の少なくとも一方の移設前後のそれぞれに、前記相対位置算出部により算出された前記基準点の相対位置に基づいて、前記ロボットと前記保持装置との相対位置の変化が補償されるように、前記ロボットの動作プログラムの教示点位置を修正する教示位置修正装置を提供する。
【０００７】
本態様によれば、保持装置により保持された作業対象物に対してロボットを設置して、ロボットの動作プログラムの教示点を教示した後に、ロボットのアームの先端に視覚センサを取り付けて、ロボットを作動させることによって視覚センサを並進移動させながら、作業対象物あるいは保持装置のいずれかに設けられた一直線上に並ばない３以上の基準点のそれぞれに対して、視覚センサを所定の位置に配置したときに視覚センサにより取得された視覚情報に基づいてロボットの先端の３次元位置を位置計測部により計測しておき、いずれか１つの基準点に対する他の基準点の相対位置を相対位置算出部により算出しておく。
【０００８】
そして、ロボットおよび保持装置の少なくとも一方を移設した後には、移設前と同様にして、ロボットのアームの先端に視覚センサを取り付けて、ロボットを作動させることによって視覚センサを並進移動させながら、上記基準点のそれぞれに対して、視覚センサを所定の位置に配置したときに視覚センサにより取得された視覚情報に基づいてロボットの先端の３次元位置を位置計測部により計測し、いずれか１つの基準点に対する他の基準点の相対位置を相対位置算出部により算出する。
【０００９】
このようにして算出された移設前後のそれぞれの基準点の相対位置に基づいて、ロボットと保持装置との相対位置の変化が補償されるように、ロボットの動作プログラムの教示点位置が修正される。
すなわち、作業対象物あるいは保持装置に設けた３つ以上の基準点の相対位置が不変であることを利用して、ロボットに対する視覚センサのキャリブレーションを行わずに、移設前に教示された動作プログラムの教示点位置を修正することができる。
【００１０】
上記態様においては、前記移設前後に前記相対位置算出部により算出された前記基準点の相対位置に基づいて、前記移設前後の前記教示点位置の回転移動成分の変換行列を算出し、該変換行列を用いて前記教示点位置を修正してもよい。
このようにすることで、移設前後における視覚センサによる測定の間に、ロボットからの視覚センサの取り外しおよび取り付けが行われることにより、視覚センサの位置が変わってしまった場合であっても、移設前後の教示点位置の回転移動成分を精度よく求めた変換行列を算出することができ、教示点位置を精度よく修正することができる。
【００１１】
また、上記態様においては、前記移設前後に、前記位置計測部によりいずれか１つの前記基準点に対して前記視覚センサを所定の位置に配置したときの前記ロボットの先端の前記３次元位置および姿勢を計測し、計測された前記移設前後の前記ロボットの先端の姿勢成分および前記回転移動成分の変換行列に基づいて、前記移設前後の前記教示点位置の並進移動成分の変換行列を算出し、該変換行列を用いて前記教示点位置を修正してもよい。
【００１２】
このようにすることで、移設前後における視覚センサによる測定の間に、ロボットからの視覚センサの取り外しおよび取り付けが行われることにより、視覚センサの位置および姿勢が変わってしまった場合であっても、移設前後の教示点位置の並進移動成分を精度よく求めた変換行列を算出することができ、教示点位置を精度よく修正することができる。
【００１３】
また、上記態様においては、前記基準点が、前記保持装置または前記作業対象物の特徴的な形状を有する点であってもよい。
また、上記態様においては、前記基準点が、前記保持装置または前記作業対象物上に設けられた基準マークであってもよい。
【００１４】
また、本発明の他の態様は、ロボットおよび該ロボットにより作業を行う作業対象物を保持する保持装置の少なくとも一方の移設前に、前記ロボットのアームの先端に取り付けられた視覚センサを前記ロボットの作動によって並進移動させながら前記作業対象物または前記保持装置のいずれかに設けられた一直線上に並ばない３以上の各基準点に対して所定の位置に配置したときに、該視覚センサにより取得された視覚情報に基づいて、前記ロボットの先端の３次元位置を計測する第１ステップを含み、前記移設後に、前記ロボットのアームの先端に取り付けられた前記視覚センサを前記ロボットの作動によって並進移動させながら前記作業対象物または前記保持装置のいずれかに設けられた一直線上に並ばない３以上の各基準点に対して所定の位置に配置したときに、該視覚センサにより取得された視覚情報に基づいて、前記ロボットの先端の３次元位置を計測する第２ステップと、前記移設の前後における、いずれか１つの前記基準点に対する他の各前記基準点の相対位置をそれぞれ算出する第３ステップと、該第３ステップにより算出された前記移設前後の前記基準点の相対位置に基づいて、前記ロボットと前記保持装置との相対位置の変化が補償されるように、前記ロボットの動作プログラムの教示点位置を修正する第４ステップとを含む教示位置修正方法。
【００１５】
上記態様においては、前記第４ステップが、前記移設前後に算出された前記基準点の相対位置に基づいて、前記移設前後の前記教示点位置の回転移動成分の変換行列を算出し、該変換行列を用いて前記教示点位置を修正してもよい。
また、上記態様においては、前記第１ステップおよび前記第２ステップが、いずれか１つの前記基準点に対して前記視覚センサを所定の位置に配置したときの前記ロボットの先端の３次元位置および姿勢を計測し、前記第４ステップが、前記移設前後に計測された前記ロボットの先端の姿勢成分および前記回転移動成分の変換行列に基づいて、前記移設前後の前記教示点位置の並進移動成分の変換行列を算出し、該変換行列を用いて前記教示点位置を修正してもよい。
【発明の効果】
【００１６】
本発明によれば、カメラキャリブレーションを行うことなく、移設前に教示された動作プログラムを移設後に使用可能に簡易に修正することができるという効果を奏する。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態に係る教示位置修正装置を示す全体構成図である。
【図２】図１の教示位置修正装置に備えられる基準マークの一例を示す図である。
【図３】図１の教示位置修正装置を用いた教示位置修正方法における移設前のステップを示すフローチャートである。
【図４】図１の教示位置修正装置を用いた教示位置修正方法における移設後のステップを示すフローチャートである。
【図５】図３および図４における３次元位置および姿勢の計測ルーチンを説明するフローチャートである。
【発明を実施するための形態】
【００１８】
本発明の一実施形態に係る教示位置修正装置１について、図面を参照して以下に説明する。
本実施形態に係る教示位置修正装置１は、図１に示されるように、作業ツールとして、例えば溶接ガン１１２をロボットアーム（アーム）１１１の先端に取り付けたロボット１１０と、該ロボット１１０により作業を行う作業対象物Ｏとして、例えば、溶接ガン１１２により溶接を行う板金パネルを着脱可能に保持する保持装置１２０とを備えるロボットシステム１００に適用される。
【００１９】
ロボット１１０は、図１に示す例では、６軸多関節型ロボットであり、制御装置１３０に接続され、制御装置１３０に記憶した動作プログラムに従って動作させられるようになっている。制御装置１３０には、ユーザにより操作される教示操作盤１４０が接続されており、動作プログラムの教示時等にユーザが教示操作盤１４０を操作することにより、ロボット１１０を手動で動作（ジョグ操作）することができるようになっている。
【００２０】
保持装置１２０は、作業対象物Ｏを着脱可能に固定するクランプ機構を備えた治具である。作業対象物Ｏは保持装置１２０上に精度よく位置決め状態に保持されるものとし、後述する移設後においても同様である。
【００２１】
保持装置１２０の例えば上面には、一直線上に配置されない３箇所に、後述する視覚センサ２によって読み取り可能な基準マーク（基準点）Ａが設けられている。基準マークＡは、任意でよいが、例えば、図２に示されるように、円形の中央に十字を備えたものが使用されている。
【００２２】
本実施形態に係る教示位置修正装置１は、ロボットアーム１１１の先端、例えば、溶接ガン１１２に固定され、２次元画像（視覚情報）を取得するＣＣＤカメラのような視覚センサ２を備えている。視覚センサ２は、例えば、永久磁石等の適当な取付手段によって溶接ガン１１２に着脱可能に取り付けられるようになっている。図中、符号３は視覚センサ２により取得された２次元画像を表示するモニタである。
【００２３】
また、本実施形態に係る教示位置修正装置１は、各基準マークＡに対して、視覚センサ２を所定の位置に配置したときに視覚センサ２により取得された２次元画像に基づいてロボット１１０の先端の３次元位置を計測する位置計測部（図示略）と、ロボット１１０を並進移動させながら位置計測部により取得された各基準マークＡの３次元位置に基づいて、１つの基準マークＡを基準とした他の基準マークＡの相対位置を算出する相対位置算出部（図示略）とを備えている。
【００２４】
位置計測部には、２次元画像上に配置されるべき基準マークＡの位置と大きさの目標値が定められている。例えば、目標位置としては基準マークＡに備えられた十字の交差点が２次元画像の中心に配置される位置が定められ、目標となる大きさとしては、基準マークＡに備えられた円の外径寸法が定められている。
【００２５】
すなわち、位置計測部は、ユーザがロボット１１０のジョグ操作を行って、保持装置１２０上のいずれかの基準マークＡを視覚センサ２の視野内に入れた計測開始姿勢において作動させられようになっている。位置計測部は、２次元画像内の基準マークＡが目標の位置および大きさとなるまで視覚センサ２を並進移動させるようにロボット１１０を作動させる、いわゆるビジュアルタッチアップ動作を行わせ、ビジュアルタッチアップ動作終了時のロボット１１０の各軸のエンコーダ（図示略）の値に基づいて、ロボット１１０の原点座標系でのロボット１１０のメカニカルインタフェース（エンドエフェクタ）の位置（座標値）および姿勢（角度値）を記憶するようになっている。なお、姿勢については１つの基準マークＡのみについて記憶すればよい。
【００２６】
ビジュアルタッチアップ動作は、基準マークＡが視野内に入った状態の計測開始姿勢から視覚センサ２の姿勢を一定に保ったまま、ロボット１１０を原点座標系のＸ，Ｙ，Ｚ軸に沿う方向にそれぞれ微小に並進移動させる。これにより、ロボット１１０をどちらの方向に動かせば２次元画像上において基準マークＡの位置および大きさがどのように変化するかを認識することができる。
【００２７】
すなわち、２次元画像上における基準マークＡの中心位置の移動は、基準マークＡに対して視覚センサ２をその光軸に直交する方向に移動させていることを示しており、２次元画像上における基準マークＡの大きさの変化は、基準マークＡに対して視覚センサ２をその光軸に沿う方向に移動させていることを示している。
【００２８】
そして、２次元画像の取得、画像上の基準マークＡの位置と大きさの取得、および取得された位置および大きさが目標位置および目標の大きさに近づくようにロボット１１０の並進移動を繰り返させる。これにより、２次元画像上の基準マークＡの位置および大きさを目標値に収束させることができる。
【００２９】
また、相対位置算出部は、ユーザがロボット１１０のジョグ操作を行って、視覚センサ２の姿勢を保ったまま並進移動させるようにロボット１１０を作動させることにより、他の基準マークＡについて、位置計測部により同様に記憶させた位置に基づいて、いずれか１つの基準マークＡに対する他の各基準マークＡの相対位置を算出するようになっている。
【００３０】
本実施形態に係る教示位置修正装置１は、移設の前後に位置計測部により記憶された位置に基づき相対位置算出部により算出された各基準マークＡの相対位置に基づいて、回転移動成分の変換行列を算出し、いずれか１つの基準マークＡについて位置計測部により記憶された姿勢に基づいて並進移動成分の変換行列を算出し、算出された変換行列を用いて、動作プログラムの教示点位置を修正するようになっている。
【００３１】
次に、本実施形態に係る教示位置修正方法について、詳細に説明する。
本実施形態に係る教示位置修正方法は、移設前に実施されるステップと、移設後に行われるステップとを含んでいる。
【００３２】
ロボット１１０の動作プログラムが教示された移設前の状態において、図３に示されるように、３つの基準マークＡについての３次元位置および姿勢の計測を行う（第１ステップＳ１）。
３次元位置計測は、図５に示されるように、視覚センサ２の作動を開始して（ステップＳ１１）、モニタ３に表示される２次元画像を確認しながら、教示操作盤１４０のジョグ操作によるロボット１１０のジョグ送りを行い（ステップＳ１２）、いずれかの基準マークＡを視覚センサ２の視野内に配置する（ステップＳ１３）。
【００３３】
この状態で、ビジュアルタッチアップ動作を実施する。
ビジュアルタッチアップ動作においては、まず、基準マークＡが視野内に入った状態の計測開始姿勢から視覚センサ２の姿勢を一定に保ったまま、ロボット１１０を原点座標系のＸ，Ｙ，Ｚ軸に沿う方向にそれぞれ微小に並進移動させる（ステップＳ１４）。これにより、ロボット１１０をどちらの方向に動かせば２次元画像上において基準マークＡの位置および大きさがどのように変化するかを確認する。次いで、確認結果に従って基準マークＡの位置および大きさを並進移動で目標値に近づけるようにロボット１１０を並進移動させる（ステップＳ１５）。
【００３４】
これにより、２次元画像上の基準マークＡの位置および大きさが目標値に収束したかどうかを判定し、目標値に収束した場合には、ビジュアルタッチアップ動作が終了する（ステップＳ１６）。２次元画像上の基準マークＡの位置および大きさを目標値に収束させるまではステップＳ１５からの工程を繰り返す。位置計測部がビジュアルタッチアップ動作終了時のロボット１１０の各軸のエンコーダの値に基づいて、ロボット１１０の原点座標系でのロボット１１０のメカニカルインタフェースの位置（座標値）および姿勢（角度値）を記憶する（ステップＳ１７）。そして、この動作を３つの基準マークＡについて終了するまで実施し（ステップＳ１８）、終了した後には視覚情報の取得を終了する（ステップＳ１９）。
【００３５】
３次元位置計測により、３つの座標値（３次元位置）ＰＡ１＝（ＸＡ１，ＹＡ１，ＺＡ１）、ＰＡ２＝（ＸＡ２，ＹＡ２，ＺＡ２），ＰＡ３＝（ＸＡ３，ＹＡ３，ＺＡ３）が取得されて記憶される。
また、第１ステップＳ１における、例えば、最初の基準マークＡに対するビジュアルタッチアップ動作の際に、座標値ＰＡ１の取得と同時にロボット１１０のメカニカルインタフェースの位置姿勢（姿勢）ＷAも取得し記憶しておく。
【００３６】
この状態で、ロボット１１０および保持装置１２０の少なくとも１つに対して移設作業が行われた場合には、図４に示されるように、移設後に、位置計測部により、再度、第１ステップＳ１と同様に３つの基準マークＡについての３次元位置計測および姿勢の計測を行って、３つの座標値ＰＢ１＝（ＸＢ１，ＹＢ１，ＺＢ１）、ＰＢ２＝（ＸＢ２，ＹＢ２，ＺＢ２），ＰＢ３＝（ＸＢ３，ＹＢ３，ＺＢ３）および位置姿勢ＷＢを取得し記憶する（第２ステップＳ２）。この第２ステップＳ２も第１ステップＳ１と同様にして図５に示されるフローチャートに従って処理される。
【００３７】
そして、移設前後に取得された座標値に基づいて、相対位置算出部による相対位置の算出が行われ（第３ステップＳ３）、算出された相対位置に基づいて回転移動成分の変換行列Ｍ１が算出される（ステップＳ４）。
また、算出された変換行列Ｍ１と、移設前後に取得された位置姿勢ＷＡ，ＷＢに基づいて、並進移動成分の変換行列Ｍ２が算出される（ステップＳ５）。そして、これら変換行列に基づいて、変換行列Ｍ＝Ｍ２Ｍ１が算出され（ステップＳ６）、算出された変換行列Ｍを用いて移設前の動作プログラムの各教示点位置が修正される（第４ステップＳ７）。
【００３８】
ここで、回転移動成分の変換行列Ｍ１の算出について具体的に説明する。
移設前に基準マークＡに対して取得された３つの座標値は、移設前のロボット１１０に対する視覚センサ２の取付位置および取付姿勢や、ビジュアルタッチアップ動作時の２次元画像上の位置および大きさの目標値に依存するベクトル値ＰＣ＝（ＸＣ，ＹＣ，ＺＣ）が存在して、ＰＡ１＋ＰＣ，ＰＡ２＋ＰＣ，ＰＡ３＋ＰＣと表される。ここで、ベクトル値ＰＣは未知である。
【００３９】
同様に、移設後に基準マークＡに対して取得された３つの座標値も、移設後のロボット１１０に対する視覚センサ２の取付位置および取付姿勢や、ビジュアルタッチアップ動作時の２次元画像上の位置および大きさの目標値に依存するベクトル値ＰＤ＝（ＸＤ，ＹＤ，ＺＤ）が存在して、ＰＢ１＋ＰＤ，ＰＢ２＋ＰＤ，ＰＢ３＋ＰＤと表される。ここで、ベクトル値ＰＤは未知である。
【００４０】
したがって、
ＰＢ１＋ＰＤ＝Ｍ（ＰＡ１＋ＰＣ）
ＰＢ２＋ＰＤ＝Ｍ（ＰＡ２＋ＰＣ）
ＰＢ３＋ＰＤ＝Ｍ（ＰＡ３＋ＰＣ）
を満たす変換行列Ｍを求めることができればよい。
【００４１】
移設前の作業対象物Ｏの位置および姿勢を表す変換行列Ｗ１が数１のように表されるものとする。
【数１】
2018202559.tif 000003
【００４２】
変換行列Ｗ１の各成分値は以下の通りである。
ｌ１＝ＰＡ１＋ＰＣとする。すなわち、１点目の基準マークＡについて計測された座標値を作業対象物Ｏの位置ｌ１とする。
【００４３】
１点目の基準マークＡから２点目の基準マークＡに向かう方向を作業対象物Ｏの姿勢のＸ軸方向とし、Ｘ軸方向の方向ベクトルｕ１を下式により算出する。
ｕ１＝（ＰＡ２＋ＰＣ）−（ＰＡ１＋ＰＣ）＝ＰＡ２−ＰＡ１
そして、Ｘ軸方向の方向ベクトルｕ１の単位ベクトルｎ１を下式により算出する。
ｎ１＝ｕ１／｜ｕ１｜
【００４４】
また、１点目の基準マークＡについて計測された座標値から３点目の基準マークＡに向かう方向ベクトルｑ１を下式により算出する。
ｑ１＝（ＰＡ３＋ＰＣ）−（ＰＡ１＋ＰＣ）＝ＰＡ３−ＰＡ１
【００４５】
ここで、ｒ１＝ｎ１×ｑ１（ｎ１とｑ１との外積）とすると、ｒ１はｎ１およびｑ１のどちらにも直交するＺ軸方向の方向ベクトルとなり、その単位ベクトルａ１を下式により算出する。
ａ１＝ｒ１／｜ｒ１｜
最後に、ｏ１＝ａ１×ｎ１（ａ１とｎ１との外積）として、作業対象物Ｏの姿勢のＹ軸方向を定める。
【００４６】
同様にして、移設後の作業対象物Ｏの位置および姿勢を表す変換行列Ｗ２が数２のように表されるものとする。
【数２】
2018202559.tif 000004
【００４７】
変換行列Ｗ２の各成分値は、変換行列Ｗ１の場合と同様にして、以下の通りである。
ｌ２＝ＰＢ１＋ＰＤ
ｕ２＝（ＰＢ２＋ＰＤ）−（ＰＢ１＋ＰＤ）＝ＰＢ２−ＰＢ１
ｎ２＝ｕ２／｜ｕ２｜
ｑ２＝（ＰＢ３＋ＰＤ）−（ＰＢ１＋ＰＤ）＝ＰＢ３−ＰＢ１
ｒ２＝ｎ２×ｑ２
ａ２＝ｒ２／｜ｒ２｜
ｏ２＝ａ２×ｎ２
【００４８】
ここで、
Ｍ＝ｉｎｖ（Ｗ２）・Ｗ１
とすることにより、変換行列Ｍが得られる。ここで、ｉｎｖ（Ｗ２）はＷ２の逆行列である。
【００４９】
上記計算によれば、ｌ１，ｌ２のみがＰＣ，ＰＤに依存しているので、これらを除去した変換行列Ｖ１，Ｖ２を数３、数４のように定義することとし、
Ｍ１＝ｉｎｖ（Ｖ２）・Ｖ１
とすることにより、回転移動成分の変換行列Ｍ１を得ることができる。
【数３】
2018202559.tif 000005
【数４】
2018202559.tif 000006
【００５０】
次に、並進移動成分の変換行列Ｍ２の算出について説明する。
移設前に、１つの基準マークＡについて取得された位置姿勢ＷＡはビジュアルタッチアップ動作を開始したときの位置姿勢Ｐ１を並進移動させた位置姿勢（姿勢成分が同じ）であるから、Ｍ１ＷＡはＭ１Ｐ１を並進移動させた位置姿勢に等しい。
【００５１】
同様に、移設後に、同じ基準マークＡについて取得された位置姿勢ＷＢはビジュアルタッチアップ動作を開始したときの位置姿勢Ｐ２＝Ｍ１Ｐ１を並進移動させた位置姿勢（姿勢成分が同じ）であるから、Ｍ１ＷＡとＷＢは姿勢成分が等しいので、並進移動の変換行列Ｍ２は、Ｍ２＝ＷＢ・ｉｎｖ（Ｍ１ＷＡ）とおくと数５の通りとなる。
【００５２】
【数５】
2018202559.tif 000007
Ｍ１，ＷＡ，ＷＢは既知であるから、変換行列Ｍ２を算出することができる。
【００５３】
変換行列Ｍ２は並進移動のみを行い回転移動はしないので、変換行列Ｍ１と変換行列Ｍ２・Ｍ１の回転移動成分は一致する。
さらに、変換行列Ｍと変換行列Ｍ１の回転移動成分は一致するので、変換行列Ｍと変換行列Ｍ２・Ｍ１の回転移動成分は一致する。
【００５４】
移設前に取得した位置姿勢ＷＡはビジュアルタッチアップ動作により取得されているので、変換行列Ｍの定義から、位置姿勢ＭＷＡは移設後にその基準マークＡにビジュアルタッチアップ動作を行う位置姿勢となる。また、移設後に取得した位置姿勢ＷＢ（＝Ｍ２Ｍ１ＷＡ）もその基準マークＡにビジュアルタッチアップ動作を行う位置姿勢であり、メカニカルインタフェース座標系から見た基準マークＡの中心の座標をＴ＝（Ｘｔ，Ｙｔ，Ｚｔ）とすると、ＭＷＡＴとＭ２Ｍ１ＷＡＴとはどちらも移設後の基準マークＡの中心位置の座標値を表すことになり一致するはずである。
【００５５】
すなわち、
ＭＷＡＴ＝Ｍ２Ｍ１ＷＡＴ
から、
ｉｎｖ（Ｍ２Ｍ１）ＭＷＡＴ＝ＷＡＴ
とみなすことができる。
【００５６】
変換行列Ｍと変換行列Ｍ２Ｍ１の回転移動成分は一致するのでｉｎｖ（Ｍ２Ｍ１）Ｍの回転移動成分は数６に示すように単位行列となる。
【数６】
2018202559.tif 000008
【００５７】
そして、ＷＡＴを数７のように定義することにより数８を得る。
【数７】
2018202559.tif 000009
【数８】
2018202559.tif 000010
【００５８】
その結果、数６におけるｓ１＝ｓ２＝ｓ３＝０となり、数９が成立するので、Ｍ＝Ｍ２・Ｍ１となる。
【数９】
2018202559.tif 000011
【００５９】
このように、本実施形態に係る教示位置修正装置１によれば、保持装置１２０に設けた３つ以上の基準マークＡの相対位置が不変であることを利用して、ロボット１１０に対する視覚センサ２のキャリブレーションを行わずに、移設前に教示された動作プログラムの教示点位置を簡易に修正することができるという利点がある。そして、これにより、移設後にも作業対象物Ｏに対して移設前と同じ作業を行うことができる。
【００６０】
特に、ロボット１１０に対する視覚センサ２のキャリブレーションを不要としているので、キャリブレーションにおいて必要とされているロボット１１０の手先を大きく動かす動作を行わなくて済み、作業ツールとロボット１１０の機構部や周辺機器とが干渉することもない。
【００６１】
なお、本実施形態においては、基準マークＡを保持装置１２０に設けたが、保持装置１２０によって保持される作業対象物Ｏに設けてもよい。また、基準マークＡとして円形の中心に十字が設けられたものを例示したが、これに代えて、大きさおよび特定位置を指定できるマーク（例えば、特徴的な形状を有する点等）であれば任意でよい。
【００６２】
また、基準マークＡを設けることに代えて、保持装置１２０または作業対象物Ｏに備えられている特徴的形状を有する部分を基準点として用いることにしてもよい。例えば、角部あるいは突起部等である。
【００６３】
また、基準マークＡを３箇所としたが３箇所以上備えていてもよい。
また、本実施形態においては、並進移動成分の変換行列Ｍ２を求めるための姿勢ＷＡ，ＷＢとして、１つの基準マークＡにビジュアルタッチアップ動作を行った場合に設定される姿勢を例示したが、これに代えて、基準マークＡとは別の１点を用いることにしてもよい。
【００６４】
また、本実施形態においては、ロボット１１０として６軸多関節型のロボットを例示したが、これに限定されるものではなく、他の任意の形式のロボットに適用してもよい。
【符号の説明】
【００６５】
１  教示位置修正装置
２  視覚センサ
１１０  ロボット
１１１  ロボットアーム（アーム）
１２０  保持装置
Ａ  基準マーク（基準点）
Ｏ  作業対象物
Ｍ，Ｍ１，Ｍ２，Ｍ３  変換行列
ＰＡ１，ＰＡ２，ＰＡ３，ＰＢ１，ＰＢ２，ＰＢ３  座標値（３次元位置）
ＷＡ，ＷＢ  位置姿勢（姿勢）
Ｓ１  第１ステップ
Ｓ２  第２ステップ
Ｓ３  第３ステップ
Ｓ７  第４ステップ
【図１】
2018202559.tif 000012
【図２】
2018202559.tif 000013
【図３】
2018202559.tif 000014
【図４】
2018202559.tif 000015
【図５】
2018202559.tif 000016