説明

産業用ロボット制御装置

【課題】 溶接トーチの停止時における残留振動を、アームの質量や溶接ロボットの姿勢に影響されずに可能な限り抑えることのできる産業用ロボット制御装置を提供する。
【解決手段】 本発明の溶接ロボット制御装置20は、アームを減速させるとき、下式が成立するように各関節の減速度を制御する減速制御手段を備える。


上式において、「Deci」は各関節の減速度[rad/sec2]、「Wvamp」は溶接トーチの許容最大振動幅[mm]、「Li」は溶接トーチの先端と各関節の回転中心軸との距離[mm]、「Ki」は減速機のばね定数[N/rad]、「Ii」は各関節における慣性モーメント[kg・m2]をそれぞれ示す。

【発明の詳細な説明】
【技術分野】
【0001】
本願発明は、ワーク(被溶接物)に対して例えばアーク溶接を行う産業用ロボットの制御装置に関するものである。
【背景技術】
【0002】
従来、ワークに対してアーク溶接を行う多関節溶接ロボットにおいては、例えば複数のアームと、それらのアームをそれぞれ変移させるためのモータ(サーボモータ)とが設けられている。各アームと各モータとの間には、モータのトルクを増大させるための減速機が設けられている。この減速機には、通常、ばね要素が含まれているのであるが、例えばアームの先端に取り付けられた溶接トーチを移動させ、ワーク上の所望の溶接開始点で停止させる場合、上記ばね要素が作用して反力が生じ、溶接トーチの先端が振動してしまうことがある(以下、この振動のことを「残留振動」という)。
【0003】
この残留振動が生じると、アーク溶接に不具合を生じさせることがある。すなわち、通常、溶接トーチを溶接開始点で停止させてからアーク溶接を行う場合、上記残留振動が完全に収束しないうちに、すなわち残留振動が生じている最中に、アーク溶接を開始すると、スパッタが増大し、アーク溶接後のワークの外観を損ねることがある。そのため、残留振動が生じるときには、その残留振動が完全に収束し終えるまで待機してからアーク溶接を開始する必要がある。
【0004】
したがって、従来では、上記残留振動が生じるとき、その残留振動が収まってからアーク溶接を開始しているため、溶接作業の全体時間が増大するといった問題点がある。特に、移動している溶接トーチを急速に減速させて溶接トーチを停止させると、溶接トーチの残留振動は顕著に現れるため、残留振動が収束するまでの待機時間が延びることになり、溶接作業時間がさらに増大する。
【0005】
下記特許文献1には、溶接作業の全体時間を短縮するための溶接ロボットの加減速時間決定方法が記載されている。すなわち、特許文献1に記載の技術は、溶接ロボットの姿勢の変化にともなう負荷(溶接トーチ)の移動を、溶接ロボットの教示点の位置、姿勢や各軸の動作方向、動作速度からなる教示データと、溶接ロボットの各アームの質量や重心位置とから計算し、溶接ロボットの各関節の加減速時間を決定する方法である。
【0006】
【特許文献1】特開平7−261822号公報
【0007】
上記特許文献1に記載の技術によれば、溶接ロボットの各関節を駆動するモータの許容ピークトルクを最大限に利用することができるので、溶接ロボットの溶接作業をより短時間で終了させることができる。しかしながら、上記特許文献1に記載の技術は、各関節に設けられる減速機のばね要素を考慮しているものとは言えず、そのため、このばね要素によって生じる残留振動を抑えることはできないといった欠点を有する。
【0008】
ところで、上記の溶接トーチの停止時における残留振動の振動幅は、多関節溶接ロボットの構成や姿勢等によっても増大する。すなわち、例えば多関節溶接ロボットを構成する一つのアームの重量が従来のものより重くなると、各関節における残留振動の振動周波数は小さくなる。すなわち、一般に、溶接トーチが直線運動する場合、溶接トーチにおける固有振動数は以下の式によって表される。
【0009】
【数2】

【0010】
ここで、fは固有振動数、Kはばね定数、mは質量を示す。
【0011】
すなわち、ばね定数Kは一定であるため、質量mが大きくなると、固有振動数fは小さくなる。固有振動数fが小さくなると、上記した溶接トーチの停止時における残留振動の振幅幅が大きくなる。
【0012】
また、例えば多関節溶接ロボットが伸張した状態を考えると、この状態では各関節における慣性モーメントが非常に大きくなる。すなわち、一般に、溶接トーチが回転運動する場合、溶接トーチにおける固有振動数は以下の式によって表される。
【0013】
【数3】

【0014】
ここで、fは固有振動数、Kはばね定数、Jは慣性モーメントを示す。
【0015】
すなわち、ばね定数Kは一定であるため、慣性モーメントJが大きくなると、固有振動数fは小さくなる。固有振動数fが小さくなると、上記した溶接トーチの停止時における残留振動の振幅幅が大きくなる。
【0016】
これらのように、溶接ロボットのアームの質量が増大したり、溶接ロボットの姿勢が伸張したりした場合には、残留振動の振幅幅が大きくなり、残留振動がより顕在化する。
【発明の開示】
【発明が解決しようとする課題】
【0017】
本願発明は、上記した事情のもとで考え出されたものであって、溶接トーチの停止時における残留振動を、アームの質量や溶接ロボットの姿勢に影響されずに可能な限り抑えることのできる産業用ロボット制御装置を提供することを、その課題とする。
【課題を解決するための手段】
【0018】
上記の課題を解決するため、本願発明では、次の技術的手段を講じている。
【0019】
本願発明の第1の側面によって提供される産業用ロボット制御装置は、複数の関節を有する産業用ロボットの各関節に設けられた複数のサーボモータの駆動力を減速機を介してアームに伝達することにより、前記アームの先端に設けられた加工ツールを教示軌道上で移動させ、前記加工ツールを減速させることにより、前記加工ツールをワーク上の加工処理における特定位置に到達させ、前記特定位置において加工処理を行う産業用ロボットの制御装置であって、前記加工ツールを減速させるとき、下式が成立するように産業用ロボットの各関節の減速度を制御する減速制御手段を備えることを特徴としている(請求項1)。
【0020】
【数4】

