(57)【特許請求の範囲】
【請求項１】
位置と力との制御で動作する多自由度ロボットに適用され、作業工具を複数の教示点で決まる作業対象物の目標経路に沿って移動させることにより再生動作を行うとき、上記教示点のそれぞれで上記作業工具の位置決めを判定するロボットの位置決め方法において、
制御用座標系の複数の軸方向のそれぞれに、作業工具を作業対象物に押し付ける力を制御するためのばね要素のばね定数を設定し、これらのばね定数の中から選択したばね定数に応じて、作業工具が目標位置近辺に到達したことを判定する位置決め監視幅を設定するとともに、制御用座標系は、直交座標系とし、座標軸の並進方向３軸と回転方向３軸とに対して、それぞれに設定されたばね定数の中から選択したばね定数に応じて上記位置決め監視幅を設定することを特徴とするロボットの位置決め方法。
【請求項２】
請求項１記載のロボットの位置決め方法において、上記位置決め監視幅を設定するばね定数は、複数の軸方向のそれぞれに設定されたばね要素の中の最も低いばね定数であることを特徴とするロボットの位置決め方法。
【請求項３】
請求項１記載のロボットの位置決め方法において、上記位置決め監視幅は、ばね定数が低いときには広く、ばね定数が高いときには狭く設定することを特徴とするロボットの位置決め方法。
【請求項４】
請求項１〜３のうちのいずれか１項記載のロボットの位置決め方法において、上記位置と力の制御は仮想コンプライアンス制御であり、上記ばね要素は仮想ばねであることを特徴とするロボットの位置決め方法。
【請求項５】
請求項１記載のロボットの位置決め方法において、上記作業工具は、作業対象物を研削する研削工具であり、上記位置決め監視幅は、目標位置に対する研削残量に応じて、変化させ、研削残量が小となるに従って上記位置決め監視幅を狭くすることを特徴とするロボットの位置決め方法。
【請求項６】
位置と力との制御で動作する多自由度ロボットに適用され、作業工具を複数の教示点で決まる作業対象物の目標経路に沿って移動させることにより再生動作を行うとき、上記教示点のそれぞれで上記作業工具の位置決めを判定するロボットの位置決め装置において、
制御用座標系の複数の軸方向のそれぞれに設定され、作業工具を作業対象物に押し付ける力を制御するためのばね要素のばね定数を記憶する手段と、
記憶手段に記憶されたばね定数の中からばね定数を選択し、選択したばね定数に応じて、作業工具が目標位置近辺に到達したことを判定する位置決め監視幅を設定する位置到達判定範囲演算部と、
作業工具の現在位置を監視し、監視した現在位置が上記位置到達判定範囲演算部により演算された監視幅に到達したか否かを判定する位置監視判定部とを備え、
制御用座標系は、直交座標系とし、位置到達判定範囲演算部は、座標軸の並進方向３軸と回転方向３軸とに対して、それぞれに設定されたばね定数の中から選択したばね定数に応じて上記位置決め監視幅を設定することを特徴とするロボットの位置決め装置。
【請求項７】
請求項６記載のロボットの位置決め装置において、上記位置到達判定範囲演算部は、ばね定数は、複数の軸方向のそれぞれに設定されたばね要素の中の、最も低いばね定数を選択し、位置決め監視幅を設定することを特徴とするロボットの位置決め装置。
【請求項８】
請求項６記載のロボットの位置決め装置において、上記位置到達範囲演算部は、位置決め監視幅を、ばね定数が低いときには広く、ばね定数が高いときには狭く設定することを特徴とするロボットの位置決め装置。
【請求項９】
請求項６〜８のうちのいずれか１項記載のロボットの位置決め装置において、上記位置と力の制御は仮想コンプライアンス制御であり、上記ばね要素は仮想ばねであることを特徴とするロボットの位置決め装置。
【請求項１０】
請求項６記載のロボットの位置決め装置において、上記作業工具は、作業対象物を研削する研削工具であり、上記位置到達判定範囲演算部は、位置決め監視幅を、目標位置に対する研削残量に応じて、変化させ、研削残量が小となるに従って上記位置決め監視幅を狭くすることを特徴とするロボットの位置決め装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボットの位置決め方法および位置決め装置に関し、特に、位置と力の制御に基づいて研削加工、バリ取り、曲面研磨等の力を伴う作業を行う多自由度の力制御ロボットに適用されるロボットの位置決め方法および位置決め装置に関する。
【０００２】
【従来の技術】
ロボットの位置決め方法とは、再生動作（プレイバック動作）で目標経路に従って、作業工具を移動させるときの各教示点での移動の仕方をいう。ロボットの位置決め方法に関し、従来の実用的な方法は、例えば溶接作業を行う位置制御ロボット（プロセスロボット）で提案されたものがある。
【０００３】
この位置制御ロボットにおける位置決め方法では、各教示点ごとに、教示点を通過するための条件を教示点通過時の位置決め監視幅として設定する方法が採用される。教示点通過時の位置決め監視幅は、例えば、「ナシ」、「ラフ」、「ファイン」と３段階に分けてユーザが設定するように構成される。
上記位置制御ロボットに対して、力制御ロボットでは、従来、実用的な位置決め方法は特に提案されていなかった。
【０００４】
図５を参照して「ナシ」、「ラフ」、「ファイン」の位置決め監視幅における再生動作の状態を説明する。図５において、Ａは「ナシ」の場合、Ｂは「ラフ」の場合、Ｃは「ファイン」の場合を示し、７１は通過しようとする教示点、７２は通過経路を示している。
【０００５】
図５のＡ〜Ｃのそれぞれでは、作業工具が、前の教示点から教示点７１に向かって移動し、位置決め監視幅の条件が満たされた後に、次の教示点に向かう移動状態が示されている。監視幅が「ファイン」の場合には、教示点７１を通過する時の監視幅が狭く設定されるので、通過経路７２では教示点７１で一旦停止してから次の教示点へ移動する。
【０００６】
監視幅が、「ラフ」の場合には、教示点７１を通過する時の監視幅が広く設定されるので、通過経路７２では教示点７１で停止せず、教示点７１の近傍を減速して通過し、次の教示点へ向かって移動する。
【０００７】
監視幅が、「ナシ」の場合には、位置決めのための監視幅を特別に設定せず、教示点７１の近傍を減速することなく通過し、次の教示点に向かって移動する。
【０００８】
【発明が解決しようとする課題】
ところが、位置（姿勢を含む）と力の制御に基づいて力を伴う作業を行う力制御ロボットにおける位置決め方法として、前述した位置制御ロボットで採用されていた従来の位置決め方法を適用すると、次のような問題が生じる。
【０００９】
問題を説明する前に、まず、力制御ロボットの一例として研削ロボットの構成を説明する。図６に示すように、研削ロボットは、多自由度機構を含むロボット本体８１と、このロボット本体８１の動作を制御するコントローラ８２とからなり、ロボット本体８１は、アーム先部の手首部８３に、６軸力センサ８４を備え、この力センサ８４の先に作業工具としてグラインダ８５を設けている。
【００１０】
グラインダ８５でワークを研削するとき、グラインダ８５に加わる力およびモーメントは、力センサ８４によって検出される。また、ロボット本体８１の各関節部には、ロボット本体８１を動作させるモータと、各関節部の動作量を検出するエンコーダとが配設される。各関節部に設けられたエンコーダの検出信号によって、作業中のグラインダ８５の位置と姿勢とを求めることができる。
【００１１】
コントローラ８２には位置（姿勢を含む）と力の制御を実行するアルコリズムで実現される制御機能部が含まれる。ロボット本体８１は、この制御機能部による制御に基づいて動作し、グラインダ８５の位置と力が制御される。グラインダ８５の位置の制御で、グラインダ８５は、複数の教示点のそれぞれを、予め与えられた位置データに基づいて教示順序に従って移動する。
【００１２】
その際、位置フィードバック制御が行われる。移動の最中にグラインダ８５はワークに押し付けられ、ワークの各部で所望の研削が行われるようにグラインダ８５に対して力の制御が行われる。グラインダ８５に関する力の制御では、予め教示された力制御パラメータに基づいて制御が行われると共に、力センサ８４で得られる実際の力に基づく力フィードバック制御が行われる。
【００１３】
上記の位置と力の制御では、仮想コンプライアンス制御が採用されるものとする。
仮想コンプライアンス制御は、図７に示すように、グラインダ８５をワーク８６に押し付けた状態において、少なくとも押付け方向に関し、手首部８３とグラインダ８５との間に、あたかも、ばね８７とダンパ８８とが設けられているようにソフトウェアによって実現する制御方式である。
【００１４】
以下、ばね８７を仮想ばねといい、ダンパ８８を仮想ダンパという。
仮想コンプライアンス制御で、グラインダ８５は、研削作業を行うための目標経路８９が与えられた状態において、この目標経路８９に接近すべく、仮想ばね８７に設定された、ばね力に応じた押付け力９０で、ワーク８６に押し付けられる。
【００１５】
このようなことから、研削ロボット等の力制御ロボットでは、目標経路８９を定める複数の教示点の位置データや力制御を行うための仮想ばね８７等は、研削作業を行うにあたって重要なパラメータであり、それらの教示・設定は、力作業の状況を配慮して適切に行われなければならない。
【００１６】
上記特性を有する研削ロボットに前述した従来の位置決め方法を適用した場合の問題を、図８を参照して説明する。
図８は、凸状の溶接ビード９１で接合された２つの母材９２、９３において、当該溶接ビード９１を凹状に研削しようする状態を示す。９４は研削の目標経路である。
【００１７】
目標経路９４は、幾つかの教示点の位置データを与え、その中間部を円弧補間することにより決められる。図示した例では、説明の便宜上、両端と中間部の３つの教示点である始端部Ｐ１、中間部Ｐ２、終端部Ｐ３が示される。グラインダ８５は、教示点Ｐ１、Ｐ２、Ｐ３の順序で目標経路９４に沿って研削を行いながら移動する。
【００１８】
目標経路９４に沿って研削を行う場合、溶接ビード９１が凸形状であることから、端部に位置する教示点Ｐ１及びＰ３の研削では、溶接ビード９１の研削量を少なくし、中央に位置する教示点Ｐ２の研削では、溶接ビード９１の研削量を多くすることが必要である。図８では、各教示点Ｐ１、Ｐ２、Ｐ３で互いに等しい位置到達判定範囲９５が設定されている。
【００１９】
この位置到達判定範囲９５は、前述の監視幅に相当するもので、研削を行う力制御ロボットでは、研削部材が研削時に発生する熱で熱硬化を起こす等の不都合を生じないように、再生動作で停止させることはないので、各教示点で「ラフ」に相当するレベルで、かつ比較的に小さい位置到達判定範囲が共通に設定される。設定後、作業中においては、位置到達判定範囲は一定に保持される。
【００２０】
位置到達判定範囲９５は、各教示点を中心とする球体の範囲として設定される。グラインダ８５による一定時間当たりの最大研削量は一定であるので、以上のように各教示点で等しく設定された位置到達判定範囲９５に到達するためには、研削しようとする量に応じてグラインダ８５を移動させる速度を調整することが必要となる。極端な例として、教示点Ｐ２は溶接ビード９１の盛り量が教示点Ｐ１、Ｐ３に比較して多いので、速度を遅くし、または停止して研削を継続しなければならない。
【００２１】
しかし、研削しようとする溶接ビード９１の量に応じてグラインダ８５の移動速度を調整するためには、グラインダ８５を移動させながら移動先の溶接ビード９１の量を測定しなければならず、測定のための視覚センサ等の特別な装置が必要となる。従って、装置構成が複雑となり、かつコストが高くなるという問題を有する。
【００２２】
また、研削しようとする溶接ビード量が大きいときには、グラインダ８５の移動速度を遅くしなければならない。グラインダ８５の移動速度を遅くすると、グラインダの研削で溶接ビードに焼きが入り、その後の研削作業において良好な研削を行うことができないという問題を有する。
【００２３】
なお、図８では説明を簡単にするため、各教示点で等しい位置到達判定範囲９５が設定された例を示したが、本質的な問題として、実際に、溶接ビードの盛り量を事前に知ることは困難であるので、溶接ビードの研削作業で位置到達判定範囲を適切に設定することは困難であるという問題も存在する。
【００２４】
本発明の目的は、位置と力の制御に基づき力作業を行う力制御ロボットにおいて、位置到達判定範囲を利用して、特別な装置を付加する必要がなく、簡素な構造で安価でありながら、円滑に力作業を行うことが可能なロボットの位置決め方法及び位置決め装置を実現することである。
【００２５】
【課題を解決するための手段】
本発明は、上記目的を達成するため、次のように構成される。
位置と力との制御で動作する多自由度ロボットに適用され、作業工具を複数の教示点で決まる作業対象物の目標経路に沿って移動させることにより再生動作を行うとき、教示点のそれぞれで作業工具の位置決めを判定するロボットの位置決め方法において、制御用座標系の複数の軸方向のそれぞれに設定され、作業工具を作業対象物に押し付ける力を制御するためのばね要素のばね定数の中から、選択したばね定数に応じて、作業工具が目標位置近辺に到達したことを判定する位置決め監視幅を設定する。
好ましくは、上記ロボットの位置決め方法において、制御用座標系は、直交座標系とし、座標軸の並進方向３軸と回転方向３軸とに対して、それぞれに設定されたばね定数の中から選択したばね定数に応じて位置決め監視幅を設定するするとともに、制御用座標系は、直交座標系とし、座標軸の並進方向３軸と回転方向３軸とに対して、それぞれに設定されたばね定数の中から選択したばね定数に応じて上記位置決め監視幅を設定する。
【００２７】
好ましくは、上記ロボットの位置決め方法において、位置決め監視幅を設定するばね定数は、複数の軸方向のそれぞれに設定されたばね要素の中の、最も低いばね定数である。
【００２８】
また、好ましくは、上記ロボットの位置決め方法において、位置決め監視幅は、ばね定数が低いときには広く、ばね定数が高いときには狭く設定する。
また、好ましくは、上記ロボットの位置決め方法において、位置と力の制御は仮想コンプライアンス制御であり、ばね要素は仮想ばねである。
【００２９】
また、好ましくは、上記ロボットの位置決め方法において、作業工具は、作業対象物を研削する研削工具であり、位置決め監視幅は、目標位置に対する研削残量に応じて、変化させ、研削残量が小となるに従って位置決め監視幅を小とする。
【００３０】
また、位置と力との制御で動作する多自由度ロボットに適用され、作業工具を複数の教示点で決まる作業対象物の目標経路に沿って移動させることにより再生動作を行うとき、教示点のそれぞれで作業工具の位置決めを判定するロボットの位置決め装置において、制御用座標系の複数の軸方向のそれぞれに設定され、作業工具を作業対象物に押し付ける力を制御するためのばね要素のばね定数を記憶する手段と、記憶手段に記憶されたばね定数の中から、ばね定数を選択し、選択したばね定数に応じて、作業工具が目標位置近辺に到達したことを判定する位置決め監視幅を設定する位置到達判定範囲演算部と、作業工具の現在位置を監視し、監視した現在位置が位置到達判定範囲演算部により演算された監視幅に到達したか否かを判定する位置監視判定部とを備え、制御用座標系は、直交座標系とし、位置到達判定範囲演算部は、座標軸の並進方向３軸と回転方向３軸とに対して、それぞれに設定されたばね定数の中から選択したばね定数に応じて上記位置決め監視幅を設定する。
【００３２】
好ましくは、上記ロボットの位置決め装置において、位置到達判定範囲演算部は、ばね定数は、複数の軸方向のそれぞれに設定されたばね要素の中の、最も低いばね定数を選択し、位置決め監視幅を設定する。
【００３３】
また、好ましくは、上記ロボットの位置決め装置において、位置到達範囲演算部は、位置決め監視幅を、ばね定数が低いときには広く、ばね定数が高いときには狭く設定する。
また、好ましくは、上記ロボットの位置決め装置において、位置と力の制御は仮想コンプライアンス制御であり、ばね要素は仮想ばねである。
【００３４】
また、好ましくは、上記ロボットの位置決め装置において、作業工具は、作業対象物を研削する研削工具であり、位置到達判定範囲演算部は、位置決め監視幅を、目標位置に対する研削残量に応じて、変化させ、研削残量が小となるに従って位置決め監視幅を小とする。
【００３５】
本発明によるロボットの位置決め方法および位置決め装置では、力制御ロボットの位置決めに関し、従来の位置制御ロボットの位置決めで使用されていた監視幅を応用した位置到達判定範囲を利用するものである。位置目標値である複数の教示点のそれぞれで設定される位置到達判定範囲は、教示者によって与えられるばね要素のばね定数に対応させて設定される。
【００３６】
位置と力の制御に従って動作する力制御ロボットでは、制御上設定されるばね要素のばね定数は、作業方向（力によって押し付けられる方向）に、作業しようとする部分の作業状況に応じて教示者が設定するので、位置到達判定範囲をばね要素のばね定数に応じて設定すれば、その位置到達判定範囲は、教示点に対応するワーク部分の作業状況に対応させて設定されたことになる。
【００３７】
こうして、位置決めの監視幅である位置到達判定範囲をワーク各部の作業状況に応じて設定することにより、位置到達判定範囲を利用して支障なく円滑に力作業を行うことが可能となる。
【００３８】
【発明の実施の形態】
以下、本発明の実施の形態を添付図面に基づいて説明する。
本発明が適用されるロボットの構成の基本的な部分は、図６等で説明された従来のロボットの構成と同じである。本発明の実施の形態の説明において、「従来の技術」において説明した要素と実質的に同一の要素には同一の符号を付している。
【００３９】
本発明が適用されるロボットは、仮想コンプライアンス制御に基づき位置（姿勢を含む）と力を制御して力作業を行う力制御ロボットであり、一例として、前述した通り多自由度を有するロボット本体８１と仮想コンプライアンス制御を実行する制御機能部を内蔵するコントローラ１１（図３に示す）からなる研削ロボットについて説明する。
【００４０】
この実施形態においても力制御ロボットの一例として研削ロボットを取り上げて説明する。研削ロボット本体８１の手首部８３に力センサ８４を備え、その先にグラインダ８５を取り付けている。本発明によるコントローラ１１は、さらに、後述する位置決め方法を実行する制御機能を備える。
【００４１】
なお、本実施形態では、上記の仮想コンプライアンス制御の内容については詳述しない。なお、参考文献として、例えば、計測自動制御学会論文集、ｖｏｌ．２２，Ｎｏ．３（昭和６１年３月）ｐ．３４３−３５０、特開平６０−３０１０号公報、特開平６１−７９０５号公報がある。
【００４２】
図１は、研削ロボットが研削しようとするワーク（加工対象物）の一例の概略図である。
ワークは、２つの母材９２及び９３が凸状の溶接ビード９１で接合されたものである。本実施形態の研削作業では、グラインダ８５によって、凸状に盛られた溶接ビード９１を凹状に研削しようとするものである。この実施形態におけるグラインダ８５は円盤状の砥石を備える。
【００４３】
溶接ビード９１を凹状に研削するための研削作業において、グラインダ８５を移動させるための目標経路９４は、研削作業開始前の教示作業で位置目標値として与えられた複数の教示点によって決められる。複数の教示点の位置データは、例えば、ユーザにおける作業者の教示作業での入力行為によって与えられる。
【００４４】
この実施形態では、説明を簡単にするために３つの教示点Ｐ１、Ｐ２、Ｐ３を示している。教示点Ｐ１及びＰ３は目標経路９４の両端の教示点であり、教示点Ｐ２は中間部の教示点である。
【００４５】
この実施形態では、研削作業におけるグラインダ８５の位置制御により、グラインダ８５が、目標経路９４に沿って端（Ｐ１）から端（Ｐ３）まで減速し過ぎることなく適切な速度で移動し、これを研削行程の単位（Ｐ１→Ｐ２→Ｐ３）として、（Ｐ１→Ｐ２→Ｐ３）→（Ｐ１→Ｐ２→Ｐ３）→Ｐ１→・・・という移動を繰り返す。
【００４６】
グラインダ８５の位置制御における移動速度は、グラインダ８５の研削能力に応じて適切に決定される。上記の移動において、各教示点を通過するとき、以下に説明する方法で設定された位置到達判定範囲内に入ることを条件に、位置決めの条件が満たされたものとして次の教示点への移動が行われる。位置到達判定範囲は、グラインダ８５が位置目標値である各教示点に到達したか否かを判定するために設定された範囲である。
【００４７】
「従来の技術」において説明したように、仮想コンプライアンス制御で動作するグラインダ８５は、図１に示されるように、ロボット本体８１の手首部８３に仮想ばね１２で支持された状態で取り付けられていると考えられる。仮想ばね１２は、ソフトウェアで実現される制御上の要素としての仮想的なばね要素である。なお、図１では、力センサ８４の図示は省略されている。
【００４８】
グラインダ８５は、仮想ばね１２で決まるばね力（弾性力または剛性（スティフネス）：例えば柔らかいばねまたは固いばね等で、ばね定数で決まる）で溶接ビード９１に押し付けられ、この押付け状態で溶接ビード９１を研削しながら、目標経路９４に沿って適切な速度で移動する。
【００４９】
図１では、便宜上、押付け方向（溶接ビード９１を研削する方向）に設定された仮想ばね１２だけを示す。しかし、仮想コンプライアンス制御の上では、仮想ばねは、ワークに設定された目標経路９４の各点で設定された座標系の各軸方向に設定される。図１に示すように、研削しようとする溶接ビード９１で設定された各教示点Ｐ１、Ｐ２、Ｐ３では制御に用いられる、図２に示すような直交座標系（ｘ，ｙ，ｚ）が設定される。
【００５０】
この直交座標系は、ワークの研削予定部に沿って設定された座標系（ワーク座標系）である。この実施形態の場合、目標経路９４の接線方向がｘ軸、図１の紙面に含まれかつｘ軸に直交する方向がｚ軸、ｘ軸およびｚ軸に直交する方向（奥行き方向）がｙ軸になるように決められている。
【００５１】
図１で、上記の目標経路９４は、ｘｚ平面内に含まれている。従って、目標経路９４に沿って移動するグラインダ８５は、ｙ軸方向に関してはずれることなく、ｘｚ平面内に含まれる目標経路９４に沿って移動する。ｚ軸方向は、溶接ビード９１が盛られている方向であり、これをグラインダ８５で目標経路９４に対応する凹形状に研削するのであるから、ｚ軸方向は上記押付け方向と一致する。
【００５２】
ｚ軸方向に設定される仮想ばね１２は、グラインダ８５を溶接ビード９１に押付け研削を行う方向であるので、他の軸方向の仮想ばねに対して比較的に柔らかいばねとして設定される。また、ｘ軸方向およびｙ軸方向に設定される仮想ばねは、通常の位置制御の場合と同様な固いばねに設定される。
【００５３】
図１のＰ１、Ｐ２、Ｐ３の各点に示された、ｚ軸方向が長軸となった楕円体の形状は、上記のように設定された仮想ばね１２により、Ｐ１、Ｐ２、Ｐ３の各教示点を中心にした剛性（スティッフネス）がどの様になるかを示している。１２ａは楕円体をｙｚ平面で切った楕円体を示し、１２ｂは楕円体をｘｙ平面で切った円形を示す。
【００５４】
このように、ｚ軸方向の溶接ビード９１が盛られている方向に、柔らかい仮想ばねを設定することにより、グラインダ８５を溶接ビード９１に適当な強さで押し当て、ｘ軸、ｙ軸、の各軸方向に固い仮想ばねを設定することにより、目標経路９４に沿ったグラインダ８５の移動に関してｘ軸方向とｙ軸方向には高い経路精度を確保することができる。
【００５５】
上記の教示点Ｐ１、Ｐ２、Ｐ３のそれぞれでは、各教示点を中心とする位置到達判定範囲１３が設定される。この位置到達判定範囲１３は、前述の直交座標系の各軸方向に設定された仮想ばねのばね定数のうち、最も柔らかいｚ軸方向のばね定数を選択し、これに基づいて決定する。
【００５６】
これにより、教示者が必要に応じて設定した仮想ばねに応じて、位置到達判定範囲を、仮想ばねのばね定数が低いときには広く、ばね定数が高い時には狭く、自動的に設定される。また、手先を高速で動かしたときのサーボの遅れから来る位置（姿勢）の偏差が存在しても、全軸方向に最も遅れの出やすい方向（仮想ばねのばね定数の低い方向）をもとに監視幅を設定しているので、高速動作時の姿勢偏差により、グラインダ８５が一箇所に留まってしまうという事態を回避することが可能となる。
【００５７】
上記位置決め方法を実施するコントローラ１１の制御機能を、図３を参照して説明する。
このコントローラ１１の制御機能は、各機能の機能ブロックに分割されている。コントローラ１１には、上記制御機能の他に、仮想コンプライアンス制御を実行する力制御演算部１４と、力制御演算前処理部１５とが含まれる。
【００５８】
位置目標値格納部１６には教示点Ｐ１、Ｐ２、Ｐ３の位置データが格納される。そして、この位置目標値格納部１６に格納された位置データは、力制御演算部１４で位置目標値として使用される。また、力制御パラメータ格納部１７には各教示点での研削における力目標値、仮想ダンパ、仮想ばね等の力制御パラメータが格納される。なお、位置データや力制御パラメータの、位置目標値格納部１６及び力制御パラメータ格納部１７への格納は、作業者（ユーザ）の教示作業によって行われる。
【００５９】
位置目標値として使用される各教示点Ｐ１、Ｐ２、Ｐ３の位置データは、位置目標値転送部１８によって、下記の特定条件の下で順次に読み込まれ、力制御演算前処理部１５を経由して力制御演算部１４に設定される。力制御演算部１４では、設定された教示点の位置データを位置目標値として、グラインダ８５を移動させるための位置制御信号が生成される。
【００６０】
位置目標として設定された教示点に到達したことを条件に、次の教示点に移動すべく、位置目標値転送部１８は、次の教示点の位置データを位置目標値として位置目標値格納部１６から読み込む。各教示点の間の移動すべき経路は、直線補間や円弧補間によって演算される。力制御パラメータ格納部１７に格納される各種のパラメータは、力制御演算前処理部１５を経由して力制御演算部１４に設定される。
【００６１】
力制御演算前処理部１５は、位置制御に必要な位置データや力制御のための各種の力制御パラメータを、力制御演算部１４と同期をとりながら力制御演算部１４に対して供給する機能を有する。力制御演算部１４は、仮想コンプライアンス制御方式に従って必要な位置と力の制御の演算を行い、生成された制御信号（速度信号やトルク信号）をサーボ回路１９を介してロボット本体８１のモータに与える。
【００６２】
制御信号を与えられたロボット本体８１は、所定の研削作業のための動作を行う。ロボット本体８１が動作するとき、各関節部に設けられたエンコーダによって実際の位置の情報が得られ、また力センサ８４によってグラインダ８５に加わる力（モーメントを含む）の情報が得られる。位置の情報と力の情報は、力センサ８４から力制御演算部１４に取り込まれる。力制御演算部１４および力制御演算前処理部１５は、従来と同様な動作を実行するため、この実施形態では詳細な説明を省略する。
【００６３】
次に、位置決め方法を実施するための特徴的構成部分を説明する。
監視レベル設定部２０には、位置到達判定範囲を演算により設定するときの監視レベル係数が設定される。この監視レベル係数は、後述する式（１）で示す係数であり、設定は作業者の教示作業によって行われる。
【００６４】
監視レベル設定部２０での設定については、通常の位置制御ロボットの場合と同様に、一般的に「ファイン」や「ラフ」等を設定することができる。監視レベル設定部２０に設定された監視レベル係数は、位置到達判定範囲演算部２１に取り込まれる。
【００６５】
位置監視判定部２２は、位置目標値格納部１６から位置目標値を取り込むと共に、実際に動作するロボット本体８１のエンコーダから力制御演算部１４および力制御演算前処理部１５を通して取り出された位置の現在値（ロボット本体に関する実際の位置データ）を取り込む。
また、位置監視判定部２２は、位置到達判定範囲演算部２１に用意された位置到達判定範囲を参照する。
【００６６】
以上の構成によって、位置監視判定部２２では、位置目標値と位置の現在値とを比較して差を求め、その差が、位置到達判定範囲演算部２１から得られる位置到達判定範囲に含まれるか否かを判定する。
【００６７】
位置監視判定部２２は、上記差が位置到達判定範囲内に含まれる場合には、教示点に到達したと判定し、次の位置目標値に基づいて移動処理を行うべく位置目標値転送部１８に対して次の位置目標値（次の教示点の位置データ）を転送するように指示する。位置目標値転送部１８は、位置監視判定部２２からの指示を受けて次の教示点の位置データを力制御演算前処理部１５を介して力制御演算部１４に転送する。
【００６８】
ばね定数選択部２４は、力制御パラメータ格納部１７から教示者が設定した仮想ばねのばね定数の全軸方向の情報を得ると共に、直交三軸の並進方向と、回転方向のそれぞれについて最小値を得る。
【００６９】
並進方向の最小値をＫｚとし、以後これについて述べる。
位置到達判定範囲演算部２１では、与えられたばね定数Ｋｚを用いてこのばね定数に対応する位置到達判定範囲を演算する。バネ定数Ｋｚを用いて、位置到達判定範囲演算部２１は、次式（１）により位置到達判定範囲ＰＡを演算する。
ＰＡ＝α×ＰＡｎ／Ｋｚ  −−−（１）
上記において、αは係数であり、例えばロボットの機構系がもつ剛性を与える。ＰＡｎは前述の監視レベル係数で、例えば「ファイン」では０．５ｍｍ、「ラフ」では１ｍｍ程度である。
【００７０】
図４は、図３の機能ブロックの動作フローチャートである。
図４のステップ１００において、ばね定数選択部２４は、力制御パラメータ格納部１７に格納されたばね定数のうち、押し付け方向のばね定数を、最も柔らかい定数（通常は押し付け方向のばね定数となる）を選択する。
【００７１】
次に、ステップ１０１において、位置到達判定範囲演算部２１は、ばね定数選択部２４から供給された供給されたばね定数から位置到達判定範囲を演算する。そして、ステップ１０２に進み、研削動作の実行が行われる。つまり、位置監視判定部２２のの指令により位置目標値転送部１８は、位置目標値格納部１６から位置目標値を取り出し、力制御演算前処理部１５を介して力制御演算部１４に供給する。
【００７２】
続いて、ステップ１０３において、位置監視判定部２２は、位置現在値が、位置到達判定範囲に到達したか否かを判断し、到達していなければ、ステップ１０２に戻る。また、ステップ１０３において、位置現在値が位置到達判定範囲に到達したのであれば、ステップ１０４に進む。
【００７３】
ステップ１０４において、位置監視判定部２２は、位置現在値と位置目標値との差を算出し、この差が所定値以内か否か、つまり、その位置においては、研削が完了したかを判断する。上記差が所定値以内であれば、ステップ１０６に進む。
【００７４】
ステップ１０４において、上記差が所定値以内でなければ、ステップ１０５において、位置監視判定部２２は、その位置の目標値におけるばね定数を所定量だけ増加、つまり、硬くし、硬くしたばね定数でその位置における位置到達判定範囲を演算部２１に演算させる。そして、ステップ１０６に進む。
【００７５】
ステップ１０６において、位置監視判定部２２は、目標経路における全ての位置で研削残量が所定値となったか否かを判断し、所定値となれば、研削動作は終了となる。また、ステップ１０６において、目標経路における全ての位置で研削残量が所定値となっていなければ、ステップ１０７に進む。
【００７６】
ステップ１０７において、位置監視判定部２２は、現在位置が目標経路の終端部（Ｐ３）か否かを判断する。そして、終端部であれば、位置監視判定部２２は、位置目標転送部１８に指令信号を供給し、目標位置を目標経路の始端部（Ｐ１）に再設定し、ステップ１０１に戻る。
【００７７】
また、ステップ１０７において、現在位置が目標経路の終端部でなければ、ステップ１０８に進み、位置監視判定部２２は、位置目標転送部１８に指令信号を供給し、経路中、研削残りのある次の位置目標値に目標位置を更新させる。そして、ステップ１０１に戻る。
【００７８】
ステップ１０１において、位置監視判定部２２は、増加されたばね定数を使用して、再設定又は更新された目標位置の到達判定範囲を、位置到達判定範囲演算部２１に演算させる。
そして、以降、上述したと同様にして、ステップ１０２〜１０８が実行される。  このようにして、目標経路９４に対応した経路を、繰り返し移動して、円滑な研削動作が実行される。また、ステップ１０３において、ＮＯの場合、位置現在値の微分値から、動作速度を算出し、ステップ１０２及び１０３の繰り返しにより、位置目標値近傍で動作速度が遅くなったときには、研削により研削対象物に焼きがはいらないように、エラー表示して動作を停止することも考えられる。この結果、研削された後の面は、段差等の無い滑らかな面に仕上げることができる。
【００７９】
なお、上記実施形態においては、仮想コンプライアンス制御に基づいて説明したが、位置と力の制御はこれに限定されず、本発明によるロボットの位置決め方法は他の方式の位置と力の制御に適用することができる。上記実施形態においては、研削作業に限定して説明したが、バリ取り、曲面研磨等のその他の力作業においても同様に適用できる。
【００８０】
【発明の効果】
以上の説明で明らかなように本発明によれば、力制御ロボットの教示された目標経路に沿った再生動作に基づく作業で、各位置目標値における位置決めを、各位置目標値で位置到達判定範囲を設定し、かつ、この位置到達判定範囲を各位置目標値に対応して教示者が設定した仮想ばねのばね定数に応じて最適な値に設定することにより行うようにしたため、位置決め監視の設定に関する教示作業を自動化できる。
【００８１】
したがって、特別な装置を付加する必要がなく、簡素な構造で安価でありながら、円滑に力作業を行うことが可能なロボットの位置決め方法及び位置決め装置を実現することができる。
【００８２】
また、位置決め監視幅の設定において、最も柔らかいばねを基準に設定しているためサーボ遅れがあっても支障なく位置決め監視を行うことができる。
さらに、本発明を研削工具により対象物を研削するロボットに適用した場合には、作業工具の押し付け方向におけるばね定数を最も柔らかい定数とし、位置決め監視幅を、目標位置に対する研削残量に応じて、変化させ、研削残量が小となるに従って位置決め監視幅を小とするので、目標経路に沿って繰り返し、自動的に研削作業が行われ、研削された後の面は、段差等の無い滑らかな面に仕上げることができる。
【図面の簡単な説明】
【図１】本発明に係わるロボットの位置決め方法を概念的に説明するための説明図である。
【図２】制御のために設定される座標系を示す図である。
【図３】本発明に係わるロボットの位置決め方法を実施する装置の一実施形態における機能ブロック図である。
【図４】本発明に係わるロボットの位置決め方法を実施する装置の動作フローチャートである
【図５】一般的な位置制御ロボットにおける位置決め方法を説明するための図である。
【図６】力制御ロボットの一例である研削ロボットの構成を示す外観図である。
【図７】仮想コンプライアンス制御の作動状態を説明するための図である。
【図８】従来の位置決め方法を力制御ロボットに適用した場合の問題点を説明するための図である。
【符号の説明】
１１              コントローラ
１２              仮想ばね
１３              位置到達判定範囲
１４              力制御演算部
１５              力制御演算前処理部
１６              位置目標値格納部
１７              力制御パラメータ格納部
１８              位置目標値転送部
１９              サーボ回路
２０              監視レベル設定部
２１              位置到達判定範囲演算部
２２              位置監視判定部
２４              ばね定数選択部
８１              ロボット本体
８４              力センサ
８５              グラインダ
９１              溶接ビード
９２、９３        母材
９４              目標経路
Ｐ１、Ｐ２、Ｐ３  教示点
【図１】
0003560710.tif 000002
【図２】
0003560710.tif 000003
【図３】
0003560710.tif 000004
【図４】
0003560710.tif 000005
【図５】
0003560710.tif 000006
【図６】
0003560710.tif 000007
【図７】
0003560710.tif 000008
【図８】
0003560710.tif 000009