(57)【要約】【課題】嵌合などの接触作業に関して、教示時および再生動作時にワークおよびロボットに過大な力を発生させず、また再生動作時にタクトタイムが増加することなく、教示者が直感的な操作で簡単かつ短時間に教示再生を行うことができる装置および方法を提供する。【解決手段】部品１１０ａの嵌合挿入作業を行う動作プログラムの教示および再生を行うロボット１０１の教示再生装置であって、ロボット１０１の動作を制御する制御装置１０２と、可搬式教示操作盤１０３を備え、制御装置１０２は、力制御手段１０６と、動作プログラム記憶部１０８と、動作プログラム実行手段１０９と、教示データ記憶部１１５と、教示データ変換手段１１６を備え、可搬式教示操作盤１０３は、力制御設定手段１１１と、力制御手動操作手段１１２と、力制御状態表示手段１１３と、作業状態保存手段１１４を備える。【選択図】図１
2010058202.tif 000002
【特許請求の範囲】
【請求項１】
手首部に設けた力センサによってエンドエフェクタに加わる力を取得し力制御によって動作するロボットについて、前記エンドエフェクタに把持された部品の嵌合挿入作業を行う動作プログラムの教示および再生を行うロボットの教示再生装置であって、
前記ロボットの動作を制御する制御装置と、前記制御装置に接続された可搬式教示操作盤を備え、
前記制御装置は、
前記力センサからの情報に基づき力制御演算を行い前記ロボットへの動作指令を出力する力制御手段と、
前記動作プログラムを記憶する動作プログラム記憶部と、
前記動作プログラム記憶部に記憶された動作プログラムを読み出し前記力制御部に指令を出力する動作プログラム実行手段と、
前記動作プログラムの教示中に前記ロボットの制御情報を教示データとして一時的に記録する教示データ記憶部と、
前記教示データ記憶部に記憶された前記教示データを前記動作プログラムに変換し前記動作プログラム記憶部に記憶させる教示データ変換手段を備え、
前記可搬式教示操作盤は、
力制御に関する制御パラメータを設定する力制御設定手段と、
前記ロボットへの位置指令値および力指令値を増減する操作ボタン群からなる力制御手動操作手段と、
前記ロボットへの位置指令値および力指令値と、前記ロボットからの位置フィードバック値および力フィードバック値をグラフと数値の少なくとも一方によって表示する力制御状態表示手段と、
前記嵌合挿入作業を構成する接触状態、嵌合状態、および挿入完了状態の各状態における前記制御情報を前記教示データとして前記教示データ記憶部に記憶させると共に、前記教示データ変換手段に前記教示データを動作プログラムに変換させる作業状態保存手段を備え、
前記力制御設定手段は、
力制御を開始または終了する力制御開始終了手段と、
予め設定された複数の座標系のうち、いずれの座標系に基づいて力制御を行うかを選択する第１の座標系選択手段と、前記座標系の各軸方向について予め設定された複数の操作モードのいずれか１つを選択する操作モード選択手段を備えることを特徴とするロボットの教示再生装置。
【請求項２】
前記力制御手動操作手段は、前記第１の座標系選択手段で選択された各座標軸方向についての力指令値または位置指令値を増減する操作ボタン群からなることを特徴とする請求項１記載のロボットの教示再生装置。
【請求項３】
前記力制御状態表示手段は、予め設定された複数の座標系のうち、表示する座標系を選択する第２の座標系選択手段と、前記第２の座標系選択手段によって選択された座標系の軸のうち、表示する軸を選択する座標軸選択手段を備え、
前記第２の座標系選択手段で選択された座標系を基準にし、前記座標軸選択手段で選択された軸に関する前記ロボットへの位置指令値および力指令値と、前記ロボットからの位置フィードバック値および力フィードバック値をグラフまたは数値の少なくとも一方によって表示することを特徴とする請求項１または２記載のロボットの教示再生装置。
【請求項４】
前記操作モード選択手段は、前記複数の座標系としてロボット座標系、ツール座標系、ユーザ座標系を備えると共に、
前記複数の操作モードとして位置モード、一定力モード、振動力モードを備え、
前記位置モードが選択された場合は、前記力制御手動操作手段で前記力制御手段への位置指令値を増減し、
前記一定力モードが選択された場合は、前記力制御手動操作手段で前記力制御手段へのステップ状の力指令値を増減し、
前記振動力モードが選択された場合は、前記力制御手動操作手段で前記力制御手段への振動的な力指令値の振幅と周期を増減することを特徴とする請求項１または２記載のロボットの教示再生装置。  
【請求項５】
手首部に設けた力センサによってエンドエフェクタに加わる力を取得し力制御によって動作するロボットについて、前記エンドエフェクタに把持された部品の嵌合挿入作業を行う動作プログラムの教示および再生を行うロボットの教示再生方法であって、
前記ロボットの動作を制御する制御装置に接続された可搬式教示操作盤を操作して、
教示段階では、
（ａ）前記エンドエフェクタにツール座標系を前記ツール座標系の軸の１つが前記部品の軸線と一致するよう設定するステップと、
（ｂ）前記エンドエフェクタに前記嵌合部品を把持させた状態で被嵌合部品へのアプローチ点を教示するステップと、
（ｃ）前記ロボットの制御を前記力センサからのフィードバック値に基づく力制御状態に切り替えるステップと、
（ｄ）前記ロボットを手動操作して前記嵌合部品を前記被嵌合部品に接触した接触状態にし、前記接触状態における力センサフィードバック値と位置フィードバック値とを、それぞれ突き当て力、接触位置の教示データとして記憶するステップと、
（ｅ）前記ロボットを手動操作して前記嵌合部品を前記被嵌合部品の穴に一部嵌った嵌合状態にし、前記嵌合状態における位置フィードバック値を、嵌合位置の教示データとして記憶するステップと、
（ｆ）前記嵌合部品を前記被嵌合部品の穴底まで到達した挿入完了状態にし、前記挿入完了状態における力指令値と位置フィードバック値とを、それぞれ挿入力、挿入完了位置の教示データとして記憶するステップと、
（ｇ）記憶した前記教示データを動作プログラムに変換するステップと、
を実行し、
再生動作段階では、前記動作プログラムを実行して
（ｈ）前記エンドエフェクタに前記嵌合部品を把持させた状態で被嵌合部品へのアプローチ点へ移動させるステップと、
（ｉ）前記ロボットの制御を位置制御から前記力センサからのフィードバック値に基づく力制御に切り替えるステップと、
（ｊ）前記嵌合部品を前記被嵌合部品に接触させ、接触後に前記教示段階で記憶した前記突き当て力を力指令値として前記嵌合部品を前記被嵌合部品に突き当てる突き当て動作ステップと、
（ｋ）前記嵌合部品が前記被嵌合部品の穴に嵌った状態から、前記教示段階で記憶した前記挿入力を力指令値として前記嵌合部品を前記被嵌合部品の穴底に挿入する挿入動作ステップと、
（ｌ）前記ロボットの制御を力制御から位置制御に切り替え、前記エンドエフェクタを開放するステップと、
を実行することを特徴とするロボットの教示再生方法。
【請求項６】
前記ステップ（ｄ）では前記力制御への位置指令値を増減することにより前記ロボットを手動操作し、前記ステップ（ｆ）では前記力制御への力指令値を増減することにより前記ロボットを手動操作することを特徴とする請求項５記載のロボットの教示再生方法。
【請求項７】
前記ステップ（ｊ）において、前記ロボットの位置フィードバック値を監視し、
前記嵌合部品と前記被嵌合部品との接触から所定時間内に前記ロボットの移動量が前記教示段階で取得した嵌合位置と接触位置との差分値に達すれば前記嵌合状態に移行したと判断し、
前記所定時間内に前記ロボットの移動量が前記差分値に達しなければ前記嵌合状態に移行しなかったと判断することを特徴とする請求項５または６記載のロボットの教示再生方法。
【請求項８】
前記ステップ（ｄ）とステップ（ｅ）の間において、可搬式教示操作盤を操作して、前記ロボットへの力指令値を周期的に変化させるための振幅と周波数を調節し、前記力指令値にて前記ロボットを動作させることによって前記接触状態から前記嵌合状態に移行させると共に、前記振幅と前記周波数を前記教示データとして記憶するステップ（ｄ´）を設け、
前記ステップ（ｇ）において前記ステップ（ｄ´）にて記録した前記教示データを前記動作プログラムに変換し、
前記ステップ（ｊ）において前記嵌合状態に移行しなかったと判断された場合に、前記振幅と前記周波数による力指令によって前記ロボットを動作させる探り動作ステップ（ｊ´）を前記ステップ（ｋ）の直前に設けることを特徴とする請求項７記載のロボットの教示再生方法。
【請求項９】
前記ステップ（ｋ）において、前記ロボットの位置フィードバック値を監視し、
前記嵌合部品と前記被嵌合部品との接触からの前記ロボットの移動量が前記教示段階で取得した挿入完了位置と接触位置との差分値に達すれば挿入完了状態に移行したと判断し、
前記ロボットの移動量が前記差分値に達しなければ前記挿入完了状態に移行しなかったと判断することを特徴とする請求項５または６記載のロボットの教示再生方法。
【請求項１０】
前記ステップ（ｆ）において、可搬式教示操作盤を操作して、前記ロボットへの力指令値を周期的に変化させるための振幅と周波数を調節し、前記力指令値にて前記ロボットを動作させることによって前記嵌合状態から前記挿入完了状態に移行させると共に、前記振幅と前記周波数を前記教示データとして記憶するステップ（ｆ´）を設け、
前記ステップ（ｇ）において前記ステップ（ｆ´）にて記録した前記教示データを前記動作プログラムに変換し、
前記ステップ（ｋ）において前記挿入完了状態に移行しなかったと判断された場合に、前記振幅と前記周波数による力指令によって前記ロボットを動作させることを特徴とする請求項９記載のロボットの教示再生方法。
【請求項１１】
前記ステップ（ｆ）において、前記嵌合状態から前記挿入完了状態に至るまでの間、所定の時間間隔で前記ロボットの制御点の位置と速度ベクトルを保存して前記制御点の軌跡を得て、
前記制御点の軌跡の中から、前記ツール座標系の前記部品の軸線と一致する軸以外の軸まわりの回転速度が予め設定した閾値より小さい点のうち挿入完了状態に最も近いものを基点とし、前記基点での速度ベクトルを抽出し、前記基点を通り前記基点での速度ベクトルを方向ベクトルとする挿入軸を決定し、
前記ツール座標系の前記部品の軸線と一致する軸が前記挿入軸と平行になるようにツール座標系の位置姿勢を修正し、
前記ステップ（ｇ）において前記動作プログラムを変換する際、前記ステップ（ｂ）にて教示した前記アプローチ点が前記挿入軸上に位置するよう前記アプローチ点の位置姿勢を修正し、
前記ステップ（ｊ）において修正後の前記アプローチ点から修正された前記ツール座標系の前記部品の軸線と一致する軸方向に向けて前記突き当て動作を実行することを特徴とする請求項５、６、８、１０のいずれか１項記載のロボットの教示再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用ロボットによる嵌合などの接触作業を教示再生する装置、および教示再生する方法に関する。
【背景技術】
【０００２】
産業用ロボットで嵌合など接触作業を実行する場合にロボットマニピュレータのエンドエフェクタまたは手首部に力センサを設け、力センサからの情報を利用した力制御を構成する技術が広く知られている。産業用ロボットは教示再生方式に基づいているが、基本的に位置制御により動作している。そのためロボットに力制御による接触作業を行わせる場合には単なる位置姿勢の教示ではなく、新たな教示再生の仕組みを構築する必要がある。
接触作業の教示に関する技術として、例えば特許文献１〜８のようなものが開示されている。
特許文献１では、教示時にロボットをソフトフローティング制御状態（サーボ剛性を低くした状態）にし、ロボットのツールをワークに押し付け、位置が変化しなくなった状態を教示点位置としている。
特許文献２では、ロボットを柔軟制御状態にし、ロボットのツールをワークに押し付け、その現在位置に一定量を加えた位置を教示点位置としている。
特許文献３では、ロボットの手首部に設けた６軸力センサの出力データをツール座標系に変換し、ツール座標系を基準にした６軸力データに対応した情報を教示者に提示して、接触状態を視認しながら教示を実行している。
特許文献４では、ロボットの手首部に設けた力センサの出力データに基づいてティーチングペンダントのボタンを振動させ、指先への触覚として力の大小を教示者に提示しつつ、ペンダントから力制御のパラメータ（慣性、粘性、剛性）を調整している。
特許文献５では、水平多関節アームに対して、接触型センサ（力センサなど）による位置補正でワークを挿入完了状態に導き、挿入完了時の位置を教示点として取得している。
特許文献６では、ロボットが把持した嵌合部品を被嵌合部品に接触した状態で予め定めた領域内を探索動作することによって、嵌合を実現している。
特許文献７では、嵌合部品を被嵌合部品に平行なワークに一定力で押し付けたときの姿勢を取得し、その姿勢をアプローチ点の姿勢データとしている。
特許文献８では、予備教示段階で、ロボットが把持した嵌合部品のアプローチ点の位置姿勢と嵌合方向を教示し、再生動作時に力制御状態にして嵌合部品を被嵌合部品に挿入させ、挿入途中の少なくとも二つの位置からアプローチ点の位置姿勢と嵌合方向を取得している。
【特許文献１】特開平９−６２３３５号公報
【特許文献２】特開２００２−５２４８５号公報
【特許文献３】特開平６−２６２５６３号公報
【特許文献４】特開２００７−１３６５８８号公報
【特許文献５】特開平９−１４６６２４号公報
【特許文献６】特開２００４−１６７６５１号公報
【特許文献７】特開平９−９１０２６号公報
【特許文献８】特開平８−１９４５２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１および２では、実際にワークおよびロボットに作用する力を教示者が認識して教示点位置を設定しているわけではないので、教示時および再生動作時にワークおよびロボットに過大な力が発生してしまうという問題がある。
特許文献３では、ロボット手首部に設けた力センサ情報を教示者に視覚的に提示しているので、教示時に過大な力が発生することを防止できるが、教示手法自体は従来と同じ位置教示であり、接触作業の教示を簡便に行うための特段の工夫はなされていないため熟練していない教示者では接触作業の教示に時間を要するという問題がある。
【０００４】
特許文献４では、力情報を触覚として確認しながら力制御のパラメータを適切な値に調節できるが、パラメータの調整だけでは嵌合部品を挿入完了状態に導くことはできない。また、教示手順と教示データ（どのような手順にしたがって教示を進めてどのような教示データを取得するか）については考慮されていないので、熟練していない教示者では接触作業の教示に時間を要するという問題は残される。
特許文献５では、接触型センサによる位置補正手段で挿入完了状態まで導くと述べているが、現実的には位置補正手段のゲインを適切な値に調節しないと挿入完了状態に導くことはできない。一般的にこの種のゲイン調整は非常に難しく、そもそも、接触型センサの出力とワークの位置ズレが比例関係にある保証はない。
また、挿入完了状態を教示点とする方法は垂直多関節アームには適用できない。なぜなら、挿入完了状態の位置姿勢だけでなく、挿入完了に至るまでのアプローチ点の位置姿勢および挿入方向も適切に教示する必要があるからである。アプローチ点に関する教示については特許文献５では何ら記載されていない。
【０００５】
特許文献６では、アプローチ点を厳密に教示しなくとも、再生動作時の探り動作により嵌合作業を実現することが可能であるが、探り動作によりタクトタイムが長くなり、ロボット化する組立ラインあるいは組立セルの生産性が低下するという問題がある。
特許文献７では、アプローチ点の姿勢については適切に教示できるが、アプローチ点の位置および嵌合方向は教示できないという問題がある。
【０００６】
特許文献８では、再生動作時の挿入途中と挿入完了時の位置データからアプローチ点の位置姿勢と嵌合方向を求めているが、挿入途中の位置の軌跡はジグザグになるため誤差が大きくなり、嵌合時にワークに過大な力が加わる恐れがある。ワークの面取り量によっては、教示後の再生動作時に頻繁に探り動作が必要になり、タクトタイムが長くなり生産性が低下しやすいという問題がある。また、再生動作時にどの位の力を加えれば挿入動作が進行するかについて記載がなく、再生動作を繰り返し試行錯誤しなければならず、教示に手間がかかるという問題がある。言い換えれば、力制御に関する知識のない教示者は直感的な操作で簡単に教示を行うことができない。
【０００７】
本発明はこのような問題点に鑑みてなされたものであり、嵌合などの接触作業に関して、教示時および再生動作時にワークおよびロボットに過大な力を発生させず、また再生動作時にタクトタイムが増加することなく、力制御に関する知識がなかったり、教示作業に熟練していなかったりする教示者でも直感的な操作で簡単かつ短時間に教示再生を行うことができる装置および方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記問題を解決するため、本発明は、次のように構成したのである。
請求項１に記載の発明は、手首部に設けた力センサによってエンドエフェクタに加わる力を取得し力制御によって動作するロボットについて、前記エンドエフェクタに把持された部品の嵌合挿入作業を行う動作プログラムの教示および再生を行うロボットの教示再生装置であって、前記ロボットの動作を制御する制御装置と、前記制御装置に接続された可搬式教示操作盤を備え、前記制御装置は、前記力センサからの情報に基づき力制御演算を行い前記ロボットへの動作指令を出力する力制御手段と、前記動作プログラムを記憶する動作プログラム記憶部と、前記動作プログラム記憶部に記憶された動作プログラムを読み出し前記力制御部に指令を出力する動作プログラム実行手段と、前記動作プログラムの教示中に前記ロボットの制御情報を教示データとして一時的に記録する教示データ記憶部と、前記教示データ記憶部に記憶された前記教示データを前記動作プログラムに変換し前記動作プログラム記憶部に記憶させる教示データ変換手段を備え、前記可搬式教示操作盤は、力制御に関する制御パラメータを設定する力制御設定手段と、前記ロボットへの位置指令値および力指令値を増減する操作ボタン群からなる力制御手動操作手段と、前記ロボットへの位置指令値および力指令値と、前記ロボットからの位置フィードバック値および力フィードバック値をグラフと数値の少なくとも一方によって表示する力制御状態表示手段と、前記嵌合挿入作業を構成する接触状態、嵌合状態、および挿入完了状態の各状態における前記制御情報を前記教示データとして前記教示データ記憶部に記憶させると共に、前記教示データ変換手段に前記教示データを動作プログラムに変換させる作業状態保存手段を備え、前記力制御設定手段は、力制御を開始または終了する力制御開始終了手段と、予め設定された複数の座標系のうち、いずれの座標系に基づいて力制御を行うかを選択する第１の座標系選択手段と、前記座標系の各軸方向について予め設定された複数の操作モードのいずれか１つを選択する操作モード選択手段を備えることを特徴とするものである。
【０００９】
請求項２に記載の発明は、前記力制御手動操作手段は、前記第１の座標系選択手段で選択された各座標軸方向についての力指令値または位置指令値を増減する操作ボタン群からなることを特徴とするものである。
【００１０】
請求項３に記載の発明は、前記力制御状態表示手段は、予め設定された複数の座標系のうち、表示する座標系を選択する第２の座標系選択手段と、前記第２の座標系選択手段によって選択された座標系の軸のうち、表示する軸を選択する座標軸選択手段を備え、前記第２の座標系選択手段で選択された座標系を基準にし、前記座標軸選択手段で選択された軸に関する前記ロボットへの位置指令値および力指令値と、前記ロボットからの位置フィードバック値および力フィードバック値をグラフまたは数値の少なくとも一方によって表示することを特徴とするものである。
【００１１】
請求項４に記載の発明は、前記操作モード選択手段は、前記複数の座標系としてロボット座標系、ツール座標系、ユーザ座標系を備えると共に、前記複数の操作モードとして位置モード、一定力モード、振動力モードを備え、前記位置モードが選択された場合は、前記力制御手動操作手段で前記力制御手段への位置指令値を増減し、前記一定力モードが選択された場合は、前記力制御手動操作手段で前記力制御手段へのステップ状の力指令値を増減し、前記振動力モードが選択された場合は、前記力制御手動操作手段で前記力制御手段への振動的な力指令値の振幅と周期を増減することを特徴とするものである。
【００１２】
請求項５に記載の発明は、手首部に設けた力センサによってエンドエフェクタに加わる力を取得し力制御によって動作するロボットについて、前記エンドエフェクタに把持された部品の嵌合挿入作業を行う動作プログラムの教示および再生を行うロボットの教示再生方法であって、前記ロボットの動作を制御する制御装置に接続された可搬式教示操作盤を操作して、教示段階では、（ａ）前記エンドエフェクタにツール座標系を前記ツール座標系の軸の１つが前記部品の軸線と一致するよう設定するステップと、（ｂ）前記エンドエフェクタに前記嵌合部品を把持させた状態で被嵌合部品へのアプローチ点を教示するステップと、（ｃ）前記ロボットの制御を前記力センサからのフィードバック値に基づく力制御状態に切り替えるステップと、（ｄ）前記ロボットを手動操作して前記嵌合部品を前記被嵌合部品に接触した接触状態にし、前記接触状態における力センサフィードバック値と位置フィードバック値とを、それぞれ突き当て力、接触位置の教示データとして記憶するステップと、（ｅ）前記ロボットを手動操作して前記嵌合部品を前記被嵌合部品の穴に一部嵌った嵌合状態にし、前記嵌合状態における位置フィードバック値を、嵌合位置の教示データとして記憶するステップと、（ｆ）前記嵌合部品を前記被嵌合部品の穴底まで到達した挿入完了状態にし、前記挿入完了状態における力指令値と位置フィードバック値とを、それぞれ挿入力、挿入完了位置の教示データとして記憶するステップと、（ｇ）記憶した前記教示データを動作プログラムに変換するステップと、を実行し、再生動作段階では、前記動作プログラムを実行して（ｈ）前記エンドエフェクタに前記嵌合部品を把持させた状態で被嵌合部品へのアプローチ点へ移動させるステップと、（ｉ）前記ロボットの制御を位置制御から前記力センサからのフィードバック値に基づく力制御に切り替えるステップと、（ｊ）前記嵌合部品を前記被嵌合部品に接触させ、接触後に前記教示段階で記憶した前記突き当て力を力指令値として前記嵌合部品を前記被嵌合部品に突き当てる突き当て動作ステップと、（ｋ）前記嵌合部品が前記被嵌合部品の穴に嵌った状態から、前記教示段階で記憶した前記挿入力を力指令値として前記嵌合部品を前記被嵌合部品の穴底に挿入する挿入動作ステップと、（ｌ）前記ロボットの制御を力制御から位置制御に切り替え、前記エンドエフェクタを開放するステップと、を実行することを特徴とするものである。
【００１３】
請求項６に記載の発明は、前記ステップ（ｄ）では前記力制御への位置指令値を増減することにより前記ロボットを手動操作し、前記ステップ（ｆ）では前記力制御への力指令値を増減することにより前記ロボットを手動操作することを特徴とするものである。
【００１４】
請求項７に記載の発明は、前記ステップ（ｊ）において、前記ロボットの位置フィードバック値を監視し、前記嵌合部品と前記被嵌合部品との接触から所定時間内に前記ロボットの移動量が前記教示段階で取得した嵌合位置と接触位置との差分値に達すれば前記嵌合状態に移行したと判断し、前記所定時間内に前記ロボットの移動量が前記差分値に達しなければ前記嵌合状態に移行しなかったと判断することを特徴とするものである。
【００１５】
請求項８に記載の発明は、前記ステップ（ｄ）とステップ（ｅ）の間において、可搬式教示操作盤を操作して、前記ロボットへの力指令値を周期的に変化させるための振幅と周波数を調節し、前記力指令値にて前記ロボットを動作させることによって前記接触状態から前記嵌合状態に移行させると共に、前記振幅と前記周波数を前記教示データとして記憶するステップ（ｄ´）を設け、  前記ステップ（ｇ）において前記ステップ（ｄ´）にて記録した前記教示データを前記動作プログラムに変換し、前記ステップ（ｊ）において前記嵌合状態に移行しなかったと判断された場合に、前記振幅と前記周波数による力指令によって前記ロボットを動作させる探り動作ステップ（ｊ´）を前記ステップ（ｋ）の直前に設けることを特徴とするものである。
【００１６】
請求項９に記載の発明は、前記ステップ（ｋ）において、前記ロボットの位置フィードバック値を監視し、前記嵌合部品と前記被嵌合部品との接触からの前記ロボットの移動量が前記教示段階で取得した挿入完了位置と接触位置との差分値に達すれば挿入完了状態に移行したと判断し、前記ロボットの移動量が前記差分値に達しなければ前記挿入完了状態に移行しなかったと判断することを特徴とするものである。
【００１７】
請求項１０に記載の発明は、前記ステップ（ｆ）において、可搬式教示操作盤を操作して、前記ロボットへの力指令値を周期的に変化させるための振幅と周波数を調節し、前記力指令値にて前記ロボットを動作させることによって前記嵌合状態から前記挿入完了状態に移行させると共に、前記振幅と前記周波数を前記教示データとして記憶するステップ（ｆ´）を設け、前記ステップ（ｇ）において前記ステップ（ｆ´）にて記録した前記教示データを前記動作プログラムに変換し、前記ステップ（ｋ）において前記挿入完了状態に移行しなかったと判断された場合に、前記振幅と前記周波数による力指令によって前記ロボットを動作させることを特徴とするものである。
【００１８】
請求項１１に記載の発明は、前記ステップ（ｆ）において、前記嵌合状態から前記挿入完了状態に至るまでの間、所定の時間間隔で前記ロボットの制御点の位置と速度ベクトルを保存して前記制御点の軌跡を得て、前記制御点の軌跡の中から、前記ツール座標系の前記部品の軸線と一致する軸以外の軸まわりの回転速度が予め設定した閾値より小さい点のうち挿入完了状態に最も近いものを基点とし、前記基点での速度ベクトルを抽出し、前記基点を通り前記基点での速度ベクトルを方向ベクトルとする挿入軸を決定し、前記ツール座標系の前記部品の軸線と一致する軸が前記挿入軸と平行になるようにツール座標系の位置姿勢を修正し、前記ステップ（ｇ）において前記動作プログラムを変換する際、前記ステップ（ｂ）にて教示した前記アプローチ点が前記挿入軸上に位置するよう前記アプローチ点の位置姿勢を修正し、前記ステップ（ｊ）において修正後の前記アプローチ点から修正された前記ツール座標系の前記部品の軸線と一致する軸方向に向けて前記突き当て動作を実行することを特徴とするものである。
【発明の効果】
【００１９】
請求項１乃至４に記載の発明によると、可搬式教示操作盤の表示画面に力制御設定手段と力制御状態表示手段および作業状態保存手段を設けたので、可搬式教示操作盤の操作ボタン群（力制御手動操作手段）による直感的な操作によって、熟練していない教示者であってもワークおよびロボットに過大な力を発生させることなく嵌合挿入作業を短時間で教示再生することができるという効果がある。
また、請求項５乃至１０に記載の発明によると、教示段階で保存した「接触」「嵌合」「挿入完了」状態の教示データを動作プログラムのパラメータに自動で変換することができるので、簡単な操作で嵌合挿入作業が教示できる上、パラメータを数値入力する手間を省略して教示作業時間を短縮できるという効果がある。
また、請求項１１に記載の発明によると、挿入完了直前の制御点の位置と速度から制御点が通過すべき軌跡（挿入軸）を計算し、挿入軸に沿って突き当て動作が実行されるようにツール座標系とアプローチ点の位置姿勢を修正するので、再生動作時に探り動作が実行されることがなくなり、タクトタイムが短くなって生産性が向上するという効果がある。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態について図を参照して説明する。
まず、公知技術である産業用ロボットと力制御の一般的なシステム構成を説明し、その後、本発明について説明する。
図１３は、一般的な産業用ロボットの構成図である。図１３において、１０１はロボットであり、複数の関節軸とリンクを有するマニピュレータである。各関節軸には、エンコーダつきの駆動モータが内蔵されており、各関節を独立に駆動することができる。１０４はロボット１０１の手首部に設けられたエンドエフェクタである。エンドエフェクタはアプリケーションに応じて様々なツールを取り付ける。図１３の場合は部品を把持するためのハンド（グリッパ）を取り付けている。
１０２はロボット１０１のコントローラであり、ロボット１０１と接続され各関節軸駆動モータのエンコーダ信号をもとにフィードバック制御（位置制御系）を構成し、ロボット１０１の運動を制御するための装置である。１０３は可搬式教示操作盤であり、教示者がロボットを手動（JOG）操作したり、ロボット１０１の動作プログラムを作成・編集したりするためのインターフェイスである。可搬式教示操作盤１０３は主に操作ボタン群１０３ａと表示画面１０３ｂで構成されている。
【００２１】
図１４は図１３に示した産業ロボットについて力制御を行う際の構成図である。図１４において、１０５はロボット１０１の手首に取り付けられた６軸力センサであり、ＸＹＺの各軸方向の力と各軸回りのモーメントを計測できる。１０６はコントローラ１０２内部に設けられた力制御手段であり、力センサ１０５と各軸エンコーダからの信号をもとにフィードバック制御系を構成している。力制御部１０６からは各駆動モータに対するトルク指令または電流指令が出力され、そのトルク（または電流）指令値をもとにアクチュエータ駆動アンプ部１０７が各駆動モータに電力を供給する。
１０８は可搬式教示操作盤１０３により作成（教示）された動作プログラムをコントローラ内部で記憶する動作プログラム記憶部である。再生動作時には、動作プログラム記憶部１０８に記憶された動作プログラムが動作プログラム実行手段１０９にて解釈・実行され、力制御部１０６に動作指令が与えられる。
１１０ａはエンドエフェクタ１０４が把持した嵌合部品であり、１１０ｂは嵌合部品１１０ａと対をなす被嵌合部品である。ロボット１０１を力制御状態にすることによって、位置姿勢誤差を許容して嵌合することが可能になる。
【００２２】
力制御の具体的な方式としてはインピーダンス制御が利用しやすい。図１５は、力制御手段１０６にてインピーダンス制御を実行する場合における、力制御手段１０６内の制御ブロック図を示したものである。図１５において、１０６ａは位置制御系であり、各関節軸への位置指令（θref´）とエンコーダから取得した現在位置（θfb）とをもとに各駆動モータに対するトルク指令（または電流指令）をアクチェータ駆動アンプ部１０７に出力する。
１０６ｂはインピーダンス制御演算部であり、インピーダンスモデル部１０６ｃでは、動作プログラムによって指定された力モーメント指令（力モーメント目標値）Frefと力センサ１０５によって取得される力モーメントフィードバック値Ffbとの差分をもとに、次式（１）にしたがって直交座標系における位置修正量δPが計算される。
【００２３】
δP ＝（Ｍｓ2＋Ｄｓ＋Ｋ）-1（Fref−Ffb）  ・・・式（１）
【００２４】
ここで、Ｍ、Ｄ、Ｋは、それぞれ慣性マトリクス、粘性係数マトリクス、剛性マトリクス（バネ定数）を示す。通常、これらは対角行列として、各軸方向独立なインピーダンス特性を設定する。また、ｓはラプラス演算子であり、時間に関する一階微分に相当する。
直交座標系における位置修正量δPは、速度分解演算部１０６ｄにてヤコビ行列Ｊを用いて次式（２）により関節座標系の位置修正量δθに分解される。
【００２５】
δθ＝Ｊ(θ)-1 δP                      ・・・式（２）
【００２６】
位置修正量δθがインピーダンス制御演算部１０６ｂの出力となる。このδθを動作プログラム実行手段１０９から送られてくる関節座標系における位置指令θrefに加算した位置指令θref’を位置制御系１０６ａに与えることによって、ロボット１０１は外力やモーメントに対してＭ、Ｄ、Ｋで指定された特性を保ちながら動作する。例えば、Ｋにより外力に対してロボットがバネのように動作し、その際、ＭおよびＤを小さくするに従ってロボットはより軽くスムーズに動作する。
【実施例１】
【００２７】
図１は本発明に係るロボットの教示再生装置の構成を示す模式図である。
図１において１１１は力制御設定手段、１１２は力制御手動操作手段、１１３は力制御状態表示手段、１１４は作業状態保存手段である。なお、既に図１４において説明した要素については同符号を付して説明を省略する。
本発明における可搬式教示操作盤１０３の表示画面１０３ｂには、力制御設定手段１１１と力制御状態表示手段１１３、および作業状態保存手段１１４が表示される。表示画面１０３ｂは液晶タッチパネルになっており、教示者は表示画面１０３ｂに表示されたソフトウェアキーをタッチすることにより、力制御設定手段１１１、力制御状態表示手段１１３、作業状態保存手段１１４の各手段を操作することができる。
一方、図１では力制御手動操作手段１１２は操作ボタン群１０３ａの一部のボタンとして実現しているが、ソフトウェアキーに置き換えることも可能である。
なお、教示者が可搬式教示操作盤１０３の操作ボタン群１０３ａや表示画面１０３ｂに表示されたソフトウェアキーを操作することによって、表示画面１０３ｂに図１のような画面以外にも様々な画面を表示することができる。
また、本発明におけるコントローラ１０２では、新たに教示データ記憶部１１５と教示データ変換手段１１６が設けられている。
【００２８】
力制御設定手段１１１は、第１の座標系選択手段１１１ａと力制御開始／終了手段１１１ｂ、および操作モード選択手段１１１ｃを備える。
まず、第１の座標系選択手段１１１ａをタッチすることにより、力制御をどの座標系に基づいて実行するかを選択する。例えば、タッチするたびにロボット座標系→ツール座標系→ユーザ座標系→ロボット座標系→・・・のように座標系が順番に切り替わるようにすればよい。
ここでロボット座標系とツール座標系の例を図１３に示す。ロボット座標系は図１３のようにロボットの基台部分を原点とする直交座標系として定義されることが一般的である。またツール座標系はエンドエフェクタやその付近に原点を持つ直交座標系として定義されることが一般的である。ユーザ座標系は、ロボット座標系やツール座標系に加えて教示者が任意に定めることができる座標系である。
座標系を選択して、力制御開始終了手段１１１ｂをタッチすると、教示時のロボット１０１をインピーダンス制御状態で操作することができる。また、インピーダンス制御状態で力制御開始／終了手段１１１ｂをタッチすれば、インピーダンス制御を終了して通常の位置制御に戻すことができる。
【００２９】
操作モード選択手段１１１ｃは、そのＸ、Ｙ、Ｚの各ボタンをタッチすることによって、第１の座標系選択手段１１１ａで選択した座標系の各軸方向について「位置」「一定力」「振動力」のいずれかのモードを選択することができる。Ｚボタンを例にとると、ボタンをタッチする度に、「Z：位置」→「Z：一定力」→「Z：振動力」→「Z：位置」→・・・のように順番に切り替わるようにすればよい。各モードでのロボットの動作は次のようになる。
Ｚ方向を「Z：位置」に設定した状態で力制御手動操作手段１１２の「Z+」または「Z-」ボタンを押下すると、そのボタン操作に応じて位置指令Pref（図１５）のＺ成分の値が増減して、ロボットを手動操作できる。すなわち通常のJOG動作と同様の動作をする。
Ｚ方向を「Z：一定力」に設定した状態で力制御手動操作手段１１２の「Z+」または「Z-」ボタンを押下すると、そのボタン操作に応じて力制御手段１０６への力指令Fref（図１５）のＺ成分の値が増減して、ロボットを手動操作できる。
Ｚ方向を「Z：振動力」に設定した状態で力制御手動操作手段１１２の「Z+」または「Z-」ボタンを押下すると、力制御手段１０６への力指令Fref（図１５）のＺ成分が一定の振幅と周期（周波数）を有する波形に沿って変化して、ロボットを手動操作できる。
ボタン操作によってロボットへの位置指令を手動操作する際の時間当たりの変化量（速度）（mm/s）や、力指令を手動操作する際の時間当たりの変化量（N/s）、振幅（N）および周波数（Hz）については、操作モード選択手段１１１ｃのそれぞれの表示箇所をタッチして選択し、力制御手動操作手段１１２の「高」「低」ボタンを押下することで値を増減させ調節することができる。
また、操作モード選択手段１１１ｃの「前」ボタン、「次」ボタンの用途については後述する。
【００３０】
力制御状態表示手段１１３は、インピーダンス制御状態でのロボット１０１の位置と力の変化を図や数値でリアルタイムに表示する。
例えば、図１に示すように力指令Fref、力フィードバック(力ＦＢ)Ffb、位置指令Prefおよび位置フィードバック（位置ＦＢ）Pfbが棒グラフと数値で表示される。力制御状態表示手段１１３は、第２の座標系選択手段１１３ａと軸選択手段１１３ｂを備える。第２の座標系選択手段１１３ａをタッチすることにより、第１の座標系選択手段１１１ａと同様にして位置と力の変化をどの座標系に基づいて表示するかを選択することができる。通常は第１の座標系選択手段１１１ａで選択したものと同じ座標系を選択する。
軸選択手段１１３ｂをタッチすると、Ｘ軸→Ｙ軸→Ｚ軸→Ｘ軸→・・・のように順番に軸を切り替えることができる。第２の座標系選択手段１１３ａで指定した座標系の軸のうち、軸選択手段１１３ｂで選択した軸方向に関する位置と力の情報がグラフ、数値の一方あるいは両方によって表示される。
【００３１】
教示者は、力制御状態表示手段１１３に表示される位置と力の状態を確認しながら、力制御設定手段１１１と力制御手動操作手段１１２を使用することで、ハンドに把持された部品の接触状態すなわち作業状態を直感的な操作で変化させることができる。
部品がどのような作業状態にあるかを教示者が判断・選択し、適当な時点で明示的な操作（例えば作業状態保存手段１１４にある「保存」ボタンを教示者がタッチする）を行うことによって、作業状態保存手段１１４は、作業状態の種類と共に、その時点での力指令Fref、力フィードバックFfb、位置指令Pref、位置フィードバックPfb等を、教示データとしてコントローラ１０２内の教示データ記憶部１１５に記憶することができる。
図１４に示すようにエンドエフェクタ１０４が把持した嵌合部品１１０ａを被嵌合部品１１０ｂに穴に嵌合させて穴底まで挿入させる嵌合挿入作業の場合、作業状態として図１６（ａ）〜（ｃ）に示すように「接触状態」「嵌合状態」「挿入完了状態」の３つの状態を定義し、作業状態保存手段１１４にて教示データを記憶する際、３つの状態のうちどの状態であるかを合わせて指定できるようにする。
具体的には、作業状態保存手段１１４に「接触」「嵌合」「挿入完了」ボタンを設定し、教示者が各ボタンをタッチすることにより、ロボットがどの作業状態にあるのかを明示的に指定する。これら３つのボタンは択一式になっている。また、一連の作業状態の教示終了後に作業状態保存手段１１４の「変換」ボタンを押下すると、コントローラ１０２内の教示データ変換手段１１６が作動し、教示データ記憶部１１５に記憶された各作業状態に関する位置や力のデータが、動作プログラムに変換されて動作プログラム記憶部１０８に記憶される。
教示データの動作プログラムへの変換の詳細については後述する。
【００３２】
上記の説明では、作業状態保存手段１１４のボタンをタッチして教示データをどの作業状態として保存すべきかを教示者が明示的に指定していたが、ほとんどの場合、「接触」「嵌合」「挿入完了」の順に教示作業を進めるので、教示者が「保存」ボタンをタッチする度に作業状態を順番に自動で切り替えてもよい。接触状態を教示する際には、事前に教示者が力制御開始終了手段１１１ｂをタッチして力制御状態に移行するので、その際に自動的に作業状態保存手段１１４の「接触」ボタンをタッチ状態にすればよい。
【００３３】
動作プログラムへの変換が終了したら、従来から行われているようにロボットのモードを教示モードから再生動作モードに変更し、変換された動作プログラムを再生することにより、「接触」「嵌合」「挿入完了」の動作が再現される。
【００３４】
以上説明したように、本発明によるロボットの教示再生装置は、可搬式教示操作盤１０３の表示画面１０３ｂに力制御設定手段１１１、力制御手動操作手段１１２、力制御状態表示手段１１３および作業状態保存手段１１４を設け、力制御状態表示手段１１３で力と位置に関するデータを視認しつつ適宜力制御設定手段１１１にて操作モードを変更しながら教示を行うことで、教示者が力制御での教示に熟練していない場合であっても直感的に力制御手動操作手段１１２を操作してワークおよびロボットに過大な力をかけることなく嵌合挿入作業を教示することができる。
【００３５】
続いて図１に示したロボットの教示再生装置での教示方法および再生方法について説明する。
図２は本発明のロボットの教示方法および再生方法のフローチャートである。以下、図２〜１１に従って、嵌合挿入作業の教示について詳細な説明を行う。
まず、図３に示すように、可搬式教示操作盤１０３によってエンドエフェクタ（ハンド）１０４のツール座標系３０１を設定し、嵌合部品１１０ａを把持したハンド１０４を被嵌合部品１１０ｂの穴のアプローチ点（図３（ａ）のP000）まで移動させた後、図３（ｂ）のようにアプローチ点までの移動命令「MOV  P000  V=10」を動作プログラムに登録する（S201）。図３では表示画面１０３ｂの表示内容を切り替えて動作プログラムを表示させている。ここで、MOVはロボットに対する移動命令であり、P000で目標とするロボットの手先位置を指定している。またV=10は目標位置（P000）までの移動速度を指定している。
また、本実施例ではツール座標系３０１は図３（ａ）に示すようにハンドに把持された嵌合部品１１０ａの先端部にその原点が位置するよう設定されている。ツール座標系のＹ軸が記載されていないが、ツール座標系は直交座標系であり、Ｙ軸は紙面と直交する方向に定義される。教示者が直感的にツール座標系に基づいたロボット操作ができるよう、ツール座標系設定の際、その軸の１つを嵌合部品１１０ａの軸線と一致させるのが一般的である。図３（ａ）では嵌合部品１１０ａの軸線をツール座標系のＺ軸としているが、これをＸ軸としたりＹ軸としたりしてもよい。
また、位置指令や位置フィードバックは、ツール座標系３０１の原点の位置を指すものとする。
【００３６】
続いて図４（ｂ）に示すように、可搬式教示操作盤１０３の画面表示を切り替え、力制御設定手段１１１にて「ツール座標系」を選択し、さらに力制御（インピーダンス制御）状態に移行する（S202）。なお力制御状態表示手段１１３の座標系は「ツール座標系」、軸は「Ｚ軸」」に事前に設定しておく。
そして図４（ｂ）に示すように、力制御設定手段１１１でツール座標系のＺ軸方向（部品の嵌合方向）の操作モードを「Z:位置」にし、力制御状態表示手段１１３の棒グラフ表示を確認しながら力制御手動操作手段１１２（操作ボタン群１０３ｂ）の「Z+」ボタンを押下してアームをツール座標系のＺ方向に移動させる。この際ロボットの様子を図４（ａ）に示す。この際の移動速度は、力制御設定手段１１１の「Z：位置」の隣の「mm/s」ボタンをタッチして、力制御手動操作手段１１２の「高」「低」ボタンを押下することによって調節できる（S203）。
【００３７】
嵌合部品１１０ａが被嵌合部品１１０ｂに接触すると、力制御状態表示手段１１３の力フィードバック値が図５（ｂ）に示すようにゼロから変化するので、教示者は部品同士の接触を判断することができる。
教示者は接触と判断したら、力制御手動操作手段１１２の「Z+」ボタンを離す。「位置」操作モードでは、式（１）によるインピーダンス制御のバネ定数Ｋの該当成分（この場合はＺ成分）を非ゼロにし、「Z+」ボタンを離しても接触状態は維持されるようになっている。
図５（ａ）に示すように接触状態を維持したまま作業状態保存手段１１４の「接触」ボタンをタッチして「接触状態」を選択し、「保存」ボタンをタッチして接触状態の教示データを教示データ記憶部１１５に記憶する。接触状態の教示データとして、力フィードバック値（突き当て力）と位置フィードバック値（接触位置）を記憶する（S204）。
【００３８】
次に、手動操作（探り操作）で図５（ａ）の接触状態から図７（ａ）の嵌合状態まで推移させる。探り操作について図６に基づき説明する。図６（ａ）あるいは図５（ａ）に示すように嵌合部品１１０aは被嵌合部品１１０ｂの穴に対してツール座標系のＸ方向にずれている場合を想定する。まず、力制御設定手段１１１のＸ方向の操作モードを「振動力」に切り替える。「振動力」に切り替えると振幅「N」と周波数「Hz」のボタンが隣に現れる。「N」ボタンをタッチ（選択）して力制御手動操作手段１１２の「高」または「低」ボタンを押下することによって振動力の振幅を調節できる。同様に「Hz」ボタンをタッチ（選択）して「高」「低」ボタンを押下することによって振動力の周波数を調節できる。
この様子を図６（ｂ）に示す。図６（ｂ）において、操作モード選択手段１１１ｃの「Ｘ：振動力」の右側の「10N」が振動力の振幅を表し、「10Hz」が周波数を表す。
「振動力」に切り替えた状態で力制御手動操作手段１１２の「X＋」または「X−」ボタンを押下することによって、ボタンを押下している間、力制御手段１０６への力指令値FrefのＸ成分に振動力が印加され、把持した嵌合部品１１０aを被嵌合部品１１０ｂに接触させた状態でＸ軸方向に往復運動させることができる。「X＋」ボタンを押下した場合はＸ＋方向を初期方向として往復運動する。「X−」ボタンを押下した場合はＸ−方向を初期方向として往復運動する。
また、Ｘ軸方向だけでなく、Ｙ軸方向についても力制御設定手段１１１の操作モード選択手段１１１ｃにて操作モードを「振動力」モードに切り替え、「X−」ボタンと「Y＋」あるいは「Y−」ボタンを同時に押下することによってＸＹ平面の任意の方向に往復運動させることができる。さらに、「X−」ボタンを押下しながら、「高」「低」ボタンを押下することによって、実際に往復運動させながらその振幅（あるいは周波数）を増減できる。
したがって、振幅をどの程度の値にすればよいか分からない場合は、振幅をゼロ（0 N）にしておいて、「X−」ボタンを押下しながら「高」ボタンを押下して振幅を徐々に大きくして調整すればよい。Ｚ方向への突き当て力（図５参照）は維持された状態で往復運動（探り操作）するので、嵌合部品１１０aと被嵌合部品１１０ｂの中心軸が一致すると図７（ａ）のように嵌合部品１１０aは非嵌合部品１１０ｂの穴にわずかに嵌った状態に推移する。
【００３９】
接触状態から嵌合状態に推移する瞬間（嵌合部品１１０aが穴に嵌った瞬間）にツール座標系のＺ方向の力が抜け、急に減少する（同時に位置フィードバック値が増加する）ので教示者は嵌合部品１１０aが穴に嵌ったかどうかを判断できる。教示者は嵌合判断したら「X−」ボタンを離して探り操作を止める。インピーダンス制御のバネ定数ＫのＺ成分は非ゼロであるので、嵌合状態は維持される（S205）。
【００４０】
図７（ａ）のような嵌合状態になると、その状態を維持したまま、図７（ｂ）に示すように作業状態保存手段１１４の「嵌合」ボタンをタッチして「嵌合状態」を選択し、「保存」ボタンをタッチして嵌合状態の教示データを教示データ記憶部１１５に記憶する。嵌合状態の教示データとして、嵌合状態での位置フィードバック値（嵌合位置）と探り操作時（図６)の振幅および周波数を記憶する（S206）。
【００４１】
続いて図８（ｂ）のように力制御設定手段１１１でＺ方向の操作モードを「一定力」に切り替える。「一定力」に切り替えると、インピーダンス制御のバネ定数ＫのＺ成分はゼロに自動設定される。この状態で図８（ｂ）に示すように再び「Z＋」ボタンを押下する。
操作モードが「一定力」の場合は「Z＋」ボタンを押下している間、インピーダンス制御（力制御手段１０６）への力指令FrefのＺ成分は増加しつづける。逆に「Z−」ボタンを押下している間は力指令FrefのＺ成分は減りつづける。
この増加減少の変化率は「Z：一定力」の隣の「N/s」ボタンをタッチ（選択）した上で力制御手動操作手段１１２の「高」「低」ボタンを押下して調節することができる。また、現在加えられている力指令値は力制御状態表示手段１１３に力フィードバック値と共に表示されるので、教示者は常に力の状態を視覚的に把握しながらボタン操作ができる。
Ｚ＋方向の力指令Frefを徐々に増加させFrefが部品間の摩擦力を超えると嵌合部品１１０ａは被嵌合部品１１０ｂの穴底に向かって移動を始める（S207）。この様子を図８（ａ）に示す。
教示者はこの段階で「Z＋」ボタンを離せばよい。なお、移動している最中の力フィードバック値（絶対値）は力指令値（絶対値）よりも小さい値になる。嵌合方向に誤差があると（嵌合の公差が小さいほど許容できる誤差は小さくなる）、嵌合部品１１０aが挿入途中で被嵌合部品１１０ｂの穴にひっかかる「詰まり」が発生する場合があるが、その場合は次に説明するような詰まりを解消する操作を手動で行う。
なお、詰まりが発生したか否かは、力制御状態表示手段１１３の棒グラフ表示や数値表示での、位置指令と位置フィードバックの差によって確認することができる。また教示者が嵌合部品１１０aの位置を目視したり、嵌合部品１１０aと被嵌合部品１１０ｂの穴との干渉によって発生する音を聞いたりすることによっても確認することができる。
【００４２】
図９に基づいて詰まり解消操作について説明する。図９（ａ）のように嵌合部品１１０aがツール座標系のＹ軸回りに傾いていることで詰まりが発生した場合を想定する。教示者は、図９（ｂ）に示すように、まず操作モード選択手段１１１ｃの「次」ボタンをタッチすることによって併進動作軸（ＸＹＺ軸）から回転動作軸（RxRyRz軸）に画面を変更しておき、力制御設定手段１１１のRy軸（Ｙ軸回りの回転）方向の操作モードを「振動力」に切り替える。
操作モード選択手段１１１ｃは、「前」「次」ボタンの各ボタンをタッチすることによって、第１の座標系選択手段１１１ａで選択した座標系の各軸方向（ＸＹＺ）について操作モードを選択するのか、各軸回り（RxRyRz）について操作モードを選択するのかを切り替えることができる。
探り操作（図６参照）の場合と同様に、振動力の振幅（回転動作のときは力「N」ではなくモーメント「Nm」）と周波数を調整し、力制御手動操作手段１１２の「Ry＋」または「Ry−」ボタンを押下して、把持した嵌合部品１１０ａにモーメント振動を印加する。Ｚ方向への力は維持したままなので、適度なモーメント振動により、詰まり（引っかかり）が解消されると挿入動作が再開する（Ｚ方向に再び移動し始める）。
振幅のモーメント振動をどの程度の値にすればよいか分からない場合は、振幅をゼロ（0 Nm）にしておいて、「Ry＋」ボタンを押下しながら「高」ボタンを押下して振幅を徐々に大きくして調整すればよい。また、モーメント振動ではなく、探り操作と全く同様にＸ軸方向の振動（併進力）を印加して、詰まりを解消してもよい。挿入完了して移動が止まると力指令値と力フィードバック値が釣り合った状態になる。また力制御状態表示手段１１３で位置指令値（嵌合状態の位置のまま）と位置フィードバック値の差分（嵌合状態からの移動量）を見ることによって、穴底に到達した状態（挿入完了状態）になったか判断できる。
【００４３】
図１０（ａ）に示すように挿入が完了すると、教示者は図１０（ｂ）に示すように挿入完了状態を維持したまま（Ｚ＋方向に力指令値が加えられたまま）で作業状態保存手段１１４の「挿入完了」ボタンをタッチして挿入完了状態を選択し、「保存」ボタンをタッチして、挿入完了状態の教示データを教示データ記憶部１１５に記憶する。挿入完了状態の教示データとして、挿入完了状態での力指令値（挿入力）と位置フィードバック値（挿入完了位置）を記憶する。また、詰まり解消操作時に設定した振幅と周波数も記憶する（S208）。
【００４４】
接触から挿入までの一連の教示が完了し教示者が作業状態保存手段１１４の「変換」ボタンをタッチすると、コントローラ１０２内の教示データ変換手段１１６が作動し、教示データ記憶部１１５に記憶された教示データが図１１に示す動作プログラムに変換され、動作プログラム記憶部１０８に記憶される（S209）。図１１は可搬式教示操作盤の画面表示を切り替えて図３（ｂ）のように動作プログラムを表示させた状態を示している。
なお、これまでの説明では、作業状態保存手段１１４の各状態ボタン「接触」「嵌合」「挿入完了」を明示的にタッチして状態を選択してから「保存」ボタンをタッチするようにしているが、本発明はこれに限定されるものではなく、「保存」ボタンをタッチする度に状態が「接触」から「嵌合」、そして「挿入完了」へと自動的に推移するようにしてもよい。また、「変換」ボタンについても明示的にタッチするようにしているが、「挿入完了」状態で「保存」を押下したら、自動的に教示データが動作プログラムに変換されるようにしてもよい。
【００４５】
「変換」ボタンをタッチすることで教示データを基に変換された動作プログラムは、図１１に示すように、位置制御状態から力制御状態に移行させる力制御開始コマンド「ＩＭＰＯＮ」、非接触状態から接触状態に移行させる突き当て動作コマンド「ＴＳＵＫＩＡＴＥ」、接触状態を維持したまま穴位置を探って嵌合状態に移行させる探り動作コマンド「ＳＡＧＵＲＩ」、嵌合状態から挿入完了状態に移行させる挿入動作コマンド「ＩＮＳＥＲＴ」、力制御状態から位置制御状態に戻る力制御終了コマンド「ＩＭＰＯＦＦ」からなる。
「ＴＳＵＫＩＡＴＥ」コマンドにはＶ、Ｄｉｒ、Ｆ、Ｌがパラメータとして指定される。また「ＳＡＧＵＲＩ」コマンドにはＦ、Ｌ、Ｆｖ、Ｔｖがパラメータとして指定される。「ＩＮＳＥＲＴ」コマンドにはＦ、Ｌ、Ｍｖ、Ｔｖがパラメータとして指定される。これらパラメータは各状態において教示データとして教示データ記憶部１１５に記憶された値をもとに自動的に決定される。詳細については後述する。
【００４６】
以上が教示モードでの嵌合挿入作業の教示手順である。続いて、再生動作時において、教示によって作成した動作プログラムに沿ってロボットを動作させる場合について説明する。
教示モードから再生動作モードに切り替えて、変換された動作プログラムを再生する（S210）と、まずロボットはエンドエフェクタ１０４で嵌合部品１１０ａを把持してアプローチ点P000まで位置制御で移動する（S211）。次に、力制御開始コマンド（図１１のＩＭＰＯＮコマンド）が実行されて力制御状態に移行する（S212）。
【００４７】
力制御状態移行後、続いて突き当て動作コマンド（図１１のＴＳＵＫＩＡＴＥコマンド）が実行される（S213）。図１１の突き当て動作コマンドでは、「Dir」で指定されたツール座標系のＺ＋方向に「V」で指定された速度Vapで移動し、接触を検知したらＺ＋方向に「F」で指定された力指令値Fpushを加え、接触検知後に「L」で指定された移動量Lpushだけ移動したら嵌合状態になったと判断して次のステップへ進む。
接触検知については、再生動作時に検出された力フィードバック値と予め設定した閾値（接触力）を比較して自動で判断される。
また接触検知後の力指令値Fpushには、教示の際S204での接触状態教示データの突き当て力が自動設定され、教示者が数値を入力する必要はない。
さらに嵌合状態判断についても、嵌合状態教示データの位置フィードバック値（嵌合位置）とS204にて記憶した接触状態教示データの位置フィードバック値（接触位置）とのＺ方向差分値が移動量の閾値Lpushとして自動的に設定され、教示者が閾値を数値入力する必要はない。
なお、「V」で指定された速度Vapについては予めコントローラに設定された値が用いられ、動作プログラム変換時に自動的に割り当てられる。実際に突き当て動作を実行してみて移動速度が不適当であれば変更することも可能である。
【００４８】
突き当て動作コマンド実行から所定時間内に移動量が閾値Lpushに達しないと突き当て動作コマンドが失敗したと判断され、探り動作コマンド（図１１のＳＡＧＵＲＩコマンド）が実行される（S214）。突き当て動作コマンドが成功した場合は探り動作コマンドはスキップされる。
探り動作コマンドは「F」で指定されたＺ＋方向への突き当て力Fpushを維持した状態で、「Fv」で指定された振幅Fvib、「Tv」で指定された周期Tvibの振動力をＺ軸の垂直方向に印加しながらＺ＋方向への移動量が閾値Lpushに達したかどうか監視する。所定時間内に閾値Lpushを超えた場合は成功として終了し、Lpushに達しない場合は失敗として力制御終了コマンド（図１１のＩＭＰＯＦＦコマンド）にて力制御を終了する（S216）。
探り動作コマンドの振幅Fvibと周期Tvibは、教示の際の探り操作時（図６参照）において調整し、S206で教示データ記憶部１１５に記憶された振動力の振幅と、周波数の逆数がそれぞれ自動設定され、教示者が数値を入力する必要はない。
【００４９】
突き当て動作コマンドあるいは探り動作コマンドが成功すると、挿入動作コマンド（図１１のＩＮＳＥＲＴコマンド）が実行される（S215）。挿入動作コマンドでは、Ｚ＋方向に「F」で指定された力指令値Finsを加え、接触検知後の移動量が「L」で指定されたLinsになったら挿入完了と判断して終了する。力指令値Finsについては、教示の際のS208で教示データ記憶部１１５に記憶された挿入完了状態の教示データのＺ方向力指令値（挿入力）が自動設定され、教示者が数値入力する必要はない。
また、挿入量閾値Linsについても、教示の際のS204で教示データ記憶部１１５に記憶された接触状態教示データの位置フィードバック値（接触位置）と、S208で記憶された挿入完了状態教示データの位置フィードバック値（挿入完了位置）とのＺ方向差分値が自動設定され、教示者が数値入力する必要はない。挿入途中で（移動量がLinsに達する前に）停止すると、詰まりが発生したと判断し、「Mv」で指定された振幅Mvib、「Tv」で指定された周期Tvibのモーメント振動を印加して、詰まり解消動作を実行する。
詰まり解消動作の振幅Mvibと周期Tvibは、教示の際の詰まり解消操作時（図９参照）において調整し、S208で教示データ記憶部１１５に記憶された振動力の振幅と、周波数の逆数がそれぞれ自動設定され、教示者が数値入力する必要はない。
【００５０】
挿入動作コマンドが終了すると、力制御終了コマンド（図１１のＩＭＰＯＦＦコマンド）が実行されて力制御状態から位置制御状態に移行する（S216）。その後はエンドエフェクタ１０４を開放して嵌合部品１１０ａを放すことで嵌合挿入作業を終了する。
このように、本発明では直感的な操作で簡単に嵌合挿入作業が教示できる上、教示段階での「接触」「嵌合」「挿入完了」の各状態で得た教示データが動作プログラムのパラメータに自動的に変換されるので教示者がパラメータを数値入力する手間が省けて教示作業時間を短縮できるという効果がある。
【実施例２】
【００５１】
第１実施例では、アプローチ点(P000)の位置が被嵌合部品１１０ｂの穴中心から大きくずれていても、教示時に手動探り操作で簡単に穴位置を合わせ、再生動作時の探り動作コマンドで教示時に取得したパラメータを使用して嵌合することができる。しかし、再生動作時に毎回探り動作コマンドが実行されることになり、タクトタイムが長くなって生産性が低下する。第２実施例では、探り動作コマンドによるタクトタイムの増加を防ぐ実施の形態を示す。
【００５２】
基本的な教示再生の流れは第１実施例（図２）と同様である。第２実施例では図２のS207〜S209において処理が追加される。この追加処理を図１２に基づいて説明する。
S207にて、嵌合状態から挿入完了状態に至るまでの間、所定の時間間隔で制御点の位置と速度ベクトルを一時的にメモリに保存し、制御点の軌跡を得る。図１２（ａ）の１２０１は制御点の軌跡を模式的に表している。
なお、制御点はツール座標系の原点と同じくエンドエフェクタ１０４に把持された嵌合部品１１０ａの先端部に設定している。
S208では、図１２（ａ）に示すように挿入完了に至るまでの制御点の軌跡の中から適切な位置Pendと速度ベクトルVendを抽出し教示データの一部として追加保存する。
一時的にメモリに記憶した制御点の軌跡１２０１の中から、ツール座標系のＸ軸まわりおよびＹ軸まわりの回転速度が予め設定した閾値より小さい点のうち挿入完了状態に最も近いものを位置Pendとして抽出し、位置Pendにおける速度ベクトルをVendとする。
続いて図１２（ｂ）に示すように、PendとVendから制御点が通過すべき軌跡である挿入軸１２０２を計算する。挿入軸はPendを通過点とし、Vendを方向ベクトルとする直線である。
通常、挿入時の軌跡１２０１は完全な直線ではなく、図１２（ａ）のように挿入初期から挿入完了に至るにつれ徐々に小さくなるジグザグを描く。したがって軌跡のうち、できるだけ挿入完了に近い点をPendとして利用する方が適切な挿入軸が得られる。ただし、詰まり解消操作（図９参照）の影響を排除するために、Ｘ軸およびＹ軸まわりの回転速度が十分小さい区間からPendを抽出している。
挿入軸１２０２を計算した後、図１２（ｃ）に示すように、S201で設定したツール座標系３０１の挿入方向の座標軸（この場合Ｚ軸）が挿入軸１２０２に完全に一致するようにツール座標系の位置姿勢を修正する。１２０３は修正後のツール座標系である。
【００５３】
次にS209で教示データを動作プログラムに変換する際、挿入軸１２０２に基づいて、S201で教示したアプローチ点P000の位置と姿勢を修正する。
具体的には、図１２（ｄ）に示すように、アプローチ点が挿入軸１２０２上に位置するようにアプローチ点P000の位置を修正する。３０２は元のアプローチ点、１２０４は新しいアプローチ点を示している。姿勢については、ツール座標系１２０３（修正後）のＺ軸が挿入軸１２０２と平行になるように修正する。
このように教示データから厳密に計算した挿入軸に基づいてツール座標系とアプローチ点の位置と姿勢を修正するので、再生動作時はS211にて嵌合部品１１０ａを修正されたアプローチ点に移動させた後、挿入軸に沿って直線的に突き当て動作を実行することにより、探り動作コマンドを実行しなくても嵌合状態にすることができる。したがって、再生動作時のタクトタイムを短縮でき生産性が向上する。
【産業上の利用可能性】
【００５４】
本発明の作業状態保存手段での接触状態の定義を変更することによって、嵌合挿入作業だけでなく、部品と部品の接触状態を変化させる組立作業一般に広く利用できる。
【図面の簡単な説明】
【００５５】
【図１】本発明におけるロボットの教示再生装置の構成図
【図２】本発明におけるロボットの教示再生方法のフローチャート
【図３】嵌合アプローチ点への移動動作の教示を説明する図（（ａ）はロボットの状態を表し、（ｂ）は動作プログラムを表す）
【図４】非接触状態での力制御の手動操作手順を説明する図（（ａ）はロボットの状態を表し、（ｂ）は可搬式教示操作盤の状態を表す）
【図５】接触状態の教示手順を説明する図（（ａ）はロボットの状態を表し、（ｂ）は可搬式教示操作盤の状態を表す）
【図６】探り操作の手順を説明する図（（ａ）はロボットの状態を表し、（ｂ）は可搬式教示操作盤の状態を表す）
【図７】嵌合状態の教示手順を説明する図（（ａ）はロボットの状態を表し、（ｂ）は可搬式教示操作盤の状態を表す）
【図８】挿入操作の手順を説明する図（（ａ）はロボットの状態を表し、（ｂ）は可搬式教示操作盤の状態を表す）
【図９】詰まり解消操作の手順を説明する図（（ａ）はロボットの状態を表し、（ｂ）は可搬式教示操作盤の状態を表す）
【図１０】挿入完了状態の教示手順を説明する図（（ａ）はロボットの状態を表し、（ｂ）は可搬式教示操作盤の状態を表す）
【図１１】教示データから変換された動作プログラムを表す図
【図１２】アプローチ点の位置姿勢修正方法を説明する図
【図１３】一般的な産業用ロボットの構成図
【図１４】力制御の装置構成図
【図１５】インピーダンス制御のブロック図
【図１６】嵌合挿入作業の状態分類について（ａ）接触状態（ｂ）嵌合状態（ｃ）挿入完了状態を示す図
【符号の説明】
【００５６】
１０１  ロボット
１０２  コントローラ
１０３  可搬式教示操作盤
１０３ａ  操作ボタン群
１０３ｂ  表示画面
１０４  エンドエフェクタ（ハンド）
１０５  力センサ
１０６  力制御手段
１０６ａ  位置制御系
１０６ｂ  インピーダンス制御演算部
１０６ｃ  インピーダンスモデル
１０６ｄ  速度分解演算部
１０７  アクチュエータ駆動アンプ部
１０８  動作プログラム記憶部
１０９  動作プログラム実行手段
１１０ａ  嵌合部品
１１０ｂ  被嵌合部品
１１１  力制御設定手段
１１１ａ  第１の座標系選択手段
１１１ｂ  力制御開始／終了手段
１１１ｃ  操作モード選択手段
１１２  力制御手動操作手段
１１３  力制御状態表示手段
１１３ａ  第２の座標系選択手段
１１３ｂ  軸選択手段
１１４  作業状態保存手段
１１５  教示データ記憶部
１１６  教示データ変換手段
３０１  ツール座標系
３０２  アプローチ点
１２０１  挿入完了までの制御点の軌跡
１２０２  挿入軸
１２０３  修正後のツール座標系
１２０４  修正後のアプローチ点の位置
【図１】
2010058202.tif 000003
【図２】
2010058202.tif 000004
【図３】
2010058202.tif 000005
【図４】
2010058202.tif 000006
【図５】
2010058202.tif 000007
【図６】
2010058202.tif 000008
【図７】
2010058202.tif 000009
【図８】
2010058202.tif 000010
【図９】
2010058202.tif 000011
【図１０】
2010058202.tif 000012
【図１１】
2010058202.tif 000013
【図１２】
2010058202.tif 000014
【図１３】
2010058202.tif 000015
【図１４】
2010058202.tif 000016
【図１５】
2010058202.tif 000017
【図１６】
2010058202.tif 000018