【0021】
上式において、
「Deci」は各関節の減速度[rad/sec2](iは関節番号、i=1,2,‥)、「Wvamp」は前記加工ツールの許容最大振動幅[mm]、「Li」は前記加工ツールの先端と各関節の回転中心軸との距離[mm](iは関節番号、i=1,2,‥)、「Ki」は前記減速機のばね定数[N/rad](iは関節番号、i=1,2,‥)、「Ii」は各関節における慣性モーメント[kg・m2](iは関節番号、i=1,2,‥)をそれぞれ示す。
【0022】
この構成によれば、加工ツールを減速させるとき、上式が成立するように産業用ロボットの各関節の減速度が制御されるので、加工ツールを特定位置に到達させるときの残留振動を適切に抑制することができる。また、上式によれば、慣性モーメントが考慮されているため、アームの質量や産業用ロボットの姿勢に影響されずに可能な限り残留振動を抑えることができる。なお、ここで「加工ツール」とは、例えばアーク溶接、スポット溶接又はレーザ溶接等の溶接処理を行うための溶接トーチやプラズマ切断又はレーザ切断等の切断処理を行うための切断装置等をいう。特に、スポット溶接においては、上記した残留振動を抑制する方法は、スポット溶接の打点位置への移動時に特に有効である。残留振動が十分に抑制されていないときに、スポット溶接のための打点動作を行うと、ナゲットの品質に重要な加圧力制御が正確に機能しなくなり、チリやヒュームが増える要因になるからである。また、「特定位置」とは、加工開始位置、加工途中の位置、又は加工終了位置等をいう。
【0023】
また、上記産業用ロボット制御装置において、前記特定位置は加工開始位置であるとよい(請求項2)。
【0024】
また、本願発明の第2の側面によって提供される産業用ロボット制御装置は、前記加工ツールを動作開始位置から加工開始位置に移動させるための複数の教示ステップを実行し、前記加工開始位置に移動後に加工処理を行う産業用ロボットの制御装置であって、前記複数の教示ステップのうち、前記加工ツールを前記加工開始位置に移動させる内容を含む教示ステップにおいて、本願発明の第1の側面によって提供される産業用ロボット制御装置の減速制御手段による前記加工ツールの減速制御を行うことを特徴としている(請求項3)。
【0025】
この構成によれば、複数の教示ステップのうち、加工ツールを加工開始位置に移動させる内容を含む教示ステップにおいて減速制御が行われ、他の教示ステップでは減速制御が行われないので、減速制御が必要な適切なタイミングで減速制御を行うことができ、全体の溶接時間を容易に短縮することができる。
【0026】
本願発明のその他の特徴及び利点は、添付図面を参照して以下に行う詳細な説明によって、より明らかとなろう。
【発明を実施するための最良の形態】
【0027】
以下、本願発明の好ましい実施の形態を、添付図面を参照して具体的に説明する。
【0028】
図1は、本願発明に係るロボット制御装置が適用されるロボット制御システムを示す構成図である。このロボット制御システムは、溶接ロボットに設けられた溶接トーチ(後述)によってワーク(被溶接物)Wに対してアーク溶接を施すものであり、特に本実施形態に係るロボット制御システムは、溶接トーチのワークW上の溶接開始位置において生じる残留振動を可能な限り抑える制御(以下、「残留振動抑制制御」という。)を備えている。
【0029】
このロボット制御システムは、溶接ロボット10と、ロボット制御装置20と、溶接電源装置30とによって大略構成されている。
【0030】
溶接ロボット10は、ワークWに対して例えばアーク溶接を自動で行うものである。溶接ロボット10は、フロア等の適当な箇所に固定されるベース部材11と、それに複数の軸を介して連結された複数のアーム12と、複数のアーム12の両端又は片端に設けられた複数の減速機(図示略)及び複数の駆動モータ(サーボモータ)13(一部図示略)とによって構成されている。
【0031】
溶接ロボット10には、最も先端側に設けられたアーム12の先端部に、溶接トーチ14が設けられている。溶接トーチ14は、溶加材としての例えば直径1mm程度の溶接ワイヤ15をワークWの所定の溶接位置に導くものである。
【0032】
溶接ロボット10の上部には、ワイヤ送給装置16が設けられている。ワイヤ送給装置16は、溶接トーチ14に対して溶接ワイヤ15を送り出すためのものである。ワイヤ送給装置16は、溶接ワイヤ15が巻回された図示しないリールと、リールを回転させる送給モータ17とによって構成され、送給モータ17は、溶接電源装置30によって回転駆動される。
【0033】
ワイヤ送給装置16には、溶接ワイヤ15を案内するためのコイルライナ18が接続され、コイルライナ18の先端は、溶接トーチ14に接続されている。これにより、ワイヤ送給装置16によって送り出された溶接ワイヤ15は、コイルライナ18を介して溶接トーチ14に導かれる。溶接ワイヤ15は、溶接トーチ14から外部に突出して消耗電極として機能する。すなわち、溶接電源装置30によって溶接ワイヤ15の先端とワークWとの間にアークを発生させてその熱で溶接ワイヤ15を溶融させることにより、ワークWに対して溶接が施される。
【0034】
駆動モータ13は、ロボット制御装置20からの駆動信号によって回転駆動され、この各駆動モータ13が回転駆動されることにより、各アーム12が変位し、結果的に溶接トーチ14が上下前後左右に移動可能とされる。
【0035】
なお、駆動モータ13には、図示しないエンコーダが設けられている。エンコーダの出力は、ロボット制御装置20に与えられ、ロボット制御装置20では、エンコーダの出力によって溶接トーチ14の現在位置を認識するようになっている。
【0036】
本実施形態に係る溶接ロボット10は、図1に示すように、複数の関節を有する多関節溶接ロボットであり、これら複数の関節を複合動作させることにより、図2に示すように、溶接トーチ14を所定の動作開始点S0から複数の教示点Pn(n=1,2,‥、図2ではnは2つ)を介して、アーク溶接が行われる溶接開始点ASに移動させるようになっている。すなわち、溶接トーチ14は、動作開始点S0から教示点P1までの教示軌跡W1、教示点P1から教示点P2までの教示軌跡W2、教示点P2から溶接開始点ASまでの教示軌跡W3を通過するようになっている。
【0037】
溶接トーチ14が図2に示す教示軌跡を通過して溶接開始点ASに到達する際、通常、減速機(図略)のばね要素に起因して反力が生じ、溶接トーチ14の先端において残留振動が生じる。そこで、本実施形態では、ロボット制御装置20において溶接トーチ14の溶接開始点ASにおいて生じる残留振動を抑制するための残留振動抑制制御が行われる。この残留振動抑制制御の詳細については後述する。
【0038】
図1に戻り、ロボット制御装置20は、溶接ロボット10の動作を制御するためのものである。ロボット制御装置20は、予め記憶されている教示作業プログラム及び図示しないエンコーダからの現在位置情報等に基づいて、溶接ロボット10の各駆動モータ13を駆動制御して、溶接トーチ14をワークWの所定の溶接位置に移動させる。
【0039】
溶接電源装置30は、図示しない溶接電源を備えており、溶接電源は溶接トーチ14とワークWとの間に高電圧の溶接電圧を供給するものである。また、溶接電源装置30は、所定のタイミングでワイヤ送給装置16の送給モータ17を駆動させる機能をも有している。
【0040】
図3は、ロボット制御装置20の内部構成及びその周辺装置を示すブロック図である。ロボット制御装置20は、CPU21、RAM22、ROM23、タイマ(TIMER)24、ハードディスク25、ティーチングペンダントI/F26、操作ボックスI/F27、及びサーボドライバI/F28を備えており、各部はバス(BUS)31によって相互に接続されている。
【0041】
ティーチングペンダントI/F26には、ティーチングペンダント33が接続され、操作ボックスI/F27には、操作ボックス34が接続されている。また、サーボドライバI/F28には、ロボット制御装置20の内部に設けられた複数のサーボドライバ35が接続され、サーボドライバ35には、溶接ロボット10に設けられた6つの駆動モータ13がそれぞれ接続され、各駆動モータ13には減速機19がそれぞれ連結されている。
【0042】
CPU21は、本ロボット制御装置20の制御中枢となるものであり、予め定められた教示作業プログラム、ティーチングペンダント33や操作ボックス34からの操作信号、あるいは図示しないエンコーダからの現在位置情報等に基づいて、後述するROM23に格納された制御ソフトウェアにしたがって所定のデータ処理を行い、バス31及びサーボドライバI/F28を介してサーボドライバ35に動作指令を与える。これにより、駆動モータ13が回転駆動され、溶接トーチ14が移動される。
【0043】
RAM22は、CPU21に対して作業領域を提供するものであり、計算データ等を一時的に記憶する。RAM22は、例えば後述する動作命令バッファ41、軌道バッファ42、補間点バッファ43、又は関節補間点バッファ44として機能する。
【0044】
ROM23には、溶接ロボットの動作を制御するためのソフトウェアが格納されている。また、ROM23には、本実施形態の残留振動抑制制御のための制御ロジックも格納されている。
【0045】
ハードディスク25は、溶接ロボット10の動作(衝突検出、停止処理等を含む)が定められた教示作業プログラム、この教示作業プログラムの実行条件を示すデータ、制御定数を示すデータ等を格納するものである。特に、本実施形態では、ハードディスク25には、溶接ロボット10の機構パラメータ(後述)が記憶されている。ハードディスク25には、溶接ロボット10の各関節のばね定数Ki(iは関節番号、i=1,2,‥)が関節ごとに記憶されている。また、ハードディスク25には、溶接トーチ14の溶接開始位置における許容残留振動幅Wvampが記憶されている。ここで、許容残留振動幅Wvampとは、溶接トーチ14によるアーク溶接が開始される際に許容できる残留振動の振動幅をいい、例えば約0.5mm以内とされている。これら、機構パラメータ、ばね定数Ki、及び許容残留振動幅Wvampは、後述する残留振動抑制制御に用いられるものである。
【0046】
タイマ24は、予め定められた定期時刻ごとに同期信号をCPU21に対して発生するものである。同期信号は、CPU21がサーボドライバ35に対して動作指令信号を出力する際の更新タイミングとして用いられる。
【0047】
ティーチングペンダントI/F26は、ティーチングペンダント33とのインターフェースを司るものである。ティーチングペンダント33は、例えば表示装置33aとキーボード33bとを有し、溶接ロボット10の動作を手動で行う際にユーザによって操作されるものである。CPU21は、このティーチングペンダント33からの操作信号を受け取ることにより所定のデータ処理を行うとともに、ティーチングペンダント33に対して表示データを送ることにより、操作情報を表示させる。
【0048】
操作ボックスI/F27は、操作ボックス34とのインターフェースを司るものである。操作ボックス34は、自動運転モード又は手動モードの選択、起動、開始、及び停止等の各種操作をユーザによって可能にするものである。CPU21は、この操作ボックス34からの操作信号を受け取ることにより所定のデータ処理を行う。
【0049】
サーボドライバI/F28は、サーボドライバ35とのインターフェースを司るものである。サーボドライバ35は、CPU21からの動作指令信号に基づいて、6つの駆動モータ13をそれぞれ駆動制御するものである。
【0050】
図4は、CPU21及びRAM22の実際的な機能をブロックにして表した場合の構成図である。
【0051】
ROM23に格納された制御ソフトウェアにしたがってCPU21で実現される機能としては、動作命令読み出し部36、軌道生成部37、補間点生成部38、関節補間点生成部39、及びサーボ出力部40によって表され、RAM22の機能としては、動作命令バッファ41、軌道バッファ42、補間点バッファ43、及び関節補間点バッファ44によって表される。なお、各バッファ41〜44は、FIFO(first-in first-out)バッファとして構成されており、先入れ及び先出しでデータが処理される。
【0052】
動作命令読み出し部36は、ハードディスク25に記憶される教示データから、溶接ロボット10の動作命令に関する情報(例えば座標、速度情報等のデータからなる軌道命令)を読み出し、動作命令バッファ41に格納する。
【0053】
軌道生成部37は、動作命令バッファ41から動作命令に関する情報(動作命令コマンド)を読み出し、それに基づいて溶接ロボット10の溶接トーチ14の作業軌道を三次元空間の直交座標上で計画する。軌道生成部37は、計画された軌道データを軌道バッファ42に格納する。なお、本実施形態の特徴である残留振動抑制制御は、主にこの軌道生成部37において実現されるようになっている。
【0054】
補間点生成部38は、軌道バッファ42から軌道データを読み出し、その軌道データを「補間周期」と呼称される所定時間毎に分割し、補間周期毎に直交座標によって表される、溶接トーチ14が到達すべき位置、及び溶接トーチ14の姿勢を示す補間点データを算出する。軌道データは、図2に示したように、動作開始点S0から溶接開始点ASに至る溶接トーチ14の移動軌跡を複数の教示点Pnによって表すとともに、教示点Pn間の溶接トーチ14の移動方法を直線移動や円弧移動によって定義したものである。補間点生成部38は、隣接する教示点間において溶接トーチ14が通過すべき点とその点における溶接トーチ14の姿勢等のデータを補間周期毎に補間している。補間点生成部38は、算出した補間点データを補間点バッファ43に格納する。
【0055】
関節補間点生成部39は、溶接トーチ14の到達位置、及び溶接トーチ14の姿勢を示す補間点データを、溶接ロボット10の各関節における関節角度を示すデータに逆変換する演算を行い、それを関節補間点バッファ44に一時的に記憶する。
【0056】
関節補間点バッファ44に格納された、溶接ロボット10の各関節における関節角度を示すデータは、タイマ24によって発生される同期信号SYNCに同期してサーボ出力部40に通知される。そして、上記関節角度を示すデータは、サーボ出力部40から所定のタイミングでサーボドライバI/F28を介してサーボドライバ35へ各関節の位置指令(駆動モータ13に対する動作指令)として出力される。
【0057】
図5は、サーボドライバ35によるサーボ制御の概念を示すブロック図である。この図によると、溶接ロボット10の各関節における位置指令は、位置制御ブロック51に入力され、位置制御ブロック51の出力は、速度制御ブロック52に入力される。速度制御ブロック52の出力は、電流制御ブロック53に入力され、電流制御ブロック53の出力は、駆動モータ13に入力される。駆動モータ13の出力は、減速機19からなる減速機構のばね要素ブロック54を介して、負荷としてのアーム12に与えられる。
【0058】
駆動モータ13には、電流検出ブロック55が接続され、電流検出ブロック55において駆動モータ13に流れる電流が検出され、その値は電流制御ブロック53にフィードバックされる。また、駆動モータ13には、エンコーダ56が接続され、エンコーダ56によって現在の回転速度(アーム12の移動速度に対応)のデータが取得され、その回転速度データは、位置制御ブロック51と速度制御ブロック52とにフィードバックされる。
【0059】
位置制御ブロック51では、フィードバックされた回転速度データが積分ブロック57によって積分されることにより位置データに変換されて減算器61に入力され、この減算器61により位置指令(関節角度)に対する現在の位置(関節角度)の誤差データが演算される。この誤差データは増幅器58により所定のゲインKpp(以下、位置フィードバックゲインという。)でレベル補正が行なわれた後、加算器62に入力される。
【0060】
また、位置制御ブロック51では、溶接ロボット10の各関節における位置指令のデータは、微分ブロック59によって微分されることにより速度データに変換され、さらに増幅器60により所定のゲインKff(以下、速度フィードフォワードゲインという。)でレベル補正が行なわれた後、加算器62に入力される。加算器62では速度フィードフォワードゲインKffから出力される速度データと、位置フィードバックゲインKppから出力される誤差データとが加算されて、上述した速度制御ブロック52に出力される。
【0061】
このように、溶接ロボット10の各関節における位置指令に対して駆動モータ13の動作をフィードバック制御させることにより、予め教示された教示データの再生動作をより正確に行うことができる。
【0062】
次に、本実施形態の特徴である残留振動抑制制御について説明する。この残留振動抑制制御は、上述したように、軌道生成部37(図4参照)において実現され、軌道生成部37では、図6に示す手順で溶接ロボット10の各関節における減速度が算出される。そして、溶接ロボット10の各関節が算出された減速度の速度パターンで移動することにより、残留振動が抑制される。
【0063】
まず、ステップS1において、溶接開始点AS(図2参照)における溶接ロボット10の各関節の慣性モーメントIi(iは関節番号、i=1,2,‥)を算出する。より詳細には、溶接開始点ASにおける溶接ロボット10の各関節の慣性モーメントIiを、溶接開始点ASにおける溶接ロボット10の各関節の回転角度と、予め設定されている機構パラメータとを用いて、逆動力学演算を行うことにより算出する。
【0064】
ここで、溶接ロボット10の機構パラメータとは、表1に示す4つの項目から構成され、すなわち関節に連結されるアーム12の質量、重心位置、慣性テンソル、及びリンクの長さのことである。なお、表1中の個数は、関節に連結されるアーム1つ当たりの値である。表1に示す「関節に連結されるリンクの質量」におけるリンクとは、図7に示す第1リンクL1又は第2リンクL2を示す。
【0065】
【表1】

【0066】
ここで、溶接ロボット10には、図7に示すように、各関節を制御するための座標系として基準座標系とツール座標系とが設定されている。基準座標系は、溶接ロボット10の設置位置に固定的に設定されている。一方、ツール座標系は、溶接トーチ14の先端(ツールセンタポイントTCP)に設定されたもので、溶接トーチ14の移動に伴って移動する。すなわち、ツール座標系の原点位置の基準座標系における位置は、溶接トーチ14の移動によって変化する。
【0067】
図7は、例えば3自由度の溶接ロボット10について説明したものであり、第1関節と第2関節との間に第1リンクL1が構成され、第2関節と第3関節との間に第2リンクL2が構成されている。そして、第3関節から先端側には、溶接トーチ14が接続されている。以下の説明では、図7に示すように、溶接ロボット10が3自由度の構成であるとする。
【0068】
図8は、表1に示す「関節に連結されるリンクの重心位置」を説明するために、第2リンクL2を例にとった図である。図8によれば、第2リンクL2の重心位置において慣性テンソルIの基準座標系が設定されている。
【0069】
慣性テンソルIは、物体(例えば溶接ロボット10のアーム12)の回転し難さを示すのに一般的に用いられ、公知の通り、表1中の3×3の対称行列で表される。そして、その対角成分は溶接ロボット10の各関節の慣性モーメントIx,Iy,Izを表し、その他の成分は慣性乗積Ixy,Iyz,Izxの負の値を表す。
【0070】
慣性モーメントIx,Iy,Izは、物体の回り難さ及び止め難さを表すものであり、例えば次式により求められる。
【0071】
【数5】

