[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6090463B2 - 作業経路作成装置、作業経路作成方法、作業経路作成プログラム、および記録媒体 - Google Patents

作業経路作成装置、作業経路作成方法、作業経路作成プログラム、および記録媒体 Download PDF

Info

Publication number
JP6090463B2
JP6090463B2 JP2015537601A JP2015537601A JP6090463B2 JP 6090463 B2 JP6090463 B2 JP 6090463B2 JP 2015537601 A JP2015537601 A JP 2015537601A JP 2015537601 A JP2015537601 A JP 2015537601A JP 6090463 B2 JP6090463 B2 JP 6090463B2
Authority
JP
Japan
Prior art keywords
point
work
welding
interference check
route
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015537601A
Other languages
English (en)
Other versions
JPWO2015040980A1 (ja
Inventor
泰 金沢
泰 金沢
一隆 柳
一隆 柳
尚義 岡山
尚義 岡山
崇 芥川
崇 芥川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nissan Motor Co Ltd
Original Assignee
Nissan Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nissan Motor Co Ltd filed Critical Nissan Motor Co Ltd
Publication of JPWO2015040980A1 publication Critical patent/JPWO2015040980A1/ja
Application granted granted Critical
Publication of JP6090463B2 publication Critical patent/JP6090463B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4061Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K11/00Resistance welding; Severing by resistance heating
    • B23K11/10Spot welding; Stitch welding
    • B23K11/11Spot welding
    • B23K11/115Spot welding by means of two electrodes placed opposite one another on both sides of the welded parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Resistance Welding (AREA)
  • Numerical Control (AREA)

Description

本発明は作業経路作成装置、作業経路作成方法、および作業経路作成プログラムに関し、詳しくは、ロボットを用いた作業において複数の作業点において作業する際の経路をオフラインプログラミングにより作成するための作業経路作成装置、作業経路作成方法、作業経路作成プログラム、および記録媒体に関する。
近年、ロボットの動作を教示する際に、コンピューターシミュレーションを用いて、プログラミングすることが多く行われている。これをオフラインプログラミングと称している。
このようなオフラインプログラミングは、ロボットを用いた種々の作業に適用されている。たとえば、ロボットによる溶接においては、ロボットに溶接ガンをつけた状態で、ワーク(パネル)にある溶接点(溶接打点とも称される)を溶接するための干渉のない経路をオフラインで自動的に作成するために利用されている。
たとえば、溶接点の周辺は、そもそも溶接ガンとワークとが接触することが当然の部分である。従来は、このような溶接点の周辺をすべて削除してから、溶接点を接続する経路の干渉チェックを行うこととしている。すなわち、溶接点の周辺は、干渉チェックを行う領域から外すのである。
特開2000−61880号公報
しかしながら、従来技術では、複数の溶接作業を行う経路を作成する際に、溶接点と溶接点の間に、その経路では作業を行わない溶接点(作業対象外の作業点という)があった場合、そのような作業対象外の作業点周辺も干渉チェックされないことになる。このため、従来技術で作成された経路を実際のロボットにロードした場合に、作業を行う溶接点と溶接点の間に作業対象外の作業点があると、作業対象外の作業点の形状によっては干渉してしまうことがある。
そこで、本発明の目的は、複数の作業点において作業する際の経路をオフラインプログラミングにより作成する際に、経路中に作業を行わない作業点があっても干渉のない経路を作成することのできる作業経路作成装置を提供することである。
また、他の目的は、複数の作業点において作業する際の経路をオフラインプログラミングにより作成する際に、経路中に作業を行わない作業点があっても干渉のない経路を作成することのできる作業経路作成方法を提供することである。
さらに他の目的は、複数の作業点において作業する際の経路をオフラインプログラミングにより作成する際に、経路中に作業を行わない作業点があっても干渉のない経路を作成することのできる作業経路作成プログラム、およびこのプログラムを記憶した記録媒体を提供することである。
上記目的を達成するための本発明による溶接経路作成装置は、複数の作業点から2つの作業点を選択して当該2つの作業点を結ぶ経路を設定する作業点選択部を有する。この溶接経路作成装置は、少なくとも2つの作業点を除く複数の作業点に対して干渉チェックの際に干渉チェックしない作業点領域を設定する領域設定部を有する。この溶接経路作成装置は、選択した2つの作業点の間に他の作業点がある場合に、このような他の作業点に設定された作業点領域は無効とする作業点領域無効部を有する。そしてこの溶接経路作成装置は、2つの作業点を結ぶ経路を干渉チェックする干渉チェック部を有する。
また上記他の目的を達成するための本発明による溶接経路作成方法は、複数の作業点から2つの作業点を選択して当該2つの作業点を結ぶ経路を設定する段階と、少なくとも2つの作業点を除く複数の作業点に対して干渉チェックの際に干渉チェックしない作業点領域を設定する段階と、選択した2つの作業点の間に他の作業点がある場合に、当該他の作業点に設定された作業点領域は無効とする段階と、2つの作業点を結ぶ経路を干渉チェックする段階と、を有する。
また上記他の目的を達成するための本発明による溶接経路作成プログラムは、複数の作業点から2つの作業点を選択して当該2つの作業点を結ぶ経路を設定するステップと、少なくとも2つの作業点を除く複数の作業点に対して干渉チェックの際に干渉チェックしない作業点領域を設定するステップと、選択した2つの作業点の間に他の作業点がある場合に、当該他の作業点に設定された作業点領域は無効とするステップと、2つの作業点を結ぶ経路を干渉チェックするステップと、をコンピューターに実行させて作業を行う経路を作成する。
さらに上記他の目的を達成するための本発明は、上記作業経路作成プログラムを記憶したコンピューター読み取り可能な記録媒体である。
本発明によれば、選択した2つの作業点の間に他の作業点がある場合、そのような他の作業点に対して設定された干渉チェックを行わない領域を無効とすることにした。このため経路途中に作業をしない作業点がある場合でも、干渉チェックを適切に行うことができるようになり、作業しない作業点とその周辺部において干渉が発生するのを防止することができる。
作業経路作成装置を含むシステムの構成を説明するためのブロック図である。 作業経路(溶接経路)作成手順のメインフローチャートである。 2つの作業点(溶接点)間を直線的に結ぶ経路の成立性を調べるサブルーチンフローチャートである。 干渉チェックのサブルーチンフローチャートである。 直線経路を説明するための説明図である。 2つの作業点(溶接点)間の距離・角度を説明するための説明図である。 逃げ点を説明する説明図である。 逃げ点を説明する説明図である。 作業点(溶接点)領域と作業点(溶接点)付近領域を説明するためのワーク平面図である。 直線経路ができない場合の経路作成のイメージ図である。 引き抜き経路の作成手順を説明するフローチャートである。 引き抜き経路の作成手順の詳細を説明するサブルーチンフローチャートである。 引き抜き経路の作成の際の動作を説明するための説明図である。 回避経路の作成手順を説明するフローチャートである。 引き抜き経路と回避経路作成のイメージ図である。
以下、添付した図面を参照しながら、本発明の実施形態を説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。また、図面における各部材の大きさや比率は説明の都合上誇張されており、実際の大きさや比率とは異なる。
図1は、作業経路作成装置を含むシステムの構成を説明するためのブロック図である。
このシステムは、コンピューター11とサーバー12がネットワーク13により接続されている。
コンピューター11は、作業経路作成装置となる。このコンピューター11は、後述する作業経路作成手順に従って作成されたプログラムを実行することにより複数の作業点を通る経路を自動作成する。したがって、このコンピューター11は、作業点選択部、領域設定部、作業点領域無効部、干渉チェック部として機能することになる。
サーバー12は、作業経路作成に必要なデータを記憶している。作業経路作成に必要なデータは、たとえばワーク関連データとして、作業を行う(作業対象の)ワークの形状、ワーク上における作業点の位置、作業点ごとの加圧方向などを記憶している。また、サーバー12は、ロボット関連データとして、作業を行うロボットの緒元や形状(通常使用するロボットごとにオフラインプログラム用の形状や動作などのデータがある)、作業に用いる工具(たとえば溶接ガン)の形状などのデータを記憶している。なお、ワークに関連するデータは、このようなサーバー12ではなく、ワークを設計するCAD装置などから直接取得してもよい。また、ロボット関連データは、作業経路作成装置となるコンピューター11そのものが記憶しておいてもよい。
ネットワーク13は、コンピューター11とサーバー12の間でデータのやり取りを行うための通信回線である。このネットワーク13は、通常は、一般的なLANなどであるが、専用線が用いられていてもよい。
そして、このネットワーク13には、ロボットを動作させるためのロボットコントローラー14に接続されている。これによりコンピューター11で作成された作業経路をロボットコントローラー14にロードすることができる。もちろん、ロボットコントローラー14が、ネットワーク13に接続されていない場合には、作成された作業経路は、別途他の記憶媒体などに記録させてから、ロボットコントローラー14に運ばれてロードさせることになる。
次に、作業経路作成手順を説明する。図2は作業経路作成手順のメインフローチャート、図3は2つの作業点間を直線的に結ぶ経路の成立性を調べるサブルーチンフローチャート、図4は干渉チェックのサブルーチンフローチャートである。
本作業経路作成手順における基本的な構成は、最初に2つの作業点間を直線的に結ぶ経路を作成し、その直線的な経路における干渉チェックを行い、干渉がなければ経路として決定し、干渉があり直線的に結べない場合は、他の経路を作成するという順である。
ここで作業点間を直線的に結ぶ経路について説明する。ここでは作業点として溶接点を例に説明する。
図5は直線経路を説明するための説明図である。図示するように、2つの溶接点間を直線的に結ぶ経路とは、ワーク100上に設定されている溶接点1を溶接後、そのまま次の溶接点2に向かう直線経路のことである。ここで、溶接後とは、たとえば、工具が溶接ガンの場合、溶接ガン開放後、少しガンチップをワークから離した後のことである。
このような直線経路は、ロボットまたは工具の移動距離が短く、ロボットの軸動作量も少ないため、ロボットの動作時間を短くできるという特徴がある。しかし、たとえば、距離が大きく離れている場合は直線的に動作できない。そのほかにも、たとえば途中に障害物がある場合も直線的に動作できない。またロボットの軸範囲外で動けない場合も直線的に動作できない。これらのように、2つの溶接点であっても必ずしも直線的に動作することができない場合がある。このような場合には、いったん工具を引き抜いてから移動する経路を別途作成することになる(別経路の作成については後述する)。
図2〜4を参照して、作業経路作成手順の一例を説明する。なお、以下では、複数の部材を接合する接合作業を行う場合、特に複数の部材を溶接する溶接作業を行う場合の作業経路作成手順について説明する。溶接作業においては、ロボットは、工具として溶接ガンを把持している。作業点は、複数の部材を接合する接合作業を行うための溶接点(接合点)である。
この手順に先だち、コンピューター11は、サーバー12から必要なデータを取得し、自身の記憶装置に記憶しておく。取得するデータは、ワーク形状、作業点(溶接点)位置、作業(溶接)時の加圧方向である。これらのデータは、たとえば、3次元座標空間の座標値である。なお、コンピューター11内の記憶装置に記憶するのではなく必要となった都度、サーバー12から取り出すようにしてもよい。
図2を参照してメインフローを説明する(以下の説明において、すべてのフローにおける各ステップは「S」と省略している)。
まず、コンピューター11は、ワーク上の複数の溶接点から最初の溶接点を決定する(S1)。この最初の溶接点はここで設定する経路全体の始点となる。
続いて、コンピューター11は、処理対象の次の溶接点があるか否かを判断し(S2)、処理対象の次の溶接点があれば、それを選択する(S3)。このS1〜S3において選択する溶接点は、あらかじめ決めた順番で選択する。あらかじめ決めた順番は、たとえば設計者が経験などから、同じ方向に進むことができる複数の溶接点に対して順番を割り当てている。また、複数の溶接点の並びが交差するような場合には、ある方向へ進み次に他の方向へ進むように順番を割り当てている。なおS2において次の溶接点がないと判断されたなら、S9へ進むことになる。
S1〜S3により2つの溶接点が選択されることになる(S2において次の溶接点があると判断された場合である)。つまり最初の溶接点がS1により選択され、次の溶接点はS2およびS3によって選択される。そして、このメインフローの流れにより再びS2に入って次の溶接点がある場合は、S3で次の溶接点が選択される。これにより、次々と2つの溶接点が選択されて以降の処理が行われることになる。
続いて、コンピューター11は、2つの溶接点間を直線的に結べるか否かを距離と角度により調べる(S4)。この処理は、2つの溶接点間を直線的に結べるかを2つの溶接点間の距離・角度で調べるものである。
図6は2つの溶接点間の距離・角度を説明するための説明図である。判断の対象となる距離・角度とは、(1)2つの溶接点の距離、(2)2つの溶接点の加圧方向の角度、(3)2つの溶接点の溶接ガン進入方向の角度である。
(1)2つの溶接点の距離は、2つの溶接点を直線として結ぶ距離である。この距離があまりにも長い場合、そのような2点間を移動するよりも、いったん引き抜いて移動経路を変えたり、他の溶接点と組み合わせたりする方が早く溶接できる場合がある。そこで、2点間の距離に対するしきい値を設け、そのしきい値を超える場合には、この2点を直線で結ばないものとするのである。この距離のしきい値はあらかじめ決められた値である。
この距離のしきい値の決め方の一例としては下記のようなものがある。溶接ガンを開いた状態でワークに沿って直線を移動させるときの速度は、ワークから溶接ガンを離して移動させる場合よりも遅い。一方、溶接ガンをワークから引き抜いて再び次の溶接点へ入れる場合は、ワークから離れているときの移動速度は速いものの、溶接ガンの引き抜きおよびワークへの進入に時間がかかる。このため、多くの場合は、ワークから離れて移動できる距離が長くなれば高速で移動させることができる距離も長くなる。したがって、このような移動動作にかかる時間を考慮して、そのままワークに沿って直線的に移動させるよりも、いったん引き抜いた方が早くなるような距離をあらかじめ求めておいて、それを距離のしきい値にするとよい。
(2)2つの溶接点の加圧方向の角度は、ワークであるパネル表面に対する角度である(図示α1およびα2)。2つの溶接点の加圧方向の角度α1およびα2が違う場合、溶接ガンの角度を変えなければならない。その場合、溶接ガンの角度変更に時間がかかることがある。溶接ガンの角度変更に時間がかかる状況としては、たとえばワーク近傍での動作となるため高速回転ができない場合である。またロボットアーム先端の軸だけでは角度を変更できずに、ロボットの他の軸の動作も伴う場合も時間がかかる。このような場合を想定して、2点のそれぞれの加圧方向の差が、あらかじめ設定した角度のしきい値未満の場合にはこの2点を直線で結び、しきい値以上の場合には直線で結ばないものとするのである。つまり、α1−α2<角度のしきい値の場合に直線で結ぶこととするのである。
この角度のしきい値はあらかじめ決められた値であるが、最も好適には、溶接ガンの角度を変更せずに、2つの溶接点を溶接できることである(つまり、2枚のパネルを溶接する場合の加圧角度の許容値はパネルに対して垂直を0度とすれば前後45度程度(−22.5〜22.5度)である。したがって、最も好適には、2点の加圧方向の角度の差が45度を角度のしきい値とすればよいことになる。また、多少であれば溶接ガンを回転させてもさほど時間はかからないので、ガンの回転も考慮して決めてもよい。
しかし、たとえば加圧方向が2点で逆になる場合、すなわち溶接ガンを180度の回転する必要がある場合は、ワークを溶接ガンの間に挟んで回転させることは不可能である。したがって、溶接ガンの回転が不可能となる角度、すなわち、溶接ガンの回転動作によりワークと溶接ガンが接触するような角度変更を伴う場合は、直線的に結ばないこととする。したがって、角度のしきい値は、少なくともワークと溶接ガンが接触しない角度変更の範囲の角度であり、好ましくは次の溶接点へ向かう時間で角度を変えられる角度範囲であり、より好ましくは角度変更をしなくても溶接可能な角度である。
(3)2つの溶接点の溶接ガン進入方向の角度は、溶接ガンの進行方向に対してワークの外から溶接点へ向けて溶接ガンを進入させる角度である(図示β1およびβ2)。2つの溶接点を直線で結んで移動させる場合、この進入角度は変更しない方が都合がよい。一方、この角度が大きく異なる場合、ロボットアーム先端の軸だけでは、溶接ガンの向きを変えることができなくなるので時間がかかることになる。そこで、進入角度が大きく違う場合は、直線的に結ばないこととするのである。この進入角度についてもしきい値を設けておいて、そのしきい値未満の場合には直線的に結び、しきい値以上の場合には直線的に結ばないこととする。つまり、β1−β2<進入角度のしきい値のとき直線的に結ぶこととするのである。
この進入角度のしきい値は、たとえば、溶接ガンの向きを変えるための動作時間が直線距離を移動する時間より大きくなるような角度変更となるような角度を進入角度のしきい値とする。
これら(1)〜(3)の溶接点間の距離、加圧方向の角度、ガン進入方向の角度などのしきい値は、いずれも例示した以外に、溶接経路設計者の経験によって導くようにしてもよい。
このような直線経路が成立するか否かを判断することで干渉チェックなどを実行する必要がなくなる。
コンピューター11は、S4において2つの溶接点間が直線的に結べるか否かを調べた結果、直線的に結べるとなった場合(S5:YES)は、その直線経路の成立性を調べる(直線経路成立性チェック)(S6)。このS6においては、直線経路における溶接ガンとワークとの干渉チェックも行っている。この直線経路成立性チェックの詳細手順は後述する。
一方、コンピューター11は、S4において2つの溶接点間が直線的に結べるか否かを調べた結果、直線的に結べないとなった場合(S5:NO)は、その選択中の2つの溶接点を直線では結べない溶接点として記憶しておき(S20)、S2へ戻る。そしてコンピューター11は、このステップで次の溶接点があれば(S2:YES)、次の溶接点を選択する(S3)。この段階で、以前S3で選択された溶接点と今回S3で選択された溶接点とが2つの溶接点ということになる。そしてコンピューター11は以降の処理を継続する。
コンピューター11は、S6による直線経路成立性チェックの結果、成立と判断した場合(S7:YES)、その2つの溶接点間は直線的に結べる経路として記憶する(S8)。そしてコンピューター11は、S2へ戻り、以降の処理を継続する。
一方、コンピューター11は、S6による直線経路成立性チェックの結果、成立と判断した場合(S7:NO)、その2つの溶接点を直線では結べない溶接点として記憶しておき(S20)、S2へ戻り、以降の処理を継続する。
コンピューター11は、S2において、次の溶接点がない(S2:NO)となった場合には、S20で記憶した溶接点があるか否かを判断し、ここで記憶した溶接点がない場合(S9:NO)、すなわち、直線的に結べなかった2つの溶接点が無ければ、すべての溶接点が直線的に結ばれた経路となるので、これを最終的な溶接経路として記憶する(S10)。そして処理は終了となる。
一方、S20で記憶した経路がある場合は(S9:YES)、コンピューター11は、S10で直線的に結べなかった2つの溶接点に対して別の経路を求める(S30)。この別経路の作成については後述する。コンピューター11は、S30による別経路作成後、最終的な経路を記憶して(S10)、すべての処理を終了する。
次に、図3を参照して溶接点間を直線的に結ぶ経路の成立性を調べる手順を説明する。
この手順は、上述したメインフローのS6のサブルーチンであり、直線的に結ぶ経路を作成する対象となった溶接点間の成立性をチェックする手順である。
基本的には、直線的経路が成立するならばその経路を採用し、そうでなければ成立しないものとすることになる。
まず、コンピューター11は、干渉チェックトレランスを設定する(S61)。干渉チェックトレランスとは、干渉したと判断する基準値であり、干渉チェックの際に対象物同士がどの程度離れていればよいかを規定する距離(クリアランス)である。
詳細は後述するが、本手順においては、干渉チェックの手順において、はじめはクリアランスを大きくしておき、干渉していると判断された場合には、クリアランスを徐々に小さくして繰り返し干渉チェックしている(つまり対象物同士の間隔を狭くしてチェックし直している)。このため、事前に設計者によってクリアランスの値は、大きな値から順に小さな値までが設定されている(縮小割合を設定しておいてもよい)。
また、本実施形態では、干渉チェックする場所を複数の領域に分けて、各領域に適したクリアランスを設定している。さらにクリアランスの縮小量は、干渉チェックを行う対象物ごとに違えている。このため領域と対象物ごとにクリアランスの値と縮小した値があらかじめ設定されている(コンピューター11に記憶させている)。そしてこのS61では、クリアランスが最小値になるまで(S73)、順にS61の処理を行うごとに設定されるのである。
なお、本手順では、後述するように干渉ありとされた場合に、クリアランスを小さくして繰り返すことになるが、あらかじめ決められた最小クリアランスに到達したか否かにより繰り返すか否かを判断している(S73)。したがって、繰り返しの回数は設定する必要はない。なお、これに代えて、クリアランスを所定の割合で減らすこともできる。そのような場合には、繰り返し回数を決めてその回数干渉チェックを行った後、繰り返しは終了となる(したがって、この場合、繰り返し回数をカウントする必要があるので、たとえばS61を処理した回数をカウントするとよい)。
次に、溶接点の加圧方向と逆方向に距離を変えながら逃げ点を設定する(S62)。これは2つの溶接点のそれぞれ対して行う。図7および図8は逃げ点を説明する説明図である。
図7に示すように、逃げ点は、通常、加圧方向と逆側に設定される。
図8(a)に示すように、サーボガン(溶接ガン)200は、可動部201と固定部202からなるハンド形状をしている。可動部201と固定部202には溶接チップ201aおよび202aが設けられている。ここでは溶接チップ201aおよび202aの部分を溶接ガン先端部ともいう。その他の部分は先端部以外という。また、図示しないが、干渉チェックの際にはこの溶接ガンが取り付けられているロボットの各部も干渉チェックの対象となる。
このようなサーボガン(溶接ガン)200は、溶接時加圧することでワーク100に接触するが、次の移動のために溶接チップをワークから離す必要がある。図8(b)に示すように、このワーク100から溶接チップ201aおよび202aが離れた状態の時に、固定部側の位置が逃げ点である。また、ワークの溶接点表面からこの逃げ点までの距離が逃げ点距離ngである。
逃げ点位置は、たとえば逃げ点距離ngとして最初10mmなど(最も使用される距離)に設定する。そして干渉チェックにより成立しなければ、逃げ点位置を少しずつ(たとえば1mmずつ)下げて(逃げ点距離ngを広くして)行くことになる(S72)。溶接点と逃げ点距離ngは溶接ガンの最大開き量(ストローク)を超えることはできない。これは逃げ点位置を下げれば(逃げ点距離ngを広げれば)、当然に、溶接ガンを開いた状態において可動部側の溶接チップ201aとワークとの距離が短くなる。このため逃げ点距離ngは溶接ガンの最大開き量(ストローク)を超えることはできず、最大開き量が逃げ点位置を設定する際の限界値になる(ただし、溶接する板厚や、最大開き時に可動部側の溶接チップ201aとワークとの接触しないようにすることを考慮すると、逃げ点位置を設定する際の限界値は、最大開き量よりも幾分(たとえば1mm程度)少なく設定することになる)。
続いて、コンピューター11は、最大開き量(ストローク)の違う溶接ガンを設定する(S63)。開き量は溶接ガンの種類によって異なる。たとえば一般的な溶接ガンの場合、34mm、60mm、80mm、…というような値であり、これらはあらかじめ設定しておく(コンピューター11に記憶しておく)。最初に34mmの溶接ガンを設定し、次に60mmの溶接ガン、次に80mmの溶接ガンなどと徐々に大きな溶接ガンとなる順で設定することになる。これは最も大きな開き量の溶接ガンとなるまで(S71)まで繰り返すことになる。
この溶接ガンの開き量を考慮して溶接点間の経路を作成することにより、直線的に結ぶ経路を高い確率で作成することができるようになる。
コンピューター11は、S61〜63の後、干渉チェックを行う(S64)。干渉チェックの手順は後述する。
コンピューター11は、干渉チェックの結果、干渉がなければ(S65:YES)、この経路を直線経路として成立することを一時記憶(S66)してメインルーチンへ戻る。その後、メインルーチンではS7がYESとなり、以降の処理を継続することになる。
一方、干渉チェックの結果、干渉するとなった場合(S65:NO)、コンピューター11は、この時点での溶接ガンの開き量があらかじめ設定されている開き量最大の溶接ガンか否かを判断する(S71)。溶接ガンの開き量については前述のとおりである。
コンピューター11は、S71の判断の結果、開き量が最大の溶接ガンが設定されていなければ、S63へ戻り、現在設定されている溶接ガンよりも次に大きな開き量の溶接ガンを設定する。そして以降の処理を継続する。
コンピューター11は、S71において、最大開き量の溶接ガンであると判断した場合(S71:YES)、続いて、逃げ点が前述のとおり、あらかじめ設定されている最も低い位置まで下げられているか否かを判断する(S72)。コンピューター11は、S72の判断の結果、この時点で逃げ点が最も低い位置(最下)に設定されていなければ、S62へ戻り現在設定されている逃げ点よりも低い位置となる逃げ点を設定する。そして以降の処理を継続する。
コンピューター11は、S72において、最下の逃げ点となっていると判断した場合は(S72:YES)、続いて、クリアランスが前述のとおり、あらかじめ設定されている最も小さな値か否かを判断する(S73)。コンピューター11は、S73の判断の結果、この時点でクリアランスが最も小さな値に設定されていなければ、S61へ戻り現在設定されている逃げ点よりも低い位置となる逃げ点を設定する。そして以降の処理を継続する。
コンピューター11は、S73において、クリアランスが最も小さな値に設定されていると判断した場合は、その時点で、これ以上干渉を回避できる各種設定は存在しないことになるので、この直線経路は不成立であることを一時記憶する(S74)。そして、メインルーチンへ戻る。その後、メインルーチンではS7がNOとなり、以降の処理を継続することになる。コンピューター11は、S73において、クリアランスが最小値ではないと判断した場合は、後述する干渉チェックにおいて干渉チェックありとされた対象物に対するクリアランスを小さくするように指示し(S75)、S61へ戻ることになる。S61においてコンピューター11は、後述する干渉チェックにおいて干渉チェックありとされた対象物に対するクリアランスを小さくするように設定することになる。その後処理を継続する。
次に、図4を参照して干渉チェックの手順について説明する。
まず、コンピューター11は、干渉チェックする経路を領域分けする(S641)。ここでは直線経路上の各溶接点に着目して領域分けしている。(a)溶接点領域、(b)溶接点付近領域、(c)自由空間領域(すなわち溶接点付近領域外の領域)の3つの領域に分割している。図9は溶接点領域と溶接点付近領域を説明するためのワーク平面図である。
(a)溶接点領域は、溶接チップがワークと接するごく近傍の部分であり、ここでは逃げ点距離(ワーク表面から逃げ点までの距離)を打点中心からの半径とする円周の範囲としている。この溶接点領域は溶接ガンの溶接作業によってワークと接する部分を含んでいるため、溶接ガン先端部とワークとの干渉チェックは行わない。ただし、溶接作業中でも治具・設備とは干渉してはならない。ガン先端部と治具・設備とはできるだけ接近した位置を通した方が効率が良い。このためこの領域ではできるだけ少ないクリアランスで干渉チェックすることになる(ここで用いるクリアランスについては後述する)。
(b)溶接点付近領域は、溶接点領域よりも外側であるが溶接点に近い部分である。ここでは、溶接点領域よりも外側で、かつ、少なくとも溶接チップ(すなわち溶接ガン先端部)の間にワークが侵入する位置までの距離を打点中心からの半径とした円周の範囲としている。言い換えると、少なくとも打点中心から溶接ガン侵入方向に引いた線上の打点中心からワーク端までの距離を半径とする円周範囲である(図8では侵入方向のワーク端までとして示している)。
溶接点付近領域は、このような円周範囲以上を含む領域とすればよい。しかも溶接点付近領域は、溶接チップの間にワークが侵入するぎりぎりの位置に設定する必要はない。しかし、あまり広いと後述する自由空間と変わらないものとなってしまう。そこで、本実施形態では、溶接ガン先端部を溶接点へ向かわせるために方向転換する位置または速度変化する位置であるアプローチ点まで拡大することとしている。
この溶接点付近領域は、溶接ガン先端部を溶接のためにワークに接近する必要があるため、ここでもできるだけ少ないクリアランス(詳細後述)にすることが好ましい。なお、ガン先端部以外は、大きめのクリアランスを確保でき、高速動作でも干渉しないようすることが好ましい。
(c)自由空間は、上記(a)および(b)以外の領域である(不図示)。したがって、溶接点付近領域よりも外側で、ロボットの可動範囲内の領域となる。この自由空間では、溶接ガン先端部とワークが離れるため、溶接点付近領域よりも大きなクリアランスをとって、ロボットの高速動作ができるようにする。
次に、コンピューター11は、経路上に他の溶接点がないか否か調べる(S642)。その結果、他の溶接点がなければ(S643:YES)、そのまま次のS644へ進む。一方、経路上に他の溶接点がある場合((図8の場合)S643:NO)、コンピューター11は、検出した他の溶接点を無効にする(ないものとする)(S650)。その後、次のS644へ進む。これにより、他の溶接点に設定されている溶接点領域は存在しないものとなる。
従来の技術では、経路上に存在するが溶接動作を行わない溶接点についても、そのまま溶接点領域とされていたため干渉チェックされないこととなっていた。本実施形態ではS642の処理によって、このような溶接点であっても干渉チェックを行えるようにしている。
経路上に他の溶接点がないか否か調べる範囲は、直線経路を中心線とした溶接ガン先端部の到達範囲とする。これは、溶接ガン先端部の到達範囲内に他の溶接点がある場合、仮に、従来のようにその溶接点の干渉チェックを行わないとなれば、その部分に障害物があるとチェックしないことになってしまう。そこで、このような直線経路を中心線とした溶接ガン先端部の到達範囲に他の応接点がないか否を調べることで、このようなチェック漏れを回避できる。
次に、コンピューター11は、干渉チェック対象物を取得する(S644)。干渉チェックの対象物は、ロボット、溶接ガン先端部、そして溶接ガンの先端部以外、ワーク(パネル)、その他の治具・設備である。具体的には、(i)ロボットおよびガン先端部以外対ワーク、(ii)ロボットおよびガン先端部以外対治具・設備、(iii)溶接ガン先端部対ワーク、(iv)溶接ガン先端部対治具・設備の4通りの干渉チェックを行う。このS644においては、この(i)から(iv)の順に対象物のデータを読み出すことになる(後述S648)。なお、ワーク対治具・設備の干渉チェックは行わないが、ロボット対溶接ガン先端部の干渉チェックは行っても良い。
次に、コンピューター11は、S61で設定された領域、対象物ごとのクリアランス値を読み込んで設定する(S645)。
ここで、干渉チェックに使用するクリアランスの詳細について説明する。クリアランスの値は、基本的に下記のような考え方により決定している(あらかじめ設定している)。
各領域、対象物ごとに、適切な量であってかつ少しで大きなクリアランスが確保できるように、徐々に小さな値となるようにしている。
まず、(a)溶接点領域のクリアランスは、溶接ガン先端については、ワークとの干渉チャックは行わないものの、他の対象物との干渉チェックを行う。溶接ガン先端と他の対象物(治具・設備など)とのクリアランスはワークと常に近接した位置を移動させるため、ごく小さなクリアランスとしている。たとえば、最大で逃げ点距離程度である(溶接ガンが変更された場合は当然この値も変更される)。また、この領域はワークに近接しているため移動速度も遅いので、このようなごく小さなクリアランスが確保できれば問題ない。また、この領域における溶接ガン先端以外の部分やロボット部分のクリアランスは、移動中干渉しないように大きめに取ることが好ましい。しかし、先に説明したように、この部分での動作は遅いため自由空間ほど大きく取る必要はない。たとえば、ロボットの姿勢変更や溶接ガンの移動中における振動によって接触しない値に、最小の安全量を見込んだ程度を最小値とする。一方、最大値は特に限定されないが経験的に十分な値とすればよい。
次に、(b)溶接点付近領域は、やはりワークと近接した領域であり、溶接ガン先端(溶接チップ部分)がワークなどに接触することがあってはならない。一方で、この領域は溶接ガンの先端部分以外の部分であっても可動部と固定部の間にワークが存在する。このため、この領域における溶接ガン先端部とワークとのクリアランスも、ごく小さな値とする。たとえば、最大で逃げ点距離程度である。また、溶接ガン先端部とワーク以外の他の対象物(冶具・設備など)とのクリアランスは先端部とワークとのクリアランスよりも大きくするものの、自由空間ほど大きくする必要はない(小さめのクリアランス)。これは、移動速度が遅いため、先端部の移動時における振動も少ないので、逃げ点距離を最小値とし、最大値は、経験的に他の対象物と接触することの十分な値とすればよい。
また、この領域における溶接ガン先端以外の部分やロボット部分のクリアランスは、移動中干渉しないように大きめに取ることが好ましい。しかし、この部分での動作は遅いため自由空間ほど大きく取る必要はない。たとえば、ロボットの姿勢変更や溶接ガンの移動中における振動によって接触しない値に、最小の安全量を見込んだ程度を最小値とする。一方、最大値は特に限定されないが経験的に十分な値とすればよい。
次に、(c)自由空間については、高速で溶接ガンおよびロボットの姿勢変化し、移動する。このため、すべての対象物に対して高速移動時に接触しない大きめのクリアランスを取る必要がある。これは、溶接ガンとワークの間も、溶接ガンとワーク以外の他の対象物(治具・設備など)の間も同じである。たとえば、ロボットの姿勢変化や溶接ガンを高速移動したときの振動などによって干渉しない程度の値に、安全量を見込んだ程度とする。また、経験上必要となる値としてもよい。
以上のような考え方から、各領域、および対象物についてのクリアランスをまとめたものを表1〜3に示した。
なお、溶接点間を直線的に結ぶ場合は途中経路が自由空間にあっても、ワークに接近しているケースが多いため、溶接点領域付近のクリアランスを使用する。溶接点からいったん引き抜く経路の場合は、溶接チップの位置によって領域を決め、使用するクリアランスを決める。
このようなクリアランス値を使用することにより、ガンがワークに近づき溶接を行う際は、ガンがワークに接近でき、ロボット・ガン(先端部以外)はワーク、治具・設備から規定のクリアランスを確保した経路を作成することができる。
図4へ戻り干渉チェック手順の説明を続ける。
コンピューター11は、S644およびS645により干渉チェックする対象物と、それらのクリアランスを読み込んで設定したのち、干渉チェックを行う(S646)。
干渉チェックは、経路上に存在する対象物すべてについて行う。たとえばこの段階で溶接点1から溶接点2まで直線経路が設定されているとする。そして対象物として溶接ガン先端部とワークが指定されていれば、溶接点1から溶接点2まで直線経路全体におけるワークの形状に対して、溶接ガン先端部が干渉しないか否かをチェックすることになる。同様に、対象物として溶接ガン先端部とワーク以外の対象物が指定されているとする。しかも、溶接点1から溶接点2までには、ワーク以外の対象物が複数あるとした場合、それら複数の対象物と溶接ガン先端部との干渉をチェックするのである。この時クリアランスはS645で読み込んだ値である。
S646において、干渉がなければ(S647:YES)、次の対象物(上述(i)から(iv)の順)があるか否かを判断する(S648)。ここで次の対象物がなければ(S648:YES)、干渉なしを一時記憶して(S649)、S65へ戻る。その後S65では直線経路成立となる。
一方、次の対象物ある場合(S648:NO)、S644へ戻り次の対象物を取得することになり、以降の処理を継続する。
S647において、干渉ありとなった場合(S647:YES)は、この段階で干渉ありを一時記憶して(S652)、S65へ戻る。その後S65ではNOとなるので、その後は既に説明したように、S71〜73の各判断に基づいて処理が継続されることになる。特に、溶接ガンの交換や逃げ点の変更でも干渉が回避できない場合には、S61において、クリアランスを小さな値に変更することになる。そして、さらに継続して干渉チェックを行うことになるのである。
ここで、クリアランスを段階的に小さくする理由をさらに説明する。
干渉チェックを行うと、あるクリアランスでは成立する経路が求まらない場合がある。特にロボットおよび溶接ガン先端部以外とワーク(パネル)・治具・設備のクリアランスは大きめにしているため、治具・設備が密集し、空間が狭い場合に大きめのクリアランスを確保できない場合が多い。そのため、ガン先端部のクリアランスを確保して、経路を求めるため、ロボット・ガン先端部以外のクリアランスを少しずつ下げて、成立する経路を見つけて行く(クリアランスの段階的に小さくあるように変化させる)。これは、すなわちロボットおよび溶接ガン先端部以外と他の対象物のクリアランスは充分確保したいがそれが確保できない場合に、経路が作成できなくなるよりも、クリアランスが少し狭くても経路を作成できる方を優先するためである。
このクリアランス変化は経路を見つけるための最終手段として行うものである。したがって、既に説明した手順のとおり、溶接ガンの開き量、逃げ点の変更の後に、クリアランスの小さくする指示を入れている(S73およびS75の処理)。つまり溶接点間を直線的に結ぶ経路の作成では、ガン開き量、逃げ点の位置を変えても充分なクリアランスが確保できない場合にクリアランスを小さくしているのである。この順番にしないと最初から小さいクリアランスでチェックすることと同じになってしまう。つまり、この順にすることで、初めからきわどいクリアランスでの経路作成ではなく、より広いクリアランスとなるように経路作成ができるのである。
また段階変化では大きめのクリアランスを徐々に小さくしていき、それ以外のクリアランスはそのままであるため、小さくしたクリアランスの値とそれ以外のクリアランスの値が同じになる時点がある。この場合、(i)その時点をクリアランス段階変化の限界とし、これ以上クリアランスを小さくすることができないとするか、(ii)これ以降、すべてのクリアランスを同時に小さくして行き(ロボットとガン先端クリアランスの逆転現象が発生しないように)、ある限界値まで行うかなどとするとよい。どちらを採用してもよいが、最終的にはすべてが極小のクリアランスで経路を作成することになる。
このようにすることにより、充分なクリアランスを確保できる経路を最優先で作成し、それで作成できない場所でも未干渉の経路を作成できる確率が大きくなる。
以上の説明した手順によって溶接点間の経路を作成することにより、ロボットおよび溶接ガンと、ワーク、冶具や設備などとの間で、適切なクリアランスの距離(間隔)を設定することができ、しかも直線という溶接ガンの移動距離が短い経路を自動的に作成することができる。
次に、直線経路が作成できない場合について説明する。つまり前述したS20により、2つの溶接点を結べない溶接点として記憶した場合の処理である。
ここではこのような直線経路が作成できない場合に、別経路を自動作成する一例を説明する。別経路作成に際しては、コンピューター11が後述する手順を実行することで別経路作成部として機能することになる。
図10は、直線経路ができない場合の経路作成のイメージ図である。ここでは(a)初期状態のように溶接点1〜4があるとする。この(a)状態から溶接経路を作成した場合に、仮に(b)に示しように、溶接点1と2、3と4が直線経路を作成でき、溶接点3と4は直線経路を作成できなかったとする。このような場合に、(c)に示すように、溶接点3と4の間に直線ではない別経路を作成するのである。
このためには、一端溶接ガンをワークから引き抜く必要があるので、引き抜き経路を作成することになる。引き抜き経路は、溶接ガンを確実に溶接点およびワーク(パネル)から離すことができるように、溶接点から下がり、ワーク端からその外側へ引き抜く経路が必要である。
さらに、別経路として、引き抜き経路間を接続する回避経路が必要となる。すなわち、別経路は引き抜き経路と回避経路からなる。ここでは、さらに、開始側原位置〜最初の溶接点、最後の溶接点〜終了側原位置も作成する。回避経路は溶接ガンが既にワークから離れているため、干渉を回避できる経路であればよい。
引き抜き経路の作成手順を説明する。図11は引き抜き経路の作成手順を説明するフローチャートである。
まず、コンピューター11は、引き抜き経路を作成する溶接点を1つ取り出す(S201)。これは、S20で記憶した2つの溶接点のうちの1つとなる。
次に、コンピューター11は、引き抜き経路を作成する(S202)。この処理の詳細は後述する。
次に、コンピューター11は、引き抜き経路を作成できたか否かを判断する(S203)。ここでコンピューター11は、引き抜き経路を作成できたならその経路を採用する(S204)。採用した引き抜き経路は一時記憶しておく。
次に、コンピューター11は、次の引き抜き経路を作成する溶接点がないか検索する(S205)。次の溶接点がなければ(S206:YES)、終了となる。一方、次の溶接点があれば(S206:NO)、S201へ戻り、コンピューター11は、検索により見つかった溶接点を取り出す。その後、コンピューター11は、以降の処理を継続する。コンピューター11は、S203で引き抜き経路作成不能であれば(S203:NO)、その旨を記録して(S207)、次の引き抜き経路を作成する溶接点に移る。S207で記録した引き抜き経路作成不能の点は、すなわち、別経路作成不能の溶接点ということになる。したがって、その旨をコンピューター11において表示して、設計者に知らせるようにする。
次に、引き抜き経路作成手順の詳細を説明する。図12は引き抜き経路の作成手順の詳細を説明するサブルーチンフローチャートである。このフローはS202のサブルーチンである。また、図13は引き抜き経路の作成の際の動作を説明するための説明図である。
まず、コンピューター11は、引き抜き経路の干渉チェックトレランスを設定する(S301)。これには直線的に結ぶ経路を作成する場合と同様に干渉チェックトレランスを設定する。したがって、2回目以降このS301へくるたびに徐々にクリアランスを小さくして行くことになる。そして、コンピューター11は、クリアランスをこれ以上小さくできない場合は(S302:YES)、引き抜き経路作成不能(S312)として、処理を終了する。引き抜き経路作成不能(S312)になればすなわち、別経路の作成自体が不可能となるので、その旨表示してすべての処理を終わるようにしてもよい(以下S312へ来た場合は同様)。一方、S302においてさらにクリアランスを小さくできる場合には、以降の処理を継続することになる。
次に、コンピューター11は、溶接点の加圧方向と逆方向に逃げ点1を設定する(S303)。これも直線的に結ぶ経路を作成する場合と同様に加圧方向と逆方向のある位置に逃げ点を作成する。引き抜き経路の場合、図13(a)に示すように、溶接点直下の逃げ点を「逃げ点1」とする。また2回目以降このS303へくるたびに徐々に逃げ点を下げることになる。そして、コンピューター11は、逃げ点をこれ以上下げることができないと判断した場合は(S304:YES)、引き抜き経路作成不能(S312)として処理を終了する。一方、S304においてさらに逃げ点を下げることができる場合には、以降の処理を継続することになる。
次に、コンピューター11は、逃げ点1から至る逃げ点2を設定する(S305)。「逃げ点2」は、溶接ガンを溶接点から離すための逃げ点である。この時、逃げ点1〜2までの距離を設定する。この距離の初期値は溶接ガンがワークから充分離れる距離とし、初期値で成立しない場合は、2回目以降このS305へくるたびに少しずつ短くしていく。そして、コンピューター11は、逃げ点1から2の距離をこれ以上短くできない場合は(S306:YES)、引き抜き経路作成不能(S312)として処理を終了する。一方、S306においてさらに逃げ点1から2の距離を短くできる場合には、以降の処理を継続する。
次に、コンピューター11は、逃げ点2の方向を設定し、この段階で溶接点〜逃げ点1〜逃げ点2の経路も設定する(S307)。逃げ点2の方向を設定するには、図13(c)に示すように、初期値はワークから垂直に離れる方向とし、初期値で成立しない場合は、逃げ点1を中心とし初期値から角度をつけていく。角度をつける方向(回転方向)は、時計回り、反時計回りのいずれでもよいが、一方に回転させて、不可能の場合には初期値に戻り版端方向に角度をつけるようにしてもよい。
初期値で成立しない場合は、2回目以降このS307へくるたびに角度をつけて行くことになる。コンピューター11は、これ以上回転できなくなれば(S308:YES)、引き抜き経路作成不能(S312)として処理を終了する。一方、S308においてさらに回転可能であれば、以降の処理を継続することになる。
そして、S307においては、ここまでの情報から、溶接点〜逃げ点1〜逃げ点2の経路を設定する。溶接点〜逃げ点1〜溶接点2の経路は、図13(d)に示すように、溶接点〜逃げ点1の経路を設定し、次に、この溶接点〜逃げ点1の経路と直角に逃げ点1〜逃げ点2を作成する。
次に、コンピューター11は、ガン開き量(ストローク)を考慮して、経路の成立性を調べる(S309および310)。これは、直線に結ぶ経路を作成する場合と同様であり、上記までで作成した仮経路(溶接点〜逃げ点1〜逃げ点2)があらかじめ設定した各種開き量のガンにて成立するかを順次調べる。
成立性のチェックは、すなわち、溶接点〜逃げ点1〜逃げ点2の経路において干渉チェックを行うことになる。
すべての開き量の溶接ガンにて成立しなければ、S309に戻ってより開き量の大きな溶接ガンに交換し、成立性のチェックを行うことになる。溶接ガンを交換しても(最も大きな開き量のガンを付けても)、成立しなければ、S307へ戻り逃げ点2の方向を再設定し、成立性のチェックを行うことになる。さらに逃げ点2の方向を再設定しても成立しなければS303へ戻り、逃げ点を下げて成立性のチェックを行うことになる。さらに逃げ点を下げても成立しなければ、S301へ戻りクリアランスを縮小して成立性のチェックを行うことになる。
以上のようにして、ガンの開き量を考慮し、様々な距離・方向で逃げ点2を設定し、経路を探索にすることにより、引き抜き経路を高い確率で作成することができる。
次に、回避経路の作成手順を説明する。図14は回避経路の作成手順を説明するフローチャートである。回避経路は、対象とする2点間(原位置〜最初の溶接点の逃げ点2、直線的に結べなかった経路の引き抜き経路の逃げ点2同士の間、最後の溶接点の逃げ点2〜終了原位置)で作成する。
まず、コンピューター11は、回避経路を作成する点を2つ取り出す(S401)。2つの点は、原位置、上記引き抜き経路作成で作った逃げ点2などである。つまり、原位置から回避経路であれば、最初の溶接点の逃げ点2を取り出す。上記回避経路として作った溶接点3および4の回避経路であれば、溶接点3の逃げ点2と溶接点4の逃げ点2を取り出すことになる。その他の回避経路も同様である。
次に、コンピューター11は、回避経路を作成する(S402)。ここでは、取得した2点間の経路の成立性もチェックするが、基本的にワークから離れている部分であるので、一般的に知られている経路設定を行えばよい。たとえば一般的に知られている経路計画(ロードマップ法など:参考書籍 Robot Motion Planning 著 Latombe 1991版など)を用いて作成することができる。もちろん、本実施形態として説明した干渉チェック方法により行ってもよい。
次に、コンピューター11は、回避経路を作成できたか否かを判断する(S403)。ここで回避経路を作成できたならその経路を採用する(S404)。コンピューター11は、S403で回避経路作成不能であれば(S403:NO)、その旨を記録して(S407)、次の回避経路作成に移る。S407で記録した回避経路作成不能の点は、すなわち、別経路作成不能の溶接点ということになる。したがって、その旨をコンピューター11において表示して、設計者に知らせるようにする。
次に、コンピューター11は、次の回避経路を作成する点がないか検索する(S405)。次の回避経路作成点がなければ(S406:YES)、終了となる。一方、次の回避経路作成点があれば(S406:NO)、S401へ戻り、検索により見つかった回避経路作成点を取り出すことになり、以降の処理を継続する。
図15は、以上説明した引き抜き経路と回避経路作成のイメージ図である。まず図15(a)に示したように引き抜き経路が作成されて、続いて図15(b)に示したように回避経路が作成されることになる。
なお、本実施形態では、別経路を自動作成することとしたが、これはあくまでも一例であり、直線で結ぶことができない2つの溶接点に対しては、設計者によって手動で別経路を作成するようにしても差し支えない。
以上説明した実施形態による効果を説明する。
(1)経路を設定する2つ溶接点の間に、溶接動作しない他の溶接点がある場合、従来であれば、あらかじめ溶接点のある部分に対しては、干渉チェックしないようにしていたが、本実施形態では、このような他の溶接点の領域を無効となるようにした。これにより経路を設定する2つ溶接点の間に、溶接動作しない他の溶接点があっても、確実に干渉チェックを行うことができる。したがって、その経路では溶接を実行しない溶接点があっても、その部分で不用意に溶接ガン先端(特に溶接チップ)がワークと接触するようなことを防止することができる。
(2)溶接点を中心として逃げ点相当の距離を半径とする領域を溶接点領域として設定し、さらに、溶接点中心から、少なくとも溶接ガンの開いた部分にワークが侵入するワーク端までの距離を半径とする溶接点付近領域を設定することとした。このように溶接点に着目してワーク上およびワーク外の領域を設定することで、それぞれに適した干渉チェックを行うことができる。
(3)設定した各領域に対しては、溶接点付近領域内と溶接点付近領域外(自由空間部分)で異なるクリアランスの値を設定することとした。これによりワーク内の領域においては、干渉を回避しつついもより近い位置を移動させることができ、一方、ワーク外においてはより大きなクリアランスとすることで、高速移動に適した干渉チェックを行うことができる。
(4)干渉チェックした結果、干渉ありとなった場合には、その経路におけるクリアランスの値を小さくして再度干渉チェックすることとした。これにより、複雑に入り組んだワーク形状や治具・設備などの配置されている場合などでも、直線的な経路すなわち最短経路を作成することが可能となる。
(5)さらに干渉チェックした結果、2つの溶接点間を直線経路として作成できない場合に、そのような2つの溶接点間は別経路を作成することとした。特に、この別経路の作成において、溶接点の直下に逃げ点1、この逃げ点1からワーク外の位置に逃げ点2を作成するものである。そして、逃げ点2の位置は逃げ点1を中心に回転させて成立する位置を求めることとした。このような別経路の作成により、直線では結ぶことのできない2点間であっても、別経路を自動作成することが可能となる。
以上本発明を適用した実施形態、主に、工具が溶接ガンであり、当該工具により作業する作業点が溶接点である場合について説明した。しかし、本発明は、上記実施形態に限定されない。たとえば、ロボットにより行う作業には、溶接以外の接合も含まれる。接合には、溶接以外に、たとえば、接着、ネジ止め等が含まれる。さらに、作業には、接合以外にも、穴あけ(パンチ)、刻印、染色、マーキング、測定等も含まれる。これらの作業を実行するために、ロボットには様々な工具が取り付けられる。このような各種の工具による作業についても、上記実施形態に説明した作業経路作成装置、作業経路作成手順および作業経路作成プログラムは適用できる。
また本実施形態において説明した手順を含むプログラムは、コンピューター読み取り可能な記録媒体に記憶しておいてもよい。この記録媒体からコンピューターにプログラムをインストールすることで作業経路作成装置としての機能を実施することができる。このような記録媒体としては、特に限定されないが、たとえば、光ディスク(CD−ROM、DVD等)、磁気ディスクなどをあげることができる。また、コンピューターにネットワークによって接続されているサーバーなども記録媒体となる。
本発明は特許請求の範囲によって解釈されるものであって、溶接の適用例である上述した実施形態に限定的に解釈されるものではない。
さらに、本出願は、2013年9月18日に出願された日本特許出願番号2013−193537号に基づいており、それらの開示内容は、参照され、全体として、組み入れられている。
1〜4 作業点(溶接点)、
11 コンピューター、
12 サーバー、
13 ネットワーク、
14 ロボットコントローラー、
100 ワーク(パネル)、
200 サーボガン(工具:溶接ガン)、
201 可動部、
202 固定部、
201a、202a 溶接チップ。

Claims (22)

  1. 複数の作業点から2つの作業点を選択して当該2つの作業点を結ぶ経路を設定する作業点選択部と、
    少なくとも前記2つの作業点を除く前記複数の作業点に対して干渉チェックの際に干渉チェックしない作業点領域を設定する領域設定部と、
    前記選択した2つの作業点の間に他の作業点がある場合に、当該他の作業点に設定された前記作業点領域は無効とする作業点領域無効部と、
    前記2つの作業点を結ぶ経路を干渉チェックする干渉チェック部と、
    を有する作業経路作成装置。
  2. 前記作業点は、複数の部材を接合する接合作業を行うための接合点である請求項1に記載の作業経路作成装置。
  3. 前記接合点は溶接点である請求項2に記載の作業経路作成装置。
  4. 前記領域設定部は、溶接点を中心として逃げ点相当の距離を半径とする領域を前記溶接点領域として設定し、
    さらに、溶接点中心から、少なくとも溶接ガンの開いた部分にワークが侵入するワーク端までの距離を半径とする溶接点付近領域を設定する請求項3に記載の作業経路作成装置。
  5. 前記干渉チェック部は、干渉チェックの際に溶接ガン先端部とワークとのクリアランスとして、前記溶接点付近領域内と前記溶接点付近領域外の領域とで異なるクリアランスの値を設定して干渉チェックする請求項4に記載の作業経路作成装置。
  6. 前記干渉チェック部は、干渉チェックした結果、干渉ありとなった場合、その経路におけるクリアランスの値を小さくして再度干渉チェックする請求項1〜5のいずれか一つに記載の作業経路作成装置。
  7. 前記干渉チェック部による干渉チェックした結果、前記選択した2つの作業点間を直線の経路として作成できない場合に、前記選択した2つの作業点間を別の経路を作成する別経路作成部をさらに有し、
    前記別経路作成部は、前記別経路を作成する作業点の直下に逃げ点1を作成し、当該逃げ点1からワーク外の位置に逃げ点2を作成するものであり、さらに前記逃げ点2の位置は前記逃げ点1を中心に回転させて成立する位置を求める請求項1〜6のいずれか一つに記載の作業経路作成装置。
  8. 複数の作業点から2つの作業点を選択して当該2つの作業点を結ぶ経路を設定する段階と、
    少なくとも前記2つの作業点を除く前記複数の作業点に対して干渉チェックの際に干渉チェックしない作業点領域を設定する段階と、
    前記選択した2つの作業点の間に他の作業点がある場合に、当該他の作業点に設定された前記作業点領域は無効とする段階と、
    2つの作業点を結ぶ経路を干渉チェックする段階と、
    を有する作業経路作成方法。
  9. 前記作業点は、複数の部材を接合する接合作業を行うための接合点である請求項8に記載の作業経路作成方法。
  10. 前記接合点は溶接点である請求項9に記載の作業経路作成方法。
  11. 前記干渉チェックしない溶接点領域を設定する段階は、溶接点を中心として逃げ点相当の距離を半径とする領域を前記溶接点領域として設定し、
    さらに、溶接点中心から、少なくとも溶接ガンの開いた部分にワークが侵入するワーク端までの距離を半径とする溶接点付近領域を設定する請求項10に記載の作業経路作成方法。
  12. 前記干渉チェックする段階は、干渉チェックの際に溶接ガン先端部とワークとのクリアランスとして、前記溶接点付近領域内と前記溶接点付近領域外の領域とで異なるクリアランスの値を設定して干渉チェックする請求項11に記載の作業経路作成方法。
  13. 前記干渉チェックする段階は、干渉チェックした結果、干渉ありとなった場合、その経路におけるクリアランスの値を小さくして再度干渉チェックする請求項8〜12のいずれか一つに記載の作業経路作成方法。
  14. 前記干渉チェックする段階による干渉チェックした結果、前記選択した2つの作業点間を直線の経路として作成できない場合に、前記選択した2つの作業点間を別の経路を作成する段階をさらに有し、
    別の経路を作成する段階は、前記別経路を作成する作業点の直下に逃げ点1を作成し、当該逃げ点1からワーク外の位置に逃げ点2を作成するものであり、さらに前記逃げ点2の位置は前記逃げ点1を中心に回転させて成立する位置を求める請求項8〜13のいずれか一つに記載の作業経路作成方法。
  15. 複数の作業点から2つの作業点を選択して当該2つの作業点を結ぶ経路を設定するステップと、
    少なくとも前記2つの作業点を除く前記複数の作業点に対して干渉チェックの際に干渉チェックしない作業点領域を設定するステップと、
    前記選択した2つの作業点の間に他の作業点がある場合に、当該他の作業点に設定された前記作業点領域は無効とするステップと、
    前記2つの作業点を結ぶ経路を干渉チェックするステップと、
    をコンピューターに実行させて作業を行う経路を作成する作業経路作成プログラム。
  16. 前記作業点は、複数の部材を接合する接合作業を行うための接合点である請求項15に記載の作業経路作成プログラム。
  17. 前記接合点は溶接点である請求項16に記載の作業経路作成プログラム。
  18. 前記干渉チェックしない溶接点領域を設定するステップは、溶接点を中心として逃げ点相当の距離を半径とする領域を前記溶接点領域として設定し、
    さらに、溶接点中心から、少なくとも溶接ガンの開いた部分にワークが侵入するワーク端までの距離を半径とする溶接点付近領域を設定する請求項17に記載の作業経路作成プログラム。
  19. 前記干渉チェックするステップは、干渉チェックの際に溶接ガン先端部とワークとのクリアランスとして、前記溶接点付近領域内と前記溶接点付近領域外の領域とで異なるクリアランスの値を設定して干渉チェックする請求項18に記載の作業経路作成プログラム。
  20. 前記干渉チェックするステップは、干渉チェックした結果、干渉ありとなった場合、その経路におけるクリアランスの値を小さくして再度干渉チェックする請求項15〜19のいずれか一つに記載の作業経路作成プログラム。
  21. 前記干渉チェックするステップによる干渉チェックした結果、前記選択した2つの作業点間を直線の経路として作成できない場合に、前記選択した2つの作業点間を別の経路を作成するステップをさらに有し、
    別の経路を作成するステップは、前記別経路を作成する作業点の直下に逃げ点1を作成し、当該逃げ点1からワーク外の位置に逃げ点2を作成するものであり、さらに前記逃げ点2の位置は前記逃げ点1を中心に回転させて成立する位置を求める請求項15〜20のいずれか一つに記載の作業経路作成プログラム。
  22. 請求項15〜21のいずれか一つに記載の作業経路作成プログラムを記憶したコンピューター読み取り可能な記録媒体。
JP2015537601A 2013-09-18 2014-08-11 作業経路作成装置、作業経路作成方法、作業経路作成プログラム、および記録媒体 Expired - Fee Related JP6090463B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013193537 2013-09-18
JP2013193537 2013-09-18
PCT/JP2014/071211 WO2015040980A1 (ja) 2013-09-18 2014-08-11 作業経路作成装置、作業経路作成方法、作業経路作成プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
JPWO2015040980A1 JPWO2015040980A1 (ja) 2017-03-02
JP6090463B2 true JP6090463B2 (ja) 2017-03-08

Family

ID=52688637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015537601A Expired - Fee Related JP6090463B2 (ja) 2013-09-18 2014-08-11 作業経路作成装置、作業経路作成方法、作業経路作成プログラム、および記録媒体

Country Status (2)

Country Link
JP (1) JP6090463B2 (ja)
WO (1) WO2015040980A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102660168B1 (ko) * 2023-01-30 2024-04-24 주식회사 마키나락스 작업 수행 로봇의 작업 경로의 길이를 계산하는 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6766339B2 (ja) * 2015-11-02 2020-10-14 セイコーエプソン株式会社 ロボットおよびロボットシステム
JP6838028B2 (ja) * 2018-10-31 2021-03-03 ファナック株式会社 自動プログラム修正装置および自動プログラム修正方法
JP7460356B2 (ja) * 2019-11-13 2024-04-02 ファナック株式会社 移動経路生成装置
JP7396062B2 (ja) * 2020-01-15 2023-12-12 村田機械株式会社 制御値決定装置
JP7320629B2 (ja) * 2020-01-21 2023-08-03 本田技研工業株式会社 溶接設備の干渉回避方法及び溶接設備の制御装置
CN113671990B (zh) * 2021-08-10 2024-04-26 广州极飞科技股份有限公司 作业路径设置方法、装置、设备和存储介质
JP7542495B2 (ja) 2021-08-11 2024-08-30 株式会社Jsol ロボットティーチングデータ作成システム及びプログラム
CN114019980A (zh) * 2021-11-09 2022-02-08 上海景吾智能科技有限公司 一种在同楼层调度多机器人的智能方法及系统
CN116921867B (zh) * 2023-09-15 2023-12-05 深圳市悦和精密模具有限公司 一种注塑模具焊接装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000061880A (ja) * 1998-08-27 2000-02-29 Mazda Motor Corp ロボット動作の干渉チェック方法
JP2001328092A (ja) * 2000-05-22 2001-11-27 Mitsubishi Heavy Ind Ltd ロボットの干渉回避装置及び方法
JP3853752B2 (ja) * 2003-04-22 2006-12-06 三菱電機株式会社 シミュレーション装置
JP5152434B2 (ja) * 2010-04-27 2013-02-27 三菱電機株式会社 数値制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102660168B1 (ko) * 2023-01-30 2024-04-24 주식회사 마키나락스 작업 수행 로봇의 작업 경로의 길이를 계산하는 방법

Also Published As

Publication number Publication date
WO2015040980A1 (ja) 2015-03-26
JPWO2015040980A1 (ja) 2017-03-02

Similar Documents

Publication Publication Date Title
JP6090463B2 (ja) 作業経路作成装置、作業経路作成方法、作業経路作成プログラム、および記録媒体
US8315738B2 (en) Multi-arm robot system interference check via three dimensional automatic zones
JP5980867B2 (ja) ロボットをオフラインで教示するロボット教示装置
JP6370821B2 (ja) ロボットプログラムの教示を行うロボットプログラミング装置
JP2013099815A (ja) ロボットプログラミング装置
US20120029674A1 (en) Welding-line selecting method
JP2006004128A (ja) 干渉確認装置
KR20230160277A (ko) 오토노머스 웰딩 로봇
US10394216B2 (en) Method and system for correcting a processing path of a robot-guided tool
JP6438023B2 (ja) 多軸数値制御機械のための位置決め経路の自動的な開発及び最適化のための装置、システム及び方法
US10088824B2 (en) Toolpath evaluation method, toolpath generation method, and toolpath generation device
US9969077B2 (en) Workpiece positioning apparatus, and method of using same
CN114260625A (zh) 圆管相贯线的焊接方法、焊接设备和存储介质
US20040114713A1 (en) X-ray laminography system having a pitch, roll and Z-motion positioning system
JP4498072B2 (ja) 溶接ロボット用ポジショナの設定方法
JP3354870B2 (ja) 溶接ロボットの自動教示方法及び装置
JPH08147020A (ja) ロボットの自動経路生成装置
US20230067126A1 (en) Method for avoiding interference of welding equipment, and device for controlling welding equipment
JP2005349520A (ja) ワイヤカット放電加工方法、ワイヤカット放電加工方法における加工プログラムの作成方法、およびワイヤカット放電加工用加工プログラム作成装置
Antonelli et al. FREE: flexible and safe interactive human-robot environment for small batch exacting applications
US9207667B2 (en) Automatic generation of robotic processes for symmetric products
JP3857487B2 (ja) 側面加工用ncデータの作成方法
JPH10211575A (ja) 金属製箱状構造体の自動溶接装置の自動教示方法及び自動教示方法による金属製箱状構造体の自動溶接方法
JP2020012776A (ja) 真円度測定機のパートプログラム自動生成装置、真円度測定装置および真円度測定機のパートプログラム自動生成方法
JP2003094364A (ja) 作業ロボットの動作経路データ作成方法および装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170123

R151 Written notification of patent or utility model registration

Ref document number: 6090463

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees