JP5276527B2 - アーク溶接ロボットの制御方法、及びアーク溶接ロボット制御装置 - Google Patents

アーク溶接ロボットの制御方法、及びアーク溶接ロボット制御装置 Download PDF

Info

Publication number
JP5276527B2
JP5276527B2 JP2009143276A JP2009143276A JP5276527B2 JP 5276527 B2 JP5276527 B2 JP 5276527B2 JP 2009143276 A JP2009143276 A JP 2009143276A JP 2009143276 A JP2009143276 A JP 2009143276A JP 5276527 B2 JP5276527 B2 JP 5276527B2
Authority
JP
Japan
Prior art keywords
torch
difference
welding torch
angle
around
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
JP2009143276A
Other languages
English (en)
Other versions
JP2011002888A (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.)
Daihen Corp
Original Assignee
Daihen Corp
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 Daihen Corp filed Critical Daihen Corp
Priority to JP2009143276A priority Critical patent/JP5276527B2/ja
Publication of JP2011002888A publication Critical patent/JP2011002888A/ja
Application granted granted Critical
Publication of JP5276527B2 publication Critical patent/JP5276527B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)
  • Numerical Control (AREA)

Description

本発明は、アーク溶接ロボットの制御方法、及びアーク溶接ロボット制御装置に関する。
アーク溶接において、トーチ角は、前進・後退角と狙い角の2つからなる。前進・後退角と狙い角は、アーク溶接の品質を保つ上で、重要な条件である。この理由は、溶接部位の形状や重力方向に対するトーチの姿勢によって、トーチ角である前進・後退角と狙い角の適正値が変化するためである。
一般的なロボット教示では、オペレータは、ワークに対するトーチ角の良否を目視により判断している。この目視によるトーチ角の良否の判断は、本当に見た目だけで行う場合、及び、角度計を使用して行う場合を含む。いずれにしても、複雑な曲線を持つ溶接部位であると、オペレータはトーチ角を適切に判定しながら多くの教示点を記録することになり、多くの時間がかかる作業になることは言うまでも無い。
特許文献1では、このような課題を解決する方法が提案されている。既教示の作業プログラムのトーチ姿勢を、数値で指定された前進・後退角と狙い角となるように、ロボット制御装置が自動的に補正する方法である。この方法では、複雑な曲線を持つ溶接部位であっても、オペレータはトーチ角のことを考慮せず教示することができることから、教示作業の短縮が可能になることが期待される。
特開平8−123536号公報
しかしながら、上記の方法を、実際の教示作業に照らすと以下のような問題を持っている。すなわち、トーチ角は、ワイヤ送給方向に向く軸の周りを回転方向とする冗長自由度(以下、トーチ回転方向)を持っており、溶接部位が複雑な形状の場合や溶接部の周りに干渉物が多い場合は、このトーチ回転方向の冗長自由度を適宜適切に選択しながらでないと、所望のトーチ角は教示できない。
本発明の1つの目的は、複雑な溶接線形状を持つワークでも、全ての溶接教示点で、適切なトーチ角を簡単に教示できるアーク溶接ロボット制御方法を提供することにある。すなわち、本発明は、トーチ角のワイヤ送給方向に向く軸の周りを中心としたトーチ回転方向の冗長解を適宜、適切に選択することを、より簡単に行うことができるアーク溶接ロボットの制御方法を提供することにある。
本発明の他の目的は、複雑な溶接線形状を持つワークでも、全ての溶接教示点で、適切なトーチ角を簡単に教示できるアーク溶接ロボット制御装置を提供することにある。すなわち、本発明は、トーチ角のワイヤ送給方向に向く軸の周りを中心としたトーチ回転方向の冗長解を適宜、適切に選択することを、より簡単に行うことができるアーク溶接ロボット制御装置を提供することにある。
上記問題点を解決するために、請求項1に記載の発明は、複数のアームが、基本軸と手首軸からなる複数の関節軸を介して連結され、ロボットの先端に位置するアームに溶接トーチが設けられた溶接ロボットであって、手動運転により前記溶接トーチのトーチ角を変更するアーク溶接ロボットの制御方法において、前記溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際、補間周期毎の前記溶接トーチの位置姿勢を算出するとともに、前記ロボットに予め定めた指標点における補間周期分移動した位置(以下、補間分移動位置という)と、手動運転開始位置間の第1差分を算出し、前記補間周期毎に、前記補間分移動位置において、前記溶接トーチの長手方向の周りに第1所定回転量分回転させた場合の前記指標点における位置と前記手動運転開始位置間の第2差分を算出し、第2差分が第1差分よりも小さい場合に、前記溶接トーチを、少なくとも前記溶接トーチの長手方向の周りに前記所定回転量分回転させて手動運転させることを特徴とするアーク溶接ロボットの制御方法を要旨とするものである。
請求項2の発明は、請求項1において、前記第2差分が第1差分よりも小さい場合、さらに、第1所定回転量と同じ又は異なる第2所定回転量をn(但し、nは自然数、且つn≧1)回加算して溶接トーチの長手方向の周りに回転させた場合の指標点の位置と手動運転開始位置間の差分と、(n−1)回加算して溶接トーチの長手方向の周りに回転させた場合の指標点の位置と手動運転開始位置間の差分を算出し、(n−1)回加算して溶接トーチの長手方向の周りに回転させた場合の方が、n回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなるまで、nを1つずつ増分し、(n−1)回加算して溶接トーチの長手方向の周りに回転させた場合の方が、n回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、前記溶接トーチの長手方向の周りに、(n−1)回分の第2所定回転量分回転させて手動運転させることを特徴とする。
請求項3の発明は、請求項1又は請求項2において、前記第2差分が第1差分よりも大きい場合には、前記溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際の補間周期毎の前記溶接トーチの位置姿勢で手動運転することを特徴とする。
請求項4の発明は、複数のアームが、基本軸と手首軸からなる複数の関節軸を介して連結され、ロボットの先端に位置するアームに溶接トーチが設けられた溶接ロボットであって、手動運転により前記溶接トーチのトーチ角を変更するアーク溶接ロボット制御装置において、前記溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転指令があった際、補間周期毎の前記溶接トーチの位置姿勢を算出するとともに、前記ロボットに予め定めた指標点における補間周期分移動した位置(以下、補間分移動位置という)と、手動運転開始位置間の第1差分を算出する第1算出手段と、
前記補間周期毎に、前記補間分移動位置において、前記溶接トーチの長手方向の周りに第1所定回転量分回転させた場合の前記指標点における位置と前記手動運転開始位置間の第2差分を算出する第2算出手段と、第2差分が第1差分よりも小さい場合に、前記溶接トーチを、少なくとも前記溶接トーチの長手方向の周りに前記所定回転量分回転させるように、前記基本軸及び手首軸の駆動アクチュエータを駆動する制御手段を備えることを特徴とするアーク溶接ロボット制御装置を要旨とするものである。
請求項5の発明は、請求項4において、前記制御手段は、前記第2差分が第1差分よりも小さい場合、さらに、第1所定回転量と同じ又は異なる第2所定回転量をn(但し、nは自然数、且つn≧1)回加算して溶接トーチの長手方向の周りに回転させた場合の指標点の位置と手動運転開始位置間の差分と、(n−1)回加算して溶接トーチの長手方向の周りに回転させた場合の指標点の位置と手動運転開始位置間の差分を算出し、(n−1)回加算して溶接トーチの長手方向の周りに回転させた場合の方が、n回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなるまで、nを1つずつ増分し、(n−1)回加算して溶接トーチの長手方向の周りに回転させた場合の方が、n回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、前記溶接トーチの長手方向の周りに、(n−1)回分の第2所定回転量分回転させるように、前記基本軸及び手首軸の駆動アクチュエータを駆動することを特徴とする。
請求項6の発明は、請求項4又は請求項5において、前記制御手段は、前記第2差分が第1差分よりも大きい場合には、前記溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際の補間周期毎の前記溶接トーチの位置姿勢に基づいて前記基本軸及び手首軸の駆動アクチュエータを駆動することを特徴とする。
以上詳述したように、請求項1のアーク溶接ロボット制御方法によれば、複雑な溶接線形状を持つワークでも、全ての溶接教示点で、適切なトーチ角を簡単に教示できる。すなわち、請求項1の発明によれば、トーチ角のワイヤ送給方向に向く軸の周りを中心とした回転方向の冗長自由度における冗長解を適宜、適切に選択することを、より簡単に行うことができる。又、請求項1の発明によれば、トーチ角である前進角・後退角、あるいは狙い角を変更したとき、トーチ周り(溶接トーチの長手方向の周り)回転自由度を使用して、できるだけロボットの基本軸であるJ1軸からJ3軸の角度の変化が少なくなるようにすることができる。
さらに、請求項1のアーク溶接ロボット制御方法によれば、所望の前進角・後退角、あるいは狙い角を維持しながら、トーチ周り(溶接トーチの長手方向の周り)の回転自由度を利用して、基本軸であるJ1軸からJ3軸の変化量を少なくするということは、トーチの姿勢変化によるロボット本体と周辺装置との干渉を防止することになり、安全な姿勢変化を提供できる。
請求項2の発明によれば、(n−1)回加算して溶接トーチの長手方向の周りに回転させた場合の方が、n回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、溶接トーチを、該溶接トーチの長手方向の周りに所定回転量を(n−1)回分加算した分回転させて手動運転させる。このことにより、トーチ角である前進角・後退角、あるいは狙い角を変更したとき、トーチ周り(溶接トーチの長手方向の周り)の回転自由度を使用して、できるだけロボットの基本軸であるJ1軸からJ3軸の角度の変化が少なくなるようにすることができる。
請求項3の発明によれば、第2差分が第1差分との大小関係により、選択的に、溶接トーチの長手方向の周りに回転させて手動運転させたり、或いは溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際の補間周期毎の前記溶接トーチの位置姿勢でアーク溶接ロボットを制御することができる。
請求項4のアーク溶接ロボット制御装置によれば、複雑な溶接線形状を持つワークでも、全ての溶接教示点で、適切なトーチ角を簡単に教示できる。すなわち、請求項4の発明によれば、トーチ角のワイヤ送給方向に向く軸の周りを中心とした回転方向の冗長自由度における冗長解を適宜、適切に選択することを、より簡単に行うことができる。又、請求項4の発明によれば、トーチ角である前進角・後退角、あるいは狙い角を変更したとき、トーチ周り(溶接トーチの長手方向の周り)回転自由度を使用して、できるだけロボットの基本軸であるJ1軸からJ3軸の角度の変化が少なくなるようにすることができる。
さらに、請求項4のアーク溶接ロボット制御装置によれば、所望の前進角・後退角、あるいは狙い角を維持しながら、トーチ周り(溶接トーチの長手方向の周り)の回転自由度を利用して、基本軸であるJ1軸からJ3軸の変化量を少なくするということは、トーチの姿勢変化によるロボット本体と周辺装置との干渉を防止することになり、安全な姿勢変化を提供できる。
請求項5のアーク溶接ロボット制御装置によれば、(n−1)回加算して溶接トーチの長手方向の周りに回転させた場合の方が、n回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、溶接トーチを、該溶接トーチの長手方向の周りに所定回転量を(n−1)回分加算した分回転させて手動運転させる。このことにより、トーチ角である前進角・後退角、あるいは狙い角を変更したとき、トーチ周り(溶接トーチの長手方向の周り)の回転自由度を使用して、できるだけロボットの基本軸であるJ1軸からJ3軸の角度の変化が少なくなるようにすることができるアーク溶接ロボット制御装置を提供できる。
請求項6のアーク溶接ロボット制御装置によれば、第2差分が第1差分との大小関係により、選択的に、溶接トーチの長手方向の周りに回転させて手動運転させたり、或いは溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際の補間周期毎の前記溶接トーチの位置姿勢でアーク溶接ロボットを制御することができる。
本発明を具体化した一実施形態のロボット制御装置の内部構成及びその周辺装置を示すブロック図。 同じくロボット制御装置のソフトウエアの機能ブロック図。 溶接経路の説明図。 (a)はトーチ角である前進・後退角の説明図、(b)はトーチ角である狙い角の説明図。 (a)〜(d)は前進・後退角の算出順序の説明図。 (a)は、狙い角基準面の説明図、(b)はツール座標系の説明図。 (a)〜(c)は、狙い角の算出順序の説明図。 (a)〜(d)は進行座標系の作成順序の説明図。 各種座標系、及び同次変換行列の説明図。 各種座標系、及び同次変換行列の説明図。 (a)、(b)は各種座標系、及び同次変換行列の説明図。 ロボット制御装置に用いる制御プログラムのフローチャート図。 (a)はトーチ周り(溶接トーチの長手方向の周り)に回転させない場合、前進角を変化させた場合のロボットの移動状態を示す説明図、(b)は、トーチ周り(溶接トーチの長手方向の周り)に回転させた場合、前進角を変化させた場合のロボットの移動状態を示す説明図。
以下、本発明を、具体化した一実施形態を図1〜13に従って説明する。
図10に示すように、本実施形態で用いる多関節型ロボット装置の制御システムを示す。該制御システムには、アーク溶接を行う多関節型ロボット100、ポジショナ200、前記多関節型ロボット100とポジショナ200とを制御するロボット制御装置300、及び前記多関節型ロボット100とポジショナ200とに駆動電力を供給する図示しない溶接電源装置を含む。
前記多関節型ロボット100は、基台100aに設けられた数個のアーム12a〜12eと、溶接トーチ(ツール)11と、図1に示すように各アーム間に存在する各関節の関節角度を変えるための6個(複数個)の駆動アクチュエータとしてのサーボモータ(駆動モータ)13a〜13f(図9〜10では、サーボモータ13bは図示省略)とを備えている。なお、アームとサーボモータに付する符号は、溶接トーチ(以下、単にトーチという)11側よりロボット100が設置される基台100a(すなわち、大地面)に向けてアルファベット順で示す。
図1に示すようにアーム(旋回ベース)12eは、基台100aの上に取り付けられ、基本軸であるJ1軸回りに旋回する。アーム12eの上にはアーム12dが取り付けられ、基本軸であるJ2軸回りに揺動する。アーム12dの上端にはアーム12cが取り付けられ、基本軸であるJ3軸回りに揺動する。アーム12cの先端部には、アーム12bが取り付けられて、アーム12bの長手方向の手首軸としてのJ4軸(すなわち、手首第1軸)回りに回転する。アーム12bの先端部にはアーム12aが取り付けられて、手首軸としてのJ4軸(手首第1軸)に直交する手首軸としてのJ5軸(すなわち、手首第2軸)回りに揺動する。
アーム12aの先端部には回転体12fが取り付けられて、J5軸(すなわち、手首第2軸)に直交する手首軸としてのJ6軸(すなわち、手首第3軸)回りに回転する。回転体12fには前記トーチ11が取り付けられている。J1軸乃至軸J6軸は、サーボモータ13a〜13fにより回転駆動される。
これらサーボモータ13a〜13fには、ロボット制御装置300のサーボドライバ38a〜38f(図1参照)により回転駆動電力が供給されるともに、ロボット制御装置300から送信される制御信号によって制御される。
又、前記トーチ11は、アーム12aの先端のエンドエフェクタ14を介して取り付けられている。この多関節型ロボット100では、トーチ11を用いてワーク(被溶接物)に対してアーク溶接(溶接)が行われる。
このように、多関節型ロボット100は、複数個のサーボモータ13a〜13fがロボット制御装置300により制御され、回転駆動されることによって、多関節型ロボット100の各関節が回転し、且つアーム12a〜12eが移動する。これにより、エンドエフェクタ14に取付けられたトーチ11が上下前後左右に移動可能とされ、所望の位置とされるとともに、その姿勢も所望の状態とされる。
図10に示すように多関節型ロボット100のアーム12c近傍には、トーチ11に対して溶接ワイヤ(図示しない)を送給するワイヤ送給装置15が設けられている。前記溶接ワイヤには図示しない溶接電源装置からトーチ11に高電圧の溶接電圧が供給されることにより、溶接ワイヤの先端とワークとの間にアークが発生し、その熱で溶接ワイヤが溶融することで、ワークが溶接される。
図10に示すポジショナ200は、多関節型ロボット100のトーチ11と対向し、ワークを回転又は傾斜させて当該ワークをトーチ11による溶接に適する状態とする。図10に示すように、
ポジショナ200は、溶接時にワークが載置される略円形のワーク載置面210aを有するワーク載置台210と、該ワーク載置台210を所定方向に回転又は傾斜自在に支持する支持台220とを備えている。
そして、前記トーチ11は、その先端部がワーク載置面210aに対向するように多関節型ロボット100に設けられている。このようにして、ポジショナ200がワークを自在に回転又は傾斜させるとともに、前述したように複数個のサーボモータ13a〜13fによってアーム12a〜12eを変位させることで、ワークがトーチ11に対して溶接に適する所要の位置及び姿勢関係に設定される。
又、図1に示すように、本実施形態の制御システムにおいては、多関節型ロボット100の手動制御にあたり、複数の座標系が用いられる。これらの座標系としては、多関節型ロボット100側には、大地を基準に設定され、本制御システムで絶対的な基準となるワールド座標系(XWorld,YWorld,ZWorld)、多関節型ロボット100の基台100aを基準に設定されたベース座標系(XBase,YBase,ZBase)、トーチ11が取り付けられるエンドエフェクタ14を基準に設定されたエンドエフェクタ座標系(XEnd,YEnd,ZEnd)、トーチ11を基準に設定されたツール座標系(XTool,YTool,ZTool)が定義される。
又、多関節型ロボット100側には、進行方向座標系、及びJ5座標系が定義される。この進行方向座標系、及びJ5座標系については後述する。
又、ポジショナ200側には、ポジショナ200の設置面を基準に設定されたポジショナ座標系(XPo,YPo,ZPo)、及び、ポジショナ200のワーク載置面210aを基準に設定されたワーク座標系(XWork,YWork,ZWork)が定義される。
本実施形態における多関節型ロボット100の手動制御では、このように定義された複数の座標系を用いて、トーチ11の位置及び姿勢が表現される。
図1に示すように、前記ロボット制御装置300は、CPU31、多関節型ロボット100の作業や動作を規定する作業プログラム(教示プログラムともいう)の各バッファ32a〜32d等(図2参照)として機能するRAM32、ROM33、及びタイマー(TIMER)34を備えている。ROM33には、ロボットの動作制御を実行するための制御プログラムとその実行条件や制御定数などのデータが格納される。RAM32には、CPU31のワーキングエリアとして用いられ、計算途中のデータが一時的に格納される。タイマー34は、定期時刻ごとに同期信号SYNCを発生する。同期信号SYNCは、サーボドライバ38a〜38fへの指令値の更新タイミングとして使用される。
さらに、該ロボット制御装置300は、多関節型ロボット100に対して手動制御によって教示された教示データが格納されるハードディスク35、及び、手動制御時に使用し、TP36aが接続されるティーチペンダントI/F(インターフェース)36を備えている。このTP36aは、多関節型ロボット100に前記作業プログラムを教示する教示手段として用いる。さらに、該ロボット制御装置300は、操作ボックスI/F37及びサーボドライバI/F38を備えている。この操作ボックスI/F37には、教示した作業プログラムのタイミングをCPU31に与える操作ボックス37aが接続されている。又、サーボドライバI/F38には、前記複数のサーボドライバ(サーボ機構)38a〜38fが接続されている。
以上説明したCPU31、RAM32、ROM33、タイマー34、ハードディスク35、ティーチペンダントI/F(TPI/F)36、操作ボックスI/F37、及びサーボドライバI/F38は、バス(BUS)39を介して相互に接続され、上述した各機能を実現すべく必要な信号をやりとりするように構成されている。
又、前記CPU31は、前記作業プログラム、TP36aや操作ボックス37aから送信される操作信号、又は、各サーボモータ13a〜13fに設けられた図示しないエンコーダからの現在位置情報等に基づいて、所定のデータ演算処理を行い、バス39及びサーボドライバI/F38を介して各サーボドライバ38aに動作指令を与える。これにより、サーボモータ13a〜13fが制御され回転駆動され、前述したように、トーチ11がワークに対して溶接に適した所要の位置及び姿勢関係とされる。又、前記ROM33には、前記作業プログラムの他、この作業プログラムの実行条件を示すデータ、及び制御定数を示すデータ等が格納されている。
又、図1に示すように、前記TP36aは、多関節型ロボット100を手動制御するときに作業者によって操作され、所定の操作情報が表示される表示装置36bと所定の情報の入力に用いるキーボード36cとを備えている。該キーボード36cには、手動制御操作用のスイッチ(以下、「軸キー」と呼ぶ。)が12個設けられている(図示省略)。このようにキーボード36cに12個の軸キーが設けられているのは、本実施形態のように多関節型ロボット100を手動制御で操作する場合では、位置(3自由度)及び姿勢(3自由度)からなる計6自由度に対して、それぞれ正(+)方向及び負(−)方向の2つの方向に対応する数の軸キーが使用される(6自由度×2つ=12個)ためである。
又、ハードディスク35に記憶される教示データ(作業データ)の再生動作は、ROM33に格納されているロボット再生動作制御ソフトウェアをCPU31が実行することにより、実現する。この再生動作のとき、CPU31は、図2に示す各部31a〜31eとして機能する。なお、図2には、再生動作時のデータの流れが示されている。
ここで、本実施形態のCPU31は、第1算出手段、第2算出手段、及び制御手段に相当する。
図2に示すように、再生動作が開始されると動作命令読み出し部31aは、ハードディスク35に記憶されている前記教示データ(作業データ)を含む教示プログラムから、ロボットの動作命令を取り出し、動作命令バッファ32aに格納する。軌道生成部31bが、動作命令バッファ32aから動作コマンドを読み出し、ロボット先端に把持されるツール(トーチ11)の作業軌道を三次元空間の直交座標上で計画する。計画された軌道データは、軌道生成部31bにより、軌道バッファ32bに格納される。
次に、補間点生成部31cが、軌道バッファ32bから軌道データを読み出し、その軌道を補間周期と呼ばれる規定時間毎に分割し、補間周期毎にツール(トーチ11)が到達すべき位置・姿勢を補間点データとして計算する。計算された補間点データは、補間点生成部31cにより補間点バッファ32cに格納される。
次に、関節補間点生成部31dが、補間点データを補間点バッファ32cから読出し、該補間点データの内部で直交座標により表された位置・姿勢を、ロボットの関節位置に逆変換することで、各サーボドライバ38a〜38fへの位置指令が計算できる。この各サーボドライバ38a〜38fへの位置指令は、関節補間点バッファ32dとしてRAM32に一時的に記憶され、タイマー34により発生される同期信号SYNCに同期して各サーボドライバ38a〜38fへ通知される。ここで、各バッファ32a〜32dはFIFOバッファとなっており、先入れ・先出しで処理される。
(1.1) 狙い角の基準面(狙い角基準面ともいう)
次に、本実施形態において採用する狙い角の基準面の設定について説明する。狙い角の基準面の設定は、TP36aをオペレータが操作することで行う。
ここで、狙い角基準面の設定には、以下の2つの方法がある。
1つは、狙い角基準点Prを指定し、これと開始点と目標点と併せた3点から狙い角を計算する方法である。他の1つはロボットのシステム内に存在する座標系の任意の面を指定する方法である。
1)開始点Ps、目標点Peならびに狙い角基準点Prから平面を規定する場合
ロボットによるアーク溶接作業は、図6(a)に示す溶接経路の開始点Ps、目標点(終了点)Pe、ならびにその間の特徴点(教示点)を予め記録することにより教示される。溶接経路を形成するための開始点Ps、目標点Peに加えて、狙い角基準点Prを付加することで、3つの点が規定され、この3点から狙いの基準となる平面PLを求めることができる。
図6(a)に示すように、次に平面PLに垂直な法線ベクトルVp=[Vpx,Vpy,Vpz]を求める。平面PLに垂直な法線ベクトルVpが決まれば、平面PL、すなわち、狙い角基準面が一意に決められるためである。Vpは、開始点Psから目標点PeへのベクトルAと、開始点Psから狙い角基準点PrへのベクトルBの外積として算出可能である。
Figure 0005276527
式(1)から、Vp=[Vpx,Vpy,Vpz]が求まれば、平面PLは以下の式(2)で規定される。式(2)中で[Psx,Psy,Psz]は開始点Psのx,y,zの各成分である。
Figure 0005276527
なお、開始点Ps、目標点(終了点)Pe、ならびにその間の特徴点の教示の方法としては、TP36aを使用して、実際にロボットを当該位置に動かして後に記録しても良く、或いは、パソコンを使用したオフライン教示を使用した記録としてもよい。狙い角基準点Prについても同様である。
2)ロボットのシステム内に存在する座標系の任意の面を指定
ロボットのシステム内には、上述したように図10に示す種々の座標系が存在しており、オペレータは手動運転などのロボットの動作の基準として、それらの座標系から任意に動作対象座標を選択することができる。
同様の考え方で、トーチ11の狙い角基準面を、ロボットのシステム内に存在する任意の座標系の任意の平面に指定すること、面を定義するものである。
面の定義操作は、TP36aを使用しても良いし、パソコンを使用したオフライン教示を使用した操作としてもよい。
上述した狙い角基準点Prや、トーチ11の狙い角基準面は、システム唯一の値としても良いし、アーク溶接線を定義する全ての教示点に付属する変数(パラメータ)としても良い。また、狙い角基準点Prや、トーチ11の狙い角基準面を適宜記録するための命令として、ロボットの記録点と同じようにTP36aからその都度教示してもよい。
(1.2) トーチ角の計算方法
次に、本実施形態が採用するトーチ角の計算方法について説明する。
トーチ角は、前進・後退角と狙い角の2つを含む。
図3に示すように、通常のロボット溶接は、予め溶接経路に沿って、例えば記録点a〜d(すなわち、教示点)を教示していき、記録点間を繋ぐようにロボット動作することで成り立っている。すなわち、常に隣り合う2つの記録点間をロボットは動作している。このように隣り合う2つの記録点(教示点)の位置と、現在のトーチ11の姿勢、並びに前述した狙い角基準面の2つの情報から、前進・後退角と狙い角の2つのトーチ角が算出できる。
なお、前進・後進角は、図4(a)に示すように、溶接線YSの接線に対する垂線La(すなわち、法線)を立てた際に同垂線Laに対してトーチ11の長手方向軸線を表わす直線L1、L2がなす角度であり、垂線Laに対して、L1のように0°を越える場合(+)には、前進角といい、L2のように0°を下回る場合(すなわち、「−」)場合には、後退角という。ここで、トーチ11の長手方向軸線は、ワイヤ送給方向に向く軸に相当する。
(1.2.1) 前進・後退角の算出
まず、前進・後退角を、2つの記録点の位置と、現在のトーチ11の姿勢から計算する手順を、図5(a)〜(d)を参照して説明する。
2つの記録点a,bの座標値を、それぞれ式(3)、式(4)とする。
なお、前記記録点の基準座標系は、図10に示すワーク座標系やワールド座標系、或いはベース座標系が適宜選択される。基準座標系が何であるかは本発明の内容には影響しないので、ここでは特定はしない。
Figure 0005276527
Figure 0005276527
ここで、記録点aから記録点bへのベクトルを進行ZベクトルFWDzとして、下式(5)、式(6)から算出する。式(5)のLNGa2bは、記録点a,b間の距離である。
Figure 0005276527
Figure 0005276527
次にトーチ長手ベクトルについて考える。
トーチ長手ベクトルは、図10に示すツール座標系のZベクトルとなる。どの座標系を基準座標系にしたツール座標系のZ成分であるかは重要では無いが、通常は、基準座標系としてはワーク座標系やワールド座標系、或いはベース座標系が適宜選択される。
以下では、説明の便宜上、基準座標系をベース座標系にして説明する。
基準座標系から見たツール座標系の位置姿勢は、同次変換行列と呼ばれる行列式で表されるのが一般的である。
基準座標系から見たツール座標系の位置姿勢を表す同次変換行列をXbase2Toolとする。Xbase2Toolは、ロボットの現在の関節角度ならびにロボットの手先に取り付けられたトーチ取り付け位置・姿勢情報を元に、順演算と呼ばれる計算手順で算出可能である。順演算は公知の技術であるため、ここでは、基準座標系から見たツール座標系の位置姿勢を表す同次変換行列Xbase2Toolが、以下の式(7)から求まっているとする。
Figure 0005276527
図6(b)に示すように、アーク溶接用のトーチ11の場合、トーチ11の長手方向をツール座標系のZ方向として定義するのが一般的であり、同次変換行列Xbase2Toolも同様に定義されているとすると、式(7)中の第3列目が、基準座標系から見たトーチ長手方向を表すトーチ長手ベクトルTOOLzとなる(図5(a)参照)。すなわち下式(8)である。
Figure 0005276527
進行YベクトルFWDyは、進行ZベクトルFWDzとトーチ長手ベクトルTOOLzの外積で求められる(図5(b)、図5(c)参照)。
Figure 0005276527
さらに、進行XベクトルFWDxは、進行YベクトルFWDyと進行ZベクトルFWDzの外積で求められる(図5(d)参照)。
Figure 0005276527
以上のように算出した進行XベクトルFWDxとトーチ長手ベクトルTOOLzの成す角が、前進・後退角FwBkAngとして計算できる。すなわち、FwBkAngは以下の式(11)で算出される。
Figure 0005276527
(1.2.2) 狙い角の算出
次に、本実施形態で採用している狙い角の算出を図7(a)〜図7(c)を参照して説明する。
狙い角の算出では、先ず、狙い角基準面の法線ベクトルVpと、進行ZベクトルFWDzを使用する(図7(a)参照)。法線ベクトルVpは、上記の式(1)で算出する。又、進行ZベクトルFWDzも上述した式(5)、式(6)から算出する。
進行ZベクトルFWDzと法線ベクトルVpの外積から、狙い基準ベクトルAIMvを下式(12)で算出する(図7(b)参照)。
Figure 0005276527
狙い基準ベクトルAIMvと進行XベクトルFWDxの成す角が、狙い角AimAngとなる。なお、進行XベクトルFWDxは、式(10)で算出し、狙い角AimAngは式(13)で算出する。
Figure 0005276527
(トーチ角のTP36aによる表示)
なお、前記関節補間点生成部31dでは、前述したように各サーボドライバ38aへの位置指令となるロボットの関節角度が逐次定期的に計算されている。そして、関節補間点生成部31dでは、前記関節角度が更新される毎に、順演算と呼ばれる計算手順により基準座標系から見たツール座標系の位置姿勢を表す前記同次変換行列Xbase2Toolが求められている。同次変換行列Xbase2Tool、前記狙い角基準面、並びに前記トーチ角の計算方法の計算手順を使用することにより、常に最新のロボット姿勢に対応したトーチ角を計算する。このように算出されたトーチ角は、RAM32に一旦格納され、バス39,TPI/F36を介してTP36aに表示する。
(1.3) 前進・後退角と狙い角の変更手動運転
次に、本実施形態が採用している前進・後退角と狙い角の変更手動運転を図8(a)〜図8(d)を参照して説明する。前進・後退角並びに狙い角を変更できる手動運転は、進行方向座標系基準でツール座標系の姿勢を変化させる手動運転である。
進行方向座標系とは、(1.2)「トーチ角の計算方法」で述べた進行Xベクトル、進行Yベクトル、進行ZベクトルをそれぞれX,Y,Zベクトルとした座標系(図8(d)参照)で、原点はTCPである。TCPはツール先端ポイントのことで、トーチ11の場合には、トーチ11の先端がTCPとなる。なお、図8(a)、図8(d)では、説明の便宜上、TCPの位置は、トーチ11の先端から離間して図示されている。図8(a)〜図8(d)は進行方向ベクトルの計算手順のイメージを示しており、計算の内容は(1.2.1)「前進・後退角の算出」で説明したものと同じであるため詳細説明は省略する。
式(6)、式(9)、及び式(10)から求まる進行ZベクトルFWDz、進行YベクトルFWDy、進行XベクトルFWDxをそれぞれX,Y,Zベクトルした進行方向座標系XBase2Fwdは下式(14)で算出する。式(14)中の添字[1],[2],[3]はそれぞれベクトルの第1,2,3成分を表す。またTCPx,TCPy,TCPzは、それぞれ基準座標系からみたTCPの位置のx,y,z成分である。
Figure 0005276527
進行方向座標系のZ軸周りのトーチ姿勢変化が狙い角のみを変更する手動運転となり、進行方向座標系のY軸周りのトーチ姿勢変化が前進・後退角のみを変更する手動運転となる。
(1.3.1) 狙い角のみを変更する姿勢変化(手動運転)
図8(d)に示す進行方向座標系のZ軸周りのトーチ姿勢変化が狙い角のみを変更する手動運転では、例えば狙い角を現在の角度よりΔψだけ変化することを考える。この場合、ツール座標系を、進行方向座標系のZ軸回転方向にΔψだけ変化させた同次変換行列を求める。
先ず、ロボットの現在の関節角度並びにロボットの手先に取り付けられたトーチ取り付け位置・姿勢情報を元に、順演算を使用して、基準座標系からみたツール座標系の同次変換行列Xbase2Toolを算出する。前述したように順演算は公知の技術であるので、ここでは、基準座標系から見たツール座標系の位置姿勢を表す同次変換行列Xbase2Toolが、以下の式から求まっているとして考える。
Figure 0005276527
又、式(14)で示したように、基準座標系からみたトーチ角の基準となる進行方向座標系XBase2Fwdも既知である。進行方向座標系XBase2Fwd、並びに同次変換行列Xbase2Toolを使用すれば、図11(a)、図11(b)からも判るように、ロボットの現在姿勢における進行方向座標系からみたツール座標系の位置姿勢を表す同次変換行列XFwd2Toolが以下の式を使用して算出する。
Figure 0005276527
進行方向座標系のZ軸回転方向にΔψだけ変化させる回転変換行列XChgAngを式(17)により算出する。
Figure 0005276527
上記したXBase2Fwd、XChgAng、XFwd2Toolの3つから、以下の式(18)により、進行方向座標系のZ軸回転方向にΔψだけ変化させた後のツール座標系の位置姿勢を表す同次変換行列Xbase2Toolを算出する。
この同次変換行列Xbase2Toolを求める場合、XChgAngを、XFwd2Tool に対して左から掛けるものとする。これは、回転変換行列を同時変換行列に左から掛けることにより、XFwd2Toolの基底座標系の回転動作として変換するためである。
Figure 0005276527
式(18)により算出したXbase2Toolを使用すれば、トーチ11が進行方向座標系のZ軸回転方向にΔψだけ変化させるに必要なロボットの関節角度をCPU31は逆演算により算出する。なお、逆演算については、ロボットの制御の一般的な技術であるので説明は省略する。
(1.3.2) 前進・後退角のみを変更する姿勢変化(手動運転)
図8(d)に示す進行方向座標系のY軸周りのトーチ姿勢変化が前進・後退角のみを変更する手動運転となる。例えば前進・後退角を現在の角度よりΔθだけ変化させることを考える。この場合、ツール座標系を、進行方向座標系のY軸回転方向にΔθだけ変化させた同次変換行列を求める。
これは、(1.3.1)で説明した狙い角のみを変更する姿勢変化の場合と比較して、式(17)で算出するXchgAngの計算式が異なるだけである。具体的には式(17)を下の式(19)に置き換えることにより、進行方向座標系のY軸回転方向にΔθだけ変化させた同次変換行列を求める。
Figure 0005276527
なお、進行方向座標系のX軸周りのトーチ姿勢変化は、前進・後退角も狙い角も共に変化させる運転となり、トーチ角を所望の値するために使用するには好ましくない。
それに対して、進行方向座標系のX軸の代わりに、図8(a)〜図8(d)に示すトーチ長手ベクトルTOOLzを使用し、このベクトル周りの手動運転を行えば、狙い角も前進・後退角も変化させないようにトーチ長手回転方向に姿勢を変化させることができる。この動作は所望のトーチ角(狙い角、前進・後退角)がとれないときや、所望のトーチ角にした結果、ロボット姿勢が極端に伸びたり縮んだりしているときに、ロボットの姿勢を変化させるのに便利である。
(実施形態の作用)
上述したように、図8に示すトーチ長手ベクトルTOOLzを使用し、このベクトル周り(以下ではトーチ周りともいう)にトーチ11を回転運動させれば、狙い角、前進・後退角も変化させないようにトーチ姿勢変化をさせることができる。さらに、このことからトーチ長手ベクトルTOOLz周りへのトーチ回転運動の範囲内で、姿勢変化開始直前に比べてロボットの基本軸であるJ1軸からJ3軸の角度の変化が最も少ないトーチ角を選択することにより、開始位置から最短の移動量で、到達できる所望のトーチ角にすることができる。
本実施形態では、基本軸であるJ1軸からJ3軸の角度の変化が最も少ないことを、J5軸の回転中心点の移動距離で判定する。J5回転中心点は、J4軸とJ5軸の交点である。以下、このJ5回転中心点を、以下、P点という(図1参照)。P点は、指標点に相当する。J5回転中心点を原点とした、座標系をJ5座標系という。
以下、トーチ姿勢における前進・後退角、若しくは、狙い角を、所望の値に変化させる手動運転において、トーチ長手ベクトル周りTOOLzのトーチ回転運動を利用して、基本軸の角度の変化が最も少ないトーチ角が自動的に選択できる手動運転を図12のフローチャートを参照して説明する。
図12のフローチャートは、手動運転時においてトーチ11のトーチ角のみを変更する手動運転指令があった場合、トーチ11が移動する際に実行されるトーチ角変更のための手動制御プログラムのフローチャートであり、補間周期毎にCPU31により実行される。ここで、手動運転(手動制御)は、トーチ角を変更する時間だけ、TP36aに設けられたキーボード36cの軸キー等を操作している間のみ、ロボットを手動運転することができるモードである。又、説明の便宜上、既にTP36a等により、開始点Psとしての記録点、現在のトーチ11の姿勢、並びにトーチ11の狙い角基準面が前述したように設定されているものとする。
(S1:手動運転開始時のP点位置Pstrの算出)
S1で、CPU31は、手動運転開始時のトーチ11の位置姿勢を求める。トーチ11の位置姿勢は、基準座標系から見たツール座標系の位置姿勢のことであり、同次変換行列と呼ばれる行列式で表されるのが一般的である。
基準座標系から見たツール座標系の位置姿勢を表す同次変換行列をXbase2Toolとする。Xbase2Toolは、ロボットの現在の関節角度ならびにロボットの手先に取り付けられたトーチ取り付け位置・姿勢情報を元に、順演算と呼ばれる計算手順で算出する。なお、順演算は公知の技術であるので、ここでは、基準座標系から見たツール座標系の位置姿勢を表す同次変換行列Xbase2Toolが、以下の式(20)から求まっているものとする。
Figure 0005276527
P点位置を表すPstrを含む、J5座標系Xbase2J5は、以下の式(21)に基づいて算出される。Pstrは、手動運転開始位置に相当する。
Figure 0005276527
なお、式(21)中、X−1End2Toolは、エンドエフェクタ座標系からツール座標系への同次変換行列である。又、X−1J52Endは、J5座標系からエンドエフェクタ座標系への同次変換行列である。
上記式(21)は4×4で表される同次変換行列であり、この第4列目が、手動運転開始時のP点を表す位置ベクトルPstrとなる。
(S2:手動運転後のトーチの位置姿勢の算出)
トーチ姿勢における、トーチ角のみ、すなわち、前進・後退角あるいは狙い角のみが変化するように手動運転する。ここでトーチ姿勢における、トーチ角のみ、すなわち、前進・後退角あるいは狙い角のみが変化するように手動運転する手段に関しては、前述した(1.1)狙い角の基準面、(1.2)トーチ角の計算方法、(1.3)前進・後退角と狙い角の変更手動運転で説明している。
ここでは、前述した(1.1)狙い角の基準面、(1.2)トーチ角の計算方法、(1.3)前進・後退角と狙い角の変更手動運転の手順に従い、所望のトーチ角を変化させた直後の1補間分におけるトーチの位置姿勢を表す同次変換行列を定義する。これは既に説明した式(18)から算出されるXbase2Toolが該当する。したがって、トーチ角の手動運転した後のトーチの位置姿勢Atは下記式で、CPU31に算出される。
Figure 0005276527
なお、ここで注意すべきは、式(18)内のXChgAngは微少角となることである。これは、このフローチャートが、補間周期で実行されていて、ロボットはこの補間周期と呼ばれる微少な計算周期で制御されるのが一般的であるからである。この手動運転においても、補間周期に該当する時間分の移動量のみを分解して計算する。従って、ここでの「手動運転後」とは、1補間分のトーチ角回転の計算が完了した直後を意味するものであり、オペレータの操作完了時では無い。
(S3:手動運転後のP点位置Pmanを計算)
前記式(22)は、4×4で表される同次変換行列であり、CPU31は、これを上記式(21)に代入してXbase2J5を算出する。得られたJ5座標系Xbase2J5の第4列目が、所望のP点を表す位置ベクトルPmanとなる。CPU31は、上記のようにしてこの位置ベクトルPmanを算出する。この位置ベクトルPmanは、補間分移動位置に相当する。
(S4:トーチ周りにプラス回転)
ここでは、CPU31は、トーチ角(前進・後退角,狙い角を含む)に影響を与えないトーチ周りのプラス回転をするための計算を行う。なお、プラス回転とは、本実施形態では、右ねじ系で定義され、回した際に、右ネジが進行する場合の回転方向をプラス回転とする。このプラス回転、マイナスの回転は、左ネジで定義されていてもよい。
ここで回転量を予め決められた微少の回転角度PT[rad]とすると、トーチ周りの回転を表す同次変換行列XChgPTを、下式(23)でCPU31は算出する。PTは第1所定回転量に相当する。このPTの大きさは、適宜の値でよい。
Figure 0005276527
さらに、CPU31は、XChgPTを、式(22)で求めた手動運転後のトーチ位置姿勢を表す同次変換行列に右から積算することで、すなわち、式(24)によりトーチ角(前進・後退角,狙い角)に影響を与えないトーチ周りのプラス回転した同次変換行列Aplusを算出する。
Figure 0005276527
又、CPU31は、P点位置を表す、J5座標系Xbase2Jを、上記式(21)のXbase2ToolをAplusに置き換えた以下の式(25)により算出する。
Figure 0005276527
ここで、上記式(25)も4×4で表される同次変換行列であり、この第4列目が、所望のP点を表す位置ベクトルPplusとなる。
(S5:トーチ周りにマイナス回転)
ここでは、CPU31は、トーチ角(前進・後退角,狙い角を含む)に影響を与えないトーチ周りのマイナス回転をするための計算を行う。
ここで、CPU31は、上記のS4と同じ計算を微少量−PT[rad]とし、トーチ周りの回転を表す同次変換行列XChgPTを、下式(26)で算出する。
Figure 0005276527
さらに、CPU31は、XChgPTを、式(22)で求めた手動運転後のトーチ位置姿勢を表す同次変換行列に右から積算することで、すなわち、式(27)によりトーチ角(前進・後退角,狙い角)に影響を与えないトーチ周りのマイナス回転した同次変換行列Aminusを算出する。
Figure 0005276527
又、P点位置を表す、J5座標系Xbase2J5は、上記式(21)のXbase2ToolをAminusに置き換えた以下の式(28)から、CPU31は、算出する。具体的には、CPU31は、P点位置を表す、J5座標系Xbase2Jを、求めるに当たり、式(23)を式(26)に置き換え、式(27)と式(28)とを計算し、求めたXbase2J5で表される同次変換行列の第4列目を、所望のP点を表す位置ベクトルPminusとする。
Figure 0005276527
(S6,S7,S8:トーチ周りの回転方向を決定)
S6,S7,S8の処理は、トーチ周りのプラス側,マイナス側のどちらに回転させるのが、基本軸であるJ1軸からJ3軸の変化量を少なくなるかを決定するための処理である。すなわち、この処理は、プラス側,マイナス側のどちらに回転させるのが、P点の移動量が少ないかを判定するための処理である。
S6,S7,S8において、CPU31は、手動運転開始時のP点を表わす位置ベクトルPstrからの、既に求めた以下の3つのP点との距離を求め、Pstrからの距離が最も移動量の少ないP点を決定する。
Pman:手動運転後のP点(所望のトーチ角に向かって1補間分だけ姿勢変化させた後のP点)
Pplus:Pmanからトーチ周りにプラス方向に微少回転させた後のP点
Pminus:Pmanからトーチ周りにマイナス方向に微少回転させた後のP点
Pstr :手動運転開始時のP点
具体的には、CPU31は、S6,,S7,S8の判定処理を行う際、位置ベクトルと位置ベクトル間の距離を、以下の計算式で求める。
Figure 0005276527
Lmanは、手動運転後のP点の位置ベクトルPmanと手動運転開始時のP点を表わす位置ベクトルPstrの距離である。Lmanは、第1差分に相当する。
Figure 0005276527
Lplusは、トーチ周りにプラス方向に微少回転させた後のP点の位置ベクトルPplusと手動運転開始時のP点を表わす位置ベクトルPstrの距離である。
Figure 0005276527
Lminusは、トーチ周りにマイナス方向に微少回転させた後のP点の位置ベクトルPminusと手動運転開始時のP点を表わす位置ベクトルPstrの距離である。ここで、Lplus及びLminusは、第2差分に相当する。
1)Lmanが一番小さいとき(S6で「YES」、かつS7で「YES」の場合)
本処理を終了し、S2で算出したトーチ角の手動運転した後のトーチの位置姿勢Atを手動運転の補間点として出力する。
2)Lminusが一番小さいとき(S6で「YES」、かつS7で「NO」の場合、又は、S6で「NO」、かつS8で「NO」の場合)
トーチ周りのマイナス方向で、P点の移動量が最も小さいに回転角度をサーチするため、S9に進む。
3)Lplusが一番小さいとき(S6で「NO」、かつS8で「YES」の場合、又は、S6で「NO」、かつS8で「NO」の場合)
トーチ周りのプラス方向で、P点の移動量が最も小さいに回転角度をサーチするため、S12に進む。
(S9,S12:トーチ周りの回転方向を設定)
S9,S12は、トーチ周りの回転方向を設定するために、CPU31は、トーチ回転方向によって、回転符号を設定する。具体的には、S9では、CPU31は、回転符号SDを「−1.0」に設定し、S10へ移行する。又、S12では、CPU31は、回転符号SDを「+1.0」に設定し、S13に移行する。
(S10,S13:比較用のP点位置の設定)
CPU31は、P点移動量が最小となるトーチ周りの角度をサーチするために、現時点のトーチ周り角でのP点を比較用P点位置Prefに保管する。
具体的には、S10ではCPU31は、比較用P点位置Prefとして、S5で算出したPminusの値を設定し、S11に移行する。
又、S13では、CPU31は、比較用P点位置Prefとして、S4で算出したPplusの値を設定し、S14に移行する。
(S11,S14:トーチの現在の位置姿勢の設定)
ここでの処理は、トーチ11の現在の位置姿勢を表す同次変換行列を設定する。
具体的には、S11では、CPU31は、現在のトーチ位置姿勢Atとして、S5で得られたAminusを設定し、S15に移行する。
又、S14では、CPU31は、現在のトーチ位置姿勢Atとして、S4で得られたAplusを設定し、S15に移行する。
(S15:トーチ周り回転量RAの計算)
S15では、CPU31は、S9又はS12で設定された回転符号SD、すなわち、トーチ回転方向に対して、さらに1ピッチ分だけ回転を進めた回転量RAを算出する。本実施形態では、1ピッチとは、式(23)で使用した微少の回転角度PT[rad]とするが、この値に限定されるものではない。すなわち、前記第1所定回転量と同じ値でもよく、或いは、異なる値であってもよい。このS15での微少の回転角度PTは第2所定回転量に相当する。この第2所定回転量の大きさは、適宜の値でよい。
Figure 0005276527
(S16:RA分回転させた場合のP点位置)
CPU31は、トーチ周りにRA回転した場合の同次変換行列XChgPTを式(33)により算出する。
Figure 0005276527
CPU31は、さらに、式(33)で求めたXChgPTを、現在のトーチ位置姿勢を表す同次変換行列Atに右から積算することにより、トーチ角(前進・後退角,狙い角)に影響を与えないトーチ周りにRA回転した同次変換行列Anewを算出する。
Figure 0005276527
又、P点位置を表す、J5座標系Xbase2J5を、CPU31は、上記式(21)のXbase2ToolをAnewに置き換えた以下の式(35)から算出する。
Figure 0005276527
上記式(35)も4×4で表される同次変換行列であり、この第4列目が、所望のP点を表す位置ベクトルPnewとなる。
CPU31は、PnewとPrefのどちらが、手動運転開始時のP点に近いかを、式(36)、式(37)を使用して、それぞれLref、Lnewを算出する。
Figure 0005276527
Lrefは、比較用P点位置Prefの位置ベクトルと、手動運転開始時のP点を表わす位置ベクトルPstrの距離である。
Figure 0005276527
Lnewは、所望のP点を表す位置ベクトルPnewと、手動運転開始時のP点を表わす位置ベクトルPstrの距離である。
そして、CPU31は、LrefとLnewとを比較し、Prefの方が手動運転開始時のP点に近い場合は、P点移動量が最小となるトーチ周りの角度がサーチできたとして、このフローチャートを終了する。
Pnewの方が、手動運転開始時のP点に近い場合は、さらに近い角度を探すべく、S18,S19に移行する。
(S18,S19:更新処理)
S18とS19は、現在のトーチ位置姿勢とP点の位置を最後に計算したトーチ回転位置で更新する処理である。
具体的には、CPU31は、S18において、S16で算出したPnewを比較用P点位置Prefとして設定する。
続く、S19では、CPU31は、S16で算出したAnewを、現在のトーチ位置姿勢Atとして設定する。この後、S15〜S17の処理を繰り返す。
図12のフローチャートの処理が終了した場合、CPU31は、最終的に得られた現在のトーチ位置姿勢Atを補間点として出力する。CPU31は、この現在のトーチ位置姿勢Atに基づき、ロボットの関節位置に逆変換することで、各サーボドライバ38a〜38fへの位置指令を計算し、この位置指令に基づいて、各サーボモータ13a〜13fを駆動制御する。
さて、本実施形態によれば、以下のような特徴がある。
(1) 本実施形態の手動運転により前記溶接トーチのトーチ角を変更するアーク溶接ロボットの制御方法では、トーチ11(溶接トーチ)の進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際、補間周期毎のトーチ11の位置姿勢を算出する(S2、S3)。又、前記ロボットに予め定めたP点(指標点)における位置ベクトルPman(補間分移動位置)と、Pstr(手動運転開始位置)間のLman(第1差分)を算出する(S6〜S8)。又、本制御方法では、補間周期毎に、ロボットに予め定めたP点(指標点)における位置ベクトルPman(補間分移動位置)において、トーチ11の長手方向の周りに±PT(第1所定回転量)分回転させた場合のP点(指標点)における位置とPstr(手動運転開始位置)間のLplus,Lminus(第2差分)を算出する(S6〜S8)。そして、トーチ周りに回転した場合のLplus,Lminus(第2差分)が、トーチ周りに回転させない場合のLman(第1差分)よりも小さい場合に、トーチ11を、少なくともトーチ11の長手方向の周りに前記所定回転量分回転させて手動運転させる。
この結果、本実施形態の手動運転時のロボット制御方法によれば、複雑な溶接線形状を持つワークでも、全ての溶接教示点で、適切なトーチ角を簡単に教示できる。すなわち、本手動運転時のロボット制御方法によれば、トーチ角のワイヤ送給方向に向く軸の周りを中心とした回転方向の冗長自由度における冗長解を適宜、適切に選択することを、より簡単に行うことができる。又、本実施形態のロボットの手動運転時のロボット制御方法によれば、トーチ角である前進角・後退角、あるいは狙い角を変更したとき、トーチ周り回転自由度を使用して、できるだけロボットの基本軸であるJ1軸からJ3軸の角度の変化が少なくなるようにすることができる。
さらに、本実施形態のロボットの手動運転時のロボット制御方法によれば、所望の前進角・後退角、あるいは狙い角を維持しながら、トーチ周りの回転自由度を利用して、基本軸であるJ1軸からJ3軸の変化量を少なくするということは、トーチの姿勢変化によるロボット本体と周辺装置との干渉を防止することになり、安全な姿勢変化を提供できる。例えは、図13(a)、図13(b)は、トーチ11を垂直にした状態から、それぞれ同じ前進角、例えば、15度にするの際のロボットの概略図を示している。図13(a)では、前進角をトーチ周りに回転させない場合において、ロボットの基本軸であるJI軸〜J3軸の角度変化が大きくなる。それに対して図13(b)は、前進角をトーチ周りに回転させる場合においては、図13(a)に比較して、ロボットの基本軸であるJI軸〜J3軸の角度変化が大きくならない。
(2) 本実施形態の手動運転時のロボット制御方法によれば、トーチ周りに回転した場合のLplus,Lminus(第2差分)が、トーチ周りに回転させない場合のLman(第1差分)よりも小さい場合、さらに、PT(第1所定回転量)と同じPT(第2所定回転量)をn(但し、nは自然数、且つn≧1)回加算してトーチ11の長手方向の周りに回転させた場合のP点(指標点)の位置とPstr(手動運転開始位置)間の差分と、(n−1)回加算してトーチ11の長手方向の周りに回転させた場合のP点(指標点)の位置と手動運転開始位置間の差分を算出する。そして、(n−1)回加算してトーチ11の長手方向の周りに回転させた場合の方が、n回加算してトーチ11の長手方向の周りに回転させた場合の方よりも差分が大きくなるまで、nを1つずつ増分する。そして、(n−1)回加算してトーチ11の長手方向の周りに回転させた場合の方が、n回加算してトーチ11の長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、トーチ11の長手方向の周りに、(n−1)回分の第2所定回転量分回転させて手動運転させる。
この結果、本実施形態の制御方法によれば、(n−1)回加算してトーチ11の長手方向の周りに回転させた場合の方が、n回加算してトーチ11の長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、トーチ11を、トーチ11の長手方向の周りに所定回転量を(n−1)回分加算した分回転させて手動運転させる。このことにより、トーチ角である前進角・後退角、あるいは狙い角を変更したとき、トーチ周りの回転自由度を使用して、できるだけロボットの基本軸であるJ1軸からJ3軸の角度の変化が少なくなるようにすることができる。
(3) 本実施形態の制御方法によれば、トーチ周りに回転した場合のLplus,Lminus(第2差分)が、トーチ周りに回転させない場合のLman(第1差分)よりも大きい場合には、トーチ11の進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際の補間周期毎のトーチ11の位置姿勢で手動運転する。
この結果、本実施形態の制御方法では、Lplus,Lminus(第2差分)がLman(第1差分)との大小関係により、選択的に、トーチ11の長手方向の周りに回転させて手動運転させたり、或いはトーチ11の進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際の補間周期毎のトーチ11の位置姿勢でアーク溶接ロボットを制御することができる。
(4) 本実施形態のアーク溶接ロボット制御装置300は、トーチ11の進行方向座標系の軸周りでトーチ角のみが変化するように手動運転指令があった際、補間周期毎のトーチ11の位置姿勢を算出するとともに、ロボットに予め定めたP点(指標点)における位置ベクトルPman(補間分移動位置)と、Pstr(手動運転開始位置)間のLman(第1差分)を算出するCPU31(第1算出手段)を備える。又、アーク溶接ロボット制御装置は、補間周期毎に、ロボットに予め定めたP点(指標点)における位置ベクトルPman(補間分移動位置)において、トーチ11の長手方向の周りに±PT(第1所定回転量)分回転させた場合のP点(指標点)における位置とPstr(手動運転開始位置)間のLplus,Lminus(第2差分)を算出するCPU31(第2算出手段)を備える。そして、アーク溶接ロボット制御装置300は、トーチ周りに回転した場合のLplus,Lminus(第2差分)が、トーチ周りに回転させない場合のLman(第1差分)よりも小さい場合に、トーチ11を、少なくともトーチ11の長手方向の周りに前記所定回転量分回転させるように、基本軸及び手首軸の駆動アクチュエータを駆動するCPU31(制御手段)を備える。
この結果、本実施形態のアーク溶接ロボット制御装置によれば、上記(1)の作用効果を奏するアーク溶接ロボット制御装置を提供できる。
(5) 本実施形態のアーク溶接ロボット制御装置のCPU31(制御手段)は、トーチ周りに回転した場合のLplus,Lminus(第2差分)が、トーチ周りに回転させない場合のLman(第1差分)よりも小さい場合、さらに、PT(第1所定回転量)と同じPT(第2所定回転量)をn(但し、nは自然数、且つn≧1)回加算してトーチ11の長手方向の周りに回転させた場合のP点(指標点)の位置とPstr(手動運転開始位置)間の差分と、(n−1)回加算してトーチ11の長手方向の周りに回転させた場合のP点(指標点)の位置と手動運転開始位置間の差分を算出する。
そして、CPU31は、(n−1)回加算して溶接トーチの長手方向の周りに回転させた場合の方が、n回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなるまで、nを1つずつ増分する。そして、(n−1)回加算してトーチ11の長手方向の周りに回転させた場合の方が、n回加算してトーチ11の長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、トーチ11の長手方向の周りに、(n−1)回分の第2所定回転量分回転させて手動運転させように、基本軸(J1軸〜J3軸)及び手首軸のサーボモータ13a〜13f(駆動アクチュエータ)を駆動する。
この結果、本実施形態のアーク溶接ロボット制御装置では、上記(2)の作用効果を奏するアーク溶接ロボット制御装置を提供できる。
(6) 本実施形態のアーク溶接ロボット制御装置のCPU31(制御手段)は、トーチ周りに回転した場合のLplus,Lminus(第2差分)が、トーチ周りに回転させない場合のLman(第1差分)よりも大きい場合には、トーチ11の進行方向座標系の軸周りでトーチ角のみが変化するように補間周期毎のトーチ11の位置姿勢に基づいて基本軸及び手首軸のサーボモータ13a〜13f(駆動アクチュエータ)を駆動する。
この結果、本実施形態のアーク溶接ロボット制御装置では、上記(3)の作用効果を奏するアーク溶接ロボット制御装置を提供できる。
なお、本発明の実施形態は以下のように変更してもよい。
・ 前記実施形態では、指標点をJ5回転中心点としたが、指標点はJ5回転中心点に限定されるものではなく、j4軸上、又はJ5軸上の任意の点を指標点にすればよい。
13a〜13f…サーボモータ(駆動アクチュエータ)、
31…CPU(第1算出手段、第2算出手段、制御手段)、
100…多関節型ロボット、
200…ポジショナ、300…アーク溶接ロボット制御装置。

Claims (6)

  1. 複数のアームが、基本軸と手首軸からなる複数の関節軸を介して連結され、ロボットの先端に位置するアームに溶接トーチが設けられた溶接ロボットであって、手動運転により前記溶接トーチのトーチ角を変更するアーク溶接ロボットの制御方法において、
    前記溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際、補間周期毎の前記溶接トーチの位置姿勢を算出するとともに、前記ロボットに予め定めた指標点における補間周期分移動した位置(以下、補間分移動位置という)と、手動運転開始位置間の第1差分を算出し、
    前記補間周期毎に、前記補間分移動位置において、前記溶接トーチの長手方向の周りに第1所定回転量分回転させた場合の前記指標点における位置と前記手動運転開始位置間の第2差分を算出し、
    第2差分が第1差分よりも小さい場合に、前記溶接トーチを、少なくとも前記溶接トーチの長手方向の周りに前記所定回転量分回転させて手動運転させることを特徴とするアーク溶接ロボットの制御方法。
  2. 前記第2差分が第1差分よりも小さい場合、
    さらに、第1所定回転量と同じ又は異なる第2所定回転量をn(但し、nは自然数、且つn≧1)回加算して溶接トーチの長手方向の周りに回転させた場合の指標点の位置と手動運転開始位置間の差分と、(n−1)回加算して溶接トーチの長手方向の周りに回転させた場合の指標点の位置と手動運転開始位置間の差分を算出し、
    (n−1)回加算して溶接トーチの長手方向の周りに回転させた場合の方が、n回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなるまで、nを1つずつ増分し、
    (n−1)回加算して溶接トーチの長手方向の周りに回転させた場合の方が、n回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、前記溶接トーチの長手方向の周りに、(n−1)回分の第2所定回転量分回転させて手動運転させることを特徴とする請求項1に記載のアーク溶接ロボットの制御方法。
  3. 前記第2差分が第1差分よりも大きい場合には、
    前記溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際の補間周期毎の前記溶接トーチの位置姿勢で手動運転することを特徴とする請求項1又は請求項2に記載のアーク溶接ロボットの制御方法。
  4. 複数のアームが、基本軸と手首軸からなる複数の関節軸を介して連結され、ロボットの先端に位置するアームに溶接トーチが設けられた溶接ロボットであって、手動運転により前記溶接トーチのトーチ角を変更するアーク溶接ロボット制御装置において、
    前記溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転指令があった際、補間周期毎の前記溶接トーチの位置姿勢を算出するとともに、前記ロボットに予め定めた指標点における補間周期分移動した位置(以下、補間分移動位置という)と、手動運転開始位置間の第1差分を算出する第1算出手段と、
    前記補間周期毎に、前記補間分移動位置において、前記溶接トーチの長手方向の周りに所定回転量分回転させた場合の前記指標点における位置と前記手動運転開始位置間の第2差分を算出する第2算出手段と、
    第2差分が第1差分よりも小さい場合に、前記溶接トーチを、少なくとも前記溶接トーチの長手方向の周りに前記所定回転量分回転させるように、前記基本軸及び手首軸の駆動アクチュエータを駆動する制御手段を備えることを特徴とするアーク溶接ロボット制御装置。
  5. 前記制御手段は、前記第2差分が第1差分よりも小さい場合、
    さらに、第1所定回転量と同じ又は異なる第2所定回転量をn(但し、nは自然数、且つn≧1)回加算して溶接トーチの長手方向の周りに回転させた場合の指標点の位置と手動運転開始位置間の差分と、(n−1)回加算して溶接トーチの長手方向の周りに回転させた場合の指標点の位置と手動運転開始位置間の差分を算出し、
    (n−1)回加算して溶接トーチの長手方向の周りに回転させた場合の方が、n回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなるまで、nを1つずつ増分し、
    (n−1)回加算して溶接トーチの長手方向の周りに回転させた場合の方が、n回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、前記溶接トーチの長手方向の周りに、(n−1)回分の第2所定回転量分回転させるように、前記基本軸及び手首軸の駆動アクチュエータを駆動することを特徴とする請求項4に記載のアーク溶接ロボット制御装置。
  6. 前記制御手段は、前記第2差分が第1差分よりも大きい場合には、前記溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際の補間周期毎の前記溶接トーチの位置姿勢に基づいて前記基本軸及び手首軸の駆動アクチュエータを駆動することを特徴とする請求項4又は請求項5に記載のアーク溶接ロボット制御装置。