【0072】
さらに、慣性乗積Ixy,Iyz,Izxは、物体が回転運動を行っているとき、その運動を乱すモーメントを表すものであり、次式により求められる。
【0073】
【数6】

【0074】
ここで、dmは微小体積における質量を示す。なお、式中のx,y,zは、所定のリンク座標系を基準として表される。ここでは、基本的なリンク座標系としては、図8に示すように、例えば、第2関節と第3関節との間に伸張する第2リンクL2(アームに相当)においては、第2関節の回転中心を原点として、第2関節に割り当てられるリンク座標が定められ、そのx方向は第2リンクL2の長さの方向であり、z方向は第2関節の回転方向であり、y方向は右手座標系の方向である。
【0075】
図7及び図8に示した第2リンクL2の慣性テンソルI2の基準座標は、第2関節に割り当てられたリンク座標系を第2リンクL2の重心位置に移動したときの座標系とされる。他の関節についても同様に定義される。
【0076】
次いで、逆動力学モデルにおいて用いられる慣性行列Hについて考えると、一般に、溶接ロボット10の関節数がnの場合、慣性行列Hは、n×nの対称行列で表され、溶接ロボット10の各関節の角加速度により関節自身に発生するトルク、及び他の関節の角加速度により発生する干渉トルクを示すものである。
【0077】
上記(4)〜(6)式で表される溶接ロボット10の各関節の慣性テンソルIを用いることで、溶接ロボット10の現在の姿勢における慣性行列Hが求まるが、その内容に関しては公知であるため、ここでの詳細な説明は省略する。例えば溶接ロボット10が3つの関節からなる場合、慣性行列Hは、以下の式で表される。
【0078】
【数7】

【0079】
ここで、上記慣性行列のH11,H22,H33がそれぞれ各関節の慣性モーメントとなる。すなわち、各関節の慣性モーメントI1,I2,I3は次式で表される。
【0080】
【数8】

【0081】
次に、図6のステップS2において、溶接ロボット10の機構パラメータと、溶接開始点ASでの溶接ロボット10の関節位置とに基づいて、図9に示すように、各関節の回転中心軸からツールセンターポイント(TCP)までの距離Li(iは関節番号、i=1,2,‥)を算出する。
【0082】
ここでは、関節毎に割り当てられるリンク座標系を定義するものとして一般に知られているA行列を用いる。例えば、溶接ロボット10の第n関節のA行列を示すとAnとなるが、各関節におけるA行列を積算することにより、関節間の相対的な位置、姿勢を計算できることが知られている。
【0083】
例えば溶接ロボット10の先端に装着される溶接トーチ14の寸法が最終リンクである第3関節に含まれる場合には、第1関節(図9参照)からTCPまでの相対的な位置姿勢が同次変換行列Rとして、以下の式により算出される。なお、14式中のn,o,aは、回転行列を表す数値を示す。
【0084】
【数9】

【0085】
また、第2関節からTCPまでの相対的な位置姿勢は、次式によって求められる。なお、15式中のn,o,aは、回転行列を表す数値を示す。
【0086】
【数10】

【0087】
さらに、第3関節からTCPまでの相対的な位置姿勢は、次式によって求められる。なお、16式中のn,o,aは回転行列を表す数値を示す。
【0088】
【数11】

【0089】
同次変換行列Rは、座標系の位置と姿勢とを表す行列である。リンク座標系は、関節の回転方向がZ方向に一致されるので、所望の関節の回転中心軸からTCPまでの距離Liは、以下のように算出することができる。すなわち、第1関節からTCPまでの距離L1は、次式で表される。
【0090】
【数12】

【0091】
ここで、P1xは、第1関節における同次変換行列R1の1行4列目の値であって、X方向位置成分を表すものであり、P1yは、第1関節における同次変換行列R1の2行4列目の値であって、Y方向位置成分を表すものである。
【0092】
また、第2関節からTCPまでの距離L2は、次式で表される。
【0093】
【数13】

【0094】
ここで、P2xは、第2関節における同次変換行列R2の1行4列目の値であって、X方向位置成分を表すものであり、P2yは、第2関節における同次変換行列R2の2行4列目の値であって、Y方向位置成分を表すものである。
【0095】
さらに、第3関節からTCPまでの距離L3は、次式で表される。
【0096】
【数14】

【0097】
ここで、P3xは、第3関節における同次変換行列R3の1行4列目の値であって、X方向位置成分を表すものであり、P3yは、第3関節における同次変換行列R3の2行4列目の値であって、Y方向位置成分を表すものである。
【0098】
次に、図6のステップS3において、溶接ロボット10の各関節における最大減速度Deciを算出する。
【0099】
ここで、溶接ロボット10の各関節における運動方程式は、一般に以下の式で表される。
【0100】
【数15】

【0101】
なお、Iiは溶接ロボット10の第i関節における慣性モーメント[kg・m2]を示し、θiddは溶接ロボット10の第i関節における加速度[rad/sec2]を示し、Kiは溶接ロボット10の第i関節におけるばね定数[N/rad]を示し、θiは溶接ロボット10の第i関節におけるねじれ角[rad]を示し、ciは溶接ロボット10の第i関節における粘性係数[N/rad/sec]を示し、θidは溶接ロボット10の第i関節における速度[rad/sec]をそれぞれ示す。
【0102】
多関節の溶接ロボットの場合、厳密には、上記運動方程式において、他の関節からの干渉トルクをも考慮する必要があるが、他の関節からの干渉トルクをも考慮すると、高次の運動方程式となり、解析に膨大な時間が必要となるため、実用的ではないので、ここでは、他の関節からの干渉トルクは無視して解析する。
【0103】
また、溶接トーチ14の停止時には、溶接トーチ14の速度は0近傍にあるので、速度によるトルクの発生も無視することができる。溶接トーチ14の停止時には、厳密には、残留振動による速度が発生しているのであるが、その速度は非常に小さく、無視できる(θid≒0)。これらのことより、上記(20)式は、以下の式に表される。
【0104】
【数16】

【0105】
ここで、第i関節のねじれ角θiは、TCPでの許容最大振動幅Wvampと、TCPから各関節までの距離Liとで表すと、下記の式になる。
【0106】
【数17】

【0107】
(21)式に(22)式を代入すると、TCPでの残留振動を許容最大振動幅Wvampに抑えるための各関節の角加速度θiddは、次式となる。
【0108】
【数18】

【0109】
(23)式において、慣性モーメントIiはステップS1において算出済みであり、TCPと各関節との距離LiもステップS2において算出済みである。ばね定数Kiは、溶接ロボット10に設けられた減速機19に固有の値であり、上述したように、ハードディスク25に記憶されている。
【0110】
許容最大振動幅Wvampは、残留振動の振幅[mm]であり、溶接ロボット10が行う作業内容によりその適正値が変化するのであるが、例えばアーク溶接の場合、一般的には溶接ワイヤ15の直径の1/2程度(約0.5mmm)が許容値とされている。そのため、許容最大振動幅Wvampは、溶接ロボット10の作業内容に応じて適正値を予め設定しておくことが可能な既知の値であり、上述したように、ハードディスク25に記憶されている。
【0111】
各関節における角加速度θiddは、溶接トーチ14の減速時には、減速度Deciとして表され、各関節における減速時における減速度が最大減速度Deci以下であれば、溶接開始点ASにおける残留振動を許容残留振動幅Wvamp未満に抑えることができる。
【0112】
【数19】

【0113】
すなわち、(24)式を各関節について算出すると、第1関節における減速度Dec1は、次式で表される。
【0114】
【数20】

【0115】
また、第2関節における減速度Dec2は、次式で表される。
【0116】
【数21】

【0117】
さらに、第3関節における減速度Dec3は、次式で表される。
【0118】
【数22】

【0119】
これら(25)〜(27)式によれば、溶接ロボット10の第i関節のばね定数Kiに応じて、溶接トーチ14が減速して溶接開始点ASに停止するための最適な減速度を決定することができる。そのため、溶接トーチ14の停止時における残留振動を可能な限り抑えることができ、溶接作業時間を短縮することができる。
【0120】
さらに、(25)〜(27)式によれば、減速度Deciは、溶接ロボット10の姿勢により変化する慣性モーメントIiや各関節からTCPまでの距離Li(回転半径)を考慮した最適な値として求めることができる。また、慣性モーメントIiにはリンクの質量が考慮されているため、減速度Deciは、アーム12の重量をも考慮した値となり、アーム12の重量や慣性モーメントIiにも対応した減速度Deciを算出することができる。
【0121】
次に、上記残留振動抑制制御において算出される減速度を実際の溶接トーチ14の教示パターン(速度パターン)に適用した場合の一例を説明する。
【0122】
図10は、動作開始点S0から溶接開始点ASに至る溶接トーチ14の速度パターンを示した図である。なお、図10は、溶接トーチ14の速度パターンを示しているが、この溶接トーチ14の速度パターンは、各関節における速度パターンをそれぞれ合成したものである。
【0123】
図10に示す速度パターンは、3つの速度パターンVP1,VP2,VP3からなり、それぞれ、図2に示した溶接トーチ14が動作開始点S0から教示点P1までの教示軌跡W1、教示点P1から教示点P2までの教示軌跡W2、教示点P2から溶接開始点ASまでの教示軌跡W3に対応している。速度パターンVP1を例に示すと、溶接トーチ14は、動作開始点S0において時間t1まで一定の加速度で加速され、その後時間t2まで一定の速度で変移され、その後、時間t3まで一定の減速度で減速されている。ここでは、時間t3において教示点P1に達し、時間t3を境にして時間t4まで再び一定の加速度で加速されている。
【0124】
本実施形態では、教示点P2から溶接開始点ASに至る速度パターンVP3において、すなわち溶接開始点ASに到達する前の速度パターンVP3において、上記した残留振動抑制制御が行われる。
【0125】
図11は、速度パターンにこの残留振動抑制制御を適用したときのフローチャートである。また、図12は、ハードディスク25に記憶されている教示作業プログラムの一例を示す図である。
【0126】
図4に示した動作命令読み出し部36は、ハードディスク25に記憶されている教示作業プログラムを読み出し、教示作業プログラムから溶接ロボット10に対する動作命令を抽出する(S1)。
【0127】
このとき、動作命令読み出し部36は、今回読み出した動作命令の次のステップにおける動作命令の種別を確認する(S2)。すなわち、次のステップにおける動作命令の種別がアーク溶接を開始すべき動作命令であるか否かを判別し(S3)、次のステップにおける動作命令の種別がアーク溶接を開始すべき動作命令である場合(S3:YES)、残留振動抑制制御の実行フラグVCを「0」から「1」に変更する(S4)。動作命令読み出し部36は、実行フラグVCの値を動作命令バッファ41に格納する(S5)。ここで、実行フラグVC「0」は、残留振動抑制制御を実行しないことを示し、実行フラグVC「1」は、残留振動抑制制御を実行することを示す。
【0128】
一方、次のステップにおける動作命令の種別がアーク溶接を開始すべき動作命令でない場合(S3:NO)、残留振動抑制制御の実行フラグVCは「0」のままとする(S6)。なお、実行フラグVCが「1」の場合は、「0」に変更する。次いで、動作命令読み出し部36は、抽出した動作命令及び実行フラグVCの値を動作命令バッファ41に格納する(S7)。
【0129】
次に、軌道生成部37は、動作命令バッファ41から動作命令を読み出し(S8)、軌道データを生成する。このとき、軌道生成部37は、残留振動抑制制御の実行フラグVCを参照し、実行フラグVCが「1」であるか否かを判別する(S9)。残留振動抑制制御の実行フラグVCが「0」であれば(S9:NO)、その動作命令における動作について、駆動モータ13の許容トルクを最大限に利用した速度パターンの軌道データを生成する(S10)。一方、残留振動抑制制御の実行フラグVCが「1」であれば(S9:YES)、その動作命令における動作について、残留振動抑制制御をともなった速度パターンの軌道データを生成する(S11)。
【0130】
その後、次の動作命令があるか否かの判別が行われ(S12)、次の動作命令がある場合(S12:YES)、ステップS1に戻り、次の動作命令がない場合(S12:NO)、本処理を終了する。
【0131】
図12に示す教示作業プログラムによれば、第1ステップにおいては「P1」という動作命令(溶接トーチ14をP1まで移動させる命令)であり、このとき次の第2ステップは「P2」という動作命令(溶接トーチ14をP2まで移動させる命令)であり、「AS」という動作命令(溶接開始点ASまで移動し、アーク溶接を開始する命令)ではないので、実行フラグVCは「0」のままであり、第1ステップにおいては残留振動抑制制御は行わない。
【0132】
ところが、第2ステップにおいてはP2という動作命令であり、しかも次の第2ステップはASという動作命令であるので、実行フラグVCは「0」から「1」に変更される。そして、第3ステップにおいては、溶接トーチ14がP2から溶接開始点ASに移動されるとき、残留振動抑制制御が行われる。図10によれば、教示点P2から溶接開始点ASに至る速度パターンVP3の減速時の傾きが速度パターンVP1及びVP2に比べて、残留振動抑制制御が行われたため、若干ゆるくなっている。
【0133】
このように、上記動作制御によれば、溶接開始点ASに到達するときの速度パターン(図10の速度パターンVP3参照)において残留振動抑制制御が行われ、残留振動抑制制御が必要な適切なタイミングで残留振動抑制制御を行うことができる。
【0134】
また、残留振動抑制制御の実行フラグVCを用いることにより、残留振動抑制制御を実行するか否かの判別と、残留振動抑制制御を実行すべきタイミングの判別とを容易に行うことができる。なお、残留振動抑制制御を実行するか否かの判別については、上記した実行フラグVCを用いる方法以外の方法が採用されてもよい。
【0135】
もちろん、この発明の範囲は上述した実施の形態に限定されるものではない。例えば、上記実施形態の残留振動抑制制御においては、その抑制レベルがその強さに応じて段階的に分けられていてもよく、ユーザによってその抑制レベルを任意に選択させるようにしてもよい。例えば、抑制レベルとしては、「強」、「中」、「弱」の3レベルに分かれており、「弱」から「強」に向かうほどその抑制レベルが大となっている。このようにすれば、ワークWに応じて溶接の品質精度を考慮した溶接作業を行うことができる。
【0136】
また、上記実施形態においては、ワークWに対して消耗電極を用いてアーク溶接を行う溶接ロボット及びその制御装置について述べたが、本願発明の残留振動抑制制御は、上記溶接ロボットに適用されることに限らず、例えば非消耗のアーク溶接、スポット溶接又はレーザ溶接等を行う溶接ロボットに適用するようにしてもよい。また、残留振動抑制制御は、溶接ロボットに限らず、プラズマ切断やレーザ切断等の切断処理を行う切断用ロボットに適用してもよいし、ワークWに熱を加えてワークWを加工する他の加工用ロボットに適用するようにしてもよい。
【図面の簡単な説明】
【0137】
【図1】本願発明に係るロボット制御装置が適用されるロボット制御システムを示す構成図である。
【図2】溶接トーチの教示軌跡を説明するための図である。
【図3】ロボット制御装置の内部構成及びその周辺装置を示すブロック図である。
【図4】CPU及びRAMの実際的な機能をブロックにして表した場合の構成図である。
【図5】サーボドライバによるサーボ制御の概念を示すブロック図である。
【図6】残留振動抑制制御における作用を説明するためのフローチャートである。
【図7】溶接ロボットの基準座標系とツール座標系との関係を示す図である。
【図8】第2リンクと第2関節のリンク座標系の関係を示す図である。
【図9】各関節とTCPとの間の距離を説明するための図である。
【図10】速度パターンと時間との関係を示す図である。
【図11】残留振動抑制制御を説明するためのフローチャートである。
【図12】教示作業プログラムの一例を示す図である。
【符号の説明】
【0138】
10 溶接ロボット
12 アーム
13 駆動モータ
14 溶接トーチ
15 溶接ワイヤ
19 減速機
20 ロボット制御装置
21 CPU
22 RAM
30 溶接電源装置
37 軌道生成部
41 動作命令バッファ
W ワーク(被溶接物)

