説明

ロボットの制御装置

【課題】円弧状部分から直線部分に入る位置を正しくティーチングできず、直線部分に入った位置をティーチングしてしまっても、ツール先端に円弧状部分により近い形状の軌跡を辿らせる。
【解決手段】4つのティーチング位置P1〜P4のうち、P1からP2の間、P3からP4の間は直線補完する。P2が作業対象部分の直線部分から円弧状部分に入った位置に正しくティーチングし、P3は円弧状部分から直線部分に入った位置をティーチングした場合、P2とP3との間は楕円で曲線補間する。この場合、P2には楕円の長径部分が接するので円に近く、P3には短径部分が接するので直線に近くなり、結果として作業対象部分の形状に近くなる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ティーチングされた複数位置の相互間を直線および曲線で補間するロボットの制御装置に関する。
【背景技術】
【0002】
プレイバック型のロボットでは、ティーチング装置によりロボットアームを実際に動かしてロボットアーム先端に取り付けられたエンドエフェクタの位置を順次ティーチングし、プレイバック時にティーチング位置の相互間を補間演算し、その補間位置を目標位置としてロボットアームを動作させる。
【0003】
特許文献1には、ティーチング位置の相互間を曲線補間するロボットの補間演算装置が開示されている。この特許文献1による曲線補間は、例えば順次与えられた4つのティーチング位置P1〜P4があった場合、第2のティーチング位置P2と第3のティーチング位置P3との間を滑らかな曲線で補間するために、第2のティーチング位置P2において、移動方向を示す直線に接し且つ次の第3のティーチング位置P3を通る第1の円を演算し、第3のティーチング位置P3において、移動方向を示す直線に接し且つ前の第2のティーチング位置P2を通る第2の円を演算し、これら2つの円の間を滑らかな曲線(渡り曲線)で結ぶことにより、第2のティーチング位置P2と第3のティーチング位置P3との間を、第1の円から渡り曲線を経て第2の円に至る滑らかな曲線で補間するというものである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平5−341833号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
現在のプレイバック型ロボットでは、移動軌跡が直線、曲線にかかわらず、ティーチング位置を細かく与えている。この場合、直線はロボットアームを真直ぐに動かしてティーチング位置を与えれば良いので比較的簡単であるが、曲線はロボットアームに曲がり動作させてティーチング位置を与えねばならないので手間がかかる。
【0006】
曲線ティーチングは、例えば、成形型で製造した矩形状のプラスチック容器の縁に生じたバリをバリ取り用カッターで切除するような作業、或いは矩形状の容器と蓋との間にシール剤をノズルで塗布するような作業を行う場合に、容器のコーナー部分の移動軌跡をティーチングする際に必要となってくる。
このような場合、容器のコーナー部分は、比較的半径の小さな曲線であることが多いため、特にティーチング位置の間隔を狭くしなければならず、作業者にとっては格別に細かい作業を要求され、非常の手間のかかる作業となるのである。
【0007】
これに対し、上述の特許文献1に開示された補間演算装置を適用すれば、容器の一辺(直線部分)からコーナー部分(円弧状部分)に移る位置と、コーナー部分から他の辺(直線部分)に移る位置をティーチングするだけで、後はティーチングされた2位置間が自動的に曲線によって補間されるので、少ないティーチング位置数でバリ取り用カッターやノズルの先端をコーナー部分に沿って移動させることができるようになる。
【0008】
ところで、実際のティーチング作業はバリ取り用カッターやノズルなどのツール(エンドエフェクタ)先端を容器に沿って移動させながら行うのであるが、直線部分から円弧状部分に入る位置(直線部分の終了点、円弧状部分の開始点)は、それまで容器の直線部分に沿って直線移動させていたツール先端が容器から離れるので、その容器から離れる位置を見つけることで、比較的容易に検知できる。これに対し、円弧状部分から直線部分に入る位置(円弧状部分の終了点、直線部分の開始点)は、ツール先端が容器から離れるところというような見つけ方ができず、しかも、人の習性として、円弧状部分の途中を円弧状部分が終了して直線部分に入った位置と見誤ることは殆どなく、直線部分にやや入ったところ円弧状部分が終了して直線部分に入ったところと判断し勝ちになる、という事情がある。
【0009】
そして、円弧状部分から直線部分に入った後の位置を円弧状部分の終了点(直線部分の開始点)としてティーチングすると、特許文献1の補間装置では、補間曲線がコーナー部分の外側を通るようになって実際にロボットを動作させたとき、ツール先端がコーナー部分の外側を当該コーナー部分から離れて移動するようになる。すると、バリが除去できずに部分的に残ったり、シール剤が容器と蓋の間に塗られない部分ができたりするという不具合を生ずる。
【0010】
円弧状部分から直線部分に入る位置を正しく見つけ出すことができなかった場合、円弧状部分の前後の直線部分が平行で、円弧状部分が半円状であれば、直線部分から円弧状部分に入る位置を直線部分と垂直方向に移動させることで、反対側の円弧状部分から直線部分に入る位置を修正することができる。しかし、多くは円弧状部分の前後の直線部分は平行ではないので、ティーチング位置の誤りを修正することは困難で、バリ取り作業やシール作業が円弧状部分で正常に行われなくなって不良製品を製造する結果を招く。
【0011】
本発明は上記した事情に鑑みてなされたもので、その目的は、2つの直線部分の間に円弧状部分が存在するような部分の作業対象部分に対し、一方の直線部分から円弧状部分を経て他方の直線部分へとティーチングを進めて行く場合に、円弧状部分から直線部分に入る位置を正しくティーチングできず、直線部分に入った後の位置をティーチングしてしまったとしても、エンドエフェクタ先端に作業対象部分の円弧状部分により近い形状の軌跡を辿らせることができるロボットの制御装置を提供することにある。
【課題を解決するための手段】
【0012】
本発明は、第1〜第4のティーチング位置のうち、第1のティーチング位置と第2のティーチング位置との間、および第3のティーチング位置と第4のティーチング位置との間を直線補間し、第2のティーチング位置と前記第3のティーチング位置との間を円または楕円によって曲線補間する。
【0013】
2つの直線部分の間に円弧状部分が存在する作業対象部分において、エンドエフェクタの先端を作業対象部分に沿って移動させながらティーチング作業を行う場合、上述のように、一方の直線部分から円弧状部分に入る位置は正確にティーチングできるが、曲線部分から他方の直線部分に入る位置は直線部分に入ってからのところをティーチングしてしまうという誤りを起こし勝ちである。
【0014】
この誤りの場合、第2のティーチング位置と第3のティーチング位置との間は楕円で補間されるが、正しくティーチングされた第2のティーチング位置では円に近い楕円の長径部分が与えられ、円弧状部分から直線部分に入ってからの位置に誤ってティーチングされた第3のティーチング位置では直線に近い楕円の短径部分が与えられるので、エンドエフェクタ先端を本来与えるべき移動軌跡により近い軌跡に沿って移動させることができ、プレイバック時にエンドエフェクタ先端が円弧状部分の外側を通るといった不具合の発生を極力防止できる。
【図面の簡単な説明】
【0015】
【図1】本発明の一実施形態において、補間曲線が楕円となる場合の楕円算出用の座標を示す図
【図2】補間曲線の演算の内容を示すフローチャート
【図3】補間曲線が円となる場合の円算出用座標図
【図4】補間曲線が図1とは別の楕円となる場合の楕円算出用の座標を示す図
【図5】ロボットシステムの全体を示す斜視図
【図6】ロボットシステムの電気的構成を示すブロック図
【発明を実施するための形態】
【0016】
以下に本発明の一実施形態を図面に基づいて説明する。図5はロボットのシステム1の外観構成を示している。このロボットシステム1は、ロボットアーム2と、ロボットアーム2を制御するコントローラ(ロボット制御装置)3と、コントローラ3に接続されたティーチングペンダント4とから構成されている。
【0017】
ロボットアーム2は、6軸の垂直多関節型ロボットとして構成されている。このロボットアーム2は、ベース5と、このベース5に第1軸L1を中心に水平方向に旋回可能に支持されたショルダ部6と、このショルダ部6に第2軸L2を中心に上下方向に旋回可能に支持された下アーム7と、この下アーム7に第3軸L3を中心に上下方向に旋回可能に支持された第1の上アーム8と、この第1の上アーム8の先端部に第4軸L4を中心に捻り回転可能に支持された第2の上アーム9と、この第2の上アーム9に第5軸L5を中心に上下方向に旋回可能に支持された手首10と、この手首10に第6軸L6を中心に捻り回転可能に支持されたフランジ11とから構成されている。なお、ロボット先端であるフランジ11には、バリ取りなどの各種作業を行うためのツール、ワークを把持するためのハンドや、視覚検査のために用いるカメラなどのエンドエフェクタ(図示せず)が取り付けられるようになっている。
【0018】
ベース5、ショルダ部6、下アーム7、第1の上アーム8、第2の上アーム9、手首10、フランジ11は、ロボットアーム2におけるアームとして機能し、固定アームであるベース5を除く各アーム6〜11は、前段のアームに回転可能に支持された回転関節軸である第1軸L1〜第6軸L6に固定連結されている。
【0019】
次に、電気的なブロック構成を示す図6において、ロボットアーム2には、上記した各アーム6〜11の回転関節軸である第1軸L1〜第6軸L6の周りに回転駆動させるためのサーボモータからなるモータM1〜M6が設けられ、このモータM1〜M6の回転により、図示しない減速機構を介して各アーム6〜11が回転駆動されるように構成されている。また、各モータM1〜M6には、第1軸L1〜第6軸L6に連結されたエンコーダS1〜S6が設けられ、回転検出信号をコントローラ3に出力するように構成されている。
【0020】
ロボットアーム2の動作を制御するコントローラ3は、マイコンを主体とした構成であり、CPU12、ROM13およびRAM14を備えている。ROM13は、一般的な読み出し専用のメモリに加えて、電気的に書き換え可能なフラッシュメモリ(EEPROMの一種)などのメモリも含むものである。このROM13には、後述するティーチングに関する制御プログラムを含めてロボットアーム2を駆動制御するための各種制御プログラムが記憶されている。
【0021】
また、コントローラ3には、モータM1〜M6を駆動させるための駆動回路15が設けられている。コントローラ3には、ロボットアーム2側の各エンコーダS1〜S6からの検出信号に基づいて各モータM1〜M6の回転角を検出する回転位置検出回路が設けられており、CPU12は、その回転角情報に基づいて駆動回路15に位置姿勢を制御するための制御信号を出力するように構成されている。
【0022】
次に、ロボットアーム2の各アーム6〜11の6つの回転関節軸である第1軸L1〜第6軸L6について説明する。ベース5および各アーム6〜11には、3次元の座標が規定されている。このうち、床面に据え付けられるベース5の座標系(図5に座標軸XYZで示す)は、不動の座標系で基準座標(ロボット座標)とされる。アーム6〜11の座標は、各アーム6〜11の回転関節軸の第1軸L1〜第6軸L6の回転中心軸線上に設定されており、アーム6〜11の回転によりロボット座標上での位置と姿勢が変化する。
【0023】
ROM13には、ロボット座標上におけるショルダ部6の座標位置、ショルダ部6の座標上における下アーム7の座標位置、下アーム7の座標上における第1の上アーム8の座標位置、第1の上アーム8の座標上における第2の上アーム9の座標位置、第2の上アーム9の座標上における手首10の座標位置、手首10の座標上におけるフランジ11の座標位置、各アーム6〜11の長さなどの各種のパラメータが記憶されている。なお、以下では、各アーム6〜11の座標のロボット座標上の位置を、単に、各アーム6〜11の位置ということとする。
【0024】
ロボットアーム先端であるフランジ11の座標の原点は、当該フランジ11の先端面の回転中心に定められている。そして、CPU12は、座標変換の計算機能を有し、ロボットアーム先端の位置(姿勢を含む;以下同じ)が与えられると、当該与えられた位置をロボットアーム先端が取るような各アーム6〜11の回転角を演算(逆変換)できるようになっており、また、各アーム6〜11の回転角が与えられると、各アーム6〜11の位置を演算(順変換)できるようにもなっている。
【0025】
ロボットアーム2はプレイバック型として構成され、ティーチング時に、ティーチングペンダント4により実際に動かされてロボットアーム先端の移動軌跡上の複数位置をティーチング位置としてRAM(記憶手段)14に記憶させる。コントローラ3は、プレイバック時に、内部に記憶された制御プログラムに基づいて、ティーチング位置の相互間を直線或いは曲線によって補間し、補間位置を目標位置として各アーム6〜11を駆動し、ロボットアーム先端がティーチング位置を通るように移動させる。
【0026】
ここで、実際のロボット作業時には、ロボットアーム先端(フランジ11)にはツール(エンドエフェクタ)が取り付けられ、コントローラ3にはフランジ11の座標上におけるツール先端の位置が与えられる。これにより、フランジ11の座標がツール先端に並行移動したと同等に扱われ、ティーチング時には、ツール先端の位置がティーチング位置としてコントローラ3に与えられるようになる。
【0027】
次にコントローラ3が実行する補間の内容につき説明する。ここでは、プラスチック成形された矩形状の容器のバリ取りを行う場合に適用し、バリ取り用ツール先端を容器に沿って移動させながらティーチング位置を与えたものとする。図1はツール先端の移動方向に沿って順に与えられた第1のティーチング位置P1〜第4のティーチング位置P4の一例を示す。
【0028】
これらティーチング位置のうち、第1のティーチング位置P1は容器の直線部分である一辺の途中位置、第2のティーチング位置P2は直線部分から円弧状部分(容器のコーナー部分)に入る位置(直線部分の終了位置で且つ円弧状部分の開始位置)、第3のティーチング位置P3は円弧状部分から別の直線部分である上記一辺と隣合う他の辺に入る位置(円弧状部分の終了位置で且つ直線部分の開始位置)、第4のティーチング位置P4は上記別の直線部分の途中位置として与えられたものとする。
【0029】
ただし、ツール先端を容器に沿って移動させてティーチングした関係で、第2のティーチング位置P2は直線移動させたツール先端が容器から離れる瞬間の位置として与えられ、このことから、実際の容器の直線部分の終了位置で円弧状部分の開始位置に正しく一致しているが、第3のティーチング位置P3は円弧状部分から直線部分に移る位置として見分け難いため、直線部分にやや入った位置を与えられたものとする。
なお、第1のティーチング位置P1〜第4のティーチング位置P4は一平面上に存在するが、説明の簡単化のために、ロボット座標のXY平面上、或いはXY平面と平行の平面上にあるものとする。
【0030】
上記第1のティーチング位置P1〜第4のティーチング位置P4は、第1のティーチング位置P1と第2のティーチング位置P2を通る第1の直線Aと、第3のティーチング位置P3と第4のティーチング位置P4を通る第2の直線Bが、第2のティーチング位置P2と第3のティーチング位置P3との間で交差する、つまり第1の直線Aと第2の直線Bの交点Psが第2のティーチング位置P2に関して第1のティーチング位置P1とは反対側で、且つ第3のティーチング位置P3に関し第4のティーチング位置P4とは反対側に存在する位置関係にある。
【0031】
プレイバック時にティーチング位置間を補間する場合、コントローラ3は、第1のティーチング位置P1〜第4のティーチング位置P4が上述の位置関係にあるかどうかを、第1の直線Aと第2の直線Bを求めて両直線A,Bの交点Psの位置を演算(交点検出手段)することによって判別する。
【0032】
第1のティーチング位置P1〜第4のティーチング位置P4が上述のような位置関係にある場合、コントローラ3は第1のティーチング位置P1と第2のティーチング位置P2との間、および第3のティーチング位置P3と第4のティーチング位置P4との間を直線で補間し、残る第2のティーチング位置P2と第3のティーチング位置P3との間は曲線で補間する(補間演算手段)。
【0033】
図2は第2のティーチング位置P2と第3のティーチング位置P3との間を曲線補間する場合の制御内容(補間曲線演算手段)を示すフローチャートである。即ち、曲線補間動作に入ると、コントローラ3は第2のティーチング位置P2を通り第1の直線Aに直交する第3の直線Cと、第3のティーチング位置P3を通り第2の直線Bに直交する第4の直線Dとを求める(図2のステップS1,2:直線設定手段)。
【0034】
次にコントローラ3は第3の直線Cと第4の直線Dとの交点Poを求め(ステップ3)、そして、この交点Poから第2のティーチング位置P2までの距離e2と第3のティーチング位置P3までの距離e3とを求め(ステップ4,5:長さ検出手段)、それらの距離e2とe3とを比較する(ステップ6:比較手段)。
【0035】
ここでは、上述のように、第2のティーチング位置P2は容器の直線部分から円弧状部分に入った位置に正しく一致し、第3のティーチング位置P3は円弧状部分の終了位置から直線部分にやや入った位置を与えられたものであるから、e2の方がe3よりも長いこととなり、コントローラ3は、交点Poまでの距離が長い第2のティーチング位置P2が存在する第3の直線Cを選択し、当該第3の直線C上に中心Pcがあって第2のティーチング位置P2と第3のティーチング位置P3の双方に接する楕円を演算する(ステップ7:補間曲線演算手段)。
【0036】
この場合の楕円の演算方法を述べる。まず、楕円の計算をし易くするために、第1のティーチング位置P1〜第4のティーチング位置P4が存在する平面上に計算用xy座標を設定する。この計算用xy座標は、原点を第2のティーチング位置P2、楕円の中心が存在する第3の直線Cをx軸、これと直交する第1の直線Aをy軸に定めている。
そして、第1のティーチング位置P1〜第4のティーチング位置P4の計算用xy座標上の位置をPn=(xn,yn)とすると、y軸上にある第1のティーチング位置P1の座標(x,y)は(0,y)、原点である第2のティーチング位置P2の座標(x,y)は(0,0)、第3のティーチング位置P3は(x,y)、第4のティーチング位置P4は(x,y)となる。また、楕円の中心はx軸上にあり、その楕円は第1の直線A(y軸)に接するのであるから、当該楕円の長径がx軸に重なることとなる。従って、楕円の長径の長さをa、短径の長さをbとすると、楕円の中心Pcの計算用xy座標上の位置を表す座標(x、y)は(a,0)となる。
【0037】
ティーチング時にロボット座標で与えられた第1のティーチング位置P1〜第4のティーチング位置P4は次の(1)式の同時変換行列を用いることで計算用xy座標上の位置に変換できる。
【0038】
【数1】

【0039】
ここで、(1)式のψはロボット座標に対する計算用xy座標の傾き、x、yはロボット座標に対する計算用xy座標のX軸方向およびY軸方向のずれ量を示すもので、cosψ、sinψ、x、yは次の(2)式〜(5)式によって求めることができる。
【0040】
【数2】

【0041】
但し、上記(2)式〜(5)式において、X,X,Y,Yはロボット座標上のティーチング位置P1,P2のXY座標値である。
【0042】
さて、P3とP4との差を、u=x−x、ν=y−yと定義する。
また、媒介変数τを用いて楕円を表現すると、
x=a+a・cosτ、y=b・sinτとなる。ただし、τは楕円の偏角を意味していない。
【0043】
また、dx/dτ=−a・sinτ、dy/dτ=b・cosτ
から、楕円の傾きはdy/dx=−b/a(cosτ/sinτ)となる。このとき、下記(6)式で示すように、dy/dx−y/x=dy/dx(1/cosτ)であるので、cosτは下記(7)式のようになる。
【0044】
【数3】

【0045】
【数4】

【0046】
また、b>0であるので、sinτは下記(8)式のようになる。
【0047】
【数5】

【0048】
ここで、第3のティーチング位置P3に着目すると、x=a+a・cosτ=a(1+cosτ)、y=b・sinτ、dy/dx=−b・cosτ/a・sinτ=ν/uであるので、(7)式からcosτは下記(9)式のようになる。
【0049】
【数6】

【0050】
よって、cosτ、sinτは次の(10)式、(11)式で表わすことができる。
【0051】
【数7】

【0052】
従って、楕円の長径aおよび短径bは下記(12)式、(13)式によって求めることができる。
【0053】
【数8】

【0054】
以上により、長径の長さがaで短径の長さがbの楕円であって、計算用xy座標で(a,0)の位置に中心Pcをもつ楕円であって、第2のティーチング位置P2において第1の直線Aに接し且つ第3のティーチング位置P3において第2の直線Bに接する楕円を求めることができる。
【0055】
このようにして求めた楕円は計算用xy座標上のものであるから、次の(14)式で示す同時変換行列により、この楕円をロボット座標上の楕円に変換することができる。
【0056】
【数9】

【0057】
そして、この楕円によって第2のティーチング位置P2から第3のティーチング位置P3に至る曲線を描き、これを補間曲線に定めてエンドとなる(ステップ10)。
【0058】
一方、ティーチング位置P1〜P4の与え方によっては、e2とe3とが等しい場合(第2のティーチング位置P2が直線部分の終了位置で且つ円弧状部分の開始位置に正しく一致し、第3のティーチング位置P3が円弧状部分の終了位置で且つ直線部分の開始位置に正しく一致した場合を含む)や、e3の方がe2よりも長い場合(第2のティーチング位置P2が直線部分の終了位置で且つ円弧状部分の開始位置を正しく与えられ、第3のティーチング位置P3が円弧状部分の終了位置(直線部分の開始位置)よりも手前の円弧状部分に与えられた場合を含む)がある。
【0059】
e2とe3とが等しい場合には、コントローラ3は、中心が前記交点Poにあって、半径が交点Poから第2のティーチング位置P2までの距離e2(交点Poから第3のティーチング位置P3までの距離e3と同じ)を半径とする円を演算し、この第2のティーチング位置P3において第1の直線Aに接し、第3のティーチング位置P3において第2の直線Bに接する円を、第2のティーチング位置P2から第3のティーチング位置P3に至る補間曲線とする(ステップ8)。
【0060】
e3の方がe2よりも長かった場合、コントローラ3は第4の直線D上に中心があって第2のティーチング位置P2と第3のティーチング位置P3で第1の直線Aと第2の直線Bに接する楕円を演算する(ステップ9)。この場合、計算用xy座標の中心を第3のティーチング位置P3、楕円の中心があるx軸を第4の直線D、第2の直線Bをy軸とする。そして、楕円の長径a、短径bを次の(15)式〜(18)式によって求めるものである。
【0061】
【数10】

【0062】
そして、その楕円を、第2のティーチング位置P2と第3のティーチング位置P3との間を補間する補間曲線と定め(ステップ10)、エンドとなる。
【0063】
このように本実施形態の曲線補間によれば、ティーチング一位置として最も起き易いパターン、つまり直線部分から円弧状部分に入る位置(ティーチング位置P2)は正確に教示できるが、円弧状部分から直線部分に入る位置は円弧状部分の終了位置から直線部分にやや入った位置(第3のティーチング位置P3)を教示してしまうパターンについては、ツール先端に作業対象部分の円弧状部分の形状により近い移動軌跡を辿らせることができる。
【0064】
即ち、前述の特許文献1では、第1のティーチング位置P1から第2のティーチング位置P2までは直線移動、第2のティーチング位置P2から第3のティーチング位置P3までは曲線移動、第3のティーチング位置P3から第4のティーチング位置P4までは直線移動する場合、第2のティーチング位置P2での移動方向を第1のティーチング位置P1からの直線移動方向、つまり第1の直線Aと同じ方向、第3のティーチング位置P3での移動方向を第4のティーチング位置P4に向かう直線移動方向、つまり第2の直線Bと同じ方向として、第2のティーチング位置P2と第3のティーチング位置P3との間は、第2のティーチング位置P2での移動方向を示す直線(第1の直線A)に接し且つ第2のティーチング位置P2と第3のティーチング位置P3とを通る第1の円と、第3のティーチング位置P3での移動方向を示す直線(第2の直線B)に接し且つ第2のティー位置P2と第3のティー位置P3とを通る第2の円とを演算し、そして、第1の円と第2の円とを結ぶ滑らかな曲線(渡り曲線)を演算し、以上により、第2のティーチング位置P2と第3のティーチング位置P3との間を、第1の円から渡り曲線を経て第2の円に至る滑らかな曲線上を補間曲線と定め、ツール先端がこの補間曲線上を移動するようにしている。このため、第2のティーチング位置P2と第3のティーチング位置P3の近くでは良いが、それらの間の部分では、ツール先端が、実際の円弧状部分の外縁よりも外側を通る軌跡で移動することとなる。
【0065】
しかしながら、本実施形態では、第2のティーチング位置P2が正しく直線部分から円弧状部分に入る位置にティーチングされ、第3のティーチング位置P3が円弧状部分から直線部分に入ってからの位置にティーチングされたとすると、正しくティーチングされた第2のティーチング位置P2では円に近い楕円の長径部分が与えられ、円弧状部分から直線部分に入ってからの位置に誤ってティーチングされた第3のティーチング位置P3では直線に近い楕円の短径部分が与えられるので、ツール先端を本来与えるべき移動軌跡(四分の一円)により近い軌跡に沿い、且つ本来与えるべき移動軌跡よりも内側を移動させることができる。
【0066】
このため、バリが部分的に残ったり、シール剤が容器と蓋の間に正しく塗られない部分が生じたりするという不具合が生ずることを防止できる。
なお、e2がe3に等しい場合には、第2のティーチング位置P2と第3のティーチング位置P3との間は円によって曲線補間されるので、ツール先端は円弧状部分の外縁に沿って移動するので良いが、e3の方がe2よりも長い場合、例えば第2のティーチング位置P2が容器の直線部分から円弧状部分に入る位置を正しく与えられ、第3のティーチング位置P3が円弧状部分の終了位置から直線部分に入る位置よりも手前の円弧状部分に与えられた場合には、ツール先端が円弧状部分の外側を通る軌跡を辿ることになるが、このような教示パターンは殆ど生じないであるので特に問題はない。
【0067】
なお、本発明は上記し且つ図面に示す実施形態に限定されるものではなく、以下のような拡張或いは変更が可能である。
第1のティーチング位置P1〜第4のティーチング位置P4が位置する一平面は必ずしもロボット座標のXY平面或いはXY平面と平行な面である必要ない。ロボット座標のXY平面に対し傾いていても良く、この場合、座標変換の(1)式、(2)式を、3次元を表現する周知の座標変換の式に置き換えれば良い。
ロボットアームの先端に取り付けるエンドエフェクタとしては、バリ取り用カッターに限られない。
【符号の説明】
【0068】
図面中、2はロボットアーム、3はコントローラ(ロボット制御装置、補間演算手段、補間曲線演算手段)、11はフランジ(ロボットアーム先端)を示す。

【特許請求の範囲】
【請求項1】
ティーチング時に、ロボットアーム先端に取り付けられたエンドエフェクタのロボット座標上での移動位置をティーチングし、プレイバック時に、前記ティーチング位置の相互間を補間演算し演算された補間位置を前記エンドエフェクタの移動目標位置にして前記ロボットアームを動作させるロボット制御装置において、
移動方向に沿って順にティーチングされた第1〜第4のティーチング位置であって、前記第1のティーチング位置と前記第2のティーチング位置を通る第1の直線と、前記第3のティーチング位置と前記第4のティーチング位置を通る第2の直線が前記第2のティーチング位置と前記第3のティーチング位置との間で交差する位置関係にある前記第1〜第4のティーチング位置を対象に、前記第1のティーチング位置と前記第2のティーチング位置との間を直線補間し、前記第2のティーチング位置と前記第3のティーチング位置との間を曲線補間し、前記第3のティーチング位置と第4のティーチング位置との間を直線補間する補間演算手段を備え、
前記補間演算手段は、
前記第2のティーチング位置を通り前記第1の直線に直交する第3の直線と、前記第3のティーチング位置を通り前記第2の直線に直交する第4の直線とを求める直線設定手段と、
前記第3の直線と前記第4の直線との交点を求め、この交点から前記第2のティーチング位置までの長さと前記第3のティーチング位置までの長さを比較する比較手段と、
この比較手段の比較結果に応じて前記第2のティーチング位置と前記第3のティーチング位置との間の前記補間曲線を設定する補間曲線演算手段と
を備え、
前記補間曲線演算手段は、
前記第3の直線と前記第4の直線との交点から前記第2のティーチング位置までの長さと前記第3のティーチング位置までの長さが同じである場合には、前記第3の直線と前記第4の直線との交点を中心とし、当該中心から前記第2のティーチング位置までの長さを半径として前記第1の直線および第2の直線に接する円を補間曲線とし、
前記第3の直線と前記第4の直線の交点から前記第2のティーチング位置までの長さの方が前記第3のティーチング位置までの長さよりも長い場合には、前記第2のティーチング位置を原点、前記第3の直線をx軸、前記第1の直線をy軸とする計算用xy座標を設定し、前記ロボット座標で与えられた前記第3のティーチング位置および第4のティーチング位置を座標変換行列によって前記計算用xy座標上の位置に変換し、当該計算用xy座標上での前記第3のティーチング位置の座標値が(x,y)、前記第4のティーチング位置の座標値が(x,y)であるとき、長径の長さaが下記(i)式、短径の長さbが下記(ii)式で示され、前記長径が前記x軸上にあって前記原点から前記長径の長さaだけ離れた位置に中心を有して前記第1の直線および第2の直線に接する楕円を求め、前記計算用xy座標上で求めた前記楕円を同時変換行列によって前記ロボット座標上の楕円に変換して当該楕円を補間曲線とし、
前記第3の直線と前記第4の直線の交点から前記第3のティーチング位置までの長さの方が前記第2のティーチング位置までの長さよりも長い場合には、前記第3のティーチング位置を原点、前記第4の直線をx軸、前記第2の直線をy軸とする計算用xy座標を設定し、前記ロボット座標で与えられた前記第2のティーチング位置および第1のティーチング位置を座標変換行列によって前記計算用xy座標上の位置に変換し、当該計算用xy座標上での前記第3のティーチング位置の座標値が(x,y)、前記第4のティーチング位置の座標値が(x,y)であるとき、長径の長さaが下記(iii)式、短径の長さbが下記(iv)式で示され、前記長径が前記x軸上にあって前記原点から前記長径の長さaだけ離れた位置に中心を有して前記第1の直線および第2の直線に接する楕円を求め、前記計算用xy座標上で求めた前記楕円を同時変換行列によって前記ロボット座標上の楕円に変換して当該楕円を補間曲線とすることを特徴とするロボットの制御装置。
a=x/(1+cos τ)…(i)
ただし、cos τ=(x−x)/(x−x
b=y/sin τ…(ii)
ただし、sin τ=signy(1−cosτ1/2
sign yは、y>のとき1、y=0のとき0、y<のとき−1
a=x/(1+cos τ)…(iii)
ただし、cos τ=(x−x)/(x−x
b=y/sin τ…(iv)
ただし、sin τ=signy(1−cosτ1/2
Sign yは、y>1のとき1、y=0のとき0、y<1のとき−1

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−198600(P2012−198600A)
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願番号】特願2011−60620(P2011−60620)
【出願日】平成23年3月18日(2011.3.18)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】