JP2009143276A 2009-06-16 2009-06-16 アーク溶接ロボットの制御方法、及びアーク溶接ロボット制御装置 Expired - Fee Related JP5276527B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009143276A JP5276527B2 (ja) 2009-06-16 2009-06-16 アーク溶接ロボットの制御方法、及びアーク溶接ロボット制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009143276A JP5276527B2 (ja) 2009-06-16 2009-06-16 アーク溶接ロボットの制御方法、及びアーク溶接ロボット制御装置

Publications (2)

Publication Number Publication Date
JP2011002888A JP2011002888A (ja) 2011-01-06
JP5276527B2 true JP5276527B2 (ja) 2013-08-28

Family

ID=43560816

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009143276A Expired - Fee Related JP5276527B2 (ja) 2009-06-16 2009-06-16 アーク溶接ロボットの制御方法、及びアーク溶接ロボット制御装置

Country Status (1)

Country Link
JP (1) JP5276527B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5946680B2 (ja) * 2012-04-11 2016-07-06 株式会社ダイヘン アーク溶接用プログラムのプログラム変換方法、及びアーク溶接用プログラムのプログラム変換装置
JP5980867B2 (ja) 2014-10-07 2016-08-31 ファナック株式会社 ロボットをオフラインで教示するロボット教示装置
CN106624507A (zh) * 2016-11-14 2017-05-10 芜湖市元山机械制造有限公司 一种改进底座的汽车前副车架焊接机器人
CN106425203A (zh) * 2016-11-22 2017-02-22 芜湖市元山机械制造有限公司 一种汽车减震器支架机器人焊接控制系统
CN106514078A (zh) * 2016-12-02 2017-03-22 芜湖市元山机械制造有限公司 一种汽车弹簧盘分总成圆弧轨迹焊接机器人
CN109960847B (zh) * 2018-12-28 2023-09-01 北京工业大学 一种基于空间变换原理的摆焊方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08123536A (ja) * 1994-10-25 1996-05-17 Fanuc Ltd 溶接トーチ姿勢の教示方法
JP3902310B2 (ja) * 1998-01-12 2007-04-04 株式会社安川電機 産業用ロボットの姿勢生成方法
JP2001312305A (ja) * 2000-04-28 2001-11-09 Yaskawa Electric Corp ロボットのツール制御方法
JP5112599B2 (ja) * 2003-07-03 2013-01-09 株式会社神戸製鋼所 アーク溶接ロボットおよびそのウィービング方法並びにそのウィービングプログラム
JP4917252B2 (ja) * 2004-07-23 2012-04-18 ファナック株式会社 アーク溶接用装置
JP4859386B2 (ja) * 2005-04-20 2012-01-25 株式会社小松製作所 アーク溶接装置及びアーク溶接装置のウィービング溶接方法

