説明

ロボットの教示再生装置および教示再生方法

【課題】過大力とタクトタイム増加を防ぎ、力制御に関する知識のない教示者でも直感的な操作で簡単に嵌合などの接触作業を成功率高く教示・再生できるようにする。
【解決手段】教示ペンダントに力制御設定手段と力制御手動操作手段と力制御状態表示手段と作業状態保存手段を備え、力制御設定手段は座標系の各軸方向それぞれに対する操作モード選択手段を備え、テスト運転で動作プログラムを再生している最中に、力制御手動操作手段は操作モードにしたがって位置または力指令を動作プログラムの動作に重畳して増減し動作を修正する。この重畳された修正動作によりロボット作業を適切な力加減により、オペレータの判断で作業を成功に導く。この時のデータをロボットの修正された動作プログラムデータとして再度登録し直す。再登録された動作プログラムはオペレータが適切に誘導したデータであるため成功確率が高いティーチングデータとなる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、産業用ロボットを用いて嵌合などの接触作業を教示および再生する装置、および教示再生する方法に関する。
【背景技術】
【0002】
産業用ロボットで嵌合など接触作業を実行する場合、ロボットマニピュレータのエンドエフェクタまたは手首部に力センサを設け、力センサから得られる情報を利用して力制御機構を構成する技術が広く知られている。産業用ロボットは教示再生方式に基づいているが、基本的に位置制御を対象としているため、力制御による接触作業の場合は新たな教示再生の仕組みを構築する必要がある。接触作業の教示再生に関する技術の例が特許文献1から特許文献8に開示されている。
【特許文献1】特許第3483675号公報
【特許文献2】特開2002−52485号公報
【特許文献3】特開平6−262563号公報
【特許文献4】特開2007−136588号公報
【特許文献5】特許第3304251号公報
【特許文献6】特開2004−167651号公報
【特許文献7】特開平9−91026号公報
【特許文献8】特許第3577124号公報
【発明の概要】
【発明が解決しようとする課題】
【0003】
一般に、特に接触を伴う場合の教示作業では、再生動作時にワークおよびロボットに過大な力を発生させないようにするために、教示する状態量として位置情報と同時に力の情報にも気を配りながら教示する必要がある。そのため、一回の教示作業では最適な教示データを生成することは困難であり、教示、再生、教示の修正を繰り返し行い最適な教示データを作成することがある。このように教示データの作成には試行錯誤を繰り返すので非常に時間がかかる。
【0004】
また、教示データの作成に際して、実際のロボットを誘導操作することなくオフラインでロボットプログラムを作成するために、シミュレータを用いて教示データを作成する場合もある。しかし、シミュレータを用いたオフラインでの教示では、接触作業などの細かな動作を教示することは困難である。シミュレータを用いてワークの位置情報を教示し、後のテスト運転において接触作業などの細かな教示を調整できれば便宜である。
【0005】
本発明は、以上のような問題点に鑑みなされたものであり、嵌合作業等の接触作業に際して、教示時および再生動作時にワークおよびロボットに過大な力を発生させることなく、簡易な手法で効率的にロボットの動作を教示データを修正するためのロボットの教示再生装置を提供する。
【課題を解決するための手段】
【0006】
本発明の一態様によれば、ロボットの教示再生装置が提供される。このロボット教示再生装置は、ロボットの運動を制御するコントローラと、操作者がロボットに動作を教示するための、前記コントローラに接続される教示ペンダントと、を有する。コントローラは、コントローラに予め記憶された教示データに基づいてロボットを再生動作させているときに、操作者による教示ペンダントからの教示を、再生している教示データに追加することができる。
【0007】
一実施形態において、コントローラは、ロボットの再生動作中に教示ペンダントを介して追加された教示を含む教示データを、新たな教示データとして前記コントローラ内に記憶することができる。
【0008】
一実施形態において、教示ペンダントは、ロボットの複数の動作からなる1つのまとまった動作を生成可能であり、1つのまとまった動作を再生中の教示データに追加できる。ここでいう1つのまとまった動作とは、ロボットの運動速度または運動方向が変化する動作をいう。
【0009】
一実施形態において、コントローラは、再生動作時において、ロボットのエンドエフェクタに取り付けられたセンサから得られる情報およびロボットの内界センサから得られる情報の少なくともいずれか一方に基づいて、ロボットのエンドエフェクタの状態値を演算し、演算された状態値に対応する教示データを作成するときに記憶されたロボットのエンドエフェクタの状態値と、演算された状態値との差分を用いて評価値を演算し、評価値を所定値と比較することで、ロボットの動作が教示通りに遂行されているかを判断することができる。
【0010】
一実施形態において、コントローラは、再生動作時において、ロボットのエンドエフェクタに取り付けられたセンサから得られる情報およびロボットの内界センサから得られる情報の少なくともいずれか一方に基づいて、ロボットのエンドエフェクタの複数の状態値を記憶し、演算された状態値に対応する教示データを作成するときに記憶されたロボットのエンドエフェクタの複数の各状態値と、演算された複数の各状態値との差分を用いて第2の評価値を演算し、第2の評価値を所定値と比較することで、ロボットの動作が教示通りに成功したかを判断することができる。
【0011】
一実施形態において、ロボットのエンドエフェクタの状態値の演算は、所定の周波数で行われる。好ましくは、周波数は、ロボットの動作速度が大きいときに相対的に周波数が大きく、ロボットの動作速度が小さいときに相対的に周波数が小さい。
【0012】
本発明の一態様によれば、ロボットの教示方法が提供される。この方法は、予め作成された予備教示データに基づいてロボットを再生動作させるステップと、予備教示データに従ってロボットを再生動作させているときに、予備教示に加えてさらなる教示を再生動作中のロボットに重畳的に与えるステップと、を有する。
【0013】
本発明の一態様によれば、ロボットの教示データ作成方法が提供される。この方法は、予め作成された予備教示データに基づいてロボットを再生動作させるステップと、予備教示データに従ってロボットを再生動作させているときに、予備教示データにさらなる教示データを再生動作中のロボットの予備教示データに加算するステップと、を有する。
【図面の簡単な説明】
【0014】
【図1】本発明の一実施形態におけるロボットの教示再生装置の構成図である。
【図2】本発明の一実施形態におけるロボットの教示再生方法のフローチャートである。
【図3】嵌合アプローチ点への移動動作の教示を説明する図であり、(a)はロボットの状態を表し、(b)は動作プログラムを表す。
【図4】非接触状態での力制御の手動操作手順を説明する図であり、(a)はロボットの状態を表し、(b)は教示ペンダントの状態を表す。
【図5】接触状態の教示手順を説明する図であり、(a)はロボットの状態を表し、(b)は教示ペンダントの状態を表す。
【図6】探り操作の手順を説明する図であり、(a)はロボットの状態を表し、(b)は教示ペンダントの状態を表す。
【図7】嵌合状態の教示手順を説明する図であり、(a)はロボットの状態を表し、(b)は教示ペンダントの状態を表す。
【図8】挿入操作の手順を説明する図であり、(a)はロボットの状態を表し、(b)は教示ペンダントの状態を表す。
【図9】詰まり解消操作の手順を説明する図であり、(a)はロボットの状態を表し、(b)は教示ペンダントの状態を表す。
【図10】挿入完了状態の教示手順を説明する図であり、(a)はロボットの状態を表し、(b)は教示ペンダントの状態を表す。
【図11】教示データから変換された動作プログラムを表す図である。
【図12】本発明の一実施形態による、ロボットの再教示方法を示すフローチャートである。
【図13】教示時と再生時のロボットの状態の比較を説明する図であり、(a)は位置情報、(b)はトルク情報を表す。
【図14】教示ペンダントによる操作者への情報提示を示す図である。
【図15】一般的なロボットシステムと周辺機器の接続を表す図である。
【図16】一般的な産業用ロボットの構成図である。
【図17】インピーダンス制御のブロック図である。
【図18】嵌合挿入作業の状態分類を示す図であり、(a)接触状態(b)嵌合状態(c)挿入完了状態を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態について図を参照して説明する。
まず、一般的な産業用ロボットと力制御のシステム構成(いずれも公知技術)を説明し、その後、教示ペンダントを用いた教示データの作成および教示データに基づくロボットの再生の一形態を説明する。その後に、本発明による教示データの修正およびロボットの動作エラー判定について説明する。
【0016】
一般的な産業用ロボットと力制御のシステム構成
図15は、一般的な産業用ロボットの構成図である。図15において、ロボット101は、複数の関節軸とリンクを有するマニピュレータである。各関節軸には、エンコーダつきの駆動モータが内蔵されており、各関節を独立に駆動することができる。ロボット101はコントローラ102に接続されており、コントローラ102はロボット101とともに各関節軸駆動モータのエンコーダ信号をもとにフィードバック制御(位置制御系)を構成し、ロボット101の運動を制御する。コントローラ102には、教示者がロボットを手動(JOG)操作したり、動作プログラムを作成・編集したりするためのインターフェイスである教示ペンダント103が接続されている。教示ペンダント103は主に操作ボタン群103aと表示画面103bとで構成されている。ロボット101は、手首部に設けられたエンドエフェクタ104を備える。エンドエフェクタとしてアプリケーションに応じて様々なツールが取り付けられる。図15、16の場合は部品を把持するためのハンド(グリッパ)が取り付けられている。
【0017】
図16は力制御される産業用ロボットの構成図を示している。ロボット101は、手首に取り付けられた6軸力センサ105を備え、XYZ各軸方向の力と各軸回りのモーメントを計測できる。コントローラ102は、内部に構成された力制御手段106を備え、力制御手段106は力センサ105と各軸エンコーダからの信号をもとにフィードバック制御系(力制御系)を構成している。力制御部106からは各駆動モータのトルク指令または電流指令が出力され、そのトルク(または電流)指令値をもとにアクチュエータ駆動アンプ部107が各駆動モータに電力を供給する。コントローラ102は、教示ペンダントで作成(教示)された動作プログラムをコントローラ内部で記憶する動作プログラム記憶部108を備える。コントローラ102は、動作プログラム記憶部108に記憶された動作プログラムを解釈・実行し、力制御部106に動作指令を与える動作プログラム実行手段109を備える。エンドエフェクタ104は嵌合部品110aを把持することができ、嵌合部品110aは被嵌合部品110bに嵌合される。ロボット101を力制御状態にすることによって、位置姿勢誤差を許容して嵌合部品110aを被嵌合部品110bに嵌合させることが可能になる。
【0018】
具体的な力制御方式としては、インピーダンス制御が一般に利用される。図17に一般的なインピーダンス制御の制御ブロック図を示す。図17において、106aは位置制御系であり、各関節軸の位置指令と現在位置(フィードバック)をもとに各駆動モータのトルク(または電流指令)をアクチェータ駆動アンプ部107に出力する。Frefは力モーメント指令(力モーメント目標値)、Ffbは力モーメントフィードバック値である。θrefは動作プログラム実行部109から送られてくる位置指令(関節座標系)、δθはインピーダンス制御演算部106bが計算する位置修正量である。インピーダンス制御演算部106bでは、まず、FrefとFfbをもとに、次式にしたがって直交座標系における位置修正量δPが計算される(106c)。
【0019】
δP =(Ms2+Ds+K)-1(Fref−Ffb)
ここで、M,D,Kはそれぞれ、慣性マトリクス、粘性係数マトリクス、剛性マトリクス(バネ定数)である。通常、これらは対角行列として、各軸方向に独立なインピーダンス特性を設定する。また、sはラプラス演算子であり、時間に関する一階微分に相当する。
【0020】
直交座標系における位置修正量δPは、ヤコビ行列J(θ)を用いて次式により関節座標系の位置修正量δθに分解される(106d)。
δθ=J(θ)-1 δP
このδθをθrefに足し合わせた位置指令θref’を位置制御系106aに与えることによって、外力やモーメントに対して、M,D,Kで指定された特性を保ちながらロボットを動作させる。例えば、Kにより外力に対してロボットがバネのように動作し、その際、MおよびDを小さくすることによって軽くスムーズに動作する。
【0021】
教示ペンダントを用いた教示データの作成
次に、教示ペンダントを用いて教示データの作成するためのシステム構成および教示データの作成方法の一形態を説明する。 図1は一形態によるロボットの教示再生装置の構成図である。図1において、図16と同符号の要素(101〜110)については同じものを表しているので説明を省略する。
【0022】
教示ペンダント103は、力制御設定手段111、力制御手動操作手段112、力制御状態表示手段113、および作業状態保存手段114を備えている。力制御設定手段111と力制御状態表示手段113および作業状態保存手段114は教示ペンダント103の表示画面103bに表示される。表示画面103bは液晶タッチパネル式になっており、教示者は表示画面103bに表示されたソフトウェアキーをタッチすることにより、力制御設定手段111、力制御状態表示手段113、作業状態保存手段114の各手段を操作することができる。
【0023】
また、教示ペンダント103の力制御手動操作手段112は各操作に対応する操作ボタン群103aを備える。なお、図1では力制御手動操作手段112は操作ボタン群103aとして実現しているが、ソフトウェアキーに置き換えることも可能である。また、教示者が教示ペンダント103の操作ボタン群103aや表示画面103bに表示されたソフトウェアキーを操作することによって、表示画面103bに図1に示されるような画面以外にも様々な画面を表示することができるようにしてもよい。
【0024】
力制御設定手段111は、第1の座標系選択手段111aと力制御開始/終了手段111b、および操作モード選択手段111cを備える。
まず、第1の座標系選択手段111aをタッチすることにより、力制御をどの座標系に基づいて実行するかを選択することができる。例えば、タッチするたびにロボット座標系→ツール座標系→ユ-ザ座標系→ロボット座標系→・・・のように座標系が順番に切り替わるようにすることができる。
【0025】
ここでロボット座標系とツール座標系の例を図15に示す。ロボット座標系は図15に示すようにロボットの基台部分を原点とする直交座標系として定義されることが一般的である。またツール座標系はエンドエフェクタやその付近に原点を持つ直交座標系として定義されることが一般的である。ユ-ザ座標系は、ロボット座標系やツール座標系に加えて教示者が任意に定めることができる座標系である。
【0026】
座標系を選択して、力制御開始終了手段111bをタッチすると、教示時のロボット101をインピーダンス制御状態で操作することができる。また、インピーダンス制御状態で力制御開始/終了手段111bをタッチすれば、インピーダンス制御を終了して通常の位置制御に戻すことができる。
【0027】
操作モード選択手段111cは、そのX、Y、Zの各ボタンをタッチすることによって、第1の座標系選択手段111aで選択した座標系の各軸方向について「位置」「一定力」「振動力」のいずれかのモードを選択することができる。Zボタンを例に説明すると、ボタンをタッチする度に、「Z:位置」→「Z:一定力」→「Z:振動力」→「Z:位置」→・・・のように順番に切り替わるようにすることができる。
【0028】
各モードでのロボットの動作は次のようになる。Z方向を「Z:位置」に設定した状態で力制御手動操作手段112の「Z+」または「Z-」ボタンを押下すると、そのボタン操作に応じて位置指令Pref(図17)のZ成分の値が増減して、ロボットを手動操作できる。すなわち通常のJOG動作と同様の動作をする。Z方向を「Z:一定力」に設定した状態で力制御手動操作手段112の「Z+」または「Z-」ボタンを押下すると、そのボタン操作に応じて力制御手段106への力指令Fref(図17)のZ成分の値が増減して、ロボットを手動操作できる。Z方向を「Z:振動力」に設定した状態で力制御手動操作手段112の「Z+」または「Z-」ボタンを押下すると、力制御手段106への力指令Fref(図17)のZ成分が一定の振幅と周期(周波数)を有する波形に沿って変化して、ロボットを手動操作できる。ボタン操作によってロボットへの位置指令を手動操作する際の時間当たりの変化量(速度)(mm/s)や、力指令を手動操作する際の時間当たりの変化量(N/s)、振幅(N)および周波数(Hz)については、操作モード選択手段111cのそれぞれの表示箇所をタッチして選択し、力制御手動操作手段112の「高」「低」ボタンを押下することで値を増減させ調節することができる。また、操作モード選択手段111cの「前」ボタン、「次」ボタンの用途については後述する。
【0029】
力制御状態表示手段113は、インピーダンス制御状態でのロボット101の位置と力との変化を図や数値でリアルタイムに表示することができる。例えば、図1に示すように力指令Fref、力フィードバック(力FB)Ffb、位置指令Prefおよび位置フィードバック(位置FB)Pfbが棒グラフと数値で表示される。力制御状態表示手段113は、第2の座標系選択手段113aと軸選択手段113bとを備える。第2の座標系選択手段113aをタッチすることにより、第1の座標系選択手段111aと同様にして位置と力の変化を所望の座標系に基づいて表示させることができる。通常は第1の座標系選択手段111aで選択したものと同じ座標系が選択されるであろう。軸選択手段113bをタッチすると、X軸→Y軸→Z軸→X軸→・・・のように順番に軸を切り替えることができる。第2の座標系選択手段113aで指定した座標系の軸のうち、軸選択手段113bで選択した軸方向に関する位置と力の情報がグラフ、数値の一方あるいは両方によって表示される。
【0030】
教示者は、力制御状態表示手段113に表示される位置と力の状態を確認しながら、力制御設定手段111と力制御手動操作手段112とを使用することで、ハンドに把持された部品の接触状態すなわち作業状態を直感的な操作で変化させることができる。部品がどのような作業状態にあるかを教示者が判断・選択し、適当な時点で明示的な操作(例えば作業状態保存手段114にある「保存」ボタンを教示者がタッチする)を行うことによって、作業状態保存手段114は、作業状態の種類と共に、その時点での力指令Fref、力フィードバックFfb、位置指令Pref、位置フィードバックPfb等を、教示データとしてコントローラ102内の教示データ記憶部115に記憶することができる。
【0031】
図16に示すようにエンドエフェクタ104が把持した嵌合部品110aを被嵌合部品110bの穴に嵌合させて穴底まで挿入させる嵌合挿入作業の場合、作業状態として図18(a)〜(c)に示すように「接触状態」「嵌合状態」「挿入完了状態」の3つの状態を定義し、作業状態保存手段114にて教示データを記憶する際、3つの状態のうちどの状態であるかを合わせて指定できるようにする。具体的には、作業状態保存手段114に「接触」「嵌合」「挿入完了」ボタンを設定することで、教示者が各ボタンをタッチすることにより、ロボットがどの作業状態にあるのかを明示的に指定することができる。これらの3つのボタンは択一式になっている。また、一連の作業状態の教示終了後に作業状態保存手段114の「変換」ボタンを押下すると、コントローラ102内の教示データ変換手段116が作動し、教示データ記憶部115に記憶された各作業状態に関する位置や力のデータが、動作プログラムに変換されて動作プログラム記憶部108に記憶される。教示データの動作プログラムへの変換の詳細については後述する。
【0032】
上記の説明では、作業状態保存手段114のボタンをタッチして教示データをどの作業状態として保存すべきかを教示者が明示的に指定していたが、ほとんどの場合、「接触」「嵌合」「挿入完了」の順に教示作業を進めるので、教示者が「保存」ボタンをタッチする度に作業状態を順番に自動で切り替えてもよい。接触状態を教示する際には、事前に教示者が力制御開始終了手段111をタッチして力制御状態に移行するので、その際に自動的に作業状態保存手段114の「接触」ボタンをタッチ状態にすればよい。
【0033】
動作プログラムへの変換が終了したら、従来から行われているようにロボットのモードを教示モードから再生動作モードに変更し、変換された動作プログラムを再生することにより、「接触」「嵌合」「挿入完了」の動作が再現される。
【0034】
以上説明したように、上記の実施形態によるロボットの教示再生装置は、教示ペンダント103の表示画面103bに力制御設定手段111、力制御手動操作手段112、力制御状態表示手段113および作業状態保存手段114を設け、力制御状態表示手段113で力と位置に関するデータを視認しつつ適宜力制御設定手段111にて操作モードを変更しながら教示を行うことで、教示者が力制御での教示に熟練していない場合であっても直感的に力制御手動操作手段112を操作してワークおよびロボットに過大な力をかけることなく嵌合挿入作業を教示することができる。
【0035】
続いて図1に示したロボットの教示再生装置での教示方法について説明する。図2は一形態によるロボットの教示方法および再生方法のフローチャートである。以下、図2〜11に従って、嵌合挿入作業の教示について詳細な説明を行う。まず、図3に示すように、教示ペンダント103によってエンドエフェクタ(ハンド)104のツール座標系301を設定し、嵌合部品110aを把持したハンド104を被嵌合部品110bの穴のアプローチ点(図3(a)のPOOO)まで移動させた後、図3(b)のようにアプローチ点までの移動命令「MOV POOO V=10」を動作プログラムに登録する(S201)。なお、図3(b)では表示画面103bの表示内容を切り替えて動作プログラムを表示させている。ここで、MOVはロボットに対する移動命令であり、POOOで目標とするロボットの手先位置を指定している。またV=10は目標位置(POOO)までの移動速度を指定している。また、本実施例ではツール座標系301は図3(a)に示すようにハンドに把持された嵌合部品110aの先端部にその原点が位置するよう設定されている。ツール座標系のY軸は記載されていないが、ツール座標系は直交座標系であり、Y軸は紙面と直交する方向に定義される。教示者が直感的にツール座標系に基づいたロボット操作ができるよう、ツール座標系設定の際、その軸の1つを嵌合部品110aの軸線と一致させるのが一般的である。図3(a)では嵌合部品110aの軸線をツール座標系のZ軸としているが、これをX軸としたりY軸としたりしてもよい。また、位置指令や位置フィードバックは、ツール座標系301の原点の位置を指すものとする。
【0036】
続いて図4(b)に示すように、教示ペンダント103の画面表示を切り替え、力制御設定手段111にて「ツール座標系」を選択し、さらに力制御(インピーダンス制御)状態に移行する(S202)。なお力制御状態表示手段113の座標系は「ツール座標系」、軸は「Z軸」に事前に設定しておく。そして図4(b)に示すように、力制御設定手段111でツール座標系のZ軸方向(部品の嵌合方向)の操作モードを「Z:位置」にし、力制御状態表示手段113の棒グラフ表示を確認しながら力制御手動操作手段112(操作ボタン群103b)の「Z+」ボタンを押下してア-ムをツール座標系のZ方向に移動させる。この際ロボットの様子を図4(a)に示す。この際の移動速度は、力制御設定手段111の「Z:位置」の隣の「mm/s」ボタンをタッチして、力制御手動操作手段112の「高」「低」ボタンを押下することによって調節できる(S203)。
【0037】
嵌合部品110aが被嵌合部品110bに接触すると、力制御状態表示手段113の力フィードバック値が図5(b)に示すようにゼロから変化するので、教示者は部品同士の接触を判断することができる。教示者は接触と判断したら、力制御手動操作手段112の「Z+」ボタンを離す。「位置」操作モードでは、式(1)によるインピーダンス制御のバネ定数Kの該当成分(この場合はZ成分)を非ゼロにし、「Z+」ボタンを離しても接触状態は維持されるようになっている。図5(a)に示すように接触状態を維持したまま作業状態保存手段114の「接触」ボタンをタッチして「接触状態」を選択し、「保存」ボタンをタッチして接触状態の教示データを教示データ記憶部115に記憶する。接触状態の教示データとして、力フィードバック値(突き当て力)と位置フィードバック値(接触位置)を記憶する(S204)。
【0038】
次に、手動操作(探り操作)で図5(a)の接触状態から図7(a)の嵌合状態まで推移させる。探り操作について図6に基づき説明する。図5(a)あるいは図6(a)に示すように嵌合部品110aは被嵌合部品110bの穴に対してツール座標系のX方向にずれている場合を想定する。まず、力制御設定手段111のX方向の操作モードを「振動力」に切り替える。「振動力」に切り替えると振幅「N」と周波数「Hz」のボタンが隣に現れる。「N」ボタンをタッチ(選択)して力制御手動操作手段112の「高」または「低」ボタンを押下することによって振動力の振幅を調節できる。同様に「Hz」ボタンをタッチ(選択)して「高」「低」ボタンを押下することによって振動力の周波数を調節できる。この様子を図6(b)に示す。図6(b)において、操作モード選択手段111cの「X:振動力」の右側の「10N」が振動力の振幅を表し、「10Hz」が周波数を表す。「振動力」に切り替えた状態で力制御手動操作手段112の「X+」または「X-」ボタンを押下することによって、ボタンを押下している間、力制御手段106への力指令値FrefのX成分に振動力が印加され、把持した嵌合部品110aを被嵌合部品110bに接触させた状態でX軸方向に往復運動させることができる。「X+」ボタンを押下した場合はX+方向を初期方向として往復運動する。「X-」ボタンを押下した場合はX-方向を初期方向として往復運動する。また、X軸方向だけでなく、Y軸方向についても力制御設定手段111の操作モード選択手段111cにて操作モードを「振動力」モードに切り替え、「X-」ボタンと「Y+」あるいは「Y-」ボタンを同時に押下することによってXY平面の任意の方向に往復運動させることができる。さらに、「X-」ボタンを押下しながら、「高」「低」ボタンを押下することによって、実際に往復運動させながらその振幅(あるいは周波数)を増減できる。したがって、振幅をどの程度の値にすればよいか分からない場合は、振幅をゼロ(ON)にしておいて、「X-」ボタンを押下しながら「高」ボタンを押下して振幅を徐々に大きくして調整すればよい。Z方向への突き当て力(図5参照)は維持された状態で往復運動(探り操作)するので、嵌合部品110aと被嵌合部品110bの中心軸が一致すると図7(a)のように嵌合部品110aは被嵌合部品110bの穴にわずかに嵌った状態に推移する。
【0039】
接触状態から嵌合状態に推移する瞬間(嵌合部品110aが穴に嵌った瞬間)にツール座標系のZ方向の力が急に減少し、同時に位置フィードバック値が増加するので教示者は嵌合部品110aが穴に嵌ったかどうかを判断できる。教示者は嵌合判断したら「X-」ボタンを離して探り操作を止める。インピーダンス制御のバネ定数KのZ成分は非ゼロであるので、嵌合状態は維持される(S205)。
【0040】
図7(a)のような嵌合状態になると、その状態を維持したまま、図7(b)に示すように作業状態保存手段114の「嵌合」ボタンをタッチして「嵌合状態」を選択し、「保存」ボタンをタッチして嵌合状態の教示データを教示データ記憶部115に記憶する。嵌合状態の教示データとして、嵌合状態での位置フィードバック値(嵌合位置)と探り操作時(図6)の振幅および周波数を記憶する(S206)。
【0041】
続いて図8(b)のように力制御設定手段111でZ方向の操作モードを「一定力」に切り替える。「一定力」に切り替えると、インピーダンス制御のバネ定数KのZ成分はゼロに自動設定される。この状態で図8(b)に示すように再び「Z+」ボタンを押下する。操作モードが「一定力」の場合は「Z+」ボタンを押下している間、インピーダンス制御(力制御手段106)への力指令FrefのZ成分は増加しつづける。逆に「Z-」ボタンを押下している間は力指令FrefのZ成分は減りつづける。この増加減少の変化率は「Z:一定力」の隣の「N/s」ボタンをタッチ(選択)した上で力制御手動操作手段112の「高」「低」ボタンを押下して調節することができる。また、現在加えられている力指令値は力制御状態表示手段113に力フィードバック値と共に表示されるので、教示者は常に力の状態を視覚的に把握しながらボタン操作ができる。Z+方向の力指令Frefを徐々に増加させFrefが部品間の摩擦力を超えると嵌合部品110aは被嵌合部品110bの穴底に向かって移動を始める(S207)。この様子を図8(a)に示す。教示者はこの段階で「Z+」ボタンを離せばよい。なお、移動している最中の力フィードバック値(絶対値)は力指令値(絶対値)よりも小さい値になる。嵌合方向に誤差があると(嵌合の公差が小さいほど許容できる誤差は小さくなる)、嵌合部品110aが挿入途中で被嵌合部品110bの穴にひっかかる「詰まり」が発生する場合があるが、その場合は次に説明するような詰まりを解消する操作を手動で行う。なお、詰まりが発生したか否かは、力制御状態表示手段113の棒グラフ表示や数値表示での、位置指令と位置フィードバックの差によって確認することができる。また教示者が嵌合部品110aの位置を目視したり、嵌合部品110aと被嵌合部品110bの穴との干渉によって発生する音を聞いたりすることによっても確認することができる。
【0042】
図9に基づいて詰まり解消操作について説明する。図9(a)のように嵌合部品110aがツール座標系のY軸回りに傾いていることで詰まりが発生した場合を想定する。教示者は、図9(b)に示すように、まず操作モード選択手段111cの「次」ボタンをタッチすることによって並進動作軸(XYZ軸)から回転動作軸(RxRyRz軸)に画面を変更しておき、力制御設定手段111のRy軸(Y軸回りの回転)方向の操作モードを「振動力」に切り替える。操作モード選択手段111cは、「前」「次」ボタンの各ボタンをタッチすることによって、第1の座標系選択手段111aで選択した座標系の各軸方向(XYZ)について操作モードを選択するのか、各軸回り(RxRyRz)について操作モードを選択するのかを切り替えることができる。探り操作(図6参照)の場合と同様に、振動力の振幅(回転動作のときは力「N」ではなくモーメント「Nm」)と周波数を調整し、力制御手動操作手段112の「Ry+」または「Ry-」ボタンを押下して、把持した嵌合部品110aにモーメント振動を印加する。Z方向への力は維持したままなので、適度なモーメント振動により、詰まり(引っかかり)が解消されると挿入動作が再開する(Z方向に再び移動し始める)。振幅のモーメント振動をどの程度の値にすればよいか分からない場合は、振幅をゼロ(ONm)にしておいて、「Ry+」ボタンを押下しながら「高」ボタンを押下して振幅を徐々に大きくして調整すればよい。また、モーメント振動ではなく、探り操作と全く同様にX軸方向の振動(併進力)を印加して、詰まりを解消してもよい。挿入完了して移動が止まると力指令値と力フィードバック値が釣り合った状態になる。また力制御状態表示手段113で位置指令値(嵌合状態の位置のまま)と位置フィードバック値の差分(嵌合状態からの移動量)を見ることによって、穴底に到達した状態(挿入完了状態)になったか判断できる。
【0043】
図10(a)に示すように挿入が完了すると、教示者は図10(b)に示すように挿入完了状態を維持したまま(Z+方向に力指令値が加えられたまま)で作業状態保存手段114の「挿入完了」ボタンをタッチして挿入完了状態を選択し、「保存」ボタンをタッチして、挿入完了状態の教示データを教示データ記憶部115に記憶する。挿入完了状態の教示データとして、挿入完了状態での力指令値(挿入力)と位置フィードバック値(挿入完了位置)を記憶する。また、詰まり解消操作時に設定した振幅と周波数も記憶する(S208)。
【0044】
接触から挿入までの一連の教示が完了し教示者が作業状態保存手段114の「変換」ボタンをタッチすると、コントローラ102内の教示データ変換手段116が作動し、教示データ記憶部115に記憶された教示データが図11に示す動作プログラムに変換され、動作プログラム記憶部108に記憶される(S209)。図11は教示ペンダントの画面表示を切り替えて図3(b)のように動作プログラムを表示させた状態を示している。なお、これまでの説明では、作業状態保存手段114の各状態ボタン「接触」「嵌合」「挿入完了」を明示的にタッチして状態を選択してから「保存」ボタンをタッチするようにしているが、「保存」ボタンをタッチする度に状態が「接触」から「嵌合」、そして「挿入完了」へと自動的に推移するようにしてもよい。また、「変換」ボタンについても明示的にタッチするようにしているが、「挿入完了」状態で「保存」を押下したら、自動的に教示データが動作プログラムに変換されるようにしてもよい。
【0045】
「変換」ボタンをタッチすることで教示データを基に変換された動作プログラムは、図11に示すように、位置制御状態から力制御状態に移行させる力制御開始コマンド「IMPON」、非接触状態から接触状態に移行させる突き当て動作コマンド「TSUKIATE」、接触状態を維持したまま穴位置を探って嵌合状態に移行させる探り動作コマンド「SAGURI」、嵌合状態から挿入完了状態に移行させる挿入動作コマンド「INSERT」、力制御状態から位置制御状態に戻る力制御終了コマンド「IMPOFF」からなる。「TSUKIATE」コマンドにはV、Dir、F、Lがパラメ-タとして指定される。また「SAGURI」コマンドにはF、L、Fv、Tvがパラメ-タとして指定される。「INSERT」コマンドにはF、L、Mv、Tvがパラメ-タとして指定される。これらパラメ-タは各状態において教示データとして教示データ記憶部115に記憶された値をもとに自動的に決定される。詳細については後述する。
【0046】
教示データに基づくロボットの再生動作
以上が教示モードでの嵌合挿入作業の教示手順である。続いて、再生動作時において、教示によって作成した動作プログラムに沿ってロボットを動作させる場合について説明する。教示モードから再生動作モードに切り替えて、変換された動作プログラムを再生する(S210)と、まずロボットはエンドエフェクタ104で嵌合部品110aを把持してアプローチ点POOOまで位置制御で移動する(S211)。次に、力制御開始コマンド(図11のIMPONコマンド)が実行されて力制御状態に移行する(S212)。
【0047】
力制御状態移行後、続いて突き当て動作コマンド(図11のTSUKIATEコマンド)が実行される(S213)。図11の突き当て動作コマンドでは、「Dir」で指定されたツール座標系のZ+方向に「V」で指定された速度Vapで移動し、接触を検知したらZ+方向に「F」で指定された力指令値Fpushを加え、接触検知後に「L」で指定された移動量Lpushだけ移動したら嵌合状態になったと判断して次のステップへ進む。接触検知については、再生動作時に検出された力フィードバック値と予め設定した閾値(接触力)を比較して自動で判断される。また接触検知後の力指令値Fpushには、教示の際S204での接触状態教示データの突き当て力が自動設定され、教示者が数値を入力する必要はない。さらに嵌合状態判断についても、嵌合状態教示データの位置フィードバック値(嵌合位置)とS204にて記憶した接触状態教示データの位置フィードバック値(接触位置)とのZ方向差分値が移動量の閾値Lpushとして自動的に設定され、教示者が閾値を数値入力する必要はない。なお、「V」で指定された速度Vapについては予めコントローラに設定された値が用いられ、動作プログラム変換時に自動的に割り当てられる。実際に突き当て動作を実行してみて移動速度が不適当であれば変更することも可能である。
【0048】
突き当て動作コマンド実行から所定時間内に移動量が閾値Lpushに達しないと突き当て動作コマンドが失敗したと判断され、探り動作コマンド(図11のSAGURIコマンド)が実行される(S214)。突き当て動作コマンドが成功した場合は探り動作コマンドはスキップされる。探り動作コマンドは「F」で指定されたZ+方向への突き当て力Fpushを維持した状態で、「Fv」で指定された振幅Fvib、「Tv」で指定された周期Tvibの振動力をz軸の垂直方向に印加しながらZ+方向への移動量が閾値Lpushに達したかどうか監視する。所定時間内に閾値Lpushを超えた場合は成功として終了し、Lpushに達しない場合は失敗として力制御終了コマンド(図11のIMPOFFコマンド)にて力制御を終了する(S216)。探り動作コマンドの振幅Fvibと周期Tvibは、教示の際の探り操作時(図6参照)において調整し、S206で教示データ記憶部115に記憶された振動力の振幅と、周波数の逆数がそれぞれ自動設定され、教示者が数値を入力する必要はない。
【0049】
突き当て動作コマンドあるいは探り動作コマンドが成功すると、挿入動作コマンド(図11のINSERTコマンド)が実行される(S215)。挿入動作コマンドでは、Z+方向に「F」で指定された力指令値Finsを加え、接触検知後の移動量が「L」で指定されたLinsになったら挿入完了と判断して終了する。力指令値Finsについては、教示の際のS208で教示データ記憶部115に記憶された挿入完了状態の教示データのZ方向力指令値(挿入力)が自動設定され、教示者が数値入力する必要はない。また、挿入量閾値Linsについても、教示の際のS204で教示データ記憶部115に記憶された接触状態教示データの位置フィードバック値(接触位置)と、S208で記憶された挿入完了状態教示データの位置フィードバック値(挿入完了位置)とのZ方向差分値が自動設定され、教示者が数値入力する必要はない。挿入途中で(移動量がLinsに達する前に)停止すると、詰まりが発生したと判断し、「Mv」で指定された振幅Mvib、「Tv」で指定された周期Tvibのモーメント振動を印加して、詰まり解消動作を実行する。詰まり解消動作の振幅Mvibと周期Tvibは、教示の際の詰まり解消操作時(図9参照)において調整し、S208で教示データ記憶部115に記憶された振動力の振幅と、周波数の逆数がそれぞれ自動設定され、教示者が数値入力する必要はない。
【0050】
挿入動作コマンドが終了すると、力制御終了コマンド(図11のIMPOFFコマンド)が実行されて力制御状態から位置制御状態に移行する(S216)。その後はエンドエフェクタ104を開放して嵌合部品110aを放すことで嵌合挿入作業を終了する。このように、本実施形態では直感的な操作で簡単に嵌合挿入作業が教示できる上、教示段階での「接触」「嵌合」「挿入完了」め各状態で得た教示データが動作プログラムのパラメ-タに自動的に変換されるので教示者がパラメ-タを数値入力する手間が省けて教示作業時間を短縮できる。
【0051】
以上のように、教示ペンダントを用いた力制御状態での教示とロボットの再生とを説明したが、接触作業に関する教示は、教示する状態量として位置および力の両方の情報に気を配りながら行う複雑な作業であるので、1回の教示では最適な教示データとならないことがある。そこで、作成した教示データを後に簡単に修正できると便宜である。そこで本発明は、教示データを以下に説明するような簡易な方法で修正できるようにし、ロボットの動作プログラムの作成を効率的に行えるようにする。
【0052】
教示データの修正
以下の本発明の実施形態の説明においては、予め教示データが作成されていることを前提とする。このような教示データを本明細書では予備教示データと言及することもある。
【0053】
本発明の一実施形態におけるロボットの教示再生装置は、予備教示データに基づいてロボットを再生しているときに、操作者による教示ペンダントからの教示を、再生している教示データに追加する機能を備える。かかる機能は、コントローラ102および教示ペンダント103により実現することができる。一実施形態として、コントローラ102および教示ペンダントは、以下に説明する予備教示データの修正方法を実現できるようにプログラムされる。
【0054】
図12を参照しながら、本発明の一実施形態による予備教示データの修正方法を説明する。
ステップS301において、ロボット101の予備教示データを作成する。本発明において、予備教示データの作成方法は任意である。前述したように教示ペンダント103を用いて教示データを作成してもよいし、他の方法で予備教示データを作成してもよい。たとえば、シミュレータを用いてオフラインで予備教示データを作成してもよい。また、本発明により修正される予備教示データは、必ずしも上述のような嵌合作業のような接触作業の教示データでなくてもよい。
【0055】
ステップS302において、ロボット101のテスト運転をスタートする。すなわち、予備教示データに従ってロボット101を再生させる。操作者が余裕を持って予備教示データを修正できるように、ロボット101の運転速度を変更できることが望ましい。従って、コントローラ102および教示ペンダント103は、ロボットの運転速度を変更できるようにプログラムされることが望ましい。また、インチングなど寸動により微小なステップの動きでロボット101の動作を停止でき、操作者の指示操作により再度動作させることができることが望ましい。従って、コントローラ102および教示ペンダント103は、ロボットがインチング動作等が可能になるようにプログラムされることが好ましい。
【0056】
次にステップS303において、ロボット101のテスト運転実行中に教示ペンダント103のJOGキー(たとえば操作ボタン群103a)により、操作者はロボット101の動作を修正(再教示ともいう)することができる。修正が必要かどうかは操作者が判断する。ロボットの作業工程を目視して修正の必要性を判断してもよいし、教示ペンダント103の力制御状態表示部113などに表示されるロボット101の状態量から判断してもよい。ロボットのテスト運転中に再教示する方法は、前述した予備教示を行ったときと同様の方法で、教示ペンダント103を用いて行うことができる。すなわち、教示ペンダント103の力制御状態表示部113の表示を確認しながら、操作者が教示ペンダント103の操作ボタン群103aを操作することにより、テスト運転中のロボットの動作に加算して重畳的にロボットを動かすことができるように、コントローラ102でプログラムされる。
【0057】
テスト運転の実行中において、嵌合作業時における詰まりが発生した場合に詰まりを解消する場合などに、これらの作業を支援する機能があると望ましい。そこで、教示ペンダント103で、ロボットの複数の動作を1つのまとまった動作として教示できるようにすることが望ましい。ここでいう1つのまとまった動作とは、ロボットの運動速度または運動方向が変化する動作をいう。従って、1つのまとまった動作ではない動作は、ロボットの等速直線運動または等角速度運動をいう。上述のシステムにおいては、等速直線運動の教示は、教示ペンダント103の手動操作手段112のボタン「X+」「X-」「Y+」「Y-」「Z+」「Z-」により行うことができ、等角速度運動の教示は、教示ペンダント103の手動操作手段112のボタン「Rx+」「Rx-」「Ry+」「Ry-」「Rz+」「Rz-」により行うことができる。一方、1つのまとまった動作の教示の一例として、たとえば、予め教示ペンダント103のボタン等にロボットの振動動作を割り当てておき、振動を1つの単位の動作として教示できるようにすることができるようにプログラムすることができる。具体的な制御としては、テスト運転中の位置指令に正弦波状の力指令を追加することでロボットの振動動作を実現させることができる。詰まりの解消には振動の周波数や力の大きさが関係する場合が多いため、正弦波の振幅や周波数を変更できるようにすることが望ましい。上述のシステムにおいては、教示ペンダント103で、力制御設定における操作モードで「振動力」を選択することにより1つのまとまった動作として振動動作を教示することができる。あるいは、嵌合作業などにおいて、嵌合部品を被嵌合部品に挿入するときに、挿入角度が合わずに挿入できないときなどに、複数方向ある傾きのうちの一つの方向に正弦波状の繰り返し動作を与える教示を行えるようにしてもよい。もちろん、他のシステムにおいて、1つのまとまった動作として他の動作を設定して教示できるようにしてもよく、本発明は以上の例に限定されるものではない。
【0058】
このようにロボットのボタン操作に対応して一つのまとまった動きを教示することで、挿入時に発生するつまりの解消やロボットの誘導を容易にすることができ、スムーズな作業遂行の継続ができる。
【0059】
ステップS303においてテスト運転実行中に操作者により教示ペンダントを介して与えられた教示は、予備教示データとともにコントローラ102内で記憶される。たとえば、ステップS303で追加された動作によりロボット作業の遂行が正しく進んだときの教示の補正データを、元の予備教示を記憶しているメモリ領域とは別のメモリ領域に記憶させる。ハードウェアとしてのメモリ媒体自体は同一でもよい。
【0060】
ステップS304において、予備教示に基づく動作プログラムの動作が完了する。なお、ステップS303で教示を与えてもロボットの作業を成功に導くことができなかったら、作業を中断し、再度ステップS301またはS302からやり直すようにしてもよい。
【0061】
ボタン操作で調整しながら動作の最終ステップまで到達したら、ステップ305において、ステップS303における操作者の再教示に基づいて予備教示データを修正する。スムーズな再生運転のためには、修正に伴うデータは時間経過に伴う位置と力の遍歴、位置の変化に伴う位置と力の遍歴のようなある程度の連続性をもったデータであることが望ましい。このように、本実施形態においては、ステップS303で修正された教示データに基づいてロボット101の動作プログラムを作成することができる。修正された教示データからロボットの動作プログラムの作成については予備教示データからロボットの動作プログラムを作成するところで既に説明した通りに実行してもよい。もちろん、他の方法で教示データからロボットの動作プログラムを作成してもよいし、動作プログラムの形式は任意である。
【0062】
このように、本実施形態においては、ロボットのテスト運転時に操作者の意図通りにロボットが動作しない場合でも、ロボット動作中に操作者が介入して作業が成功するよう動きを微修正することができる。従って、実際にロボットを稼動させる場合にも成功の確率が高い動作プログラムを生成することができる。また、全く元プログラムがない状態からロボットの動作プログラムを生成するわけではないので、ボタン操作だけでロボットの作業を成功に導くことが容易である。
【0063】
ロボットの動作エラー判定
本発明の一側面によれば、ロボットの再生動作時にロボットが教示通りに動作したかどうかを判定する機能が提供される。かかる機能は、コントローラ102および教示ペンダント103等により実現される。一実施形態において、コントローラ102および教示ペンダント103は、以下に説明する方法を実現するようにプログラムされる。
【0064】
なお、以下の説明において、予備教示を修正した再教示に基づいてロボットを動作させる場合を想定して本発明の一実施形態による判定手法を説明する。しかし、本発明の判定機能は、再教示に基づいてロボットを動作させる場合にのみ適用できるものではなく、再教示を行わない場合にも適用できる。
【0065】
図12のステップS306において、再教示により作成した動作プログラムに基づいてロボットを再生動作させる。
ステップS307において、現在のロボットの作業工程が、動作プログラムの最終ステップであるかどうかを判断する。最終ステップでない場合は、ステップS308において現在の作業工程が正しく行われているかどうかを判断する。ステップS308の判断は以下のように行われる。
【0066】
まず、ステップS303で再教示したときの(再教示を行わない場合は予備教示時の)ロボットの状態量(位置情報および力情報など)はコントローラ102に記憶されている。一例として、図13に、再教示時に取得されたロボットの先端位置と再教示時に取得されたロボットのトルクを実線で示す。ここでは、再教示時に連続データとしてこれらのデータが取得されることを想定している。なお、ここでいう「連続」とは数学的に厳密に連続であることを意味するのではなく、本発明の判定機能に必要な程度のサンプリング周波数で取得されたデータであることを意味している。たとえば、ロボットの動作生成時に各関節軸の動作指令を生成する数ms程度のサンプリング周波数とすることができる。あるいは、ロボットの動作速度に応じてサンプリング周波数を変更してもよい。たとえば、ロボットの動作速度が大きいときにはサンプリング周波数を大きくし、ロボットの動作速度が小さいときにはサンプリング周波数を小さくすることができる。あるいは、一定のサンプリング周波数でサンプリングした後に、ロボットの動作速度に応じてデータを間引き処理をしてもよい。このようにすれば十分な精度を保ったまま過剰なメモリ消費を避けることができる。
【0067】
ロボットの再生動作は再教示データに基づいて行われるので、ロボットの再生動作中は、位置指令値(すなわち再教示時に取得されたロボットの先端位置)とトルク指令値(すなわち再教示時に取得されたロボットのトルク)、およびエンコーダ等からの位置情報と力センサからの力検出値が得られる。そこで、位置と力とに関する指令値と実測値とを比較することで、ロボットが適切に動作しているかどうかを判断する。図13に、一例としてロボットから取得された位置情報とトルク情報を破線で示す。理想的な状態であれば、教示時のデータ(すなわち指令値)と再生時のデータは一致するはずである。しかし、通常、これらの値は異なった値となる。その原因は主にワークの個体差やワークがセッティングされる位置が作業ごとに異なることなどである。
【0068】
ロボットでの作業が適切に行われているかどうかは、ある時刻の指令値と実測値の乖離を評価することで判定できる。たとえば以下の評価関数を用いることができる。

【0069】
ここで、H1:評価値、Fref:力指令値、F:力実測値、Xref:位置指令値、X:位置実測値、k1、k2:重み付け係数、である。重み付け係数は、作業の性質によって変更することができる。たとえば、力の制御が重要となる作業工程においては、k1を相対的に大きくし、位置の制御が重要となる作業工程においては、k2を相対的に大きくするようにすればよい。k1およびk2のいずれか一方がゼロであってもよい。なお、評価基準は一般的にロボット先端の6自由度に関して評価するので、各指令値、各実測値に関して座標系を一致させる演算は別途行われるものとする。
【0070】
評価値の演算の後、評価値H1が基準値以上になった場合はロボットの動きや作用力が指令値から大きくずれたものとして、ロボットの非常停止や周辺機器への信号を発する(S312)。また、図14に示すように、教示ペンダント103の通知手段118によって操作者へ異常であることを通知してもよい(S312)。ロボットの作業が正しく行われていないときは、図12のフローチャートのステップS301またはS302からやり直してもよい。
【0071】
このように、ロボットの再生動作時における作業遂行の状態量を教示時に記憶した状態量と逐次比較することにより、作業が正しく行われているかどうかの判定がロボットの再生動作中に随時可能であり、作業の途中においてもロボットや周辺機器の作業を変更あるいは中断させることでロボットやワークの破損等の致命的な異常状態を回避することができる。
【0072】
上述の式(1)を用いた評価は、ロボットの再生動作中の任意の時間で行うことができる。たとえば、一定の時間間隔で式(1)を用いた評価を行うことで、定期的にロボットの動作が正しく行われているかを判定できる。あるいは、一定の時間間隔ではなく、ロボットが一定の距離だけ動作した時、つまりロボットの一定の動作距離間隔で式(1)を用いた評価を行ってもよい。あるいは、ロボットの動作速度に応じて評価を行う時間間隔を変更してもよい。
【0073】
上述のステップS307からS309による判定は、ロボットの作業途中における異状の有無を判定するものであるが、ロボットの作業工程全体を通して作業が正しく基準内で終了したかどうかの判定を以下のように行うことができる。たとえば次式(2)で表される作業開始から終了までの指令と実測値が、基準値内に収まっているかどうかを判断基準とすることができる。

【0074】
ここで、H2:評価値、k3,k4:重み付け係数、Σ:部品単位での評価値の総和、である。
ここでも判定で異常が検出された場合は、これ以降の工程への進行を止める必要があるため、ロボットの非常停止や周辺機器への信号を発する(S312)。また、図14に示すように、教示ペンダント103の通知手段118によって操作者へ異常であることを通知してもよい。ロボットの作業が正しく行われていないときは、図12のフローチャートのステップS301またはS302からやり直してもよい。
【0075】
このように、試行錯誤により獲得した教示時の成功事例の状態量の推移と再生動作時の状態量全体の推移を比較することによって、再生動作時のロボット作業における成功失敗の評価が可能なため、操作者は特別に意識することなく確実な作業遂行の成否判定が自動できる枠組みを提供できる。
【0076】
以上のように、本願発明を実施形態に沿って説明したが、本発明は上述の実施形態に限定されるものではない。また、上述の実施形態の様々な特徴は、互いに矛盾しないかぎり分離または組み合わせることが可能である。たとえば、上述の実施形態では、ロボットの動作エラー判定機能を、本発明により修正された教示データに基づいてロボットを動作させる場合について説明したが、ロボットの動作エラー判定機能は、本発明により修正された教示データに基づいてロボットを動作させる場合にのみ適用できるものではない。たとえば、修正せずに、予備教示データに基づいてロボットを動作させる場合にでも、ロボットの動作エラー判定機能を実行することができる。そのような構成は以上の本明細書の説明から当業者に自明であろう。
【符号の説明】
【0077】
101 ロボット
102 コントローラ
103 教示ペンダント
103a 操作ボタン群
103b 表示画面
104 エンドエフェクタ
105 力センサ
106 力制御手段
106a 位置制御系
106b インピーダンス制御演算部
106c インピーダンスモデル
106d 速度分解演算部
107 アクチュエータ駆動アンプ部
108 動作プログラム記憶部
109 動作プログラム実行手段
110a 嵌合部品
110b 被嵌合部品
111 力制御設定手段
112 力制御手動操作手段
113 力制御状態表示手段
114 作業状態保存手段
115 教示データ保存部
116 教示データ変換手段
117 ロボットの周辺装置
118 作業状態確認エリア

【特許請求の範囲】
【請求項1】
ロボットの教示再生装置であって、
ロボットの運動を制御するコントローラと、
操作者がロボットに動作を教示するための、前記コントローラに接続される教示ペンダントと、を有し、
前記コントローラは、前記コントローラに予め記憶された教示データに基づいてロボットを再生動作させているときに、操作者による教示ペンダントからの教示を、再生している教示データに追加することができる、教示再生装置。
【請求項2】
請求項1に記載の教示再生装置であって、前記コントローラは、ロボットの再生動作中に教示ペンダントを介して追加された教示を含む教示データを、新たな教示データとして前記コントローラ内に記憶する、教示再生装置。
【請求項3】
請求項1または2に記載の教示再生装置であって、
前記教示ペンダントは、ロボットの複数の動作からなる1つのまとまった動作を生成可能であり、前記1つのまとまった動作を再生中の教示データに追加できる、教示再生装置。
【請求項4】
請求項1乃至3のいずれか一項に記載の教示再生装置であって、
前記コントローラは、再生動作時において、
ロボットのエンドエフェクタに取り付けられたセンサから得られる情報およびロボットの内界センサから得られる情報の少なくともいずれか一方に基づいて、ロボットのエンドエフェクタの状態値を演算し、
演算された状態値に対応する教示データを作成するときに記憶されたロボットのエンドエフェクタの状態値と、演算された状態値との差分を用いて評価値を演算し、
前記評価値を所定値と比較することで、ロボットの動作が教示通りに遂行されているかを判断する、教示再生装置。
【請求項5】
請求項4に記載の教示再生装置であって、
前記コントローラは、再生動作時において、
ロボットのエンドエフェクタに取り付けられたセンサから得られる情報およびロボットの内界センサから得られる情報の少なくともいずれか一方に基づいて、ロボットのエンドエフェクタの複数の状態値を記憶し、
演算された状態値に対応する教示データを作成するときに記憶されたロボットのエンドエフェクタの複数の各状態値と、演算された複数の各状態値との差分を用いて第2の評価値を演算し、
前記第2の評価値を所定値と比較することで、ロボットの動作が教示通りに成功したかを判断する、教示再生装置。
【請求項6】
請求項4または5に記載の教示再生装置であって、
前記ロボットのエンドエフェクタの状態値の演算は、所定の周波数で行われる、教示再生装置。
【請求項7】
請求項6に記載の教示再生装置であって、前記周波数は、前記ロボットの動作速度が大きいときに相対的に前記周波数が大きく、前記ロボットの動作速度が小さいときに相対的に前記周波数が小さい、教示再生装置。
【請求項8】
ロボットの教示方法であって、
予め作成された予備教示データに基づいてロボットを再生動作させるステップと、
前記予備教示データに従ってロボットを再生動作させているときに、前記予備教示に加えてさらなる教示を再生動作中のロボットに重畳的に与えるステップと、を有するロボットの教示方法。
【請求項9】
ロボットの教示データ作成方法であって、
予め作成された予備教示データに基づいてロボットを再生動作させるステップと、
前記予備教示データに従ってロボットを再生動作させているときに、前記予備教示データにさらなる教示データを再生動作中のロボットの予備教示データに加算するステップと、を有するロボットの教示方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2011−224696(P2011−224696A)
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願番号】特願2010−95750(P2010−95750)
【出願日】平成22年4月19日(2010.4.19)
【出願人】(000006622)株式会社安川電機 (2,482)
【Fターム(参考)】