(57)【特許請求の範囲】
【請求項１】
ワークが基準位置に設置されているときに、ワーク上の複数の特徴点を指定することによって直交座標系の原点及び軸方向が所定値であるユーザ座標系を定義し、教示時にこのユーザ座標系の軸方向に従ってロボットを移動させて作業経路を教示してこの作業経路上の教示点の位置姿勢データをロボット個体に固有の直交座標系であるベース座標系を基準としたベース座標値データで記憶し、再生時にこのベース座標値データに基づいてロボットの各関節角度データを算出して動作制御を行う産業用ロボットの制御方法において、
教示時に前記教示点の位置姿勢データを前記ベース座標値データに代えて前記ユーザ座標系を基準としたユーザ座標値データで記憶し、
再生時に前記複数の特徴点の位置を位置測定器によって測定し、前記特徴点の各々の位置ズレ量を算出することにより前記複数の特徴点を再指定して前記ユーザ座標系を再定義し、前記ユーザ座標値データ及び前記再定義されたユーザ座標系に基づいて前記ベース座標値データを再算出し、この再算出されたベース座標値データに基づいてロボットの各関節角度データを算出することを特徴とする産業用ロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作成済みの教示データの位置及び姿勢の補正を行う産業用ロボットの制御方法に関するものである。
【背景技術】
【０００２】
アーク溶接、スポット溶接等の加工作業をロボットで実現する場合、ティーチングプレイバックと呼ばれる方式が採用されることが一般的である。ティーチングプレイバック方式とは、予め決められた位置にワークを設置して、マニピュレータとワークとの相対的な位置関係を拘束した状態で、ワークに対するマニピュレータの動作を教示し、この教示データを繰り返し再生動作させることで、同一品種のワークを連続して加工するという方法である。
【０００３】
図５は、このティーチングプレイバック方式を採用した産業用ロボットの一般的な構成図である。同図において、マニピュレータ１は、アーム２の先端にワークＷを加工するためのツールＴを備えている。ティーチペンダント３は、ワークＷに対するマニピュレータ１の動作を作業者が教示するための装置であり、その盤面上には、マニピュレータ１を移動させるためのボタン群４が装備されている。ボタン群４は、図示しているように座標系の方向（±Ｘ，±Ｙ，±Ｚ）に応じた複数のボタンが装備されているのが一般的である。例えば、ロボット個体に固有の座標系であるベース座標系でマニピュレータを移動させる場合は、ボタン群４のＸ＋ボタンを押すと、ベース座標系のＸ＋方向にマニピュレータ１が移動する。このように、作業者はボタン群４を操作することによってマニピュレータ１を所望の位置に動かして、加工作業を行わせるための作業経路を教示する。そして、作業経路上の教示点におけるマニピュレータ１の位置姿勢座標値が教示データとしてロボット制御装置５に記憶される。ロボット制御装置５は、教示データ及び図示しないエンコーダからの現在位置情報等に基づいて、マニピュレータ１の駆動モータを駆動制御して、ツールＴを教示点に移動させる。
【０００４】
図６は、教示時におけるマニピュレータの移動方向と座標系の関係について説明するための図である。マニピュレータ１、ワークＷは、図５と同符号を付与した同一のものであるので説明を省略する。作業経路Ｋは、ワークＷを加工するために必要な経路の１つであり、同図の場合は教示点Ａと教示点Ｂとによって形成される。ベース座標系Ｃｂはマニピュレータ１に固有の座標系である。ユーザ座標系Ｃｕは作業者が任意に定義可能な座標系である。説明の便宜上、ベース座標系Ｃｂ、ユーザ座標系Ｃｕ共に、軸方向のＸ＋とＹ＋を矢印で表現しており、その他の軸方向は省略している。
【０００５】
上述したように、作業者はマニピュレータ１を所望の位置に移動させてその位置を教示する。しかしながら、移動させるためのボタン操作は煩雑さを伴うことが多い。例えば、同図において作業経路Ｋを教示するために、現在位置である教示点Ａから目標位置である教示点Ｂにマニピュレータ１を移動させる場合を想定する。教示点Ａから教示点Ｂに向かう方向がベース座標系ＣｂのＸ＋方向に一致していれば、作業者はボタン群４のＸ＋ボタンを押すだけでよい。しかしながら、ワークＷ上の作業経路Ｋは、ベース座標系Ｃｂの軸方向と一致していない。このような場合、作業者はボタン群４のＸ＋ボタン、Ｙ＋ボタン等を組み合わせて操作してマニピュレータ１を移動させる必要がある。ワークＷが大型であったり作業経路Ｋが複雑であったりすると、マニピュレータ１の移動操作はより一層煩雑になる。
【０００６】
そこで、近年の産業用ロボットでは、作業者が自分自身で座標系の原点位置と軸方向を所望値にすることができるユーザ座標系Ｃｕを定義することによって、移動操作の煩雑さを解消する提案がなされている（例えば、特許文献１参照）。同図に示すように、作業経路Ｋの方向が座標系のＸ＋方向に一致するようにユーザ座標系Ｃｕを設定すれば、ボタン群４のＸ＋ボタンのみの操作で教示点Ｂに移動させることができる。すなわち、座標系の原点位置及び方向をワークＷの設置位置、形状等に合わせて所望の位置及び方向に設定することができるため、移動操作の煩雑さを解消できると共に教示工数の低減が可能である。なお、ユーザ座標系の定義方法は特許文献１等で開示されているようにワーク上の特徴点を３点指定するというものである。具体的には、ワークＷ上の任意の特徴点Ｐ１，Ｐ２，Ｐ３を指定することによってユーザ座標系Ｃｕが定義される。
【０００７】
図７は、従来、教示データがどのように記憶され、再生動作されるのかを説明するためのフローチャート図である。
【０００８】
同図のステップＳ１において、作業者は、上述した方法によってユーザ座標系を定義する。ステップＳ２において、ユーザ座標系の軸方向に従って作業経路上の教示点までマニピュレータを移動する。そしてステップＳ３において、教示点の記憶操作を行う。このとき、教示データとして記憶されるマニピュレータ１の位置姿勢座標値は、ベース座標値データで記憶される。ユーザ座標系を基準にしてマニピュレータ１を移動しても教示データとして記憶される位置姿勢座標値は、ユーザ座標値データではなくベース座標値データである。
【０００９】
ステップＳ４において、作業経路の教示が全て終了していない場合は、ステップＳ２に戻り、次の教示点への移動操作と記憶操作を行う。作業経路の教示が終了している場合は、ステップＳ５で再生動作の開始操作を行う。再生動作が開始されると、ステップＳ６においてロボット制御装置が教示点毎に位置姿勢座標値を読み出す。マニピュレータの各関節はモータの回転駆動により制御されるため、再生位置は関節角度として算出する必要がある。そのため、ステップＳ７において、ベース座標値データに基づいてマニピュレータの各関節角度を算出する逆変換演算を行う。そして、ステップＳ８において、マニピュレータの各関節を回転駆動することによって、算出された各関節角度の位置、すなわち教示点まで移動させる。最後にステップＳ９において全ての教示点の再生動作が終了していない場合は、ステップＳ６に戻り、次の教示点の再生動作を行う。全ての教示点の再生動作が終了している場合は、フローを終了する。
【００１０】
【特許文献１】特開昭６１−４９２０５号公報
【非特許文献１】「ロボット・マニピュレータ」コロナ社、Richard P.Paul著
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ところで、再生動作の度にワークＷの設置位置が変化する場合には、ティーチペンダント３を使用して、作業者が教示点を修正する必要がある。作業者は、教示点が所望の位置から外れている場合には、ティーチペンダント３を使用してマニピュレータ１を所望の位置に動かした後、教示点を修正する（教示しなおす）という作業を、教示点の数だけ繰り返し行う必要があるため、多くの作業工数が必要になる。
【００１２】
通常はこのような教示点の修正が必要ないように、ワークＷを固定する治具を準備して、ワークＷの設置位置がばらつかないための工夫を行う。しかしながら、治具を使用してもワークＷが大型になると、教示時と寸分の違いもなくワークＷを設置することは現実的には難しくなる。ワークＷを固定する治具自身も大きくかつ頑丈せざるを得ないため治具が高価になり、また大型のワークはワーク自身の寸法に誤差を生じやすいためである。
【００１３】
このように、ユーザ座標系を定義して教示時の操作簡易化及び教示工数の低減を図っていても、ワークの設置位置が再生動作の度に変化すると、再度教示点の修正作業を行わなければならないという課題を抱えている。
【００１４】
なお、ワークＷとマニピュレータ１の相対的な位置関係が、再生動作の度に変化することをある程度許容して、センサ機器をロボットに取り付けて教示点の補正を自動的に行うことも可能である。例えば、アーク溶接ロボットの場合には、タッチセンサと呼ばれるセンサを用いる。マニピュレータ１の先端に取り付けられたアーク溶接トーチの先端から消耗電極として溶接ワイヤが送給される。そのワイヤ先端に電圧を印可し、溶接ワイヤがワークＷに接触したことを溶接ワイヤとワーク間の通電により検出することをタッチ検出動作と呼ぶ。タッチセンサを用いてワークＷの設置位置を検出することにより、教示時と加工作業時とのワークＷの位置のズレを検出することで、既教示データの位置姿勢座標値を、適宜適切に補正することが可能になる。しかしながら、タッチセンサを使用した方法であっても、教示点の数が多い場合にはタッチ検出動作の教示も多くなる、すなわち多大な教示工数が必要となるという課題を抱えている。さらに、再生動作時に多くのタッチ検出動作を行うことになるため、タクトタイムの増加につながるという課題を抱えている。
【００１５】
さらにアーク溶接ロボットの場合は、アークセンサと呼ばれるセンサ機器をロボットに取り付けて教示点の補正を自動的に行うことも可能である。しかしながらアークセンサは、アーク溶接を開始した後の溶接線のズレを検出することしかできない。すなわち、ワークＷが大きくズレた場合には対応できない。
【００１６】
本発明は、特に教示点の数が多く、かつワークの正確な設置が困難な大型ワークの加工作業を行う場合において、マニピュレータとワークとの相対的な位置関係にズレが生じたとしても既教示データを教示修正することなく、そのまま再利用することができる産業用ロボットの制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するために、本発明は、
ワークが基準位置に設置されているときに、ワーク上の複数の特徴点を指定することによって直交座標系の原点及び軸方向が所定値であるユーザ座標系を定義し、教示時にこのユーザ座標系の軸方向に従ってロボットを移動させて作業経路を教示してこの作業経路上の教示点の位置姿勢データをロボット個体に固有の直交座標系であるベース座標系を基準としたベース座標値データで記憶し、再生時にこのベース座標値データに基づいてロボットの各関節角度データを算出して動作制御を行う産業用ロボットの制御方法において、
教示時に前記教示点の位置姿勢データを前記ベース座標値データに代えて前記ユーザ座標系を基準としたユーザ座標値データで記憶し、
再生時に前記複数の特徴点の位置を位置測定器によって測定し、前記特徴点の各々の位置ズレ量を算出することにより前記複数の特徴点を再指定して前記ユーザ座標系を再定義し、前記ユーザ座標値データ及び前記再定義されたユーザ座標系に基づいて前記ベース座標値データを再算出し、この再算出されたベース座標値データに基づいてロボットの各関節角度データを算出することを特徴とする産業用ロボットの制御方法である。
【発明の効果】
【００１９】
本発明によれば、特に教示点の数が多く、かつワークの正確な設置が困難な大型ワークの加工作業を行う場合において、マニピュレータとワークとの相対的な位置関係にズレが生じたとしても、既教示データを教示修正することなく、そのまま再利用することができる。例えば、教示点が数百にも及ぶような大きな教示データであっても、ワーク上の複数の特徴点を再指定してユーザ座標系を再定義しさえすれば、教示点を１点も修正することなく、そのまま再利用できる。特に、ワーク上の複数の特徴点の再指定を、作業者ではなく、位置計測器によって自動的に測定して行うようにしたので、作業者自身が特徴点の再指定を行う必要がなく、作業工数を大幅に低減することができる。
【発明を実施するための最良の形態】
【００２１】
［実施の形態１］
発明の実施の形態を実施例に基づき図面を参照して説明する。なお、本実施の形態に記載している数式及び算出手順の詳細については、非特許文献１に記載されている。
【００２２】
図１は、本実施形態によって教示データの補正が行われる流れを説明するためのフローチャート図である。図２は、ワークが基準位置に設置されているときにワーク上の特徴点を指定することによってユーザ座標系が定義されていることを説明するための図である。
【００２３】
図２において、ワークＷは基準位置Ｗｋに設置されており、マニピュレータ１は、アーム２の先端にワークＷを加工するためのツールＴを備えている。ベース座標系Ｃｂはマニピュレータ１に固有の座標系であり、原点Ｏｂ及び軸方向（Ｘｂ，Ｙｂ，Ｚｂ）を有している。ユーザ座標系Ｃｕは作業者が任意に定義した座標系であり、図示しているように原点Ｏｕ及び軸方向（Ｘｕ，Ｙｕ，Ｚｕ）が定義されている。
【００２４】
図１のステップＳ１において、作業者は、ワークＷが基準位置Ｗｋに設置されているときにワークＷ上の特徴点Ｐ１、Ｐ２及びＰ３を指定する。ロボット制御装置５は、指定された特徴点Ｐ１、Ｐ２及びＰ３の位置に基づき、ベース座標系Ｃｂから見たユーザ座標系Ｃｕの位置姿勢を表す同次変換行列Ａｂｕを算出し、記憶する。以下、この同次変換行列Ａｂｕの算出方法について説明する。
【００２５】
まず、特徴点Ｐ１、Ｐ２及びＰ３におけるツールＴの先端位置（以下、ＴＣＰという）のベース座標系での座標値（以下、ベース座標値データという）を算出する。非特許文献１に記載の手法によって、マニピュレータ１の移動後の位置（特徴点）の関節角度を、各関節を駆動するモータに直結されたエンコーダの出力としてロボット制御装置５が読み取り、予め定められたマニピュレータ１のアーム寸法と回転軸の配置を定義したリンクパラメータとに当てはめ、順演算と呼ばれる計算を行うことで、ベース座標系を基準としたＴＣＰの位置が算出可能である。結果、特徴点Ｐ１、Ｐ２及びＰ３のそれぞれのベース座標値データＢｐ１、Ｂｐ２及びＢｐ３は次式で表される。
【００２６】
【数１】
0004615418.tif 000002
上記（１）〜（３）式で、Ｐ１ｘ〜Ｐ３ｘ，Ｐ１ｙ〜Ｐ３ｙ，Ｐ１ｚ〜Ｐ３ｚは、ベース座標値データのＸ，Ｙ，Ｚ成分をそれぞれ表している。
【００２７】
上記式で表される特徴点３点のベース座標値データに基づいて以下の演算を行い、最終的にベース座標系Ｃｂから見たユーザ座標系Ｃｕの位置姿勢を表す同次変換行列Ａｂｕを算出する。
【００２８】
まず、特徴点Ｐ１の位置をユーザ座標系Ｃｕの原点とする。すなわち、ユーザ座標系Ｃｕの原点Ｏｕは特徴点Ｐ１のベース座標値データＢｐ１と同値であるので、次式によって表わすことができる。
【００２９】
Ｏｕ＝Ｂｐ１＝［Ｐ１ｘ，Ｐ１ｙ，Ｐ１ｚ］  ‥‥（４）
【００３０】
次に、ユーザ座標系ＣｕのＸ軸を表すＸ軸ベクトルＸｖを算出する。Ｘ軸ベクトルＸｖは、特徴点Ｐ１から特徴点Ｐ２に向かうベクトルとするので、（１）式で表した特徴点Ｐ１のベース座標値データＢｐ１、及び（２）式で表した特徴点Ｐ２のベース座標値データＢｐ２とに基づいて次式で表される。
【００３１】
Ｘｖ＝［Ｘｖｘ，Ｘｖｙ，Ｘｖｚ］
＝［（Ｐ２ｘ−Ｐ１ｘ）／Ｌ１，
（Ｐ２ｙ−Ｐ１ｙ）／Ｌ１，
（Ｐ２ｚ−Ｐ１ｚ）／Ｌ１］      ‥‥（５）
【００３２】
上記（５）式のＬ１には、次式が代入される。
【００３３】
Ｌ１＝√（（Ｐ２ｘ−Ｐ１ｘ）２＋
（Ｐ２ｙ−Ｐ１ｙ）２＋
（Ｐ２ｚ−Ｐ１ｚ）２）      ‥‥（６）
【００３４】
次に、Ｘ軸ベクトルＸｖと特徴点Ｐ１から特徴点Ｐ３に向かうベクトルＱｖとの外積から、Ｚ軸ベクトルＺｖを算出する。まず、ベクトルＱｖは、次式で表される。
【００３５】
Ｑｂ＝［Ｑｖｘ，Ｑｖｙ，Ｑｖｚ］
＝［（Ｐ３ｘ−Ｐ１ｘ）／Ｌ２，
（Ｐ３ｙ−Ｐ１ｙ）／Ｌ２，
（Ｐ３ｚ−Ｐ１ｚ）／Ｌ２］        ‥‥（７）
【００３６】
上記（７）式のＬ２には、下記に表す式が代入される。
【００３７】
Ｌ２＝√（（Ｐ３ｘ−Ｐ１ｘ）２＋
（Ｐ３ｙ−Ｐ１ｙ）２＋
（Ｐ３ｚ−Ｐ１ｚ）２）      ‥‥（８）
【００３８】
Ｚ軸ベクトルＺｖは、（５）式で表されるＸ軸ベクトルＸｖと（７）式で表されるベクトルＱｖとの外積であるので、次式で表される。
【００３９】
Ｚｖ＝［Ｚｖｘ，Ｚｖｙ，Ｚｖｚ］
＝［Ｘｖｙ・Ｑｖｚ−Ｘｖｚ・Ｑｖｙ，
Ｘｖｚ・Ｑｖｘ−Ｘｖｘ・Ｑｖｚ，
Ｘｖｘ・Ｑｖｙ−Ｘｖｙ・Ｑｖｘ］‥‥（９）
【００４０】
次に、Ｚ軸ベクトルＺｖとＸ軸ベクトルＸｖの外積から、Ｙ軸ベクトルＹｖを算出する。Ｙ軸ベクトルＹｖは、次式で表される。
【００４１】
Ｙｖ＝［Ｙｖｘ，Ｙｖｙ，Ｙｖｚ］
＝［Ｚｖｙ・Ｘｖｚ−Ｚｖｚ・Ｘｖｙ，
Ｚｖｚ・Ｘｖｘ−Ｚｖｘ・Ｘｖｚ，
Ｚｖｘ・Ｘｖｙ−Ｚｖｙ・Ｘｖｘ］‥‥（１０）
【００４２】
上記（４）、（５）、（９）及び（１０）式から、非特許文献１に記載の手法によって、ベース座標系Ｃｂから見たユーザ座標系Ｃｕの位置姿勢を表す同次変換行列Ａｂｕを次式で表すことができる。
【００４３】
【数２】
0004615418.tif 000003
【００４４】
このようにして求めた同次変換行列Ａｂｕを、ロボット制御装置５に記憶する。
【００４５】
図１に戻り、ステップＳ２において、作業者は基準位置Ｗｋに設置されたワークＷに対する教示が必要か否かを判断する。これまでのステップにおいて、基準位置Ｗｋに設置されたワークＷに対する教示は行っていない。したがって、ステップＳ３に進み、教示を行うものとして説明を続ける。
【００４６】
ステップＳ３において、作業者は、ステップＳ１で算出されたユーザ座標系Ｃｕの軸方向に従って作業経路上の教示点Ｒ１（図２参照）までマニピュレータ１のＴＣＰを移動する。そしてステップＳ４において、作業者は教示点Ｒ１の記憶操作を行う。このとき、ロボット制御装置５は、ユーザ座標系Ｃｕを基準としたＴＣＰの位置姿勢座標値（以下、ユーザ座標値データという）を算出して、記憶する。以下、教示点Ｒ１におけるユーザ座標値データＵｒ１の算出方法について説明する。
【００４７】
まず、教示点Ｒ１のベース座標値データＢｒ１を算出する。ベース座標値データＢｒ１は（１）乃至（３）式を求めた手法と同様の手法で算出可能であるので、次式で表される。
【００４８】
Ｂｒ１＝［Ｒ１ｘ，Ｒ１ｙ，Ｒ１ｚ，Ｒ１α，Ｒ１β，Ｒ１γ］‥‥（１２）
【００４９】
上記（１２）式から、ベース座標系から見た教示点Ｒ１におけるＴＣＰへの同次変換行列Ａｂｒを、非特許文献１に記載の手法によって次式のように算出することができる。なお、下記式において○は回転行列を表す数値を示す。
【００５０】
【数３】
0004615418.tif 000004
【００５１】
そして、（１１）式及び（１３）式から、ユーザ座標系から見た教示点Ｒ１の位置姿勢を表す同次変換行列Ａｕｒを次式によって算出することができる。なお、下記式において○は回転行列を表す数値を示す。
【００５２】
【数４】
0004615418.tif 000005
【００５３】
さらに、上記（１４）式から、教示点Ｒ１のユーザ座標値データＵｒ１を次のように算出することができる。
【００５４】
Ｕｒ１＝［Ｕｒ１ｘ，Ｕｒ１ｙ，Ｕｒ１ｚ，Ｕｒ１α，Ｕｒ１β，Ｕｒ１γ］
＝［Ｓｘ，Ｓｙ，Ｓｚ，Ｕｒ１α，Ｕｒ１β，Ｕｒ１γ］    ‥‥（１５）
【００５５】
上記（１５）式において、Ｕｒ１ｘ、Ｕｒ１ｙ及びＵｒ１ｚは、それぞれユーザ座標系上でのＸ軸、Ｙ軸及びＺ軸の位置座標値を表しており、（１４）式で求められたＳｘ、Ｓｙ及びＳｚと同じ値となる。Ｕｒ１α、Ｕｒ１β及びＵｒ１γは、（１４）式における回転行列部分によって求められるユーザ座標系上でのα、β及びγの姿勢座標値（回転角度）である。
【００５６】
このようにして求められた教示点Ｒ１のユーザ座標値データＵｒ１をロボット制御装置５に記憶する。教示点はＲ１のみではなく、数十から数百存在する場合がほとんどであるので、作業者は、図１のステップＳ３及びＳ４を繰り返すことによって、全ての教示点を記憶する。
【００５７】
図１のステップＳ５において、作業経路の教示が全て終了した場合は、ステップＳ６に移る。ステップＳ６において、ワークＷの設置位置が変更されているか否かを判断する。ワークＷの設置位置が変更されていない場合は、ステップＳ７に移り、再生動作を開始する。ここでは、ワークＷの設置位置が変更されたと想定してステップＳ１に戻り、ユーザ座標系を再定義を行うものとして説明を続ける。ステップＳ７以降の説明については後述する。
【００５８】
ワークＷの設置位置が変更された場合は、ステップＳ１に戻り、ユーザ座標系を再定義する。図３は、ワークが基準位置とは異なる位置に設置されたときに、ワーク上の特徴点を再指定して新たなユーザ座標系が再定義されていることを説明するための図である。
【００５９】
図３において、ワークＷは基準位置Ｗｋとは異なる位置Ｗｎに設置されている。教示点Ｒ１ｎは、ワークＷが基準位置Ｗｋに設置されているときに教示された教示点Ｒ１に相当する位置である。マニピュレータ１及びベース座標系Ｃｂは、図２と同様であるので説明を省略する。ユーザ座標系Ｃｕｎは作業者が再定義した座標系であり、図示しているように原点Ｏｕｎ及び軸方向（Ｘｕｎ，Ｙｕｎ，Ｚｕｎ）が定義されている。
【００６０】
作業者は、基準位置とは異なる位置Ｗｎに設置されたワークＷにおいて、特徴点Ｐ１ｎ、Ｐ２ｎ及びＰ３ｎを再指定する。ロボット制御装置５は、再指定された特徴点Ｐ１ｎ、Ｐ２ｎ及びＰ３ｎの位置に基づき、ベース座標系Ｃｂから見たユーザ座標系Ｃｕｎの位置を表すユーザ座標系Ｃｕｎの同次変換行列Ａｂｕｎを再算出し、記憶しなおす。算出方法は上述した（１１）式を算出した方法と同じである。したがって、ベース座標系Ｃｂを基準とした再指定後のユーザ座標系Ｃｕｎの同次変換行列Ａｂｕｎは、次式で表すことができる。
【００６１】
【数５】
0004615418.tif 000006
【００６２】
このようにして求めた同次変換行列Ａｂｕｎを、ベース座標系Ｃｂから見たユーザ座標系Ｃｕｎの位置として、ロボット制御装置５に記憶する。
【００６３】
次にステップＳ２において、ワークＷに対する教示は既に終了している。すなわち、異なる位置Ｗｎに設置されたワークＷに対して作業経路を教示しなおす必要はないので、ステップＳ７に移る。
【００６４】
ステップＳ７において、再生動作の開始操作を行う。具体的には、ロボット制御装置５に装備された起動ボタン、生産ラインを制御する上位コントローラからの起動信号等を入力することによって、教示データが再生される。
【００６５】
ステップＳ８において、教示データをロボット制御装置５から読み出す。教示データには、マニピュレータ１のＴＣＰの再生位置がユーザ座標値データで記憶されている。例えば、教示点Ｒ１ｎの再生位置として、（１５）式で表されるユーザ座標値データＵｒ１が記憶されている。このユーザ座標値データＵｒ１を元に、ユーザ座標系から見た教示点Ｒ１の位置姿勢を表す同次変換行列Ａｕｒｎを算出する。すなわち、同次変換行列Ａｕｒｎは、ワークＷが異なる位置Ｗｎに設置された後の再生動作時は未知の値であるため、ユーザ座標値データＵｒ１に基づいて算出するという処理を行う。同次変換行列Ａｕｒｎは、（１４）式の同次変換行列Ａｕｒに基づいて（１５）式のユーザ座標値データＵｒ１を求めた演算と逆の演算を行えば容易に導き出すことができる。そして、ここで算出される教示点Ｒ１ｎの同次変換行列Ａｕｒｎは、（１４）式と全く同様の式となる。このことは、ＴＣＰの位置姿勢座標値をユーザ座標系を基準としたユーザ座標値データで記憶していれば、ワークＷの設置位置に変化があったとしても同じ同次変換行列Ａｕｒが使用できるということである。
【００６６】
次に、ステップＳ９において、教示点Ｒ１ｎのベース座標値データＢｒ１ｎを算出する。そのために、ベース座標系から見た教示点Ｒ１ｎのＴＣＰの位置を表す同次変換行列Ａｂｒｎを算出する。ベース座標系から見たユーザ座標系の位置を表す同次変換行列Ａｂｕｎは（１６）式にて既に算出されている。また、教示点Ｒ１ｎにおけるユーザ座標系から見たＴＣＰの位置を表す同次変換行列Ａｕｒｎも（１４）式と同様の式となるので既に算出されている。したがって、ベース座標系から見た教示点Ｒ１ｎのＴＣＰの位置を表す同次変換行列Ａｂｒｎは、（１４）式及び（１６）式に基づき、下記式によって算出することができる。なお、下記式において○は回転行列を表す数値を示す。
【００６７】
【数６】
0004615418.tif 000007
【００６８】
さらに、上記（１７）式から教示点Ｒ１ｎのベース座標値データＢｒ１ｎを算出する。
【００６９】
Ｂｒ１ｎ＝［Ｐｂｘ，Ｐｂｙ，Ｐｂｚ，Ｐｂα，Ｐｂβ，Ｐｂγ］‥‥（１８）
【００７０】
Ｐｂｘ、Ｐｂｙ及びＰｂｚは、それぞれ、ベース座標系上でのＸ軸、Ｙ軸及びＺ軸の位置座標値を表している。Ｐｂα、Ｐｂβ及びＰｂγは、（１７）式における回転行列部分によって求められるベース座標系上でのα、β及びγの姿勢座標値（回転角度）である。
【００７１】
そして、ステップＳ１０において、（１８）式で求められたベース座標値データＢｒ１ｎに基づいて、マニピュレータの各関節角度を算出する逆変換演算を行う。そして、ステップＳ１１において、マニピュレータの各関節を回転駆動することによって、算出された各関節角度の位置、すなわち教示点Ｒ１ｎまで移動させる。最後にステップＳ１２において全ての教示点の再生動作が終了していない場合は、ステップＳ８に戻り、次の教示点の再生動作を行う。全ての教示点の再生動作が終了している場合は、フローを終了する。
【００７２】
以上説明したように、マニピュレータとワークとの相対的な位置関係にズレが生じたとしても、既教示データを教示修正することなく、そのまま再利用することができる。特に教示点の数が多く、かつワークの正確な設置が困難な大型ワークの加工作業を行う場合において、教示点が数百にも及ぶような大きな教示データであっても、ワーク上の複数の特徴点を再指定してユーザ座標系を再定義しさえすれば、教示点を１点も修正することなく、そのまま再利用できる。
［実施の形態２］
【００７３】
次に、本発明の実施形態２について説明する。実施形態２は、特徴点の位置の再指定をタッチセンサ等の位置測定器によって測定して行うことによって、ユーザ座標系の再定義を作業者が行うのではなく、ロボットが自動的に行うものである。
【００７４】
図４は、本発明の実施形態２によって教示データの補正が自動的に行われる流れを説明するためのフローチャート図である。同図において、破線を付与しているステップＳ１、Ｓ３乃至Ｓ５、及びＳ８乃至Ｓ１２は、図１の同符号を付したステップとほぼ同じであるので説明を省略する。以下、実線で示した実施形態１とは異なるステップＳ７ａ及びＳ７ｂについてのみ説明する。
【００７５】
ステップＳ７において再生動作の開始操作が行われると、ステップＳ７ａにおいて、タッチセンサによるタッチ検出動作によって、特徴点３点それぞれについて、ベース座標系における基準位置からのズレ量（ΔＸｂ，ΔＹｂ，ΔＺｂ）を検出する。
【００７６】
そして、ステップＳ７ｂにおいて、ズレ量を特徴点３点のそれぞれのベース座標値データに加算する。この加算後のベース座標値データに基づいて、（１）式〜（１１）式の演算を行い、ベース座標系を基準としたユーザ座標系の同次変換行列Ａｂｕを算出し、ロボット制御装置に記憶すれば良い。
【００７７】
なお、実施形態２では、位置測定器としてタッチセンサを用いて自動的に補正する例を示したが、本発明は、これに限られるものではない。例えば、レーザセンサ等の画像処理装置を用いて測定し自動的に補正する場合も本発明に含まれるものである。
【００７８】
このように、ワーク上の複数の特徴点の再指定を、作業者ではなく、位置計測器によって自動的に測定して行うようにしたので、作業者自身が特徴点の再指定を行う必要がない。すなわち、第１実施形態が有する効果に加えて、さらに作業者の作業工数を低減できる。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施形態１によって教示データの補正が行われる流れを説明するためのフローチャート図である。
【図２】ワークが基準位置に設置されているときにワーク上の特徴点を指定することによってユーザ座標系が定義されていることを説明するための図である。
【図３】ワークが基準位置とは異なる位置に設置されたときに、ワーク上の特徴点を再指定して新たなユーザ座標系が再定義されていることを説明するための図である。
【図４】本発明の実施形態２によって教示データの補正が自動的に行われる流れを説明するためのフローチャート図である。
【図５】ティーチングプレイバック方式を採用した産業用ロボットの一般的な構成図である。
【図６】教示時におけるマニピュレータの移動方向と座標系の関係について説明するための図である。
【図７】従来、教示データがどのように記憶され、再生動作されるのかを説明するためのフローチャート図である。
【符号の説明】
【００８０】
１            マニピュレータ
２            アーム
３            ティーチペンダント
４            ボタン群
５            ロボット制御装置
Ａｂｒ            （ベース座標系から見た教示点Ｒ１の位置姿勢を表す）同次変換行列
Ａｂｒｎ          （ベース座標系から見た教示点Ｒ１ｎの位置姿勢を表す）同次変換行列
Ａｂｕ            （ベース座標系から見たユーザ座標系の位置姿勢を表す）同次変換行列
Ａｂｕｎ          （ベース座標系から見たユーザ座標系の位置姿勢を表す）同次変換行列
Ａｕｒ            （ユーザ座標系から見た教示点Ｒ１の位置姿勢を表す）同次変換行列
Ａｕｒｎ          （ユーザ座標系から見た教示点Ｒ１ｎの位置姿勢を表す）同次変換行列
Ｂｐ１            ベース座標値データ（特徴点Ｐ１）
Ｂｐ２            ベース座標値データ（特徴点Ｐ２）
Ｂｐ３            ベース座標値データ（特徴点Ｐ３）
Ｂｒ１            ベース座標値データ（教示点Ｒ１）
Ｂｒ１ｎ          ベース座標値データ（教示点Ｒ１ｎ）
Ｃｒ            ベース座標系
Ｃｕ            ユーザ座標系
Ｃｕｎ            ユーザ座標系（再定義後）
Ｋ            作業経路
Ｏｂ            （ベース座標系の）原点
Ｏｕ            （ユーザ座標系の）原点
Ｏｕｎ            （再定義後のユーザ座標系の）原点
Ｐ１            特徴点
Ｐ２            特徴点
Ｐ３            特徴点
Ｐ１ｎ            特徴点
Ｐ２ｎ            特徴点
Ｐ３ｎ            特徴点
Ｑｖ            ベクトル
Ｒ１            教示点
Ｒ１ｎ            教示点
Ｔ            ツール
Ｕｒ１            ユーザ座標値データ
Ｗ            ワーク
Ｗｋ            基準位置
Ｗｎ            基準位置と異なる位置
Ｘｂ            軸方向（ベース座標系Ｘ）
Ｘｕ            軸方向（ユーザ座標系Ｘ）
Ｘｖ            Ｘ軸ベクトル
Ｙｂ            軸方向（ベース座標系Ｙ）
Ｙｕ            軸方向（ユーザ座標系Ｙ）
Ｙｖ            Ｙ軸ベクトル
Ｚｂ            軸方向（ベース座標系Ｚ）
Ｚｕ            軸方向（ユーザ座標系Ｚ）
Ｚｖ            Ｚ軸ベクトル
【図１】
0004615418.tif 000008
【図２】
0004615418.tif 000009
【図３】
0004615418.tif 000010
【図４】
0004615418.tif 000011
【図５】
0004615418.tif 000012
【図６】
0004615418.tif 000013
【図７】
0004615418.tif 000014