Also Published As

Publication number Publication date
JP2011002888A (ja) 2011-01-06

Similar Documents

Publication Publication Date Title
JP5276527B2 (ja) アーク溶接ロボットの制御方法、及びアーク溶接ロボット制御装置
JP4917252B2 (ja) アーク溶接用装置
JP6268819B2 (ja) 多軸型ロボットの軌道生成方法
KR20180038479A (ko) 로봇시스템
JP6511626B2 (ja) シーム溶接システム、シーム溶接方法および被溶接物の生産方法
US20210260750A1 (en) Method to Modify a Program for Robotic Welding
JP2007000954A (ja) ロボット教示装置及び方法
JP4498061B2 (ja) 溶接ロボット制御装置
JP4842656B2 (ja) 溶接ロボット制御装置
JP4859386B2 (ja) アーク溶接装置及びアーク溶接装置のウィービング溶接方法
JP2009119525A (ja) 溶接ロボットにおける溶接線座標の教示方法及び溶接ロボットの多層盛溶接におけるオフセット値の教示方法
KR101787865B1 (ko) 다관절 링크 기구의 역운동학 해법, 및 이 역운동학 해법을 이용한 교시 데이터 작성 장치
US20200238512A1 (en) Teaching Data Generation System For Vertical Multi-Joint Robot
JP5056241B2 (ja) ロボットシステム制御装置
US11964391B2 (en) Robot system
US11878423B2 (en) Robot system
JP2009262306A (ja) ロボットの教示方法
JP7438625B2 (ja) 円周溶接方法
JPH11342473A (ja) Tig溶接用ロボットの制御方法
JP2009148894A (ja) 多関節ロボット
FI83175B (fi) Foerfarande foer banstyrning av en robotcell.
JP2009050949A (ja) ロボットアームの軌道教示方法および軌道教示装置
JP5946680B2 (ja) アーク溶接用プログラムのプログラム変換方法、及びアーク溶接用プログラムのプログラム変換装置
JP7502439B2 (ja) ロボット制御装置
WO2021200403A1 (ja) 工作機械、加工経路生成方法、及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120507

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130425

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: 20130514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130517

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees