(57)【要約】【課題】ロボットの接触状態の判定を元に位置制御と力制御を使い分けロボットの位置や姿勢だけでなく力加減を非接触状態から接触状態まで連続的に制御、教示し、再生することができるロボットの制御装置を提供する。【解決手段】先端にエンドエフェクタを取り付けたロボット１０１を教示装置１０８により誘導して接触を伴う作業を教示し、教示した作業を再生するロボットの制御装置において、作業の教示時に、エンドエフェクタまたは把持対象物１０３が作業対象物１０４に接触していない場合にはロボット１０１を位置制御にて誘導し、教示点の登録の際にロボット１０１の位置を記憶し、エンドエフェクタまたは把持対象物１０３が作業対象物１０４に接触している場合にはロボット１０１を力制御で誘導し、教示点の登録の際に力の大きさを記憶する。【選択図】  図１
2010142909.tif 000002
【特許請求の範囲】
【請求項１】
先端にエンドエフェクタを取り付けたロボットを教示装置により誘導して前記エンドエフェクタまたは前記エンドエフェクタに把持された把持対象物と作業対象物との接触を伴う作業を教示し、教示した前記作業を再生するロボットの制御装置において、
前記作業の教示時に、前記エンドエフェクタまたは前記把持対象物が前記作業対象物に接触していない場合には前記ロボットを位置制御にて誘導し、教示点の登録の際に前記ロボットの位置を記憶し、
前記エンドエフェクタまたは前記把持対象物が前記作業対象物に接触している場合には前記ロボットを力制御で誘導し、教示点の登録の際に力の大きさを記憶することを特徴とするロボットの制御装置。
【請求項２】
前記エンドエフェクタまたは前記把持対象物と前記作業対象物とが接触状態か否かを前記ロボット先端と前記エンドエフェクタとの間に設けられた力センサの検出値によって判断し、前記力センサの検出値が所定の基準値以上になると前記ロボットの制御方式を位置制御から力制御に切り替えることを特徴とする請求項１記載のロボットの制御装置。
【請求項３】
前記力センサの検出値に対し重力補償を行った値と前記基準値とを比較して前記作業対象物との接触状態か否かを判断することを特徴とする請求項２記載のロボットの制御装置。
【請求項４】
前記力センサの検出値から、前記エンドエフェクタまたは前記把持対象物と前記作業対象物との接触方向を判定し前記接触方向についてのみ前記ロボットの制御方式を力制御に切り替えることを特徴とする請求項２記載のロボットの制御装置。
【請求項５】
教示時に前記教示装置の画面上に前記力センサの検出値を数値表示、グラフ表示、ベクトル表示の少なくとも１つによって表示することを特徴とする請求項２記載のロボットの制御装置。
【請求項６】
先端にエンドエフェクタを取り付けたロボットを教示装置により誘導して前記エンドエフェクタまたは前記エンドエフェクタに把持された把持対象物と作業対象物との接触を伴う作業を教示し、教示した前記作業を再生するロボットの制御装置において、
前記作業の教示時に、前記エンドエフェクタまたは前記把持対象物が前記作業対象物に接触していない場合には前記ロボットを位置制御にて誘導し、教示点の登録の際に前記ロボットの位置を記憶し、
前記エンドエフェクタまたは前記把持対象物が前記作業対象物に接触している場合には前記ロボットを柔軟制御で誘導し、教示点の登録の際に位置指令値を記憶することを特徴とするロボットの制御装置。
【請求項７】
前記エンドエフェクタまたは前記把持対象物と前記作業対象物とが接触状態か否かを前記ロボットの位置偏差によって判断し、前記位置偏差が所定の閾値以上になると前記ロボットの制御方式を位置制御から柔軟制御に切り替えることを特徴とする請求項６記載のロボットの制御装置。
【請求項８】
教示時に前記教示装置の画面上に前記位置偏差を数値表示、グラフ表示、ベクトル表示の少なくとも１つによって表示することを特徴とする請求項６記載のロボットの制御装置。
【請求項９】
前記位置偏差から、前記エンドエフェクタまたは前記把持対象物と前記作業対象物との接触方向を判定し前記接触方向についてのみ前記ロボットの制御方式を柔軟制御に切り替えることを特徴とする請求項６記載のロボットの制御装置。
【請求項１０】
教示時に前記ロボットのモータへのトルク指令値を予め定めたトルク上限値以下に制限することを特徴とする請求項１または６記載のロボットの制御装置。
【請求項１１】
教示時に、前記エンドエフェクタまたは前記把持対象物と前記作業対象物との接触点から教示した経路に沿って所定量逆方向に戻った位置、または予め定めた方向に所定量移動した位置をアプローチ点として自動登録することを特徴とする請求項１または６記載のロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボットの制御装置に関し、特に作業対象物との接触を伴う作業を教示再生する制御装置に関する。
【背景技術】
【０００２】
産業用ロボットに所定の作業を行わせる手段として、まず動作を教示（ティーチング）した後、その動作を再生（プレイバック）するティーチングプレイバック方式が広く行われている。しかし、ロボットと作業対象物などとの接触を伴う作業の教示操作は試行錯誤が多く、教示者がロボットに作業を簡単に教示できる方式にはなっていない。
接触作業の教示が難しい背景を簡単に述べる。
接触を伴わずにロボットの位置や姿勢を教示する場合は、教示者が目視することにより作業対象物との位置関係が直感的に認識可能であるため、教示作業は比較的容易である。
しかし、組立などの接触作業では位置、姿勢といった空間内の６自由度に加えロボットと作業対象物の接触時に作用する力について適切な制御を実施する必要があり、接触時の力やトルクなどロボットと対象物との間に作用している力は、教示者が直感的に感じることができないため教示作業を困難にしている。
【０００３】
一方、ロボットの各関節の駆動源としては一般にサーボモータが用いられ、その位置（角度）や速度、あるいは力（トルク）の各値を定量的に制御することができる。特にエンコーダや力センサなど物理量を正確に測定する手段を有する場合は、サーボモータのレスポンスの良さと定量的な制御性の良さを利用してロボット手先の物理量を短時間に正確に制御できる潜在能力を持っていると言える。
ところが、人間が行っている組立などの接触作業をロボットに行わせるために見た目の動作だけを教示しようとしても、教示者がロボットの動作に直接は介入することはできないために、教示者自身がその作業について適切な技能を備えている場合でもロボットの作業として教示することは困難である。こういった事情は人間同士でも力を適切に制御する技能を他人に伝えることの難度が高いことと同様である。
【０００４】
しかし、先に述べたようにロボットはセンサにより物理量を正確に測ることができるという点と、高い応答特性を持って制御できるという点では人間にない特長を持っており、ロボットの外界の状況に対する再現性すなわちロボットに対して相互作用としての力生成に関しても毎回同じ状況を設定することができれば、理想的な力制御（接触）作業を繰り返し実施することができるという極めて大きな可能性を秘めていると言える。
しかし、従来のティーチングペンダントを用いた教示方法では、非接触作業と接触作業とが混在する作業を教示再生において、非接触状態から接触状態まで連続してシームレスに教示できる仕組みがなかった。また再生時に位置・姿勢制御から力制御へスムーズな移行を行ったり、教示時と再生時での作業対象物の位置ずれに適切に対応したりするための仕組みがとられていなかった。
また、接触作業の種類によってロボットの動作方向ごとに位置制御によって動作するか、力制御によって動作するかを適切に切り替えて、非接触状態から接触状態へ移行する際のロボット動作の連続性を保つ方法がなく、ティーチングプレイバック方式の仕組みの中でロボットの制御方式をスムーズに移行させる仕組みが要求されていた。
【０００５】
上記のような背景がある中、接触作業の教示に関連する技術がいくつか開示されている。
例えば特許文献１のようにロボットの接触作業の教示を、ロボットの剛性を下げた状態で、実際にロボットを対象物に接触させて実施する方式がある。
また、特許文献２のようにロボットに柔軟制御を施し現在値に一定値を加えた点を教示点とする教示方式がある。
その他に特許文献３のようにロボットに力センサを設け、ダイレクト教示で力センサの検出結果からロボットの誘導方向を選択可能とし、スイッチ等で方向を選択する教示方式がある。
また、検出した力を人間にフィードバックすることで、ロボットの作業性を良好に保つ方式として従来からマスタスレーブ方式が知られている。マスタスレーブ方式では、ロボットと同様な動きが可能なマスタ装置を準備する。作業に当たるロボットと同様な制御をマスタ装置に施せば、ロボットに作用している力加減を教示者が直接感じながら操作することが可能なロボットシステムを構成できる。
【特許文献１】特許第３４８３６７５号公報（第３−５頁、  図１）
【特許文献２】特開２００２−５２４８５号公報（第３頁、図１）
【特許文献３】特開平６−２５０７２８号公報（第３頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
接触作業の教示の作業性を維持しさらに向上させるためには、非接触時の教示と接触時の教示をスイッチ等の意図的手段で切り替えるのは効率的でない。教示時には接触状態かどうかを適切に判断し、適切な情報が保存され、再生時には教示者が意図した動作が再現されることが望ましい。また、作業対象物の工作精度や設置位置精度が低く、ある程度のずれを含んでいた場合でも教示者が意図した再生動作が実行できることが望ましい。
上記の観点から従来の技術の課題を述べる。
特許文献１、２では実際に作用している力を教示者が認識して制御しているわけではないので、ロボットと作業対象物との間に非常に大きな力が作用する教示点を登録してしまう場合があり、作業に適切な力を設定することが難しいという問題がある。
特許文献３では、非接触状態から接触状態までの作業について、制御状態の不連続な状態がないように教示する点に関して記述はない。また、力を適切に調整する手段に関する記載がなく、再生時の課題である作業対象物の位置ずれによって生じるロボットの不到達の場合の処置などは述べられていない。
また、マスタスレーブ方式ではロボットやセンサ、コントローラなどシステムがマスタ用とスレーブ用の２倍必要となりコストパフォーマンスの点から考えて現実的な方法でない。またマスタスレーブはティーチングプレイバックロボットとして構成されていないため、常に人間による操作が必要で自動化には適していない。
以上の従来技術は接触状態の制御という意味では必要な要素を含んでいるが、教示の段階で、非接触状態から接触状態まで連続性を持ってロボットの誘導ができ、同時にロボットの各自由度に関する位置と力の教示が可能で、しかも力制御と位置制御との間で制御方法を適切に選択できる（時間的な推移や方向による制御方式の適切な選択）直感的で簡単な方法を提供するものではなかった。
すなわち、従来技術には、接触を伴う作業の教示段階において、再生時の状態を簡単に模擬することができ、かつ必要な情報を得ることができる教示再生手段がなかった。
【０００７】
以上の問題点を鑑み、本発明は、従来ロボットの教示作業によく使用されているティーチングペンダントを用いて、ロボットの接触状態の判定を元に位置制御と力制御を使い分けロボットの位置や姿勢だけでなく力加減を非接触状態から接触状態まで連続的に制御、教示し、再生することができるロボットの制御装置を提供することを目的とする。
また、再生時には作業対象物に多少のずれがあっても位置や姿勢だけでなく力作業を教示した通りに再現することができる仕組みを提供することを目的とする。
この考え方は作業対象物と接触しない自由方向については位置制御を行い、作業対象物と接触する方向については力制御を行うという、人間の行動と同様な制御方法をロボットに持ち込み作業を教示するものである。
【課題を解決するための手段】
【０００８】
上記問題を解決するため、本発明は、次のようにしたのである。
請求項１に記載の発明は、先端にエンドエフェクタを取り付けたロボットを教示装置により誘導して前記エンドエフェクタまたは前記エンドエフェクタに把持された物体と作業対象物との接触を伴う作業を教示し、教示した前記作業を再生するロボットの制御装置において、前記作業の教示時に、前記エンドエフェクタまたは前記把持対象物が前記作業対象物に接触していない場合には前記ロボットを位置制御にて誘導し、教示点の登録の際に前記ロボットの位置を記憶し、前記エンドエフェクタまたは前記把持対象物が前記作業対象物に接触している場合には前記ロボットを力制御で誘導し、教示点の登録の際に力の大きさを記憶することを特徴とするものである。
【０００９】
請求項２に記載の発明は、前記エンドエフェクタまたは前記把持対象物と前記作業対象物とが接触状態か否かを前記ロボット先端と前記エンドエフェクタとの間に設けられた力センサの検出値によって判断し、前記力センサの検出値が所定の基準値以上になると前記ロボットの制御方式を位置制御から力制御に切り替えることを特徴とするものである。
【００１０】
請求項３に記載の発明は、前記力センサの検出値に対し重力補償を行った値と前記基準値とを比較して前記作業対象物との接触状態か否かを判断することを特徴とするものである。
【００１１】
請求項４に記載の発明は、前記力センサの検出値から、前記エンドエフェクタまたは前記把持対象物と前記作業対象物との接触方向を判定し前記接触方向についてのみ前記ロボットの制御方式を力制御に切り替えることを特徴とするものである。
【００１２】
請求項５に記載の発明は、教示時に前記教示装置の画面上に前記力センサの検出値を数値表示、グラフ表示、ベクトル表示の少なくとも１つによって表示することを特徴とするものである。
【００１３】
請求項６に記載の発明は、先端にエンドエフェクタを取り付けたロボットを教示装置により誘導して前記エンドエフェクタまたは前記エンドエフェクタに把持された物体と作業対象物との接触を伴う作業を教示し、教示した前記作業を再生するロボットの制御装置において、前記作業の教示時に、前記エンドエフェクタまたは前記把持対象物が前記作業対象物に接触していない場合には前記ロボットを位置制御にて誘導し、教示点の登録の際に前記ロボットの位置を記憶し、前記エンドエフェクタまたは前記把持対象物が前記作業対象物に接触している場合には前記ロボットを柔軟制御で誘導し、教示点の登録の際に位置指令値を記憶することを特徴とするものである。
【００１４】
請求項７に記載の発明は、前記エンドエフェクタまたは前記把持対象物と前記作業対象物とが接触状態か否かを前記ロボットの位置偏差によって判断し、前記位置偏差が所定の閾値以上になると前記ロボットの制御方式を位置制御から柔軟制御に切り替えることを特徴とするものである。
【００１５】
請求項８に記載の発明は、教示時に前記教示装置の画面上に前記位置偏差を数値表示、グラフ表示、ベクトル表示の少なくとも１つによって表示することを特徴とするものである。
【００１６】
請求項９に記載の発明は、前記位置偏差から、前記エンドエフェクタまたは前記把持対象物と前記作業対象物との接触方向を判定し前記接触方向についてのみ前記ロボットの制御方式を柔軟制御に切り替えることを特徴とするものである。
【００１７】
請求項１０に記載の発明は、教示時に前記ロボットのモータへのトルク指令値を予め定めたトルク上限値以下に制限することを特徴とするものである。
【００１８】
請求項１１に記載の発明は、教示時に、前記エンドエフェクタまたは前記把持対象物と作業対象物との接触点から教示した経路に沿って所定量逆方向に戻った位置、または予め定めた方向に所定量移動した位置をアプローチ点として自動登録することを特徴とするものである。
【発明の効果】
【００１９】
請求項１、６の発明によれば、接触が必要な組立作業などの教示を教示装置のＪＯＧ操作キーを使用して具体的な作業を行いながら、エンドエフェクタまたはエンドエフェクタに把持された物体と作業対象物との間の作用力を適切に制御し、非接触から接触作業に到るまで連続的に実施することができる。かつ位置情報だけでなく作業時の力を教示しプレイバックすることが可能になる。
請求項２、７の発明によれば、エンドエフェクタまたはエンドエフェクタに把持された物体と作業対象物との接触状態を適切に感知して制御方式を切り替えることにより、制御の連続性を保証することが可能となる。
請求項３の発明によれば力センサの検出値から重力の影響を除き、より正確にロボットと作業対象物との接触を感知することができる。
請求項４、９の発明によれば、ロボットの動作方向ごとに接触、非接触を判断して制御方式を切り替えることが可能となり、接触を伴うバリ取りや嵌め合いなど種々な作業に対応することが可能になる。
請求項５、８の発明によれば、教示装置上にセンサで検出された力の大きさやセンサレス柔軟制御の指令値と現在値との偏差を表示することで、力の方向と大きさの視覚を利用した直感的な認識が可能となり、ロボットと作業対象物との間に作用する力のモニタリングが容易になる。
請求項１０の発明によれば、トルクの大きさの限界を設けることで接触状態時にエンドエフェクタまたはエンドエフェクタに把持された物体と作業対象物との間に過大な力を発生させずロボットや作業対象物の破損を防止できる。
請求項１１の発明によれば、プレイバックの場合にも作業対象物の設置のずれによってロボットが作業対象物に到達せず、作業を行うことができないといった不具合を防止することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の装置の具体的実施例について、図に基づいて説明する。
【実施例１】
【００２１】
本発明のロボット制御装置を適用したシステム構成を図１に示す。
１０１は多関節ロボットであり、１０５は多関節ロボット１０１を制御するロボット制御装置である。多関節ロボット１０１は各関節軸を駆動するサーボモータを内蔵しており、各サーボモータはロボット用制御演算装置１０６の出力に従い、サーボモータ用アンプ１０７を介して駆動される。また図１では省略しているが、ロボット制御装置１０１は教示データや制御用の各種パラメータの記憶部や、ティーチングペンダント１０８との通信部などを備えている。
多関節ロボット１０１は手先部に力センサ１０２を備えており、力センサ１０２は力センサ座標系の各軸方向に作用する力を検出することができる。また力センサのさらに先端にはエンドエフェクタを装着可能となっている。
エンドエフェクタとしてグラインダを装着して作業対象物１０４に対してバリ取りを行ったり、エンドエフェクタとしてグリッパを装着してグリッパで把持対象物１０３を把持し、作業対象物１０４上に設けられた穴への嵌め合いを行ったりすることが可能である。図１ではエンドエフェクタとしてグリッパを装着し、把持対象物１０３を把持した状態を示している。
教示者はティーチングペンダント１０８を操作してロボット１０１に行わせる作業の教示を行う。ティーチングペンダント１０８を図２に示す。
図２において、２０１は教示作業においてロボットを所望の位置へと誘導するためのＪＯＧ操作キーである。教示者はＪＯＧ操作キーを操作することで、ロボット１０１の手先の位置をロボット座標系の各軸方向に動作させたり手先の姿勢を変化させたりすることができる。ここでロボット座標系とは図１のようにロボット１０１について設定された直交座標系である。なおティーチングペンダント１０８を操作してＪＯＧ操作キー２０１の機能を変更することによって、ロボット１０１の各関節を個別に動作させることも可能である。
２０２は登録キーで、教示者はこのキーを押下して教示データをロボット制御装置に記憶させる。また図２では本発明に関する教示にて使用するキーのみを示し、その他のキーは省略している。
【００２２】
図１のように構成されたロボットについて、接触作業の教示の手順を示す。
ただし説明を簡単にするため図１のようにグリッパで把持対象物を把持する代わりに、グラインダのようなエンドエフェクタをロボット先端に取り付けた場合を想定し、図１の作業対象物１０４に代わって図３に示すような壁に向かってロボットの先端を移動させ、エンドエフェクタで壁に一定力を作用させるという動作を例にとり、その教示方法について説明する。なお、エンドエフェクタにより壁を押す方向はロボット座標系のＸ軸方向と一致させることとする。
【００２３】
まずスタート地点である図３のＡ点（３０３）の位置を登録キー２０２を押して登録する。Ａ点ではロボット先端はまだ壁に接触していない状態である。
ロボット１０１が壁と非接触の場合は、ロボットは位置制御によって動作する。Ａ点を登録後、教示者によりティーチングペンダント１０８上のＸ＋方向のＪＯＧ操作キーが押されることで位置指令Ｘrefを増加させロボットの先端を壁へと移動させる。
教示者はロボット先端が壁に近づいたことを目視で確認しながらロボット１０１をさらに壁に向けて誘導し、壁に接触する直前の教示点Ｂ（３０４）を教示する。その後、低速でエンドエフェクタを壁に接触させる。接触時の作用力はロボットの手首に配置された力センサ１０２により検出される。
【００２４】
ロボット制御装置は、力センサによる検出値が予め定められた基準値以上になると壁に接触したと判断し、Ｘ方向についての制御方式を位置制御から次式（１）で表されるインピーダンス制御に移行させる。
【００２５】
Ｆr − Ｆ  ＝  ＭＸ’’ ＋ ＤＸ’ ＋ Ｋ（Ｘ − Ｘref）    ・・・（１）
【００２６】
ここで、Ｆｒは力指令、Ｆは力センサによる力の実測値、Ｍ、Ｄ、Ｋはそれぞれメカニカルな仮想インピーダンスの質量、粘性、剛性を表す。Ｘはロボット先端に取り付けられたエンドエフェクタの位置を表し、Ｘrefは位置指令を表す。
【００２７】
制御方式がインピーダンス制御に切り替わった後は、教示者がティーチングペンダント１０８上のＪＯＧ操作キー２０１のうちＸ＋方向のキーを押すことによって力指令の大きさＦｒを調整する。
位置制御では、ＪＯＧ操作キーを押すと押したキーの方向への位置指令が生成されるが、インピーダンス制御へ切り替わった後は、ＪＯＧ操作キーを押し続ける時間が長くなるに従って力指令Ｆｒの大きさが大きくなる。
また力センサ１０２による力の大きさの計測値Ｆを数値やグラフなどによってティーチングペンダント上の画面２０３に表示することで、教示者は視覚を通してその力をコントロールすることができる。
図８は画面２０３の表示例の１つであり、力センサ１０２によって検出された力センサ座標系の各軸方向に作用する力を直交座標系上のベクトルとしてグラフィカルに表現したものである。図８のＦｘ、Ｆｙ、Ｆｚはそれぞれロボット手先部に設けられた力センサ座標系(図１)の各軸を表す。
力の大きさや方向は位置や速度などの物理量と比較して変化しやすいため、教示者がその情報を瞬間的に、そして感覚的に捉えるよう提示する必要がある。そのため本実施例では矢印８０１によるベクトルを用いた表現としている。矢印と黒点のポイントが現在の力のＸ、Ｙ、Ｚ方向の向きと大きさを示している。また各方向成分の力の大きさが捉えやすいようにベクトル先端の座標を示す補助線８０２も表示している。さらに基準値を半径とする球を補助図形として同時に描画し、比較が行えるようにしている。力センサにより検出される力の値は接触状態により時々刻々変化するが、図８のような表現方法によって、教示者は直感的に作用力の状態を把握できる。
図８では補助図形を球形としているが、後述するようにロボット座標系の方向により基準値の大きさが異なる場合は、楕円球として表示してもよい。またロボット座標系の各方向の基準値に相当する点を結んだ直方体として表示してもよい。
さらにロボットの各動作方向について、現在の制御方式が位置制御であるかインピーダンス制御であるかについても画面２０３上に表示することで、教示者は画面２０３を確認すれば現在の制御方式や力の作用方向と大きさとを認識することができる。
【００２８】
以下、力制御の方式として力センサを用いたインピーダンス制御を利用して教示する場合について説明する。図５はインピーダンス制御時の制御ブロック図を示す。
力制御状態では、ロボットは力指令に従って壁を押す力を発生することになる。教示者は、目標とする力が力センサで検出されたことを画面２０３で確認して登録キーにより教示点Ｃを教示する。
さらにロボットのエンドエフェクタを壁に沿って動かす教示をする場合は、エンドエフェクタを壁に押し付けた状態のままＪＯＧ操作キーでロボットをロボット座標系のＹ方向やＺ方向に誘導し、目的の点で止めてその時点での作用力をティーチングペンダント上の画面で確認し登録キーにより教示点Ｄを登録する。
壁方向（図３のＸ方向）と異なる方向については、ＪＯＧ操作によりロボット先端は位置制御によって移動する。
エンドエフェクタを壁に押し当てたままＪＯＧ操作によりＸ方向以外の方向、例えばＺ方向に誘導された時に、壁面とエンドエフェクタとの摩擦により基準値以上の力が作用した場合、ロボットアームの制御はＺ方向についてもインピーダンス制御に切り替わる。このＺ方向の基準値は前述のＸ方向の基準値と同じでもよいし、方向によってそれぞれ異なる値を設定してもよい。
力指令値ＦrをＸ＋方向、Ｘ−方向のＪＯＧキーを押下して増減させ、力の実測値Ｆとのバランスがとれた平衡点にロボット先端が位置するよう調整することで直感性が失われずにロボット先端を壁面に沿って移動させることができる。
今回はＸ方向についてのみ制御方式をインピーダンス制御に切り替えたが、力の作用方向が図３のように座標系の特定の軸方向と一致しない場合や、壁面とエンドエフェクタとの間で各方向の基準値以上の摩擦力が作用する場合は、エンドエフェクタの全方向の動作について制御方式をインピーダンス制御に切り替える。
ティーチングペンダント１０８上のＪＯＧ操作キーは従来の教示ではロボット先端の位置を移動させるためのものであるが、本発明では、接触後に作用する力の大きさをコントロールするためにも用いる。この点が従来のティーチングペンダントの利用の仕方と異なっている。
【００２９】
ロボットの動作方向のうち１つの軸に着目して位置制御と力制御との制御方式の切替のフローを図４に示し、多軸間での制御の切り替えに着目した場合の制御系の構成を図５に示す。
前述したように、壁への誘導過程にて壁に接触したかどうかは力センサによる検出値により判断し、壁との接触力が基準値以上の場合に制御方式を切り替える。しかし、力センサの検出値は壁との接触力とそれ以外の他の作用力との合力になっている。そこでより正確に切り替えを行うために、図４では検出値から接触力以外の外力（主に重力）を除くよう補正する処理を追加している。
重力補償値はロボットの力センサより手先部分に取り付けられたエンドエフェクタに作用する重力によって決定される値で、ロボットの姿勢とエンドエフェクタの質量から演算によって求めることができるので、この補償値によって力センサの検出値を補正する。
この重力補償後の力検出値について、｜重力補償後の力検出値｜≧Fminとなれば力制御に切り替わる。ここでFminはインピーダンス制御に切り替わる力の基準値を意味する。
なお重力以外にも、ロボットの加速減速時には質量と加速度に応じた力が作用するため、厳密にはその力に対する補償も必要であるが、通常、ロボットと作業対象物（壁）とが接触する際にはロボットの移動速度、加速度は小さく抑えられているとして無視している。
力制御への切り替え後は式（１）のインピーダンス制御にて誘導する。
接触前後で制御方式が変わるが、誘導方法としては位置制御と力制御の相違はあっても方向は一致しているため、教示者の感覚としては通常のティーチングペンダントでの誘導方法と全く同じである。
なお作業対象物との接触時に生じる物理的ショックはロボットの動作速度に伴って大きくなるので、接触時のショックを配慮して接触前には教示者がロボットの誘導速度を低く調節してできるだけ接触時のショックを和らげるようにする。
また接触状態から離脱する方向（この例ではＸ−方向）に関しては同様に力を継続して力センサ１０２の出力を計測し、基準値より小さくなった時、逆に力制御から位置制御に切り替えて制御を行う。
【００３０】
以上ではＸ方向に関しての制御方式の切り替えについて説明した。Ｘ方向については力制御、Ｘ方向以外の方向についてはこの例では位置制御を行うのが適切であるので、Ｘ方向以外の方向については各力センサ検出値が基準値以上にならなければ位置制御で誘導される。
一方、接触作業の教示では作業対象物に作用する力が大きすぎると作業対象物やロボットの変形や破損を招く恐れがあるため、作用する力を一定以下に抑える必要がある。そこでＸ方向以外の方向についても力センサ検出値がその方向について設定された基準値を超えると、その方向についても力制御を行うようにしてロボットに作用する力を一定以下に保つようにする。
またＪＯＧ操作キーにより指示される力の指令値Fｒあるいはモータの制御系のトルク指令値についても上限値を設け、教示中にモータトルクがトルク上限値を超えないように制御してロボットと作業対象物との間に作用する力を一定以下に保つようにする。
図３の例では接触方向についてのみ力制御への切り替えを行うものとした。これはエンドエフェクタや把持対象物が特定の方向について動作した場合のみ作業対象物と干渉する（動作方向の自由度が高い）バリ取りなどのような作業に適している。
一方、嵌め合い等の把持対象物が複数の方向について作業対象物と干渉する（動作方向の自由度が低い）作業時には接触を判断してロボットの自由度の全軸方向（Ｘ方向、Ｙ方向、Ｚ方向）について力制御への切り替えを行うようにすることで、過大な力が作用することを防いで作業を教示することができる。
ロボット座標系の各方向について力制御への切り替えを許可するか否かについては作業内容に応じてロボット制御装置のパラメータを変更することで設定することができる。このパラメータ設定は教示装置１０８によって行うことができる。
【実施例２】
【００３１】
実施例１においては教示時の接触力の検出に力センサを用いたが、本実施例では力センサレス柔軟制御で教示を実施する場合の例を示す。
実施例１と異なり、作用している力を力センサにより直接検知して柔軟制御を行うことはできないので、指令値と現在値との偏差量をロボットに作用する力に対応する値として教示を実施する。
柔軟制御の実現方法としてはロボット制御系の制御ゲインを低減する方法やトルクリミットを制限する方法がある。どちらの場合も指令値とロボットの現在値との間で偏差を生じ、偏差量に応じて発生力が制御されるので、実際のロボットが作業対象物表面に接触している場合でも位置指令は作業対象物内部に設定され、教示の登録値としてはその位置指令値が登録される。図３の例では作業対象物（壁）内部のＣ’（３０７）、Ｄ’（３０８）が教示点として登録されることになる。
【００３２】
図６、図７を用いて誘導と制御の関係を説明する。センサレス柔軟制御では各軸モータに取付けられた減速機の摩擦などがあるため、ロボットが物体と接触していない状態では指令位置と現在位置は一致しない。そのため実施例１と同様、作業対象物に接触するまでは位置制御でロボットを誘導する。
実施例１ではエンドエフェクタが壁に接触した後の接触力の制御には力指令値を用いたが、センサレス柔軟制御では力目標値の代わりに位置指令値を用いて物体に作用する力加減を制御する。実施例１では壁（作業対象物）に作用する力を一定以下に抑えるため力センサ検出値に基準値を設けたりトルク指令値に上限値を設けたりしたが、それと同様にセンサレス制御の場合にもモータのトルク指令値に上限値を設けることで作用力の大きさを一定以下に抑える。
【００３３】
図９はグリッパで把持した把持対象物を、作業対象物上の穴へ挿入する嵌め合い動作を例として、教示時、再生時の位置指令値と現在値の関係を表現した図である。柔軟制御ではロボットへの指令位置と現在位置とにはある程度の偏差が生じる。点線が把持対象物の指令位置を示し、実線が把持対象物の実際の位置を示している。また図９ではロボットやグリッパは省略して描いている。
図３の教示の場合と同様に、嵌め合い穴の近傍までは位置制御で嵌め合い軸を誘導する。指令位置と現在位置との位置偏差量が予め定められた閾値以上になると接触したと判断し、制御方式を位置制御からセンサレス柔軟制御に切り替え、嵌め合い作業を実行する。
実施例１では力センサによる力検出値を用いて力の大きさについての状態提示を行ったが、本実施例のセンサレス柔軟制御では、偏差を数値やグラフによってティーチングペンダント上の画面２０３に表示する。例えば図８の力センサ座標系の各軸方向に作用する力の代わりにロボット座標系の各軸方向の位置偏差を表示するようにして教示者に提示する。
インピーダンス制御に代わってセンサレス柔軟制御が実施される場合でも、図８の直交３軸で各成分の偏差量を表現することで実施例１の場合と同様に力の大きさを判断することができる。
挿入前には把持対象物と作業対象物との接触が生じ、指令位置と現在位置との偏差が閾値以上になることで接触が認識され、制御方式をセンサレス柔軟制御に切り替える。教示者は作用している力を画面２０３上に表示される偏差により認識しＪＯＧキー操作で作用力を調整しながら作業を遂行し適切な位置で力指令を教示することができる。
先に述べたように、嵌め合い作業では作業対象物が複数の方向について把持対象物と干渉するため、接触が認識された場合、ロボットの自由度の全軸方向について制御方式を柔軟制御に変更することで作業が容易になる。
ロボット各軸のサーボモータへの指令や位置検出は関節座標系に基づく値で管理されているが、力制御や柔軟制御の演算や指令は直交座標系に基づいて行われる。そのため座標系変換のための演算が行われるがその構成を図７に示す。
図７ではＪＯＧ操作キーで指示された直交座標の指令値Ｘrefはロボットの逆機構学変換７０１によりロボットの各関節を駆動するサーボモータの角度指令値θrefに変換される。サーボモータの角度指令θrefはモータサーボ系７０２に入力されるが、センサレス柔軟制御系で制御されていることにより、ロボットが作業対象物に接触している場合、実際のモータ角度は角度指令値とは異なった値となる。その時のロボット先端の位置はモータに連結されたエンコーダなどの角度検出器の値を用いて順機構学演算７０３により算出され、直交座標系指令値Ｘrefとの偏差が求められる。その時の偏差が閾値以上の場合はロボットが作業対象物に接触しているものとみなし、位置の指令値は作業対象物内部に決定される。
【実施例３】
【００３４】
プレイバック時は、教示作業において位置情報として記憶した値は位置制御で、力情報で記憶した値は力制御で再現する。目標位置に達する前に作業対象物に接触したことを検知した場合には、教示時と同様に力制御に切り替わる。また接触判断後であっても、位置情報として記憶した方向への動作は位置制御にて再現される。
まずはロボットの動作方向の一方向に着目したロボットの制御方法を示す。ここでは実施例１、実施例２で用いた図３の作業を再生する場合を示す。図で点Ａ、Ｂ、Ｃ、Ｄはそれぞれ予め教示された教示点であり、Ａ、Ｂは位置制御での教示点、Ｃ、Ｄは壁の方向に関しては力制御で教示された点とする。また、プレイバック時は点Ａから点Ｂへ直線補間により動作するものとし、点Ａから点Ｂへは位置制御、その後、壁方向に関しては力制御で教示した点Ｃ、Ｄへ動作するものとする。
【００３５】
通常、物体の配置は教示点に対して多少のずれがある。そのため壁へ接触するパターンとしては教示点より手前で接触する場合と教示点では壁まで到達せず接触しない場合がある。
力センサによる制御、力センサレス柔軟制御のいずれを用いる場合でも、再生時は壁に接触する前の教示点（点Ｂ）で制御方式が切り替わるようになっており、壁への接触時にはロボットは既に力制御または柔軟制御で動作する。
その他、教示時と再生時とでロボットと壁の位置関係のずれが大きく、制御方式が切り替わる前（教示点Ｂに到達する前）にロボットが壁と接触状態になる場合が考えられる。教示時と同様に、再生時においても力センサの検出値が基準値以上になるか、位置偏差が閾値以上になると制御方式の切り替えを行うようにすることで、こうした場合にもロボットと作業対象物との間に過大な力が作用することなく再生動作を行うことができる。力もしくは偏差を常時監視することにより速やかに接触に対応した制御方式に切り替わるため過大な力を発生することはない。
実施例１、実施例２の作業を再生する場合も、壁に接触する前の教示点Ｂにてロボットの制御方式が力制御または柔軟制御に切り替えるため、インピーダンス制御の剛性Ｋを０と設定した場合でも、ロボットが壁に届かないという問題も発生しない。
また教示時の接触判断点（図３の点Ｃ）から接触に到る経路を記憶しておき、点Ｃから経路を逆に沿って所定量戻った位置をアプローチ点として自動登録するようにしておけば、教示者が明示的にアプローチ点を登録せずとも自動的に点Ｂに相当する教示点が生成され、制御方式が適切に切り替わるので、再生時にロボットが作業対象物（壁）まで到達しないという問題は発生しない。
自動登録の位置の決定方法としては、経路を記憶する方法以外にも、接触判断点（点Ｃ）から接触方向とは逆方向に予め定めた所定量移動した位置を登録位置とする方法もある。
【図面の簡単な説明】
【００３６】
【図１】本発明のシステム構成図
【図２】ティーチングペンダントを示す図
【図３】ロボットが制御対象物に接触する際の教示方法を説明する図
【図４】１軸方向に着目した制御方式切り替えのフローチャート
【図５】力制御の場合の制御系構成を示す図
【図６】１軸方向に着目した制御方式切り替えのフローチャート
【図７】センサレス柔軟制御の場合の制御系構成を示す図
【図８】ティーチングペンダント上での力センサ検出値の表示例の図
【図９】嵌め合い作業の概念図
【符号の説明】
【００３７】
１０１  ロボット
１０２  力センサ
１０３  把持対象物
１０４  作業対象物
１０５  ロボット制御装置
１０６  ロボット用制御演算装置
１０７  サーボモータ用アンプ
１０８  ティーチングペンダント
２０１  ＪＯＧ操作キー
２０２  登録キー
２０３  画面
３０３〜３０８  教示点
７０１  逆機構学演算
７０２  モータサーボ系
７０３  順機構学演算
８０１  ベクトル表示
８０２  補助線
９０１  作業対象物Ａの実際の位置
９０２  作業対象物Ａの指令位置
【図１】
2010142909.tif 000003
【図２】
2010142909.tif 000004
【図３】
2010142909.tif 000005
【図４】
2010142909.tif 000006
【図５】
2010142909.tif 000007
【図６】
2010142909.tif 000008
【図７】
2010142909.tif 000009
【図８】
2010142909.tif 000010
【図９】
2010142909.tif 000011