(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、添付図面を参照して本発明の実施の形態を説明する。全図面に渡り、対応する構成要素には共通の参照符号を付す。
【0013】
図1は第一の実施形態に基づく教示システムの概念図である。第一の実施形態における教示システム1は、ロボット10と、ロボット10を制御する制御装置20と、制御装置20に接続された教示操作盤30とを主に含んでいる。第一の実施形態においては制御装置20および教示操作盤30が教示装置としての役目を果たす。
【0014】
ロボット10は多関節ロボットであり、複数、例えば六つの軸を有している。ロボット10は人間11と作業空間を共有して協調作業を行うロボットであってもよい。ロボット10は、ロボット10の先端にアダプタ12およびツールチェンジャを介してツールTを含んでいる。ツールTはアダプタ12に直接的に取付けられていてもよい。ツールTは、ワークWの溶接、バリ取り、研磨、組立等に応じて、その種類が異なるものとする。アダプタ12には、操作者、例えば人間11がハンドガイド操作を行うときに把持されるハンドル15が取付けられている。
【0015】
さらに、ハンドル15にはハンドガイドスイッチ13が設けられている。操作者、例えば人間11は、ハンドガイド操作を行うときにハンドル15を把持すると共にハンドガイドスイッチ13を押圧する。ハンドガイドスイッチ13が押圧されている間は、ハンドガイド操作を行うことができる。また、ハンドガイドスイッチ13が押圧されていないときは、ハンドガイド操作を行うことができない。
【0016】
教示操作盤30は、ロボット10の教示操作などに使用され、操作者の操作によってロボット10の各軸のジョグ送り等を行う。教示操作盤30はジョグ送り等の操作の際に使用される複数のキー38と、表示部としての画面39を備えている。画面39には、ロボット10に教示している動作プログラムの複数の行などが表示されるものとする。また、教示操作盤30の代わりに、同様な機能を有するタブレット(図示しない)を教示作業のために使用してもよい。
【0017】
ところで、ロボット10のアダプタ12には、二つの選択ボタン17、18が設けられている。操作者は、画面39に表示されたロボット10の動作プログラムを参照しながら、ロボット10の教示作業中または教示作業後に、一方の選択ボタン17、18を押圧する。例えば選択ボタン17を押圧すると動作プログラムが上方にスクロールし、選択ボタン18を押圧すると動作プログラムが下方にスクロールする。選択ボタン17、18の押圧を解除すると、動作プログラムのスクロールは終了し、画面39に現在選択されている動作プログラムの行がカーソル等で表示される。あるいは、決定ボタン19を押圧することにより、動作プログラムの所望の行を選択するようにしてもよい。選択ボタン17、18、もしくは選択ボタン17、18と決定ボタン19との両方は、ロボット10の動作プログラムにおける複数の行の間を移動して一つの行を選択する選択部16としての役目を果たす。
【0018】
なお、選択部16としての選択ボタン17、18等はアダプタ12に設けられる必要はなく、例えば教示操作盤30の所定のキー38が選択ボタン17、18等として機能するようにしてもよい。また、選択部16が教示操作盤30の画面39または図示しないタブレットのタッチパネルを利用したものでもよい。
【0019】
制御装置20はバス等で互いに接続されたCPU、メモリなどを含むデジタルコンピュータであり、表示部としての画面29を有している。画面29は、教示操作盤30の画面39の代わりに適宜使用できる。
【0020】
制御装置20は、選択部16により選択された一つの行において既に教示された教示点にロボット10をハンドガイドまたはジョグ送りで移動させた後で、教示点と移動後のロボット10の位置との間の位置誤差L(距離)を算出する誤差算出部21と、位置誤差Lが所定範囲内にある場合には教示点を再教示するよう指示する指示部22とを含んでいる。さらに、制御装置20は、位置誤差Lを表示する誤差表示部23を含んでいても良い。
【0021】
指示部22および誤差表示部23は、再教示を人間11に促すメッセージおよび位置誤差Lを画面29、39にそれぞれ表示させるようにしてもよい。指示部22および誤差表示部23は再教示を人間11に促す音声および位置誤差Lを示す音声を出力してもよい。
【0022】
図2は
図1に示される教示システムの動作を示すフローチャートである。はじめに、ステップS11において、人間11(操作者)はロボット10をハンドガイドまたはジョグ送りにより、少なくとも一つの教示点を所定の手法で教示する。
【0023】
図3Aはロボットの第一の部分拡大図である。一つの例である
図3Aにおいては、五つの教示点A1〜A5が示されている。教示点A1はロボット10の動作開始位置であり、教示点A2は通過位置である。そして、教示点A3〜A5は箱型のワークWの頂点位置である。人間11は、動作開始位置としての教示点A1を教示した後、ロボット10のツールTをハンドガイド等により移動させて教示点A2を教示する。そして、ロボット10のツールTをワークWの一つの頂点に同様に移動させておいて教示点A3を教示し、次いでワークWの稜線に沿ってツールTを移動させて教示点A4、A5を教示する。
【0024】
教示の際には、教示操作盤30の画面39には、ロボット10の動作プログラムの複数の行が表示されているものとする。そして、一つの教示点が教示される毎に、教示位置および教示姿勢が、動作プログラムの対応する行に数値で自動的に入力され記憶される。なお、理解を容易にする目的で、
図3A等では人間11の図示を省略している。
【0025】
そして、ロボット10の一つの教示点または全ての教示点を教示した後で、ステップS12において、人間11(操作者)は、選択ボタン17、18を用いて画面39内で動作プログラムを所望の方向にスクロールさせる。そして、選択ボタン17、18の押圧を解除するか、もしくは決定ボタン19を押圧することにより、動作プログラムの所望の行を選択する。この操作は、人間11が教示作業中に教示ミスがあることに気づいたときに行うのが有利である。
【0026】
次いで、ステップS13において、人間11は、選択された行に記述されている、教示済みの教示点またはその近傍まで、ハンドガイドまたはジョグ送りなどでロボット10を移動させる。なお、選択された行に教示点が記述されていない場合には、ステップS13以降の操作を行う必要はない。
【0027】
ワークの加工作業の種類によっては、教示作業の途中または教示作業の終了後に、ワークWが同様な他のワークに置き換えられる場合がある。例えば
図3Aと同様な
図3Bには、ワークWとはわずかながら異なる位置に配置された他のワークW’が示されている。この場合には、他のワークW’はワークWに対する位置決め誤差を有している。従って、教示点A3〜A5に沿って行われるワークW’の加工作業は良好ではない可能性がある。
【0028】
さらに、ワークの加工作業が、例えばワークWの稜線に形成されたバリを除去するバリ取り作業である場合には、異なるワークW、W’間でワーク自体の寸法が変化したり、ワークに形成されたバリの寸法が異なる場合がある。その結果、他のワークW’の稜線の位置がワークWの稜線の位置とは異なる事態が生じる。このような場合には、或るワークWにおいて教示された教示点を他のワークW’において使用すると、他のワークW’のバリを良好に除去できなくなる場合がある。ロボット10がバリ取り以外の作業を行う場合にも、同様な問題が生じうる。
【0029】
しかしながら、人間11が単に目視するのみで、ワークWと他のワークW’の位置誤差または形状誤差(ワークW自体の寸法差、バリの寸法差)が許容されうる範囲に在るかを判別するのは困難である。このため、ステップS14において、誤差算出部21は、教示済みの教示点とロボット10のツールTの現在位置との間の位置誤差Lを算出する。
図3Aと同様な
図3Cには、教示点A4とロボット10の現在位置C0との間の位置誤差Lが示されている。なお、ロボット10の現在位置C0は、位置センサ(図示しない)から求めるか、または、ロボット10の各軸のモータの回転角度から求められる。
【0030】
そして、ステップS15においては、この位置誤差Lが所定範囲内にあるか否かが判定される。所定範囲は実験等から予め求められており、最小値と最大値とを含んでいる。位置誤差Lが所定範囲内にある場合には、ロボット10のツールTが教示点から最小値以上に離れていると判断できる。最小値は、例えば数ミリメートル〜10ミリメートル程度である。この場合には、ステップS16に進んで、指示部22は、位置誤差Lの算出に用いられた教示点、この場合には教示点A4の再教示を人間11に促すメッセージを画面39または画面29に表示する。あるいは、指示部22は、再教示を人間11に促す音声を出力してもよい。
【0031】
これにより、人間11は一旦設定された教示点を修正する必要があるか否かを容易に見極めることができる。従って、人間11は位置誤差Lの算出に用いられた教示点、この場合には教示点A4を再教示できる。このとき、既に教示された教示点A4を一旦削除するようにしてもよい。なお、位置誤差Lが所定範囲の最大値よりも大きい場合には、既に教示された教示点A4とは無関係の場所を再教示する可能性があるので、指示部22は再教示するよう指示しない。
【0032】
次いで、ステップS17においては、動作プログラムの他の行の選択が必要か否かが判定される。
図3Cに示される例においては、領域B内に、ワークWの各頂点に対応する複数の教示点A3〜A5が含まれている。言い換えれば、ステップS17においては、ツールTがワークWまたはワークW’に実際に接触等する他の教示点が存在するか否かが判定される。具体的には、このことは、教示された複数の教示点のそれぞれにおいてツールTが作業を行う指示が動作プログラムに記載されているか否かを通じて判定される。
【0033】
そのような行または教示点が存在する場合には、ステップS12に戻る。そして、他の教示点、例えば教示点A5を含む動作プログラムの行を選択し、同様な処理を繰返す。そのような行または教示点が存在しない場合には、処理を終了する。
【0034】
このように、本開示においては、既に教示された教示点とその教示点にハンドガイドなどで移動されたロボットの位置との間の距離が所定範囲内にある場合には、再教示するよう指示している。このため、操作者は、一旦設定された教示点を修正する必要があるか否かを容易に見極めることができる。なお、誤差表示部23が位置誤差を画面29または画面39に表示するようにしてもよい。この場合には、操作者は教示点を修正する必要があるか否かをさらに容易に見極めることができる。
【0035】
ここで、
図4は、第二の実施形態に基づく教示システムの概念図である。第二の実施形態においては、画像撮像部K、例えばカメラが制御装置20に接続されている。画像撮像部Kはロボット10、特にツールTとワークWとを含む実空間の実画像を撮像する。画像撮像部Kにより撮像されたロボット10およびワークWを含む実空間の実画像は、表示部としての画面29または画面39に表示される。また、制御装置20は、既に教示した教示点の位置を示す情報を実画像に重畳して画面29、39に表示させる拡張現実画像処理部24を含んでいる。
【0036】
第二の実施形態においても、
図2を参照して説明したのと同様な処理が行われる。第二の実施形態においては、教示操作の際に画像撮像部Kがロボット10、特にツールTとワークWとの実画像を常時撮像している。人間11の要求に応じて、実画像を画面29または画面39に表示する。さらに、人間11が一つの教示点が教示するたび毎に、拡張現実画像処理部24が教示された教示点の位置を示す情報を実画像に重畳して画面29または画面39に表示するものとする。
【0037】
図5は画面の拡大図である。
図5においては、既に教示された教示点A2〜A5の位置を示す情報が黒丸として、ロボット10等の実画像に重畳して表示されている。この場合には、位置姿勢計測装置またはARマーカを用いて、教示点の位置をロボットの座標系からカメラの座標系へ変換する処理が必要である。
図5の実画像には他のワークW’が含まれている。このため、人間11は他のワークW’の頂点と教示点A3〜A5との間の位置誤差を画面29、39を通じて容易に認識することができる。従って、一旦設定された教示点を修正する必要があるか否かを極めて簡単に見極めることができる。
【0038】
さらに、
図6Aおよび
図6BはツールTの姿勢を示す図である。
図6Aに示されるツールは鉛直方向に配置されており、この姿勢においてツールTはワークWを良好に加工できる。
図6Bに示されるツールTは斜方向に配置されており、鉛直方向との間に角度ωの誤差がある。
図6Bに示される姿勢においてツールTの先端以外の部分がワークWに接触しうる。このため、
図6Bに示される姿勢では、ツールTはワークWを良好に加工できない。なお、ワークWを良好に加工できるツールTの姿勢が他の姿勢であってもよい。
【0039】
図2のステップS11で教示点が教示されたときのツールTの姿勢は制御装置20の記憶部に記憶されている。図示しない他の実施形態においては、ステップS14において、誤差算出部21は、記憶されたツールTの姿勢と、現在のロボットにおけるツールTの姿勢との間の姿勢誤差ωを算出してもよい。その場合には、ステップS15において、算出された姿勢誤差ωが、姿勢誤差用の所定範囲と比較される。そして、姿勢誤差ωが所定範囲内にある場合には、再教示するよう同様に指示される。位置誤差および姿勢誤差のうちの両方を算出、比較してもよく、その場合には、再教示が必要か否かを確実に判断することが可能である。さらに、姿勢誤差ωを示すために、拡張現実画像処理部24は、教示点を教示したときの姿勢を有するツールTのモデルを実画像に画面29または画面39に重畳させるようにしてもよい。
【0040】
さらに、
図7は第三の実施形態に基づく教示システムの概念図である。第三の実施形態においては、教示操作盤30が誤差算出部21、指示部22、誤差表示部23、拡張現実画像処理部24等を含んでいる。従って、この場合には、教示操作盤30が単独で教示装置としての役目を果たす。このような場合であっても、本発明の範囲に含まれるものとする。なお、制御装置20のCPUおよび教示操作盤30のCPUは、誤差算出部21、指示部22、誤差表示部23および拡張現実画像処理部24としての役目を果たす。
【0041】
本開示の態様
1番目の態様によれば、ワークに対して作業を行うロボットの教示操作を行う教示装置において、前記ロボットの教示作業中または教示作業後に、前記ロボットのプログラムにおける複数の行の間を移動して一つの行を選択する選択部と、選択された一つの行において既に教示された教示点に前記ロボットをハンドガイドまたはジョグ送りで移動させた後で、前記教示点と移動後のロボットの位置との間の位置誤差および前記教示点における前記ロボットのツールの姿勢と移動後のロボットにおける前記ツールの姿勢との間の姿勢誤差のうちの少なくとも一方を算出する誤差算出部と、前記位置誤差および前記姿勢誤差のうちの少なくとも一方がそれぞれの所定範囲内にある場合には前記教示点を再教示するよう指示する指示部とを具備する、教示装置が提供される。
2番目の態様によれば、1番目の態様において、さらに、前記位置誤差および前記姿勢誤差のうちの少なくとも一方を表示する誤差表示部を具備する。
3番目の態様によれば、1番目または2番目の態様において、さらに、画像撮像部により撮像された前記ロボットおよび前記ワークを含む実空間の実画像を表示する表示部と、前記教示点の位置を示す情報を前記実画像に重畳して前記表示部に表示させる拡張現実画像処理部とを具備する。
4番目の態様によれば、1番目から3番目のいずれかの態様において、前記教示点を再教示する際に前記教示点を削除するようにした。
5番目の態様によれば、ワークに対して作業を行うロボットの教示操作を行う教示方法において、前記ロボットの教示作業中または教示作業後に、前記ロボットのプログラムにおける複数の行の間を移動して一つの行を選択し、選択された一つの行において既に教示された教示点に前記ロボットをハンドガイドまたはジョグ送りで移動させた後で、前記教示点と移動後のロボットの位置との間の位置誤差および前記教示点における前記ロボットのツールの姿勢と移動後のロボットにおける前記ツールの姿勢との間の姿勢誤差のうちの少なくとも一方を算出し、前記位置誤差および前記姿勢誤差のうちの少なくとも一方がそれぞれの所定範囲内にある場合には前記教示点を再教示する、教示方法が提供される。
6番目の態様によれば、5番目の態様において、さらに、前記算出された位置誤差および姿勢誤差のうちの少なくとも一方を誤差表示部に表示する。
7番目の態様によれば、5番目または6番目の態様において、さらに、画像撮像部により撮像された前記ロボットおよび前記ワークを含む実空間の実画像に前記教示点の位置を示す情報を重畳して表示部に表示する。
8番目の態様によれば、5番目から7番目のいずれかの態様において、前記教示点を再教示する際に前記教示点を削除するようにした。
【0042】
態様の効果
1番目および5番目の態様においては、既に教示された教示点とその教示点にハンドガイドなどで移動されたロボットの位置との間の位置誤差(距離)または姿勢誤差が所定範囲内にある場合には、再教示するよう指示している。このため、操作者は、一旦設定された教示点を修正する必要があるか否かを容易に見極めることができる。
2番目および6番目の態様においては、操作者は教示点を修正する必要があるか否かをさらに容易に見極めることができる。
3番目および7番目の態様においては、操作者は一旦設定された教示点を修正する必要があるか否かを極めて簡単に見極めることができる。
4番目および8番目の態様においては、再教示作業を容易にできる。
【0043】
以上、本発明の実施形態を説明したが、後述する請求の範囲の開示範囲から逸脱することなく様々な修正及び変更を為し得ることは、当業者に理解されよう。