【特許請求の範囲】
【請求項1】
複数の関節を有する産業用ロボットの各関節に設けられた複数のサーボモータの駆動力を減速機を介してアームに伝達することにより、前記アームの先端に設けられた加工ツールを教示軌道上で移動させ、前記加工ツールを減速させることにより、前記加工ツールをワーク上の加工処理における特定位置に到達させ、前記特定位置において加工処理を行う産業用ロボットの制御装置であって、
前記加工ツールを減速させるとき、下式が成立するように産業用ロボットの各関節の減速度を制御する減速制御手段を備えることを特徴とする、産業用ロボット制御装置。
【数1】

上式において、
「Deci」は各関節の減速度[rad/sec2](iは関節番号、i=1,2,‥)、
「Wvamp」は前記加工ツールの許容最大振動幅[mm]、
「Li」は前記加工ツールの先端と各関節の回転中心軸との距離[mm](iは関節番号、i=1,2,‥)、
「Ki」は前記減速機のばね定数[N/rad](iは関節番号、i=1,2,‥)、
「Ii」は各関節における慣性モーメント[kg・m2](iは関節番号、i=1,2,‥)をそれぞれ示す。
【請求項2】
前記特定位置は加工開始位置である、請求項1に記載の産業用ロボット制御装置。
【請求項3】
前記加工ツールを動作開始位置から加工開始位置に移動させるための複数の教示ステップを実行し、前記加工開始位置に移動後に加工処理を行う産業用ロボットの制御装置であって、
前記複数の教示ステップのうち、前記加工ツールを前記加工開始位置に移動させる内容を含む教示ステップにおいて、請求項2に記載の減速制御手段による前記加工ツールの減速制御を行うことを特徴とする、産業用ロボット制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate