(57)【特許請求の範囲】
【請求項１】
教示されたワーク上の各代表点の位置データに基づいて、該各代表点をつなぐ複数の直線軌道と該複数の直線軌道を所定の移動順でつなぐ複数の補間軌道からなる作業経路を自動生成する工業用ロボットの制御方法において、
前記ロボットの座標系原点からある時点に前記ロボットの手先が通過する前記直線軌道ｔｎの終点までの距離を｜ｅｔｎ｜、前記ロボットの座標系原点から前記直線軌道ｔｎの次に通過する直線軌道ｔｎ＋１の始点までの距離を｜ｓｔｎ＋１｜としたとき、
｜ｓｔｎ＋１｜≦｜ｅｔｎ｜となるように、前記複数の直線軌道の移動順を更新することを特徴とする工業用ロボットの制御方法。
【請求項２】
教示されたワーク上の各代表点の位置データに基づいて、該各代表点をつなぐ複数の直線軌道と該複数の直線軌道をつなぐ補間軌道からなる作業経路を自動生成する工業用ロボットの制御方法において、
ある時点において前記ロボットの手先が通過する前記直線軌道ｔｎの終点から前記直線軌道ｔｎの次に通過する直線軌道ｔｎ＋１の始点までの距離が、前記直線軌道ｔｎの終点から前記直線軌道ｔｎ＋１の終点までの距離より大きい場合には、前記直線軌道ｔｎ＋１の方向を変更することを特徴とする工業用ロボットの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、教示データを順次再生する塗装ロボット等の工業用ロボットに用いて好適な工業用ロボットの制御方法に関する。
【０００２】
【従来の技術】
従来より、塗装ロボット等の工業用ロボットとしては、オペレータが教示した内容を教示（ティーチング）データとして記憶し、記憶した教示データを順に再生する教示再生形のものが広く利用されている。この種の教示再生形ロボットの中には、教示時には、作業経路上のいくつかの代表点の位置データのみを記憶し、これらの代表点をつなぐ軌道を自動的に計算して所望の作業経路を生成するものもある。
【０００３】
ところで、作業経路を自動生成する教示再生形ロボットの制御において、一旦、作業経路を自動的に生成した後に、作業経路を変更する必要が生じる場合がある。以下、図６および図７を参照して、塗装ロボットの作業経路の変更処理について説明する。
図６において、１は塗装ロボットのロボットアーム、２はロボットアーム１の先端に取り付けられた塗装ガン、３は水平面上に配置された作業対象物（以下、単にワークと称す）である。
【０００４】
ワーク３に対して、ロボットアーム１の先端に取り付けられた塗装ガン２で塗装を行う場合、作業経路ｔは、等間隔ｈで平行なｍ本の直線軌道ｔ１  ，…，ｔｎ−１  ，ｔｎ  ，ｔｎ＋１  ，…，ｔｍ  と、それらの間の補問軌道（図６中の曲線部分）より構成される。ただし、ｎ，ｍは２＜ｎ＜ｍなる整数である。また、各直線軌道ｔ１  〜ｔｍ  は、それぞれ、端点となる一対の教示点の座標から自動生成されるものであり、添字の順に再現される。
【０００５】
上記作業経路ｔは、塗装ロボットにより自動生成されるものであるが、ワーク３の塗装面の形状によっては、塗装ガン２が塗装に適切な狙い角で狙えない場合がある。例えば、図７中の直線軌道ｔｎ  における塗装は不適切な狙い角での塗装になってしまう。このような場合、塗装ガン２の姿勢および軌道を変える必要があり、例えば、図７に示されるように、破線で示されるｎ番目の直線軌道ｔｎ  から実線で示される直線軌道ｔｎ  ’への変更が行われる。なお、図７の（ａ）右手に描かれた座標系原点から分かるように、図７の右方から左方への方向がＸ座標の正の方向と一致している。
【０００６】
また、作業経路を自動生成する教示再生形ロボットにおいて、個々のワークに対する作業経路を自動的に連結するものも提案されている。例えば、図８に示されるように、同一塗装面内に複数のワークがある場合に、ワーク４に対する作業経路Ｃ（Ｃ１  ，Ｃ２  ，…，Ｃｍ  ）とワーク５に対する作業経路Ｄ（Ｄ１  ，Ｄ２  ，…，Ｄｍ  ）が各々生成されるとする。このような場合、連結（遷移）軌道の長さが短くなるよう、例えば、作業経路Ｄの始点もしくは終点と作業経路Ｃの最終直線軌道の終点とを接続することにより作業経路Ｃと作業経路Ｄを連結させる、という提案が為されている。
【０００７】
【発明が解決しようとする課題】
上述したように、従来の工業用ロボットの制御方法では、自動生成後に修正された作業経路において、修正された直線軌道（例えば、軌道ｔｎ  ’）が、前回の直線軌道（例えば、軌道ｔｎ−１  ）よりも前（図７中左側）の位置、すなわち座標系原点からＸ軸上でより離れた位置となることがある。したがって、自動生成された順番通りに各軌道を再現すると、一旦、軌道を前（Ｘ軸の正の方向）に戻す動作が必要となり、全体的な動作距離および作業時間が長くなり作業効率の低下を招致するという問題があった。
【０００８】
また、従来の工業用ロボットの制御方法では、複数のワークに対する作業経路を連結する場合、ワークの間隔等を考慮に入れていないために、特に塗装ロボットに適用した場合に問題が生じることがある。例えば、図８に示されるように、ワーク間隔が狭い時には、各ワーク上に形成される塗装膜６において、塗り重ねの差異が生じ、塗りムラ等を招致するという問題がある。
本発明は、上述した事情に鑑みて為されたものであり、自動生成された作業経路を修正しても作業効率を維持できるとともに、複数のワークにまたがる作業経路において隣接する直線軌道間の距離を適切にすることができる工業用ロボットの制御方法を提供することを目的とする。
【０００９】
【課題を解決するための手段】
請求項１記載の発明は、教示されたワーク上の各代表点の位置データに基づいて、該各代表点をつなぐ複数の直線軌道と該複数の直線軌道を所定の移動順でつなぐ複数の補間軌道からなる作業経路を自動生成する工業用ロボットの制御方法において、前記ロボットの座標系原点からある時点に前記ロボットの手先が通過する前記直線軌道ｔｎの終点までの距離を｜ｅｔｎ｜、前記ロボットの座標系原点から前記直線軌道ｔｎの次に通過する直線軌道ｔｎ＋１の始点までの距離を｜ｓｔｎ＋１｜としたとき、｜ｓｔｎ＋１｜≦｜ｅｔｎ｜となるように、前記複数の直線軌道の移動順を更新することを特徴としている。
【００１０】
請求項２記載の発明は、教示されたワーク上の各代表点の位置データに基づいて、該各代表点をつなぐ複数の直線軌道と該複数の直線軌道をつなぐ補間軌道からなる作業経路を自動生成する工業用ロボットの制御方法において、ある時点において前記ロボットの手先が通過する前記直線軌道ｔｎの終点から前記直線軌道ｔｎの次に通過する直線軌道ｔｎ＋１の始点までの距離が、前記直線軌道ｔｎの終点から前記直線軌道ｔｎ＋１の終点までの距離より大きい場合には、前記直線軌道ｔｎ＋１の方向を変更することを特徴としている。
【００１２】
【発明の実施の形態】
以下、図面を参照して、本発明の実施形態について説明する。
図１は本発明の第１の実施形態による工業用ロボットの制御方法の処理手順を表すフローチャートである。図１に示される処理手順は、例えば、図６に示される塗装ロボットに適用されるものである。一般的な塗装ロボットは、ワークに対して塗装作業を行うマニピュレータと、マニピュレータの動作を制御する制御装置と、オペレータが制御装置に対して各種指令を入力する際に使用される入力装置とによって構成される。上記マニピュレータは、複数のベース、モータ、およびリンクと、回転可能な手首を備えたロボットアーム（図６中ではロボットアーム１）とから構成され、その手首には塗装ガン（図６中では塗装ガン２）が取り付けられる。
【００１３】
塗装ロボット内の制御装置においては、オペレータによって教示されたポイント（以下、教示点という）の位置データに基づいて所定の演算が行われ、予め自動的に教示データが生成される。この教示データは作業経路や塗装パターン等を表すものであり、図６に示されるような軌道を表すデータを包含している。実際には、マニピュレータの各関節部に対する空間軌道を求める必要があるが、本実施形態では、説明が煩雑になるのを避けるために、塗装ガン２のＸ軸方向の位置に着目して説明する。
【００１４】
ここで、図１に表される処理手順を適用する前に、自動的に作業経路が求められ、さらに、図７に示されるような修正が為されているものとする。すなわち、Ｘ軸上で座標系原点から遠ざかる方向への補間軌道が存在する作業経路に対して、図６に示される処理手順が実行される。また、この処理手順の実行は、オペレータの指示によって開始されてもよいし、作業経路の修正後に自動的に行われるようにしてもよい。また、以下に説明する各ステップは、塗装ロボットの制御装置によって行われる処理であるため、特に断らない限り、動作の主体を塗装ロボットの制御装置とする。
【００１５】
まず、図１のステップＳＡ１で、初期化を行い、各種変数の値をクリアする。また、各直線軌道の移動順（再現される順番）を表す配列変数ｎを確保する。この時点では、変数ｉと移動順ｎ［ｉ］は一致している。なお、変数ｉの値は１≦ｉ≦ｍの整数値、ｍは１≦ｍの整数値をとる定数であり、直線軌道の数を表す。次に、ステップＳＡ２で、変数ｉの値を１からｍまで１づつ変化させ、以下の処理を繰り返す。
【００１６】
まず、ステップＳＡ３で、現在の移動順ｎ［ｉ］の直線軌道の終点ｅｔｎから座標系原点までの距離｜ｅｔｎ｜を求める。次に、ステップＳＡ４で、次の移動順ｎ［ｉ＋１］の直線軌道の始点ｓｔｎ＋１から座標系原点までの距離｜ｓｔｎ＋１｜を求める。次に、ステップＳＡ５で、次の移動順ｎ［ｉ＋１］の直線軌道が現在の移動順ｎ［ｉ］の直線軌道より座標系原点から（Ｘ軸の正の方向に）離れているか否かを判断する。すなわち、｜ｓｔｎ＋１｜＞｜ｅｔｎ｜であるか否かを判断する。ここで、｜ｓｔｎ＋１｜＞｜ｅｔｎ｜であった場合には、ステップＳＡ６で、移動順の入れ替え処理が行われる。具体的には、変数ｘを介して配列変数ｎ［ｉ］の値と配列変数ｎ［ｉ＋１］の値が入れ替えられる。次に、ステップＳＡ７で、変数ｉの値を１だけ増加させる。
【００１７】
上記ステップＳＡ２により、作業経路から、図７の（ａ）に示されるような座標系原点からＸ軸の正の方向へ戻るような補間軌道を排除することが可能となり、図２に示されるように、ｘ方向について作業経路の距離が短くなる方向へ各直線軌道がソートされる。
なお、第４図の例では、直線軌道ｔｎ  の終点ｅｔｎから直線軌道ｔｎ＋１  の始点  ｓｔｎ＋１  までの距離｜ｓｔｎ＋１−ｅｔｎ｜が、直線軌道ｔｎ＋１  の終点ｅｔｎ＋１までの距離｜ｅｔｎ＋１−ｅｔｎ｜に比較して長いために、補問軌道が冗長になっている。このような場合、直線軌道ｔｎ＋１  の始点と終点を入れ替えて補問軌道を短くすることができる。図１のステップＳＡ８以降がその処理を行う部分である。
【００１８】
ステップＳＡ８では、変数ｉの値を１からｍまで１づつ変化させ、以下の処理を繰り返す。
まず、ステップＳＡ９で、図２に示されるように、現在の移動順ｎ［ｉ］の直線軌道の終点ｅｔｎから、次の移動順ｎ［ｉ＋１］の直線軌道の始点ｓｔｎ＋１，および終点ｅｔｎ＋１までの各々の距離｜ｓｔｎ＋１−ｅｔｎ｜，｜ｅｔｎ＋１−ｅｔｎ｜を求める。次に、ステップＳＡ１０で、次の移動順ｎ［ｉ＋１］の直線軌道の始点までの距離が、次の移動順ｎ［ｉ＋１］の直線軌道の終点までの距離より長いか否か、すなわち｜ｓｔｎ＋１−ｅｔｎ｜＞｜ｅｔｎ＋１−ｅｔｎ｜であるか否かが判断される。例えば、図２に示される直線軌道ｔｎ  においては、｜ｓｔｎ＋１−ｅｔｎ｜＞｜ｅｔｎ＋１−ｅｔｎ｜となっている。
【００１９】
｜ｓｔｎ＋１−ｅｔｎ｜＞｜ｅｔｎ＋１−ｅｔｎ｜である場合、ステップＳＡ１１で、次の移動順ｎ［ｉ＋１］の直線軌道における始点と終点の入れ替え処理が行われる。具体的には、変数ｙを介して始点ｓｔｎ＋１と終点ｅｔｎ＋１とを入れ替える。これにより、図３に示されるように、次の直線軌道ｔｎ＋１  の向きが変わり、直線軌道ｔｎ  と直線軌道ｔｎ＋１  間の補間軌道が大幅に短縮される。次に、ステップＳＡ１２で、変数ｉの値を１だけ増加させる。
上記ステップＳＡ８により、作業経路から、直線軌道の向きに起因する補間軌道の冗長さを排除することができる。
【００２０】
次に、本発明の第２の実施形態について説明する。
図４は本発明の第２の実施形態による工業用ロボットの制御方法の処理手順を表すフローチャートである。図４に示される処理手順は、例えば、上述した第１の実施形態において説明した塗装ロボットに適用されるものであるため、適用対象の塗装ロボットに関する説明を省略する。また、第１の実施形態同様、説明が煩雑になるのを避けるために、塗装ガン２のＸ軸方向の位置に着目して説明する。
【００２１】
ここで、図４に表される処理手順を適用する前に、例えば、図５の（ａ）に示される作業経路が自動的に求められているものとする。図５の（ａ）に示される作業経路は、例えば、あるワークに対して作成された作業経路（Ｃブロック）と隣接するワークに対して作成された作業経路（Ｄブロック）とを従来の方法により連結して得られたものである。したがって、Ｃブロックの最終直線軌道Ｃｍ  とＤブロックの第１の直線軌道Ｄ１  との間隔、すなわちＣブロックの終点のＸ座標値ｅＣｍとＤブロックの始点のｘ座標値ｓＤ１との距離｜ｓＤ１−ｅＤｍ｜が他の直線軌道間隔ｈよりも短くなっている。この距離｜ｓＤ１−ｅＤｍ｜を間隔ｈに等しくする処理手順が図４に示される処理手順である。
【００２２】
図４においては、ステップＳＢ１で、Ｃブロックの最終点のｘ座標値をｅＣｍ、Ｄブロックの開始点のｘ座標値をｓＤ１とする。次に、ステップＳＢ２で、Ｃブロックの最終軌道Ｃｍ  とＤブロックの第１軌道Ｄ１  との間隔（ブロック間隔）ｈ’を求める（ｈ’＝｜ｓＤ１−ｅＣｍ｜）。次に、ステップＳＢ３で、ブロック間隔ｈ’が規定の間隔ｈよりも狭いか否かを判断する。ブロック間隔ｈ’が規定の間隔ｈよりも狭い場合には、ステップＳＢ４で、Ｄブロックの軌道数ｎを１〜ｍまで１づつ変化させ、以下の処理を繰り返す。
【００２３】
ステップＳＢ５で、Ｄブロックのｎ番目の直線軌道の始点ｓＤｎをｈ−ｈ’だけＸ軸の負の方向へずらす。すなわち、ｓＤｎにｓＤｎ−（ｈ−ｈ’）を代入する。次に、ステップＳＢ６で、Ｄブロックのｎ番目の直線軌道の終点ｅＤｎをｈ−ｈ’だけＸ軸の負の方向へずらす。すなわち、ｅＤｎにｅＤｎ−（ｈ−ｈ’）を代入する。次に、ステップＳＢ７で、更新された始点ｓＤｎと更新された終点ｅＤｎを直線で結ぶ直線軌道を生成する。次に、更新された前の軌道の終点ｅＤｎ−１と、現在の軌道の始点ｓＤｎを結ぶ補間軌道を生成する。
【００２４】
上記ステップＳＢ４、すなわちステップＳＢ５〜ＳＢ８の繰り返し処理により、図５の（ｂ）に示されるような作業経路が作成される。図５の（ｂ）に示される作業経路では、Ｄブロックの作業経路全体がＸ軸の負の方向へずれ、Ｃブロックの最終直線軌道Ｃｍ  とＤブロックの第１の直線軌道Ｄ１  との間隔が規定の間隔ｈになっている。
【００２５】
以上、説明したように、本発明の第１の実施形態によれば、Ｘ軸上を逆行するような補間軌道を排除することができるとともに、直線軌道の向きを変えて補間経路を短縮することができる。また、本発明の第２の実施形態によれば、各ブロックの連結部におけるＸ軸上の距離を十分に広くとることができるため、塗装不良の発生を低減することができる。
【００２６】
なお、第１および第２の実施形態においては、複数の直線軌道からなる作業経路を対象としたが、対象となる作業経路が曲線軌道を含んでいてもよい。また、Ｘ軸に限定して説明したが、実際には、他の軸についても同様な処理が行われる。さらに、適用するロボットを塗装ロボットとしたが、他の工業用ロボットに適用可能であることは言うまでもない。
【００２７】
また、第１および第２の実施形態による制御方法を組み合わせて適用するようにしてもよい。さらに、第２の実施形態においては、連結部の間隔を他の直線軌道の間隔と一致させるようにしたが、他の直線軌道の間隔とは異なる値に設定しても良い。また、Ｄブロックをずらす場合について記載したが、Ｃブロック、あるいはＣおよびＤブロックの両方をずらすようにしてもよい。さらに、具体的な構成は上述した実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計の変更等があっても本発明に含まれる。
【００２８】
【発明の効果】
以上説明したように、本発明によれば、修正した軌道の移動順や方向、あるいはそれらの両方を、各軌道の移動順と各代表点の位置データとから求めるようにしたため、教示軌道を、適切な順番および方向で再生できる。したがって、動作距離が短くなり、工業用ロボットの無駄な動作を低減することができる。また、作業時間、タクトタイムを短縮できるという効果がある。さらに、逆方向の移動がなくなるため、工業用ロボットの機械部品に無理な力が作用することがなくなる、という効果がある。
また、連結部の軌道の間隔が所定の間隔よりも狭い場合に、連結された軌道をずらして所定の間隔となるようしたため、塗装ロボットを用いた同一塗装面内の複数のワークに対する塗装において、連結部近傍の塗装が均一になり、塗りムラを避けることができるという効果がある。
【図面の簡単な説明】
【図１】本発明の第１の実施形態による工業用ロボットの制御方法による処理手順を示すフローチャートである。
【図２】本発明の第１の実施形態による工業用ロボットの制御方法の適用過程を説明するための図である。
【図３】本発明の第１の実施形態による工業用ロボットの制御方法の適用結果を示す図である。
【図４】本発明の第２の実施形態による工業用ロボットの制御方法による処理手順を示すフローチャートである。
【図５】本発明の第２の実施形態による工業用ロボットの制御方法の適用過程を説明するための図である。
【図６】水平面上のワークに対する作業経路の一例を示す図である。
【図７】ワーク形状による塗装ガンの姿勢の修正および従来の工業用ロボットの制御方法を説明するための図である。
【図８】従来の工業用ロボットの制御方法による同一塗装面内の複数のワークに対する作業経路を示す図である。
【符号の説明】
１……ロボットアーム、２……塗装ガン、３〜５……ワーク、６……塗装膜
【図１】
0003601558.tif 000002
【図２】
0003601558.tif 000003
【図３】
0003601558.tif 000004
【図４】
0003601558.tif 000005
【図５】
0003601558.tif 000006
【図６】
0003601558.tif 000007
【図７】
0003601558.tif 000008
【図８】
0003601558.tif 000009