JP2006059037A - Welding robot controller - Google Patents
Welding robot controller Download PDFInfo
- Publication number
- JP2006059037A JP2006059037A JP2004238783A JP2004238783A JP2006059037A JP 2006059037 A JP2006059037 A JP 2006059037A JP 2004238783 A JP2004238783 A JP 2004238783A JP 2004238783 A JP2004238783 A JP 2004238783A JP 2006059037 A JP2006059037 A JP 2006059037A
- Authority
- JP
- Japan
- Prior art keywords
- joint
- welding robot
- weaving
- welding
- weaving operation
- 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.)
- Granted
Links
Images
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
Description
本願発明は、ワークに対して溶接を行う溶接ロボットの制御装置に関するものである。 The present invention relates to a control device for a welding robot that performs welding on a workpiece.
従来、ワークに対して溶接を行う多関節溶接ロボットにおいては、ウィービング動作と呼称される動作を行うものがある(例えば、特許文献1参照)。ウィービング動作とは、予め記憶された作業プログラムによって溶接ロボットの各軸を駆動モータによって回転駆動させることにより、溶接トーチを溶接進行方向に対して直交する方向に揺動させる動作をいう。 Conventionally, some articulated welding robots that perform welding on a workpiece perform an operation called a weaving operation (see, for example, Patent Document 1). The weaving operation refers to an operation of swinging the welding torch in a direction orthogonal to the welding progress direction by rotating each axis of the welding robot by a drive motor according to a work program stored in advance.
このウィービング動作では、ティーチングプレイバック方式に基づいて溶接部の形状に沿って溶接トーチが直線補間動作又は円弧補間動作を行いつつ、溶接トーチのツールセンタポイント(TCP)を、予め教示された振幅、周波数、及び波形に基づいて移動させる。このウィービング動作が行われることによって、良好でかつ確実な溶接を実現することができる。
ところで、上記多関節溶接ロボットの制御においては、溶接ロボットの動特性を向上させるために、溶接ロボットの各アームを駆動するモータの制御定数をリアルタイムに変化させている。 By the way, in the control of the articulated welding robot, in order to improve the dynamic characteristics of the welding robot, the control constant of the motor that drives each arm of the welding robot is changed in real time.
溶接ロボットの各関節の位置は、モータをフィードバック制御することにより制御されるが、例えば、溶接ロボットの姿勢が縮んでおり(すなわち複数のアームが延びておらず)、モータの負荷である慣性モーメントが小さい場合には、位置を制御するためのモータのフィードバック制御系におけるゲイン(以下、フィードバックゲインという。)を大きくし、各関節における位置の追従性を向上させている。逆に、複数のアームが延び、慣性モーメントが大きい場合には、位置制御用のフィードバックゲインを小さくし、各関節における位置の追従性をあえて悪化させ、残留振動の振幅を小さくするといった制御が行われている。 The position of each joint of the welding robot is controlled by feedback control of the motor. For example, the position of the welding robot is contracted (that is, the plurality of arms are not extended), and the moment of inertia that is the load of the motor Is small, the gain in the feedback control system of the motor for controlling the position (hereinafter referred to as feedback gain) is increased to improve the position followability at each joint. Conversely, when multiple arms are extended and the moment of inertia is large, control is performed such that the feedback gain for position control is reduced, the position followability at each joint is intentionally deteriorated, and the amplitude of residual vibration is reduced. It has been broken.
ところが、上記のように、モータのフィードバック制御系における位置制御用のフィードバックゲインをリアルタイムに変化させる制御が行われると、各関節における位置の追従性能が変化することになるため、モータの回転駆動に依存しているウィービング動作に影響を及ぼし、予め教示された、ウィービング動作による振幅が変化してしまうといった問題点があった。 However, as described above, when the control for changing the feedback gain for position control in the feedback control system of the motor in real time is performed, the position follow-up performance at each joint changes. There is a problem in that it affects the dependent weaving operation, and the amplitude taught by the weaving operation changes in advance.
また、多関節溶接ロボットの制御において、上記ウィービング動作は、溶接ロボットの複数の関節が合成動作することにより実現されている。例えばシリアルリンク機構の溶接ロボットにおけるウィービング動作では、溶接ロボットの関節間に干渉トルクが発生し、この干渉トルクによって、モータとアームとを連結する減速機がたわむことがある。そのため、各軸において本来回転すべき量(角度)が正確に得られないことがあり、予め教示された、ウィービング動作による振幅が遵守できないといった問題があった。 In the control of the multi-joint welding robot, the weaving operation is realized by combining a plurality of joints of the welding robot. For example, in a weaving operation in a welding robot with a serial link mechanism, an interference torque is generated between the joints of the welding robot, and the reduction gear connecting the motor and the arm may bend by this interference torque. For this reason, the amount (angle) to be originally rotated in each axis may not be obtained accurately, and there is a problem that the amplitude taught by the weaving operation cannot be observed.
本願発明は、上記した事情のもとで考え出されたものであって、予め教示された振幅で確実にかつ正確にウィービング動作させることのできる溶接ロボット制御装置を提供することを、その課題とする。 The present invention has been conceived under the circumstances described above, and it is an object of the present invention to provide a welding robot control device capable of reliably and accurately performing a weaving operation with an amplitude taught in advance. To do.
上記の課題を解決するため、本願発明では、次の技術的手段を講じている。 In order to solve the above problems, the present invention takes the following technical means.
本願発明の第1の側面によって提供される溶接ロボット制御装置は、溶接ロボットの各関節に設けられた複数のサーボモータをフィードバック制御で駆動することにより、溶接軌道上を所定時間ごとに分割した補間点ごとに、溶接トーチをウィービング動作させつつアークを発生させて前記溶接ロボットに溶接を行わせる溶接ロボット制御装置であって、前記補間点ごとに、ウィービング動作しない場合の前記各関節の関節角度と、ウィービング動作する場合の前記各関節の関節角度との差を前記関節ごとにウィービング変位として算出するウィービング変位算出手段と、前記サーボモータのサーボ制御定数と予め定めるウィービング周波数とに基づいて、前記サーボモータのフィードバック制御系におけるゲインを算出するゲイン算出手段と、前記ゲイン算出手段によって算出されたゲインの逆数を、前記ウィービング変位算出手段によって算出された前記ウィービング変位に乗じ、その値をウィービング動作しない場合の前記各関節の関節角度に加算することにより、前記補間点ごとに前記サーボモータに対する動作指令としての前記各関節の関節角度を算出する動作指令算出手段と、を備えることを特徴としている(請求項1)。 The welding robot control apparatus provided by the first aspect of the present invention is an interpolation that divides a welding track on a predetermined time basis by driving a plurality of servo motors provided at each joint of the welding robot by feedback control. A welding robot controller for causing the welding robot to perform welding while performing a weaving operation of a welding torch for each point, and for each interpolation point, a joint angle of each joint when the weaving operation is not performed The weaving displacement calculating means for calculating the difference between the joint angles of the joints when the weaving operation is performed as the weaving displacement for each joint, the servo control constant of the servo motor, and a predetermined weaving frequency based on the servo. Gain calculating means for calculating gain in motor feedback control system By multiplying the reciprocal of the gain calculated by the gain calculating means by the weaving displacement calculated by the weaving displacement calculating means and adding the value to the joint angle of each joint when the weaving operation is not performed, And an operation command calculating means for calculating a joint angle of each joint as an operation command for the servo motor for each interpolation point.
この構成によれば、モータのフィードバック制御系におけるゲインの逆数をウィービング変位の値に乗算し、それをウィービング動作を行わない場合の各関節における関節角度に加算し、これを各関節を駆動するモータの動作指令として各モータに与える。これにより、モータのフィードバック制御系におけるゲインが考慮された、ウィービング動作における適切な振幅を取得することができる。そのため、より正確な振幅でウィービング動作を行うことができる。 According to this configuration, the reciprocal of the gain in the feedback control system of the motor is multiplied by the value of the weaving displacement, and this is added to the joint angle at each joint when the weaving operation is not performed, and this is the motor that drives each joint Is given to each motor as an operation command. Accordingly, it is possible to acquire an appropriate amplitude in the weaving operation in consideration of the gain in the motor feedback control system. Therefore, the weaving operation can be performed with a more accurate amplitude.
好ましい実施の形態によれば、前記サーボ制御定数は、前記サーボモータの位置制御の遅れ系を表す時定数であるとよい(請求項2)。 According to a preferred embodiment, the servo control constant may be a time constant representing a delay system of position control of the servo motor.
本願発明の第2の側面によって提供される溶接ロボット制御装置は、溶接ロボットの各関節に設けられた複数のサーボモータをフィードバック制御で駆動することにより、溶接軌道上を所定時間ごとに分割した補間点ごとに、溶接トーチをウィービング動作させつつアークを発生させて前記溶接ロボットに溶接を行わせる溶接ロボット制御装置であって、前記補間点ごとに、ウィービング動作しない場合の前記各関節の関節角度と、ウィービング動作する場合の前記各関節の関節角度との差を前記関節ごとにウィービング変位として算出するウィービング変位算出手段と、前記関節の軸まわりに発生するトルクを関節毎に算出する第1トルク算出手段と、前記補間点ごとに前記ウィービング動作をしない場合に発生するトルクを算出する第2トルク算出手段と、前記第1トルク算出手段によって算出された、前記関節の軸まわりに発生するトルクの値と、前記第2トルク算出手段によって算出された、前記ウィービング動作をしない場合に発生するトルクの値とを差し引き、その差し引いた値を、予め定められた各関節におけるばね定数で除算し、その除算した値を、前記ウィービング動作する場合の各関節の関節角度に加算することにより、前記補間点ごとに前記サーボモータに対する動作指令としての前記各関節の関節角度を算出する動作指令算出手段と、を備えることを特徴としている(請求項3)。 The welding robot control device provided by the second aspect of the present invention is an interpolation in which a plurality of servo motors provided at each joint of the welding robot are driven by feedback control to divide the welding track at predetermined time intervals. A welding robot controller for causing the welding robot to perform welding while performing a weaving operation of a welding torch for each point, and for each interpolation point, a joint angle of each joint when the weaving operation is not performed A weaving displacement calculating means for calculating a difference between the joint angles of the joints during the weaving operation as a weaving displacement for each joint, and a first torque calculation for calculating the torque generated around the joint axis for each joint. Means for calculating torque generated when the weaving operation is not performed for each interpolation point; Torque calculated by the torque calculating means and the first torque calculating means, and torque generated when the weaving operation is not performed, calculated by the second torque calculating means. And subtracting the subtracted value by a predetermined spring constant in each joint, and adding the divided value to the joint angle of each joint when the weaving operation is performed. And an operation command calculating means for calculating a joint angle of each joint as an operation command for the servo motor for each point.
この構成によれば、関節の軸まわりに発生するトルクからウィービング動作を行わない場合に発生するトルクを差し引き、それを各関節のばね定数で除算して、除算した値をウィービング動作する場合の各関節の関節角度に加え、これを各関節に駆動するモータの動作指令として各モータに与える。これにより、アーム間に発生する干渉トルクによる減速機のたわみ量を用いて各モータに与える各関節の関節角度を補正することができる。そのため、適切な振幅を有するウィービング動作を行うことができる。 According to this configuration, the torque generated when the weaving operation is not performed is subtracted from the torque generated around the axis of the joint, divided by the spring constant of each joint, and the divided value when each weaving operation is performed. In addition to the joint angle of the joint, this is given to each motor as an operation command for the motor that drives each joint. Thereby, the joint angle of each joint given to each motor can be corrected using the deflection amount of the speed reducer due to the interference torque generated between the arms. Therefore, a weaving operation having an appropriate amplitude can be performed.
好ましい実施の形態によれば、前記第2トルク算出手段は、前記補間点ごとに、前記ウィービング動作の一周期毎に前記ウィービング動作の右端において発生するトルクと、前記ウィービング動作の左端において発生するトルクとの平均値を算出することにより、前記ウィービング動作をしない場合に発生するトルクを算出するとよい(請求項4)。 According to a preferred embodiment, the second torque calculating means, for each interpolation point, the torque generated at the right end of the weaving operation and the torque generated at the left end of the weaving operation for each cycle of the weaving operation. It is preferable to calculate a torque generated when the weaving operation is not performed by calculating an average value.
本願発明のその他の特徴及び利点は、添付図面を参照して以下に行う詳細な説明によって、より明らかとなろう。 Other features and advantages of the present invention will become more apparent from the detailed description given below with reference to the accompanying drawings.
以下、本願発明の好ましい実施の形態を、添付図面を参照して具体的に説明する。 Hereinafter, preferred embodiments of the present invention will be specifically described with reference to the accompanying drawings.
図1は、本願発明に係るロボット制御装置が適用されるロボット制御システムを示す構成図である。このロボット制御システムでは、溶接ロボットに設けられた溶接トーチによってワーク(被溶接物)に対して溶接が行われる。 FIG. 1 is a configuration diagram showing a robot control system to which a robot control apparatus according to the present invention is applied. In this robot control system, welding is performed on a workpiece (workpiece) by a welding torch provided in the welding robot.
ロボット制御システムは、溶接ロボット10と、ロボット制御装置20と、溶接電源装置30とによって大略構成されている。
The robot control system is roughly constituted by a
溶接ロボット10は、ワークWに対して例えばアーク溶接を自動で行うものである。溶接ロボット10は、フロア等の適当な箇所に固定されるベース部材11と、それに複数の軸を介して連結された複数のアーム12と、複数のアーム12の両端又は片端に設けられた複数の駆動モータ(サーボモータ)13(一部図示略)とによって構成されている。
The
溶接ロボット10には、最も先端側に設けられたアーム12の先端部に、溶接トーチ14が設けられている。溶接トーチ14は、溶加材としての例えば直径1mm程度の溶接ワイヤ15をワークWの所定の溶接位置に導くものである。
The
溶接ロボット10の上部には、ワイヤ送給装置16が設けられている。ワイヤ送給装置16は、溶接トーチ14に対して溶接ワイヤ15を送り出すためのものである。ワイヤ送給装置16は、溶接ワイヤ15が巻回された図示しないリールと、リールを回転させる送給モータ17とによって構成され、送給モータ17は、溶接電源装置30によって回転駆動される。
A
ワイヤ送給装置16には、溶接ワイヤ15を案内するためのコイルライナ19が接続され、コイルライナ19の先端は、溶接トーチ14に接続されている。これにより、ワイヤ送給装置16によって送り出された溶接ワイヤ15は、コイルライナ19を介して溶接トーチ14に導かれる。溶接ワイヤ15は、溶接トーチ14から外部に突出して消耗電極として機能する。すなわち、溶接電源装置30によって溶接ワイヤ15の先端とワークWとの間にアークを発生させてその熱で溶接ワイヤ15を溶融させることにより、ワークWに対して溶接が施される。
A
駆動モータ13は、ロボット制御装置20からの駆動信号によって回転駆動され、この各駆動モータ13が回転駆動されることにより、各アーム12が変位し、結果的に溶接トーチ14が上下前後左右に移動可能とされる。
The
さらに、本実施形態では、各駆動モータ13が回転駆動されることにより、溶接トーチ14のウィービング動作が行われる。ウィービング動作とは、上述したように、溶接トーチ14を溶接進行方向に対して直交する方向に揺動させる動作をいう。本実施形態に係る溶接ロボット10は、図1及び図2に示すように、複数の関節を有する多関節の溶接ロボットであり、これら複数の関節を複合動作させることにより、溶接トーチ14が溶接進行方向に対して直交方向に揺動されるように制御される(図2の正弦波状の軌跡を参照)。なお、図2では、溶接ロボット10が3自由度の場合を示している。
Further, in the present embodiment, the weaving operation of the
なお、駆動モータ13には、図示しないエンコーダが設けられている。エンコーダの出力は、ロボット制御装置20に与えられ、ロボット制御装置20では、エンコーダの出力によって溶接トーチ14の現在位置を認識するようになっている。
The
ロボット制御装置20は、溶接ロボット10の動作を制御するためのものである。ロボット制御装置20は、予め記憶されている作業プログラム及び図示しないエンコーダからの現在位置情報等に基づいて、溶接ロボット10の各駆動モータ13を駆動制御して、溶接トーチ14をワークWの所定の溶接点に移動させる。また、ロボット制御装置20は、各駆動モータ13を駆動制御して、溶接トーチ14を揺動させることにより、上記ウィービング動作を実行する。
The
溶接電源装置30は、図示しない溶接電源を備えており、溶接電源は溶接トーチ14とワークWとの間に高電圧の溶接電圧を供給するものである。また、溶接電源装置30は、所定のタイミングでワイヤ送給装置16の送給モータ17を駆動させる機能をも有している。
The welding
図3は、ロボット制御装置20の内部構成及びその周辺装置を示すブロック図である。ロボット制御装置20は、CPU21、RAM22、ROM23、タイマ(TIMER)24、ハードディスク25、ティーチングペンダントI/F26、操作ボックスI/F27、及びサーボドライバI/F28を備えており、各部はバス(BUS)31によって相互に接続されている。
FIG. 3 is a block diagram showing the internal configuration of the
ティーチングペンダントI/F26には、ティーチングペンダント33が接続され、操作ボックスI/F27には、操作ボックス34が接続されている。また、サーボドライバI/F28には、ロボット制御装置20の内部に設けられた複数のサーボドライバ35が接続され、サーボドライバ35には、溶接ロボット10に設けられた6つの駆動モータ13がそれぞれ接続されている。
A
CPU21は、本ロボット制御装置20の制御中枢となるものであり、予め定められた作業プログラム、ティーチングペンダント33や操作ボックス34からの操作信号、あるいは図示しないエンコーダからの現在位置情報等に基づいて、所定のデータ処理を行い、バス31及びサーボドライバI/F28を介してサーボドライバ35に動作指令を与える。これにより、駆動モータ13が回転駆動され、溶接トーチ14が移動される。
The
RAM22は、CPU21に対して作業領域を提供するものであり、計算データ等を一時的に記憶する。RAM22は、例えば後述する動作命令バッファ41、軌道バッファ42、補間点バッファ43、又は関節補間点バッファ44として機能する。
The
ROM23は、溶接ロボット10の動作(衝突検出、停止処理等を含む)が定められた作業プログラム、この作業プログラムの実行条件を示すデータ、制御定数を示すデータ等を格納するものである。
The
ハードディスク25は、溶接ロボット10の溶接作業が表された教示データを格納するものである。
The
タイマ24は、予め定められた定期時刻ごとに同期信号をCPU21に対して発生するものである。同期信号は、CPU21がサーボドライバ35に対して動作指令信号を出力する際の更新タイミングとして用いられる。
The
ティーチングペンダントI/F26は、ティーチングペンダント33とのインターフェースを司るものである。ティーチングペンダント33は、例えば表示装置33aとキーボード33bとを有し、溶接ロボット10の動作を手動で行う際にユーザによって操作されるものである。CPU21は、このティーチングペンダント33からの操作信号を受け取ることにより所定のデータ処理を行うとともに、ティーチングペンダント33に対して表示データを送ることにより、操作情報を表示させる。
The teaching pendant I /
操作ボックスI/F27は、操作ボックス34とのインターフェースを司るものである。操作ボックス34は、自動運転モード又は手動モードの選択、起動、開始、停止等の各種操作をユーザによって可能にするものである。CPU21は、この操作ボックス34からの操作信号を受け取ることにより所定のデータ処理を行う。
The operation box I /
サーボドライバI/F28は、サーボドライバ35とのインターフェースを司るものである。サーボドライバ35は、CPU21からの動作指令信号に基づいて、6つの駆動モータ13をそれぞれ駆動制御するものである。
The servo driver I /
図4は、CPU21及びRAM22の実際的な機能をブロックにして表した場合の構成図である。
FIG. 4 is a configuration diagram when the actual functions of the
CPU21の機能としては、動作命令読み出し部36、軌道生成部37、補間点生成部38、関節補間点生成部39、及びサーボ出力部40によって表され、RAM22の機能としては、動作命令バッファ41、軌道バッファ42、補間点バッファ43、及び関節補間点バッファ44によって表される。なお、各バッファ41〜44は、FIFO(first-in first-out)バッファとして構成されており、先入れ及び先出しでデータが処理される。
The functions of the
動作命令読み出し部36は、ハードディスク25に記憶される教示データから、溶接ロボット10の動作命令に関する情報(例えば座標、速度情報等のデータからなる軌道命令)を読み出し、動作命令バッファ41に格納する。
The operation
軌道生成部37は、動作命令バッファ41から動作命令に関する情報(動作命令コマンド)を読み出し、それに基づいて溶接ロボット10の溶接トーチ14の作業軌道を三次元空間の直交座標上で計画する。軌道生成部37は、計画された軌道データを軌道バッファ42に格納する。
The
補間点生成部38は、軌道バッファ42から軌道データを読み出し、その軌道データを、「補間周期」と呼称される所定時間毎に分割する。そして、補間周期毎に直交座標によって表される、溶接トーチ14が到達すべき位置、姿勢を示す補間点データを算出する。すなわち、軌道データは、溶接開始点から溶接終了点に至る溶接トーチ14の移動軌跡を複数の教示点によって表すとともに、教示点間の溶接トーチ14の移動方法を直線移動や円弧移動によって定義したものである。補間点生成部38は、隣接する教示点間において溶接トーチ14が通過すべき点とその点における溶接トーチ14の姿勢等のデータを補間周期毎に補間している。補間点生成部38は、算出した補間点データを補間点バッファ43に格納する。
The interpolation
関節補間点生成部39は、溶接トーチ14の到達位置、姿勢を示す補間点データを、溶接ロボット10の各関節における関節角度を示すデータに逆変換する演算を行い、それを関節補間点バッファ44に一時的に記憶する。なお、本実施形態の特徴であるウィービング動作は、主にこの関節補間点生成部39において実現されるようになっている。
The joint interpolation
関節補間点バッファ44に格納された、溶接ロボット10の各関節における関節角度を示すデータは、タイマ24によって発生される同期信号SYNCに同期してサーボ出力部40に通知される。そして、上記関節角度を示すデータは、サーボ出力部40から所定のタイミングでサーボドライバI/F28を介してサーボドライバ35へ各関節の位置指令(駆動モータ13に対する動作指令)として出力される。
Data indicating the joint angle at each joint of the
図5は、サーボドライバ35によるサーボ制御の概念を示すブロック図である。この図によると、溶接ロボット10の各関節における位置指令は、位置制御ブロック51に入力され、位置制御ブロック51の出力は、速度制御ブロック52に入力される。速度制御ブロック52の出力は、電流制御ブロック53に入力され、電流制御ブロック53の出力は、駆動モータ13に入力される。駆動モータ13の出力は、例えば減速器からなる減速機構のばね要素ブロック54を介して、負荷としてのアーム12に与えられる。
FIG. 5 is a block diagram showing the concept of servo control by the
駆動モータ13には、電流検出ブロック55が接続され、電流検出ブロック55において駆動モータ13に流れる電流が検出され、その値は電流制御ブロック53にフィードバックされる。また、駆動モータ13には、エンコーダ56が接続され、エンコーダ56によって現在の回転速度(アームの移動速度に対応)のデータが取得され、その回転速度データは、位置制御ブロック51と速度制御ブロック52にフィードバックされる。
A
位置制御ブロック51では、フィードバックされた回転速度データが積分ブロック57によって積分されることにより位置データに変換されて減算器61に入力され、この減算器61により位置指令(関節角度)に対する現在の位置(関節角度)の誤差データが演算される。この誤差データは増幅器58により所定のゲインKpp(以下、位置フィードバックゲインという。)でレベル補正が行なわれた後、加算器62に入力される。
In the
また、位置制御ブロック51では、溶接ロボット10の各関節における位置指令のデータは、微分ブロック59によって微分されることにより速度データに変換され、さらに増幅器60により所定のゲインKff(以下、速度フィードフォワードゲインという。)でレベル補正が行なわれた後、加算器62に入力される。加算器62では速度フィードフォワードゲインKffから出力される速度データと、位置フィードバックゲインKppから出力される誤差データとが加算されて、上述した速度制御ブロック52に出力される。
In the
このように、溶接ロボット10の各関節における位置指令に対して駆動モータ13の動作をフィードバック制御させることにより、予め教示された教示データの再生動作をより正確に行うことができる。
In this way, by performing feedback control of the operation of the
次に、本実施形態に係るウィービング動作に関する作用について、図6に示すフローチャート及び図7に示す基準座標系とツール座標系との関係を示す図を参照して説明する。 Next, the action relating to the weaving operation according to the present embodiment will be described with reference to the flowchart shown in FIG. 6 and the diagram showing the relationship between the reference coordinate system and the tool coordinate system shown in FIG.
本実施形態における特徴的なウィービング動作に関する制御は、主に関節補間点生成部39(図4参照)において実行される。すなわち、ステップS1において、関節補間点生成部39は、補間点バッファ43から補間点データIPiを読み出す。ここで、補間点データIPiとは、溶接開始位置から目標位置(溶接終了位置)に達するまでの間に存在する、溶接トーチ14の先端が移動すべき位置(溶接すべき位置を含む)、及びその位置における溶接トーチ14の姿勢を表したデータである。
Control regarding the characteristic weaving operation in the present embodiment is mainly executed in the joint interpolation point generation unit 39 (see FIG. 4). That is, in step S <b> 1, the joint interpolation
なお、溶接ロボット10には、各関節を制御するための座標系として図7に示すように、基準座標系とツール座標系とが設定されている。基準座標系は、溶接ロボット10の設置位置に固定的に設定されている。一方、ツール座標系は、溶接トーチ14の先端(ツールセンタポイント)に設定されたもので、溶接トーチ14の移動に伴って移動する。すなわち、ツール座標系の原点位置の基準座標系における位置は、溶接トーチ14の移動によって変化する。
In the
補間点データIPiは、溶接ロボット10の基準座標系(図7参照)から見た溶接トーチ14の位置及び姿勢、すなわち、ツール座標系の位置、姿勢を、基準座標系の座標値に変換して表したものである。補間点データIPiは、以下に示す行列式で表される。
The interpolation point data IPi is obtained by converting the position and orientation of the
ここで、xiは基準座標系から見たツール座標系原点のX座標位置(mm)を示し、yiは基準座標系から見たツール座標系原点のY座標位置(mm)を示し、ziは基準座標系から見たツール座標系原点のZ座標位置(mm)を示し、aiは基準座標系から見たツール座標系のX軸の回転姿勢(rad)を示し、biは基準座標系から見たツール座標系のY軸の回転姿勢(rad)を示し、ciは基準座標系から見たツール座標系のZ軸の回転姿勢(rad)を示す。 Here, xi represents the X coordinate position (mm) of the tool coordinate system origin viewed from the reference coordinate system, yi represents the Y coordinate position (mm) of the tool coordinate system origin viewed from the reference coordinate system, and zi represents the reference. The Z coordinate position (mm) of the origin of the tool coordinate system viewed from the coordinate system is indicated, ai indicates the rotation posture (rad) of the X axis of the tool coordinate system viewed from the reference coordinate system, and bi is viewed from the reference coordinate system. The Y-axis rotation posture (rad) of the tool coordinate system is indicated, and ci indicates the Z-axis rotation posture (rad) of the tool coordinate system as viewed from the reference coordinate system.
次いで、ステップS2において、関節補間点生成部39は、ウィービング動作を行わない場合の溶接ロボット10の各関節における関節角度ANGorgを算出する。具体的には、直交座標によって表され、溶接トーチ14の到達位置及び姿勢を表す補間点データIPiを、溶接ロボット10の各関節における関節角度を示すデータに逆変換する。そして、溶接ロボット10の各関節における関節角度を示すデータをRAM22(関節補間点バッファ44)に記憶する。なお、多関節溶接ロボットの逆演算アルゴリズムは、プレイバックティーチングシステムで一般的に用いられる技術であるため、ここでは詳細な説明は省略する。ウィービング動作を行わない場合の溶接ロボット10の各関節における関節角度ANGorgは、以下に示す行列式で表される。
Next, in step S2, the joint interpolation
ここで、nは溶接ロボット10の関節数を示し、ANGorg1は溶接ロボット10の第1関節の関節角度(rad)を示し、ANGorg2は溶接ロボット10の第2関節の関節角度(rad)を示し、ANGorgnは溶接ロボット10の第n関節の関節角度(rad)を示す。
Here, n represents the number of joints of the
次に、ステップS3において、関節補間点生成部39は、ウィービング動作を行う場合の溶接ロボット10の各関節における関節角度ANGwvを算出する。具体的には、直交座標によって表され、溶接トーチ14の到達位置及び姿勢を表す補間点データIPiにウィービング変位を加味し、それを溶接ロボット10の各関節における関節角度を示すデータに逆変換する。そして、それをRAM22(関節補間点バッファ44)に記憶する。ウィービング動作を行う場合の溶接ロボット10の各関節における関節角度ANGwvは、以下に示す行列式で表される。
Next, in step S3, the joint interpolation
ここで、nは溶接ロボット10の関節数を示し、ANGwv1は溶接ロボット10の第1関節の関節角度(rad)を示し、ANGwv2は溶接ロボット10の第2関節の関節角度(rad)を示し、ANGwvnは溶接ロボット10の第n関節の関節角度(rad)を示す。
Here, n represents the number of joints of the
次いで、ステップS4において、ウィービング動作を行わない場合の溶接ロボット10の各関節における関節角度ANGorgと、ウィービング動作を行う場合の溶接ロボット10の各関節における関節角度ANGwvとの差分を求める。そして、その差分を、関節毎のウィービング変位ANGampとして、RAM22(関節補間点バッファ44)に記憶する。
Next, in step S4, a difference between the joint angle ANGorg at each joint of the
図8は、ウィービング動作を行わない場合の補間点(白丸参照)と、ウィービング動作を行う場合の補間点(黒丸参照)との違いを示した図である。この図の例では、サイン波形のウィービングパターンが溶接進行に対して重畳されている形となっている。なお、ウィービングパターンの生成方法は、公知技術であるため、ここではその説明を省略する。溶接ロボット10の関節毎のウィービング変位ANGampは、以下に示す行列式で表される。
FIG. 8 is a diagram showing a difference between an interpolation point when the weaving operation is not performed (see white circle) and an interpolation point when the weaving operation is performed (see black circle). In the example of this figure, a sine waveform weaving pattern is superimposed on the progress of welding. Since the weaving pattern generation method is a known technique, the description thereof is omitted here. The weaving displacement ANGamp for each joint of the
ここで、nは溶接ロボット10の関節数を示し、ANGamp1は溶接ロボット10の第1関節の関節角度(rad)を示し、ANGamp2は溶接ロボット10の第2関節の関節角度(rad)を示し、ANGampnは溶接ロボット10の第n関節の関節角度(rad)を示す。そして、ANGamp1、ANGamp2、及びANGampnは、それぞれ次式で表される。
Here, n represents the number of joints of the
次に、ステップS5において、溶接ロボット10の各関節を駆動する駆動モータ13のサーボ制御定数と、予め指定されたウィービング周波数とに基づいて、フィードバック制御系における各駆動モータ13のゲインGAINを算出する。ゲインGAINは、以下に示す行列式で表される。
Next, in step S5, the gain GAIN of each drive
ここで、nは溶接ロボット10の関節数を示し、GAIN1は溶接ロボット10の第1関節のゲイン(無次元)を示し、GAIN2は溶接ロボット10の第2関節のゲイン(無次元)を示し、GAINnは溶接ロボット10の第n関節のゲイン(無次元)を示す。
Here, n indicates the number of joints of the
以下、例えば溶接ロボット10の第j関節についてのゲインGAINを求める手順を説明する。
Hereinafter, for example, a procedure for obtaining the gain GAIN for the j-th joint of the
駆動モータ13のゲインの求め方は、サーボ制御方法や、サーボ演算の仕方によって異なるが、ここでは図5に示したような一般的な位置フィードバックと速度フィードフォワードとの2自由度制御系を例にとって説明する。なお、図5に示す例では、速度ループや電流ループのフィードバック制御系をも含めているが、サーボによる遅れ系は位置ループが支配的な役割を示しており、ここでは速度ループや電流ループは不要として考える。
The method of obtaining the gain of the
第j関節を駆動する駆動モータ13の位置フィードバックゲインKppjと、速度フィードフォワードゲインKffjは、サーボ制御で一般に用いられる値であり既知の値である。これらのゲインKppjやゲインKffjは、溶接ロボット10の姿勢や動作モードによりその値が変更されることが多いが、その変更指令は、ロボット制御装置20のCPU21から発せられるものであるため、関節補間点生成部39においても読み取り可能な値である。
The position feedback gain Kppj and the speed feedforward gain Kffj of the
まず、位置フィードバックゲインKppjと速度フィードフォワードゲインKffjとを用いて、第j関節を駆動する駆動モータ13の位置制御の遅れ系を表す時定数TSj(sec)を、以下の式によって算出する。この場合、時定数TSjは、駆動モータ13のサーボ制御定数として位置付けされる。
First, using the position feedback gain Kppj and the velocity feedforward gain Kffj, a time constant TSj (sec) representing a delay system of position control of the
次いで、予め定められたウィービング周波数FRQと時定数TSjとに基づいて、第j関節のゲインGAINjを以下の式によって算出する。 Next, based on a predetermined weaving frequency FRQ and a time constant TSj, a gain GAINj of the j-th joint is calculated by the following equation.
ここで、GAINjは、第j関節を駆動するモータのゲイン [無次元]を示し、ウィービング周波数FRQは、教示されたウィービング周波数(Hz)を示す。なお、ティーチングプレイバックシステムを採用する溶接ロボット10において、ウィービング周波数FRQは、予め教示されるデータであり、溶接ロボット10の教示位置と同様に、ハードディスク25(図3参照)に記憶され、再生動作時に読み出されるものである。
Here, GAINj represents the gain [no dimension] of the motor driving the j-th joint, and the weaving frequency FRQ represents the taught weaving frequency (Hz). In the
上式を用いて、例えばjを1からn(nは溶接ロボット10の関節数)まで変化させることで、溶接ロボット10の全関節におけるゲインGAINを算出する。
Using the above equation, for example, by changing j from 1 to n (n is the number of joints of the welding robot 10), the gain GAIN for all joints of the
次に、ステップS6において、溶接ロボット10の各関節における位置指令(駆動モータ13に対する動作指令)として、溶接ロボット10の各関節における補正後の関節角度ANGcompを算出する。具体的には、ゲインGAINjの逆数をウィービング変位ANGampに関節毎に乗じる。乗じた後の値を、ウィービング動作を行わない場合の溶接ロボット10の各関節における関節角度ANGorgに加算する。溶接ロボット10の各関節における補正後の関節角度ANGcompは、以下に示す行列式で表される。
Next, in step S <b> 6, a corrected joint angle ANGcomp at each joint of the
ここで、nは溶接ロボット10の関節数を示し、ANGcomp1は溶接ロボット10の第1関節の補正後の関節角度(rad)を示し、ANGcomp2は溶接ロボット10の第2関節の補正後の関節角度(rad)を示し、ANGcompnは溶接ロボット10の第n関節の補正後の関節角度(rad)を示す。そして、ANGcomp1、ANGcomp2、及びANGcompnは、それぞれ次式で表される。
Here, n represents the number of joints of the
ここで、GAIN1は、第1関節を駆動する駆動モータ13のゲインを示し、GAIN2は、第1関節を駆動する駆動モータ13のゲインを示し、GAINnは、第n関節を駆動する駆動モータ13のゲインを示す。
Here, GAIN1 indicates the gain of the
このように、駆動モータ13のフィードバック制御系におけるゲインGAINの逆数をウィービング変位ANGampの値に乗算し、それをウィービング動作を行わない場合の溶接ロボット10の各関節における関節角度ANGorgに加算し、これを溶接ロボット10の各関節における位置指令として、各駆動モータ13に与える。これにより、駆動モータ13のフィードバック制御系におけるゲインGAINが考慮された、ウィービング動作における適切な振幅を取得することができる。したがって、より正確な振幅でウィービング動作を行うことができる。
In this way, the inverse of the gain GAIN in the feedback control system of the
ところで、上記した多関節溶接ロボットにおけるウィービング動作では、溶接ロボットの関節間に発生する干渉トルクによって、駆動モータ13とアーム12とを連結する図示しない減速機がたわむことがあり、各軸において本来回転すべき量(角度)が正確に得られないことがある。そのため、予め教示された、ウィービング動作における振幅が遵守できないといった問題があった。
By the way, in the above-described weaving operation in the multi-joint welding robot, an interference torque generated between the joints of the welding robot may cause a reduction gear (not shown) that connects the
しかしながら、以下に示すように、ウィービング動作における減速機のたわみ量を求め、それに基づいてウィービング動作を行う場合の溶接ロボット10の各関節における関節角度を補正するようにすれば、正確な振幅を有するウィービング動作を行うことができる。以下、詳述する。
However, as will be described below, if the amount of flexure of the speed reducer in the weaving operation is obtained, and the joint angle at each joint of the
図9は、この実施形態に係る作用を説明するためのフローチャートである。このフローチャートに係る処理は、上記した実施形態と同様、関節補間点生成部39によって主に実施されるものである。なお、図9に示すステップS11〜ステップS14の処理は、図6に示したステップS1〜ステップS4と同様であるため、以下ではそれらの説明を省略し、ステップS15〜S17について説明する。
FIG. 9 is a flowchart for explaining the operation according to this embodiment. The process according to this flowchart is mainly performed by the joint interpolation
ステップS15において、溶接ロボット10の関節の軸まわりに発生するトルクTRQjを関節毎に求める。より具体的には、溶接ロボット10の機構パラメータ(関節に連結されるアーム12の重心位置、質量、慣性テンソル、長さ)、溶接ロボット10の関節位置ANGwvj、関節角速度VELwvj、及び関節角加速度ACCwvjを用いて逆動力学演算を行うことにより、上記トルクTRQjを求める。なお、トルクTRQj、関節位置ANGwvj、関節角速度VELwvj、及び関節角加速度ACCwvjにおける添え字jは、溶接ロボット10の関節番号を表すものである。
In step S15, the torque TRQj generated around the joint axis of the
一般に、各関節に発生するトルクは、溶接ロボット10の機構パラメータ(関節に連結されるアーム12の重心位置、質量、慣性テンソル、長さ)と、各関節の位置、角速度、角加速度とに基づいて、次式による演算によって求められることが知られており、これを「逆動力学モデル」という。
In general, the torque generated in each joint is based on the mechanism parameters of the welding robot 10 (the position of the center of gravity of the
ここで、上式の各項は、表1に示す意味を有する。 Here, each term of the above formula has the meaning shown in Table 1.
上記(1) 式に示した逆動力学モデルは、慣性行列H、粘性行列C及び重力行列Gから構成され、溶接ロボット10の関節数がnの場合、慣性行列Hは、n×nの対称行列で表され、溶接ロボット10の各関節の角加速度により関節自身に発生するトルク、及び他の関節の角加速度により発生する干渉トルクを示すものである。粘性行列Cは、n×1行列で表され、溶接ロボット10の各関節の角速度により生じる遠心力、及びコリオリ力から成るトルクを示すものである。重力行列Gは、n×3行列で表され、重力加速度の影響により発生するトルクを示すものである。
The inverse dynamic model shown in the above equation (1) is composed of an inertia matrix H, a viscosity matrix C, and a gravity matrix G. When the number of joints of the
ここで、溶接ロボット10の機構パラメータは、表2に示す4つの項目から構成される。なお、表2中の個数は、関節に連結されるアーム1つあたりの値である。
Here, the mechanism parameters of the
なお、慣性テンソルIは、物体(例えば溶接ロボット10のアーム12)の回転し難さを示すのに一般的に用いられ、公知の通り、表2中の3×3の対称行列で表される。そして、その対角成分は溶接ロボット10の各関節の慣性モーメントIx,Iy,Izを、その他の成分は慣性乗積Ixy,Iyz,Izxの負の値を表す。
The inertia tensor I is generally used to indicate the difficulty of rotation of an object (for example, the
また、慣性モーメントIx,Iy,Izは、物体の回り難さ及び止め難さを表すものであり、例えば次式により求められる。 Further, the inertia moments Ix, Iy, and Iz represent the difficulty in turning and stopping the object, and are obtained by the following equation, for example.
さらに、慣性乗積Ixy,Iyz,Izxは、物体が回転運動を行っているとき、その運動を乱すモーメントを表すものであり、次式により求められる。 Further, the inertial products Ixy, Iyz, and Izx represent moments that disturb the motion of the object when it is rotating, and are obtained by the following equations.
ここで、dmは微小体積の質量を示す。なお、式中のx,y,zは、所定のリンク座標系を基準として表される。基本的なリンク座標系について、図10及び図11を参照して説明すると、例えば、第2関節と第3関節との間に伸張する第2リンクL2(アームに相当)においては、第2関節の回転中心を原点として、第2関節に割り当てられるリンク座標が定められ、そのx方向は第2リンクL2の長さの方向であり、z方向は第2関節の回転方向であり、y方向は右手座標系の方向である。 Here, dm indicates the mass of a minute volume. Note that x, y, and z in the formula are expressed with reference to a predetermined link coordinate system. The basic link coordinate system will be described with reference to FIGS. 10 and 11. For example, in the second link L2 (corresponding to the arm) extending between the second joint and the third joint, the second joint A link coordinate assigned to the second joint is determined with the rotation center of the origin as the origin, the x direction is the direction of the length of the second link L2, the z direction is the rotation direction of the second joint, and the y direction is The direction of the right-handed coordinate system.
図10及び図11に示した第2リンクL2の慣性テンソルIの基準座標は、第2関節に割り当てられたリンク座標系を第2リンクL2の重心位置に移動したときの座標系とされる。他の関節についても同様に定義される。 The reference coordinates of the inertia tensor I of the second link L2 shown in FIGS. 10 and 11 are the coordinate system when the link coordinate system assigned to the second joint is moved to the center of gravity of the second link L2. The same applies to other joints.
溶接ロボット10の機構パラメータは、溶接ロボット10の機構やアーム12の形状及び材質から予め求めておくことが可能な既知の固定値である。そのため、各関節に発生するトルクTRQjは、各関節の関節位置ANGwvj、関節速度VELwvj、及び関節加速度ACCwvjに基づいて演算により求めることができる。
The mechanism parameter of the
すなわち、慣性行列H、粘性行列C及び重力行列Gの演算方法については、公知であるため、ここでの詳細な説明は省略する。例えば溶接ロボット10が3つの関節からなる場合、慣性行列H、粘性行列C、及び重力行列Gは、以下の式で表される。
That is, since the calculation method of the inertia matrix H, the viscosity matrix C, and the gravity matrix G is well known, detailed description thereof is omitted here. For example, when the
上記の各式の各構成要素は、表2に示した機構パラメータ、関節位置θ、関節速度θdのみから構成され、θ、θd以外はすべて既知の値である。関節位置θには、ステップS13(図9参照)において算出されたウィービング動作を行う場合の各関節の関節角度ANGwvを当て嵌めることができる。また、関節速度θdには、補間周期毎に算出され、ウィービング動作を行う場合の各関節の関節角度ANGwvを一階微分することで算出される関節角速度VELwvを当て嵌めることができる。したがって、ウィービング動作を行う場合の各関節における関節位置ANGwv、及び関節角速度VELwvをそれぞれθ、及びθdに代入することにより、上記(1) 式中の慣性行列H、粘性行列C及び重力行列Gが算出される。θ、θd、及び関節角速度VELwvは、次式で表される。 Each component of the above formulas is composed of only the mechanism parameter, joint position θ, and joint speed θd shown in Table 2, and all other values than θ and θd are known values. The joint angle ANGwv of each joint when performing the weaving operation calculated in step S13 (see FIG. 9) can be applied to the joint position θ. Further, the joint angular velocity VELwv calculated by performing first-order differentiation on the joint angle ANGwv of each joint when performing the weaving operation can be applied to the joint velocity θd. Therefore, by substituting the joint position ANGwv and joint angular velocity VELwv at each joint when performing the weaving operation into θ and θd, respectively, the inertia matrix H, the viscosity matrix C, and the gravity matrix G in the above equation (1) are obtained. Calculated. θ, θd, and joint angular velocity VELwv are expressed by the following equations.
ここで、nは溶接ロボット10の関節数を示し、VELwv1は溶接ロボット10の第1関節の関節角速度(rad/sec)を示し、VELwv2は溶接ロボット10の第2関節の関節角速度(rad/sec)を示し、VELwvnは溶接ロボット10の第n関節の関節角速度(rad/sec)を示す。
Here, n represents the number of joints of the
式(1) 中の重力加速度ベクトルgは、重力加速度が働く方向を示すベクトルであるから、これも溶接ロボット10の設置姿勢より予め定めることができる。
Since the gravitational acceleration vector g in the equation (1) is a vector indicating the direction in which the gravitational acceleration works, it can also be determined in advance from the installation posture of the
式(1) 中の関節加速度θddは、補間周期毎に算出されるウィービング動作を行う場合の各関節の関節角度ANGwvを二階微分することで算出される関節加速度ACCwvを当て嵌めることができる。したがって、下式のように関節角加速度ACCwvを設定することにより、上記(1) 式で表される逆動力学モデルに基づいて、指定されたウィービング動作を実現するために各関節が発生すべきトルクTRQを算出する。θdd、及び関節角加速度ACCwvは、次式で表される。 As the joint acceleration θdd in the equation (1), the joint acceleration ACCwv calculated by second-order differentiation of the joint angle ANGwv of each joint when performing the weaving operation calculated every interpolation cycle can be applied. Therefore, by setting the joint angular acceleration ACCwv as shown in the following equation, each joint should be generated in order to realize the specified weaving motion based on the inverse dynamics model expressed by the above equation (1). Torque TRQ is calculated. θdd and joint angular acceleration ACCwv are expressed by the following equations.
ここで、nは溶接ロボット10の関節数を示し、ACCwv1は溶接ロボット10の第1関節の関節角加速度(rad/sec2)を示し、ACCwv2は溶接ロボット10の第2関節の関節角加速度(rad/sec2)を示し、ACCwvnは溶接ロボット10の第n関節の関節角加速度(rad/sec2)を示す。
Here, n represents the number of joints of the
以上より、式(1) は、次式で表される。 From the above, equation (1) is expressed by the following equation.
また、トルクTRQは、次式で表される。 The torque TRQ is expressed by the following equation.
ここで、nは溶接ロボット10の関節数を示し、TRQ1は溶接ロボット10の第1関節の発生トルク(N・m)を示し、TRQ2は溶接ロボット10の第2関節の発生トルク(N・m)を示し、TRQnは溶接ロボット10の第n関節の発生トルク(N・m)を示す。
Here, n indicates the number of joints of the
上式により算出される各関節におけるトルクTRQは、関節を加速するために必要なトルクだけでなく、他の関節における関節速度や関節加速度により受ける干渉トルクをも含んでいる。 The torque TRQ at each joint calculated by the above equation includes not only the torque necessary for accelerating the joint but also the interference torque received by the joint speed and joint acceleration at the other joints.
図12は、補間周期毎に算出される、ウィービング動作する場合の関節角度ANGwv、各関節における関節速度VELwv及び関節加速度ACCwvの関係を示す図である。 FIG. 12 is a diagram illustrating a relationship among the joint angle ANGwv, the joint velocity VELwv, and the joint acceleration ACCwv in each joint, which is calculated for each interpolation cycle.
次に、ステップS16において、ウィービング動作1周期毎に発生するトルクの平均値を算出する。具体的には、図13に示すように、ウィービング動作における右端点での発生トルクTRQrjと、ウィービング動作における左端点での発生トルクTRQljとを算出し、さらにそれらの平均値を算出し、その平均値をウィービング動作を行わない場合に発生するトルクTRQavejとして、RAM22に記憶する。
Next, in step S16, an average value of torque generated for each cycle of the weaving operation is calculated. Specifically, as shown in FIG. 13, the generated torque TRQrj at the right end point in the weaving operation and the generated torque TRQlj at the left end point in the weaving operation are calculated, and the average value thereof is calculated, and the average The value is stored in the
ここで、nは溶接ロボット10の関節数を示し、TRQr1は溶接ロボット10の第1関節の右端点におけるウィービング動作時の発生トルク(N・m)を示し、TRQr2は溶接ロボット10の第2関節の右端点におけるウィービング動作時の発生トルク(N・m)を示し、TRQrnは溶接ロボット10の第n関節の右端点におけるウィービング動作時の発生トルク(N・m)を示す。
Here, n represents the number of joints of the
ここで、nは溶接ロボット10の関節数を示し、TRQl1は溶接ロボット10の第1関節の左端点におけるウィービング動作時の発生トルク(N・m)を示し、TRQl2は溶接ロボット10の第2関節の左端点におけるウィービング動作時の発生トルク(N・m)を示し、TRQlnは溶接ロボット10の第n関節の左端点におけるウィービング動作時の発生トルク(N・m)を示す。
Here, n represents the number of joints of the
ここで、nは溶接ロボット10の関節数を示し、TRQave1は溶接ロボット10の第1関節の平均トルク(N・m)を示し、TRQave2は溶接ロボット10の第2関節の平均トルク(N・m)を示し、TRQavenは溶接ロボット10の第n関節の平均トルク(N・m)を示す。
Here, n represents the number of joints of the
そして、TRQave1、TRQave2、及びTRQavenは、それぞれ次式で表される。 TRQave1, TRQave2, and TRQaven are each expressed by the following equations.
なお、上記では、ウィービング動作の1周期における平均トルクTRQaveを、ウィービング動作の左右端点における平均を算出することによって求めたが、この方法に代えて、1周期内の全サンプリング点の平均を算出することにより求めるようにしてもよい。 In the above description, the average torque TRQave in one cycle of the weaving operation is obtained by calculating the average at the left and right end points of the weaving operation. Instead of this method, the average of all sampling points in one cycle is calculated. You may make it obtain | require by this.
次に、ステップS17において、ウィービング動作により発生するトルクによって生じる、駆動モータ13とアーム12とを連結する図示しない減速機のたわみ量を、ウィービング動作における振幅が変化する量として算出し、それを用いてウィービング動作を行う場合の溶接ロボット10の各関節における関節角度を補正する。
Next, in step S17, the amount of deflection of a reduction gear (not shown) that connects the
具体的には、減速機のたわみ量は、先に算出した各関節に発生するトルクTRQから、ウィービング動作の1周期における平均トルクTRQaveを差し引くことで、ウィービング動作によって発生したトルクを抽出し、この値を、溶接ロボット10の各関節におけるばね定数Kjで除算することにより算出する。
Specifically, the amount of flexure of the reducer is obtained by subtracting the average torque TRQave in one cycle of the weaving operation from the torque TRQ generated in each joint calculated earlier, and extracting the torque generated by the weaving operation. The value is calculated by dividing by the spring constant Kj at each joint of the
そして、このたわみ量を、ウィービング動作を行う場合の溶接ロボット10の各関節における関節角度ANGwvに加算することにより、それを溶接ロボット10の各関節における位置指令(駆動モータ13に対する動作指令)として、溶接ロボット10の各関節における補正後の関節角度ANGcompjを算出する。補正後の関節角度ANGcompj、及びばね定数Kは、次式で表される。
Then, by adding this deflection amount to the joint angle ANGwv at each joint of the
ここで、nは溶接ロボット10の関節数を示し、K1は溶接ロボット10の第1関節のばね定数(rad/N・m)を示し、K2は溶接ロボット10の第2関節のばね定数(rad/N・m)を示し、Knは溶接ロボット10の第n関節のばね定数(rad/N・m)を示す。上記ばね定数Kは、使用する減速機に基づいて既知とすることが可能な定数であり、事前にハードディスク25内に記憶される。
Here, n represents the number of joints of the
このように、関節の軸まわりに発生するトルクTRQからウィービング動作を行わない場合に発生するトルクTRQaveを差し引き、それを各関節のばね定数Kで除算して、除算した値をウィービング動作を行う場合の各関節の関節角度ANGwvに加え、これを各関節に駆動する駆動モータ13の動作指令として各駆動モータ13に与える。これにより、アーム12間に発生する干渉トルクによる図示しない減速機のたわみ量を用いて各駆動モータ13に与える各関節の関節角度ANGwvを補正することができる。そのため、適切な振幅を有するウィービング動作を行うことができる。
As described above, when the torque TRQave generated when the weaving operation is not performed is subtracted from the torque TRQ generated around the joint axis, and divided by the spring constant K of each joint, the divided value is performed when the weaving operation is performed. In addition to the joint angle ANGwv of each joint, this is given to each drive
もちろん、この発明の範囲は上述した実施の形態に限定されるものではない。 Of course, the scope of the present invention is not limited to the embodiment described above.
10 溶接ロボット
12 アーム
13 駆動モータ
14 溶接トーチ
15 溶接ワイヤ
20 ロボット制御装置
21 CPU
22 RAM
30 溶接電源装置
35 サーボドライバ
39 関節補間点生成部
44 関節補間点バッファ
51 位置制御ブロック
58 位置フィードバックゲイン
W ワーク(被溶接物)
DESCRIPTION OF
22 RAM
30 Welding
Claims (4)
前記補間点ごとに、ウィービング動作しない場合の前記各関節の関節角度と、ウィービング動作する場合の前記各関節の関節角度との差を前記関節ごとにウィービング変位として算出するウィービング変位算出手段と、
前記サーボモータのサーボ制御定数と予め定めるウィービング周波数とに基づいて、前記サーボモータのフィードバック制御系におけるゲインを算出するゲイン算出手段と、
前記ゲイン算出手段によって算出されたゲインの逆数を、前記ウィービング変位算出手段によって算出された前記ウィービング変位に乗じ、その値をウィービング動作しない場合の前記各関節の関節角度に加算することにより、前記補間点ごとに前記サーボモータに対する動作指令としての前記各関節の関節角度を算出する動作指令算出手段と、
を備えることを特徴とする、溶接ロボット制御装置。 By driving a plurality of servo motors provided at each joint of the welding robot by feedback control, an arc is generated while performing a weaving operation of the welding torch at each interpolation point divided on the welding track every predetermined time. A welding robot control device for causing a welding robot to perform welding,
Weaving displacement calculation means for calculating, as the weaving displacement for each joint, a difference between the joint angle of each joint when the weaving operation is not performed and the joint angle of each joint when the weaving operation is performed for each interpolation point;
A gain calculating means for calculating a gain in a feedback control system of the servo motor based on a servo control constant of the servo motor and a predetermined weaving frequency;
The interpolation is performed by multiplying the reciprocal of the gain calculated by the gain calculating means by the weaving displacement calculated by the weaving displacement calculating means and adding the value to the joint angle of each joint when the weaving operation is not performed. An operation command calculating means for calculating a joint angle of each joint as an operation command for the servo motor for each point;
A welding robot control device comprising:
前記補間点ごとに、ウィービング動作しない場合の前記各関節の関節角度と、ウィービング動作する場合の前記各関節の関節角度との差を前記関節ごとにウィービング変位として算出するウィービング変位算出手段と、
前記関節の軸まわりに発生するトルクを関節毎に算出する第1トルク算出手段と、
前記補間点ごとに前記ウィービング動作をしない場合に発生するトルクを算出する第2トルク算出手段と、
前記第1トルク算出手段によって算出された、前記関節の軸まわりに発生するトルクの値と、前記第2トルク算出手段によって算出された、前記ウィービング動作をしない場合に発生するトルクの値とを差し引き、その差し引いた値を、予め定められた各関節におけるばね定数で除算し、その除算した値を、前記ウィービング動作する場合の各関節の関節角度に加算することにより、前記補間点ごとに前記サーボモータに対する動作指令としての前記各関節の関節角度を算出する動作指令算出手段と、
を備えることを特徴とする、溶接ロボット制御装置。 By driving a plurality of servo motors provided at each joint of the welding robot by feedback control, an arc is generated while performing a weaving operation of the welding torch at each interpolation point divided on the welding track every predetermined time. A welding robot control device for causing a welding robot to perform welding,
Weaving displacement calculation means for calculating, as the weaving displacement for each joint, a difference between the joint angle of each joint when the weaving operation is not performed and the joint angle of each joint when the weaving operation is performed for each interpolation point;
First torque calculating means for calculating for each joint the torque generated around the joint axis;
Second torque calculating means for calculating torque generated when the weaving operation is not performed for each interpolation point;
The value of the torque generated around the joint axis calculated by the first torque calculating unit and the value of the torque generated by the second torque calculating unit when the weaving operation is not performed are subtracted. The subtracted value is divided by a predetermined spring constant at each joint, and the divided value is added to the joint angle of each joint when the weaving operation is performed. An operation command calculating means for calculating a joint angle of each joint as an operation command for the motor;
A welding robot control device comprising:
前記補間点ごとに、前記ウィービング動作の一周期毎に前記ウィービング動作の右端において発生するトルクと、前記ウィービング動作の左端において発生するトルクとの平均値を算出することにより、前記ウィービング動作をしない場合に発生するトルクを算出する、請求項3に記載の溶接ロボット制御装置。 The second torque calculating means includes
When the weaving operation is not performed by calculating the average value of the torque generated at the right end of the weaving operation and the torque generated at the left end of the weaving operation every cycle of the weaving operation for each interpolation point The welding robot control device according to claim 3, wherein torque generated in the welding robot is calculated.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004238783A JP4498061B2 (en) | 2004-08-18 | 2004-08-18 | Welding robot controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004238783A JP4498061B2 (en) | 2004-08-18 | 2004-08-18 | Welding robot controller |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006059037A true JP2006059037A (en) | 2006-03-02 |
JP2006059037A5 JP2006059037A5 (en) | 2007-08-30 |
JP4498061B2 JP4498061B2 (en) | 2010-07-07 |
Family
ID=36106470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004238783A Active JP4498061B2 (en) | 2004-08-18 | 2004-08-18 | Welding robot controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4498061B2 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008543578A (en) * | 2005-06-08 | 2008-12-04 | ブルックス オートメーション インコーポレイテッド | Extensible motion control system |
JP2009298345A (en) * | 2008-06-16 | 2009-12-24 | Mitsubishi Electric Corp | Attitude control device and position control device |
JP2012218104A (en) * | 2011-04-08 | 2012-11-12 | Toyota Motor Corp | Torque calculator, torque calculating method, and program |
WO2014061681A1 (en) | 2012-10-19 | 2014-04-24 | 株式会社神戸製鋼所 | Weaving control device of multi-joint robot |
JP2014180726A (en) * | 2013-03-19 | 2014-09-29 | Kobe Steel Ltd | Compensating device for spring constant of multi-joint robot |
JP2015089584A (en) * | 2013-11-05 | 2015-05-11 | トヨタ自動車株式会社 | Robot control method and robot control system |
CN110509274A (en) * | 2019-08-26 | 2019-11-29 | 中科新松有限公司 | A kind of robot security's control system |
CN110879571A (en) * | 2019-12-16 | 2020-03-13 | 华南理工大学广州学院 | Method for obtaining circular arc walking line segment of writing robot based on circular arc interpolation |
CN113910216A (en) * | 2020-07-09 | 2022-01-11 | 北京配天技术有限公司 | Motor shaft control method and system, robot and storage medium |
WO2022176456A1 (en) * | 2021-02-19 | 2022-08-25 | 株式会社神戸製鋼所 | Spring constant correction device, method therefor, and recording medium |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101337650B1 (en) * | 2011-11-02 | 2013-12-05 | 삼성중공업 주식회사 | Realtime weaving motion control device and realtime weaving motion control method |
CN108481324B (en) * | 2018-04-25 | 2021-04-20 | 中国科学院合肥物质科学研究院 | Inverse solution engineering of eight-axis multifunctional mechanical arm and collision detection algorithm thereof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06222817A (en) * | 1993-01-27 | 1994-08-12 | Komatsu Ltd | Robot weaving controller |
JPH0825260A (en) * | 1994-07-19 | 1996-01-30 | Nachi Fujikoshi Corp | Deflection correcting method for industrial robot |
-
2004
- 2004-08-18 JP JP2004238783A patent/JP4498061B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06222817A (en) * | 1993-01-27 | 1994-08-12 | Komatsu Ltd | Robot weaving controller |
JPH0825260A (en) * | 1994-07-19 | 1996-01-30 | Nachi Fujikoshi Corp | Deflection correcting method for industrial robot |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008543578A (en) * | 2005-06-08 | 2008-12-04 | ブルックス オートメーション インコーポレイテッド | Extensible motion control system |
JP2009298345A (en) * | 2008-06-16 | 2009-12-24 | Mitsubishi Electric Corp | Attitude control device and position control device |
JP2012218104A (en) * | 2011-04-08 | 2012-11-12 | Toyota Motor Corp | Torque calculator, torque calculating method, and program |
KR101688344B1 (en) * | 2012-10-19 | 2016-12-20 | 가부시키가이샤 고베 세이코쇼 | Weaving control device of multi-joint robot |
JP2014083605A (en) * | 2012-10-19 | 2014-05-12 | Kobe Steel Ltd | Weaving control device of articulated robot |
KR20150056833A (en) | 2012-10-19 | 2015-05-27 | 가부시키가이샤 고베 세이코쇼 | Weaving control device of multi-joint robot |
US9505074B2 (en) | 2012-10-19 | 2016-11-29 | Kobe Steel, Ltd. | Weaving control device for articulated robot |
WO2014061681A1 (en) | 2012-10-19 | 2014-04-24 | 株式会社神戸製鋼所 | Weaving control device of multi-joint robot |
JP2014180726A (en) * | 2013-03-19 | 2014-09-29 | Kobe Steel Ltd | Compensating device for spring constant of multi-joint robot |
JP2015089584A (en) * | 2013-11-05 | 2015-05-11 | トヨタ自動車株式会社 | Robot control method and robot control system |
CN110509274A (en) * | 2019-08-26 | 2019-11-29 | 中科新松有限公司 | A kind of robot security's control system |
CN110879571A (en) * | 2019-12-16 | 2020-03-13 | 华南理工大学广州学院 | Method for obtaining circular arc walking line segment of writing robot based on circular arc interpolation |
CN113910216A (en) * | 2020-07-09 | 2022-01-11 | 北京配天技术有限公司 | Motor shaft control method and system, robot and storage medium |
CN113910216B (en) * | 2020-07-09 | 2023-01-24 | 北京配天技术有限公司 | Motor shaft control method and system, robot and storage medium |
WO2022176456A1 (en) * | 2021-02-19 | 2022-08-25 | 株式会社神戸製鋼所 | Spring constant correction device, method therefor, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP4498061B2 (en) | 2010-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4759660B2 (en) | Robot arm control device, method, program, integrated electronic circuit, and assembly robot | |
JP6268819B2 (en) | Trajectory generation method for multi-axis robot | |
JP6167770B2 (en) | Multi-axis robot trajectory generation method and multi-axis robot controller | |
JP5916583B2 (en) | Weaving control device for articulated robot | |
KR20180038479A (en) | Robot system | |
JP5144035B2 (en) | Industrial robot tool position / posture control method and control system | |
EP2684649A1 (en) | Control device, control method and control program of articulated robot | |
JP4498061B2 (en) | Welding robot controller | |
JP6771288B2 (en) | Welding equipment and control method of welding equipment | |
JP2017209762A (en) | Robot device, robot control method, program, recording medium and production method of article | |
JP7088800B2 (en) | Robot control device that controls the arc motion of the robot | |
JP5277946B2 (en) | Robot control device and robot system | |
JP2009082945A (en) | Method for controlling arc welding robot system, and arc welding robot system | |
JP4842656B2 (en) | Welding robot controller | |
JP2008080343A (en) | Arc sensor | |
JP4575827B2 (en) | Industrial robot controller | |
JP2013223895A (en) | Robot control method and robot control device | |
JPH11342473A (en) | Control of tig welding robot | |
JP4528577B2 (en) | Industrial robot | |
JP5633268B2 (en) | Robot control device | |
JP6814441B2 (en) | Learning control device and learning control method for drive machines | |
JP2020097101A (en) | Robot device, robot system, robot device control method, method of manufacturing article using robot device, control program, and recording medium | |
JP2019209444A (en) | Robot control device and robot control method | |
JP2019214105A (en) | Robot control apparatus and robot control method | |
JP3324122B2 (en) | Industrial robot controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070718 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070718 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090807 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090818 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091016 |
|
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: 20100406 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100413 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130423 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4498061 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130423 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140423 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140423 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |