JP2006059037A - Welding robot controller - Google Patents

Welding robot controller Download PDF

Info

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
Application number
JP2004238783A
Other languages
Japanese (ja)
Other versions
JP2006059037A5 (en
JP4498061B2 (en
Inventor
Yasuhiro Kamishina
泰宏 神品
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.)
Nachi Fujikoshi Corp
Daihen Corp
Original Assignee
Nachi Fujikoshi Corp
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 Nachi Fujikoshi Corp, Daihen Corp filed Critical Nachi Fujikoshi Corp
Priority to JP2004238783A priority Critical patent/JP4498061B2/en
Publication of JP2006059037A publication Critical patent/JP2006059037A/en
Publication of JP2006059037A5 publication Critical patent/JP2006059037A5/ja
Application granted granted Critical
Publication of JP4498061B2 publication Critical patent/JP4498061B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a welding robot controller capable of surely and accurately carrying out weaving action with a previously taught amplitude. <P>SOLUTION: By means of this welding robot controller 20, a plurality of drive motors 13 arranged in respective joints of a welding robot 10 are driven by feedback control, and the welding robot 10 carries out welding by generating an arc while performing weaving action of a welding torch 14 in each interpolation point. The welding robot controller 20 is provided with a CPU 21. By means of the CPU 21, in each interpolation point, a difference between a joint angle of each joint not in a weaving operation and that in a weaving operation is computed as a weaving shift for each joint, a gain in a feedback control system of the driving motor 13 is computed based on a servo control constant of the driving motor 13 and a predetermined weaving frequency, the weaving shift is multiplied by an inverse number of the computer gain and the obtained value is added to the joint angle of each joint not in the weaving operation, and a joint angle for each joint as an operation instruction to the driving motor 13 is computed for each interpolation point. <P>COPYRIGHT: (C)2006,JPO&NCIPI

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)を、予め教示された振幅、周波数、及び波形に基づいて移動させる。このウィービング動作が行われることによって、良好でかつ確実な溶接を実現することができる。
特開平7−24574号公報。
In this weaving operation, the welding torch performs a linear interpolation operation or a circular interpolation operation along the shape of the welded portion based on the teaching playback method, and the tool center point (TCP) of the welding torch is set to the amplitude taught in advance. Move based on frequency and waveform. By performing this weaving operation, good and reliable welding can be realized.
JP-A-7-24574.

ところで、上記多関節溶接ロボットの制御においては、溶接ロボットの動特性を向上させるために、溶接ロボットの各アームを駆動するモータの制御定数をリアルタイムに変化させている。   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 welding robot 10, a robot control device 20, and a welding power source device 30.

溶接ロボット10は、ワークWに対して例えばアーク溶接を自動で行うものである。溶接ロボット10は、フロア等の適当な箇所に固定されるベース部材11と、それに複数の軸を介して連結された複数のアーム12と、複数のアーム12の両端又は片端に設けられた複数の駆動モータ(サーボモータ)13(一部図示略)とによって構成されている。   The welding robot 10 automatically performs, for example, arc welding on the workpiece W. The welding robot 10 includes a base member 11 fixed to an appropriate place such as a floor, a plurality of arms 12 connected to the base member 11 via a plurality of axes, and a plurality of arms 12 provided at both ends or one end of the arms 12. A drive motor (servo motor) 13 (partially omitted) is configured.

溶接ロボット10には、最も先端側に設けられたアーム12の先端部に、溶接トーチ14が設けられている。溶接トーチ14は、溶加材としての例えば直径1mm程度の溶接ワイヤ15をワークWの所定の溶接位置に導くものである。   The welding robot 10 is provided with a welding torch 14 at the distal end portion of the arm 12 provided on the most distal end side. The welding torch 14 guides a welding wire 15 having a diameter of, for example, about 1 mm as a filler material to a predetermined welding position of the workpiece W.

溶接ロボット10の上部には、ワイヤ送給装置16が設けられている。ワイヤ送給装置16は、溶接トーチ14に対して溶接ワイヤ15を送り出すためのものである。ワイヤ送給装置16は、溶接ワイヤ15が巻回された図示しないリールと、リールを回転させる送給モータ17とによって構成され、送給モータ17は、溶接電源装置30によって回転駆動される。   A wire feeding device 16 is provided on the upper portion of the welding robot 10. The wire feeding device 16 is for feeding the welding wire 15 to the welding torch 14. The wire feeding device 16 includes a reel (not shown) around which the welding wire 15 is wound, and a feeding motor 17 that rotates the reel. The feeding motor 17 is rotationally driven by a welding power source device 30.

ワイヤ送給装置16には、溶接ワイヤ15を案内するためのコイルライナ19が接続され、コイルライナ19の先端は、溶接トーチ14に接続されている。これにより、ワイヤ送給装置16によって送り出された溶接ワイヤ15は、コイルライナ19を介して溶接トーチ14に導かれる。溶接ワイヤ15は、溶接トーチ14から外部に突出して消耗電極として機能する。すなわち、溶接電源装置30によって溶接ワイヤ15の先端とワークWとの間にアークを発生させてその熱で溶接ワイヤ15を溶融させることにより、ワークWに対して溶接が施される。   A coil liner 19 for guiding the welding wire 15 is connected to the wire feeder 16, and the tip of the coil liner 19 is connected to the welding torch 14. As a result, the welding wire 15 delivered by the wire feeder 16 is guided to the welding torch 14 via the coil liner 19. The welding wire 15 projects outward from the welding torch 14 and functions as a consumable electrode. That is, welding is performed on the workpiece W by generating an arc between the tip of the welding wire 15 and the workpiece W by the welding power source device 30 and melting the welding wire 15 with the heat.

駆動モータ13は、ロボット制御装置20からの駆動信号によって回転駆動され、この各駆動モータ13が回転駆動されることにより、各アーム12が変位し、結果的に溶接トーチ14が上下前後左右に移動可能とされる。   The drive motor 13 is rotationally driven by a drive signal from the robot control device 20, and the respective drive motors 13 are rotationally driven, whereby each arm 12 is displaced, and as a result, the welding torch 14 moves up, down, front, back, left, and right. It is possible.

さらに、本実施形態では、各駆動モータ13が回転駆動されることにより、溶接トーチ14のウィービング動作が行われる。ウィービング動作とは、上述したように、溶接トーチ14を溶接進行方向に対して直交する方向に揺動させる動作をいう。本実施形態に係る溶接ロボット10は、図1及び図2に示すように、複数の関節を有する多関節の溶接ロボットであり、これら複数の関節を複合動作させることにより、溶接トーチ14が溶接進行方向に対して直交方向に揺動されるように制御される(図2の正弦波状の軌跡を参照)。なお、図2では、溶接ロボット10が3自由度の場合を示している。   Further, in the present embodiment, the weaving operation of the welding torch 14 is performed by driving the drive motors 13 to rotate. As described above, the weaving operation refers to an operation of swinging the welding torch 14 in a direction orthogonal to the welding progress direction. As shown in FIGS. 1 and 2, the welding robot 10 according to the present embodiment is a multi-joint welding robot having a plurality of joints, and the welding torch 14 is welded by performing a combined operation of the plurality of joints. It is controlled to swing in a direction orthogonal to the direction (see the sinusoidal locus in FIG. 2). FIG. 2 shows a case where the welding robot 10 has three degrees of freedom.

なお、駆動モータ13には、図示しないエンコーダが設けられている。エンコーダの出力は、ロボット制御装置20に与えられ、ロボット制御装置20では、エンコーダの出力によって溶接トーチ14の現在位置を認識するようになっている。   The drive motor 13 is provided with an encoder (not shown). The output of the encoder is given to the robot controller 20, and the robot controller 20 recognizes the current position of the welding torch 14 by the output of the encoder.

ロボット制御装置20は、溶接ロボット10の動作を制御するためのものである。ロボット制御装置20は、予め記憶されている作業プログラム及び図示しないエンコーダからの現在位置情報等に基づいて、溶接ロボット10の各駆動モータ13を駆動制御して、溶接トーチ14をワークWの所定の溶接点に移動させる。また、ロボット制御装置20は、各駆動モータ13を駆動制御して、溶接トーチ14を揺動させることにより、上記ウィービング動作を実行する。   The robot control device 20 is for controlling the operation of the welding robot 10. The robot control device 20 drives and controls each drive motor 13 of the welding robot 10 based on a work program stored in advance, current position information from an encoder (not shown), etc. Move to welding point. Further, the robot control device 20 performs the weaving operation by driving and controlling the drive motors 13 to swing the welding torch 14.

溶接電源装置30は、図示しない溶接電源を備えており、溶接電源は溶接トーチ14とワークWとの間に高電圧の溶接電圧を供給するものである。また、溶接電源装置30は、所定のタイミングでワイヤ送給装置16の送給モータ17を駆動させる機能をも有している。   The welding power source device 30 includes a welding power source (not shown), and the welding power source supplies a high welding voltage between the welding torch 14 and the workpiece W. Moreover, the welding power supply device 30 also has a function of driving the feeding motor 17 of the wire feeding device 16 at a predetermined timing.

図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 robot control device 20 and its peripheral devices. The robot control device 20 includes a CPU 21, a RAM 22, a ROM 23, a timer (TIMER) 24, a hard disk 25, a teaching pendant I / F 26, an operation box I / F 27, and a servo driver I / F 28. Each unit is a bus (BUS). 31 are connected to each other.

ティーチングペンダントI/F26には、ティーチングペンダント33が接続され、操作ボックスI/F27には、操作ボックス34が接続されている。また、サーボドライバI/F28には、ロボット制御装置20の内部に設けられた複数のサーボドライバ35が接続され、サーボドライバ35には、溶接ロボット10に設けられた6つの駆動モータ13がそれぞれ接続されている。   A teaching pendant 33 is connected to the teaching pendant I / F 26, and an operation box 34 is connected to the operation box I / F 27. The servo driver I / F 28 is connected to a plurality of servo drivers 35 provided in the robot control device 20, and the six drive motors 13 provided in the welding robot 10 are connected to the servo driver 35. Has been.

CPU21は、本ロボット制御装置20の制御中枢となるものであり、予め定められた作業プログラム、ティーチングペンダント33や操作ボックス34からの操作信号、あるいは図示しないエンコーダからの現在位置情報等に基づいて、所定のデータ処理を行い、バス31及びサーボドライバI/F28を介してサーボドライバ35に動作指令を与える。これにより、駆動モータ13が回転駆動され、溶接トーチ14が移動される。   The CPU 21 is a control center of the robot control device 20, and is based on a predetermined work program, an operation signal from the teaching pendant 33 or the operation box 34, current position information from an encoder (not shown), or the like. Predetermined data processing is performed, and an operation command is given to the servo driver 35 via the bus 31 and the servo driver I / F 28. Thereby, the drive motor 13 is rotationally driven, and the welding torch 14 is moved.

RAM22は、CPU21に対して作業領域を提供するものであり、計算データ等を一時的に記憶する。RAM22は、例えば後述する動作命令バッファ41、軌道バッファ42、補間点バッファ43、又は関節補間点バッファ44として機能する。   The RAM 22 provides a work area for the CPU 21 and temporarily stores calculation data and the like. The RAM 22 functions as, for example, an operation command buffer 41, a trajectory buffer 42, an interpolation point buffer 43, or a joint interpolation point buffer 44 described later.

ROM23は、溶接ロボット10の動作(衝突検出、停止処理等を含む)が定められた作業プログラム、この作業プログラムの実行条件を示すデータ、制御定数を示すデータ等を格納するものである。   The ROM 23 stores a work program in which the operation of the welding robot 10 (including collision detection, stop processing, and the like) is defined, data indicating the execution conditions of the work program, data indicating a control constant, and the like.

ハードディスク25は、溶接ロボット10の溶接作業が表された教示データを格納するものである。   The hard disk 25 stores teaching data representing a welding operation of the welding robot 10.

タイマ24は、予め定められた定期時刻ごとに同期信号をCPU21に対して発生するものである。同期信号は、CPU21がサーボドライバ35に対して動作指令信号を出力する際の更新タイミングとして用いられる。   The timer 24 generates a synchronization signal to the CPU 21 at predetermined time intervals. The synchronization signal is used as an update timing when the CPU 21 outputs an operation command signal to the servo driver 35.

ティーチングペンダントI/F26は、ティーチングペンダント33とのインターフェースを司るものである。ティーチングペンダント33は、例えば表示装置33aとキーボード33bとを有し、溶接ロボット10の動作を手動で行う際にユーザによって操作されるものである。CPU21は、このティーチングペンダント33からの操作信号を受け取ることにより所定のデータ処理を行うとともに、ティーチングペンダント33に対して表示データを送ることにより、操作情報を表示させる。   The teaching pendant I / F 26 serves as an interface with the teaching pendant 33. The teaching pendant 33 has a display device 33a and a keyboard 33b, for example, and is operated by a user when the welding robot 10 is manually operated. The CPU 21 performs predetermined data processing by receiving an operation signal from the teaching pendant 33 and sends display data to the teaching pendant 33 to display operation information.

操作ボックスI/F27は、操作ボックス34とのインターフェースを司るものである。操作ボックス34は、自動運転モード又は手動モードの選択、起動、開始、停止等の各種操作をユーザによって可能にするものである。CPU21は、この操作ボックス34からの操作信号を受け取ることにより所定のデータ処理を行う。   The operation box I / F 27 serves as an interface with the operation box 34. The operation box 34 enables various operations such as selection, activation, start, and stop of the automatic operation mode or the manual mode by the user. The CPU 21 performs predetermined data processing by receiving an operation signal from the operation box 34.

サーボドライバI/F28は、サーボドライバ35とのインターフェースを司るものである。サーボドライバ35は、CPU21からの動作指令信号に基づいて、6つの駆動モータ13をそれぞれ駆動制御するものである。   The servo driver I / F 28 manages the interface with the servo driver 35. The servo driver 35 drives and controls each of the six drive motors 13 based on an operation command signal from the CPU 21.

図4は、CPU21及びRAM22の実際的な機能をブロックにして表した場合の構成図である。   FIG. 4 is a configuration diagram when the actual functions of the CPU 21 and the RAM 22 are represented as blocks.

CPU21の機能としては、動作命令読み出し部36、軌道生成部37、補間点生成部38、関節補間点生成部39、及びサーボ出力部40によって表され、RAM22の機能としては、動作命令バッファ41、軌道バッファ42、補間点バッファ43、及び関節補間点バッファ44によって表される。なお、各バッファ41〜44は、FIFO(first-in first-out)バッファとして構成されており、先入れ及び先出しでデータが処理される。   The functions of the CPU 21 are represented by an operation command reading unit 36, a trajectory generation unit 37, an interpolation point generation unit 38, a joint interpolation point generation unit 39, and a servo output unit 40. The functions of the RAM 22 include an operation command buffer 41, It is represented by a trajectory buffer 42, an interpolation point buffer 43, and a joint interpolation point buffer 44. Each of the buffers 41 to 44 is configured as a FIFO (first-in first-out) buffer, and data is processed in first-in and first-out.

動作命令読み出し部36は、ハードディスク25に記憶される教示データから、溶接ロボット10の動作命令に関する情報(例えば座標、速度情報等のデータからなる軌道命令)を読み出し、動作命令バッファ41に格納する。   The operation command reading unit 36 reads information related to the operation command of the welding robot 10 from the teaching data stored in the hard disk 25 (for example, a trajectory command including data such as coordinates and speed information) and stores it in the operation command buffer 41.

軌道生成部37は、動作命令バッファ41から動作命令に関する情報(動作命令コマンド)を読み出し、それに基づいて溶接ロボット10の溶接トーチ14の作業軌道を三次元空間の直交座標上で計画する。軌道生成部37は、計画された軌道データを軌道バッファ42に格納する。   The trajectory generation unit 37 reads out information (motion command command) related to the motion command from the motion command buffer 41, and plans the work trajectory of the welding torch 14 of the welding robot 10 on the orthogonal coordinates in the three-dimensional space based on the information. The trajectory generator 37 stores the planned trajectory data in the trajectory buffer 42.

補間点生成部38は、軌道バッファ42から軌道データを読み出し、その軌道データを、「補間周期」と呼称される所定時間毎に分割する。そして、補間周期毎に直交座標によって表される、溶接トーチ14が到達すべき位置、姿勢を示す補間点データを算出する。すなわち、軌道データは、溶接開始点から溶接終了点に至る溶接トーチ14の移動軌跡を複数の教示点によって表すとともに、教示点間の溶接トーチ14の移動方法を直線移動や円弧移動によって定義したものである。補間点生成部38は、隣接する教示点間において溶接トーチ14が通過すべき点とその点における溶接トーチ14の姿勢等のデータを補間周期毎に補間している。補間点生成部38は、算出した補間点データを補間点バッファ43に格納する。   The interpolation point generation unit 38 reads the trajectory data from the trajectory buffer 42 and divides the trajectory data at predetermined time intervals called “interpolation periods”. Then, interpolation point data indicating the position and orientation to be reached by the welding torch 14, which is represented by orthogonal coordinates for each interpolation cycle, is calculated. In other words, the trajectory data represents the movement trajectory of the welding torch 14 from the welding start point to the welding end point by a plurality of teaching points, and the moving method of the welding torch 14 between the teaching points is defined by linear movement or arc movement. It is. The interpolation point generator 38 interpolates data such as a point to which the welding torch 14 should pass between adjacent teaching points and the attitude of the welding torch 14 at each point for each interpolation period. The interpolation point generation unit 38 stores the calculated interpolation point data in the interpolation point buffer 43.

関節補間点生成部39は、溶接トーチ14の到達位置、姿勢を示す補間点データを、溶接ロボット10の各関節における関節角度を示すデータに逆変換する演算を行い、それを関節補間点バッファ44に一時的に記憶する。なお、本実施形態の特徴であるウィービング動作は、主にこの関節補間点生成部39において実現されるようになっている。   The joint interpolation point generation unit 39 performs an operation of inversely converting the interpolation point data indicating the arrival position and posture of the welding torch 14 into data indicating the joint angle at each joint of the welding robot 10, and converts it into a joint interpolation point buffer 44. Memorize temporarily. Note that the weaving operation that is a feature of the present embodiment is realized mainly in the joint interpolation point generation unit 39.

関節補間点バッファ44に格納された、溶接ロボット10の各関節における関節角度を示すデータは、タイマ24によって発生される同期信号SYNCに同期してサーボ出力部40に通知される。そして、上記関節角度を示すデータは、サーボ出力部40から所定のタイミングでサーボドライバI/F28を介してサーボドライバ35へ各関節の位置指令(駆動モータ13に対する動作指令)として出力される。   Data indicating the joint angle at each joint of the welding robot 10 stored in the joint interpolation point buffer 44 is notified to the servo output unit 40 in synchronization with the synchronization signal SYNC generated by the timer 24. The data indicating the joint angle is output from the servo output unit 40 to the servo driver 35 via the servo driver I / F 28 as a position command for each joint (operation command for the drive motor 13) at a predetermined timing.

図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 servo driver 35. According to this figure, the position command at each joint of the welding robot 10 is input to the position control block 51, and the output of the position control block 51 is input to the speed control block 52. The output of the speed control block 52 is input to the current control block 53, and the output of the current control block 53 is input to the drive motor 13. The output of the drive motor 13 is given to the arm 12 as a load via a spring element block 54 of a speed reduction mechanism including a speed reducer, for example.

駆動モータ13には、電流検出ブロック55が接続され、電流検出ブロック55において駆動モータ13に流れる電流が検出され、その値は電流制御ブロック53にフィードバックされる。また、駆動モータ13には、エンコーダ56が接続され、エンコーダ56によって現在の回転速度(アームの移動速度に対応)のデータが取得され、その回転速度データは、位置制御ブロック51と速度制御ブロック52にフィードバックされる。   A current detection block 55 is connected to the drive motor 13, a current flowing through the drive motor 13 is detected in the current detection block 55, and the value is fed back to the current control block 53. In addition, an encoder 56 is connected to the drive motor 13, and data on the current rotational speed (corresponding to the moving speed of the arm) is acquired by the encoder 56. Feedback.

位置制御ブロック51では、フィードバックされた回転速度データが積分ブロック57によって積分されることにより位置データに変換されて減算器61に入力され、この減算器61により位置指令(関節角度)に対する現在の位置(関節角度)の誤差データが演算される。この誤差データは増幅器58により所定のゲインKpp(以下、位置フィードバックゲインという。)でレベル補正が行なわれた後、加算器62に入力される。   In the position control block 51, the feedback rotational speed data is integrated by the integration block 57 to be converted into position data and input to the subtractor 61. The subtractor 61 uses the current position with respect to the position command (joint angle). Error data of (joint angle) is calculated. The error data is level-corrected by the amplifier 58 with a predetermined gain Kpp (hereinafter referred to as position feedback gain) and then input to the adder 62.

また、位置制御ブロック51では、溶接ロボット10の各関節における位置指令のデータは、微分ブロック59によって微分されることにより速度データに変換され、さらに増幅器60により所定のゲインKff(以下、速度フィードフォワードゲインという。)でレベル補正が行なわれた後、加算器62に入力される。加算器62では速度フィードフォワードゲインKffから出力される速度データと、位置フィードバックゲインKppから出力される誤差データとが加算されて、上述した速度制御ブロック52に出力される。   In the position control block 51, position command data at each joint of the welding robot 10 is converted into speed data by being differentiated by the differentiation block 59, and further, a predetermined gain Kff (hereinafter referred to as speed feed forward) is converted by the amplifier 60. After level correction is performed with the gain), the signal is input to the adder 62. The adder 62 adds the speed data output from the speed feedforward gain Kff and the error data output from the position feedback gain Kpp, and outputs the result to the speed control block 52 described above.

このように、溶接ロボット10の各関節における位置指令に対して駆動モータ13の動作をフィードバック制御させることにより、予め教示された教示データの再生動作をより正確に行うことができる。   In this way, by performing feedback control of the operation of the drive motor 13 with respect to the position command at each joint of the welding robot 10, the reproduction operation of the teaching data taught in advance can be performed more accurately.

次に、本実施形態に係るウィービング動作に関する作用について、図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 point generation unit 39 reads the interpolation point data IPi from the interpolation point buffer 43. Here, the interpolation point data IPi refers to a position (including a position to be welded) where the tip of the welding torch 14 moves from the welding start position to the target position (welding end position), and It is the data showing the attitude | position of the welding torch 14 in the position.

なお、溶接ロボット10には、各関節を制御するための座標系として図7に示すように、基準座標系とツール座標系とが設定されている。基準座標系は、溶接ロボット10の設置位置に固定的に設定されている。一方、ツール座標系は、溶接トーチ14の先端(ツールセンタポイント)に設定されたもので、溶接トーチ14の移動に伴って移動する。すなわち、ツール座標系の原点位置の基準座標系における位置は、溶接トーチ14の移動によって変化する。   In the welding robot 10, a reference coordinate system and a tool coordinate system are set as coordinate systems for controlling each joint, as shown in FIG. The reference coordinate system is fixedly set at the installation position of the welding robot 10. On the other hand, the tool coordinate system is set at the tip (tool center point) of the welding torch 14 and moves as the welding torch 14 moves. That is, the position of the origin position of the tool coordinate system in the reference coordinate system is changed by the movement of the welding torch 14.

補間点データIPiは、溶接ロボット10の基準座標系(図7参照)から見た溶接トーチ14の位置及び姿勢、すなわち、ツール座標系の位置、姿勢を、基準座標系の座標値に変換して表したものである。補間点データIPiは、以下に示す行列式で表される。   The interpolation point data IPi is obtained by converting the position and orientation of the welding torch 14 as viewed from the reference coordinate system (see FIG. 7) of the welding robot 10, that is, the position and orientation of the tool coordinate system into coordinate values of the reference coordinate system. It is a representation. The interpolation point data IPi is expressed by the following determinant.

Figure 2006059037
Figure 2006059037

ここで、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 point generation unit 39 calculates a joint angle ANGorg at each joint of the welding robot 10 when the weaving operation is not performed. Specifically, the interpolation point data IPi represented by orthogonal coordinates and indicating the arrival position and orientation of the welding torch 14 is inversely converted into data indicating the joint angle at each joint of the welding robot 10. Then, data indicating the joint angle at each joint of the welding robot 10 is stored in the RAM 22 (joint interpolation point buffer 44). In addition, since the inverse calculation algorithm of the articulated welding robot is a technique generally used in the playback teaching system, detailed description thereof is omitted here. The joint angle ANGorg at each joint of the welding robot 10 when the weaving operation is not performed is expressed by the following determinant.

Figure 2006059037
Figure 2006059037

ここで、nは溶接ロボット10の関節数を示し、ANGorg1は溶接ロボット10の第1関節の関節角度(rad)を示し、ANGorg2は溶接ロボット10の第2関節の関節角度(rad)を示し、ANGorgnは溶接ロボット10の第n関節の関節角度(rad)を示す。   Here, n represents the number of joints of the welding robot 10, ANGorg1 represents the joint angle (rad) of the first joint of the welding robot 10, ANGorg2 represents the joint angle (rad) of the second joint of the welding robot 10, ANGorgn indicates the joint angle (rad) of the n-th joint of the welding robot 10.

次に、ステップS3において、関節補間点生成部39は、ウィービング動作を行う場合の溶接ロボット10の各関節における関節角度ANGwvを算出する。具体的には、直交座標によって表され、溶接トーチ14の到達位置及び姿勢を表す補間点データIPiにウィービング変位を加味し、それを溶接ロボット10の各関節における関節角度を示すデータに逆変換する。そして、それをRAM22(関節補間点バッファ44)に記憶する。ウィービング動作を行う場合の溶接ロボット10の各関節における関節角度ANGwvは、以下に示す行列式で表される。   Next, in step S3, the joint interpolation point generation unit 39 calculates a joint angle ANGwv at each joint of the welding robot 10 when performing the weaving operation. Specifically, the weaving displacement is added to the interpolation point data IPi represented by orthogonal coordinates and representing the arrival position and orientation of the welding torch 14, and is converted back to data indicating the joint angle at each joint of the welding robot 10. . Then, it is stored in the RAM 22 (joint interpolation point buffer 44). The joint angle ANGwv at each joint of the welding robot 10 when performing the weaving operation is expressed by the following determinant.

Figure 2006059037
Figure 2006059037

ここで、nは溶接ロボット10の関節数を示し、ANGwv1は溶接ロボット10の第1関節の関節角度(rad)を示し、ANGwv2は溶接ロボット10の第2関節の関節角度(rad)を示し、ANGwvnは溶接ロボット10の第n関節の関節角度(rad)を示す。   Here, n represents the number of joints of the welding robot 10, ANGwv1 represents the joint angle (rad) of the first joint of the welding robot 10, ANGwv2 represents the joint angle (rad) of the second joint of the welding robot 10, ANGwvn represents the joint angle (rad) of the n-th joint of the welding robot 10.

次いで、ステップS4において、ウィービング動作を行わない場合の溶接ロボット10の各関節における関節角度ANGorgと、ウィービング動作を行う場合の溶接ロボット10の各関節における関節角度ANGwvとの差分を求める。そして、その差分を、関節毎のウィービング変位ANGampとして、RAM22(関節補間点バッファ44)に記憶する。   Next, in step S4, a difference between the joint angle ANGorg at each joint of the welding robot 10 when the weaving operation is not performed and the joint angle ANGwv at each joint of the welding robot 10 when the weaving operation is performed is obtained. Then, the difference is stored in the RAM 22 (joint interpolation point buffer 44) as a weaving displacement ANGamp for each joint.

図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 welding robot 10 is expressed by the following determinant.

Figure 2006059037
Figure 2006059037

ここで、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 welding robot 10, ANGamp1 represents the joint angle (rad) of the first joint of the welding robot 10, and ANGamp2 represents the joint angle (rad) of the second joint of the welding robot 10. ANGampn indicates the joint angle (rad) of the n-th joint of the welding robot 10. ANGamp1, ANGamp2, and ANGampn are each expressed by the following equations.

Figure 2006059037
Figure 2006059037

次に、ステップS5において、溶接ロボット10の各関節を駆動する駆動モータ13のサーボ制御定数と、予め指定されたウィービング周波数とに基づいて、フィードバック制御系における各駆動モータ13のゲインGAINを算出する。ゲインGAINは、以下に示す行列式で表される。   Next, in step S5, the gain GAIN of each drive motor 13 in the feedback control system is calculated based on the servo control constant of the drive motor 13 that drives each joint of the welding robot 10 and the weaving frequency specified in advance. . The gain GAIN is expressed by the following determinant.

Figure 2006059037
Figure 2006059037

ここで、nは溶接ロボット10の関節数を示し、GAIN1は溶接ロボット10の第1関節のゲイン(無次元)を示し、GAIN2は溶接ロボット10の第2関節のゲイン(無次元)を示し、GAINnは溶接ロボット10の第n関節のゲイン(無次元)を示す。   Here, n indicates the number of joints of the welding robot 10, GAIN1 indicates the gain (non-dimensional) of the first joint of the welding robot 10, GAIN2 indicates the gain (non-dimensional) of the second joint of the welding robot 10, GAINn represents the gain (dimensionalless) of the nth joint of the welding robot 10.

以下、例えば溶接ロボット10の第j関節についてのゲインGAINを求める手順を説明する。   Hereinafter, for example, a procedure for obtaining the gain GAIN for the j-th joint of the welding robot 10 will be described.

駆動モータ13のゲインの求め方は、サーボ制御方法や、サーボ演算の仕方によって異なるが、ここでは図5に示したような一般的な位置フィードバックと速度フィードフォワードとの2自由度制御系を例にとって説明する。なお、図5に示す例では、速度ループや電流ループのフィードバック制御系をも含めているが、サーボによる遅れ系は位置ループが支配的な役割を示しており、ここでは速度ループや電流ループは不要として考える。   The method of obtaining the gain of the drive motor 13 differs depending on the servo control method and the servo calculation method, but here, a general position feedback and speed feedforward two-degree-of-freedom control system as shown in FIG. 5 is taken as an example. I will explain to you. In addition, in the example shown in FIG. 5, the feedback control system of the speed loop and the current loop is included, but the delay system by the servo shows the dominant role of the position loop, and here the speed loop and the current loop are Think of it as unnecessary.

第j関節を駆動する駆動モータ13の位置フィードバックゲインKppjと、速度フィードフォワードゲインKffjは、サーボ制御で一般に用いられる値であり既知の値である。これらのゲインKppjやゲインKffjは、溶接ロボット10の姿勢や動作モードによりその値が変更されることが多いが、その変更指令は、ロボット制御装置20のCPU21から発せられるものであるため、関節補間点生成部39においても読み取り可能な値である。   The position feedback gain Kppj and the speed feedforward gain Kffj of the drive motor 13 that drives the j-th joint are values generally used in servo control and are known values. These gains Kppj and gain Kffj are often changed depending on the posture and operation mode of the welding robot 10, but since the change command is issued from the CPU 21 of the robot controller 20, joint interpolation is performed. The value can also be read by the point generator 39.

まず、位置フィードバックゲイン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 drive motor 13 that drives the j-th joint is calculated by the following equation. In this case, the time constant TSj is positioned as a servo control constant for the drive motor 13.

Figure 2006059037
Figure 2006059037

次いで、予め定められたウィービング周波数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.

Figure 2006059037
Figure 2006059037

ここで、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 welding robot 10 that employs the teaching playback system, the weaving frequency FRQ is data taught in advance, and is stored in the hard disk 25 (see FIG. 3) and played back in the same manner as the teaching position of the welding robot 10. Sometimes it is read out.

上式を用いて、例えば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 welding robot 10 is calculated.

次に、ステップ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 welding robot 10 is calculated as a position command (operation command for the drive motor 13) at each joint of the welding robot 10. Specifically, the inverse of the gain GAINj is multiplied by the weaving displacement ANGamp for each joint. The value after the multiplication is added to the joint angle ANGorg at each joint of the welding robot 10 when the weaving operation is not performed. The corrected joint angle ANGcomp at each joint of the welding robot 10 is represented by the following determinant.

Figure 2006059037
Figure 2006059037

ここで、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 welding robot 10, ANGcomp1 represents the joint angle (rad) after correction of the first joint of the welding robot 10, and ANGcomp2 represents the joint angle after correction of the second joint of the welding robot 10. (Rad), and ANGcompn represents the joint angle (rad) after the correction of the n-th joint of the welding robot 10. ANGcomp1, ANGcomp2, and ANGcompn are each expressed by the following equations.

Figure 2006059037
Figure 2006059037

ここで、GAIN1は、第1関節を駆動する駆動モータ13のゲインを示し、GAIN2は、第1関節を駆動する駆動モータ13のゲインを示し、GAINnは、第n関節を駆動する駆動モータ13のゲインを示す。   Here, GAIN1 indicates the gain of the drive motor 13 that drives the first joint, GAIN2 indicates the gain of the drive motor 13 that drives the first joint, and GAINn indicates the gain of the drive motor 13 that drives the nth joint. Indicates the gain.

このように、駆動モータ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 drive motor 13 is multiplied by the value of the weaving displacement ANGamp and added to the joint angle ANGorg at each joint of the welding robot 10 when the weaving operation is not performed. Is given to each drive motor 13 as a position command at each joint of the welding robot 10. Thereby, it is possible to acquire an appropriate amplitude in the weaving operation in consideration of the gain GAIN in the feedback control system of the drive motor 13. Therefore, the weaving operation can be performed with a more accurate amplitude.

ところで、上記した多関節溶接ロボットにおけるウィービング動作では、溶接ロボットの関節間に発生する干渉トルクによって、駆動モータ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 drive motor 13 and the arm 12 to bend. The amount (angle) to be obtained may not be obtained accurately. Therefore, there has been a problem that the amplitude taught in the weaving operation taught in advance cannot be observed.

しかしながら、以下に示すように、ウィービング動作における減速機のたわみ量を求め、それに基づいてウィービング動作を行う場合の溶接ロボット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 welding robot 10 when performing the weaving operation is corrected based on this, the accurate amplitude is obtained. A weaving operation can be performed. Details will be described below.

図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 point generation unit 39 as in the above-described embodiment. 9 is the same as step S1 to step S4 shown in FIG. 6, description thereof will be omitted below, and steps S15 to S17 will be described.

ステップ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 welding robot 10 is obtained for each joint. More specifically, the mechanism parameters of the welding robot 10 (the center of gravity position, mass, inertia tensor, and length of the arm 12 connected to the joint), the joint position ANGwvj, the joint angular velocity VELwvj, and the joint angular acceleration ACCwvj of the welding robot 10. The torque TRQj is obtained by performing inverse dynamics calculation using. The subscript j in the torque TRQj, joint position ANGwvj, joint angular velocity VELwvj, and joint angular acceleration ACCwvj represents the joint number of the welding robot 10.

一般に、各関節に発生するトルクは、溶接ロボット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 arm 12 connected to the joint, the mass, the inertia tensor, the length), the position of each joint, the angular velocity, and the angular acceleration. Therefore, it is known that it is calculated by the following formula, and this is called “inverse dynamic model”.

Figure 2006059037
Figure 2006059037

ここで、上式の各項は、表1に示す意味を有する。   Here, each term of the above formula has the meaning shown in Table 1.

Figure 2006059037
Figure 2006059037

上記(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 welding robot 10 is n, the inertia matrix H is n × n symmetrical. It is represented by a matrix, and shows the torque generated in the joint itself due to the angular acceleration of each joint of the welding robot 10 and the interference torque generated due to the angular acceleration of other joints. The viscosity matrix C is represented by an n × 1 matrix, and indicates a torque composed of a centrifugal force and a Coriolis force generated by the angular velocity of each joint of the welding robot 10. The gravity matrix G is represented by an n × 3 matrix and indicates torque generated by the influence of gravity acceleration.

ここで、溶接ロボット10の機構パラメータは、表2に示す4つの項目から構成される。なお、表2中の個数は、関節に連結されるアーム1つあたりの値である。   Here, the mechanism parameters of the welding robot 10 are composed of four items shown in Table 2. In addition, the number in Table 2 is a value per one arm connected to the joint.

Figure 2006059037
Figure 2006059037

なお、慣性テンソル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 arm 12 of the welding robot 10), and is represented by a 3 × 3 symmetric matrix in Table 2 as is well known. . The diagonal components represent the inertia moments Ix, Iy, Iz of each joint of the welding robot 10, and the other components represent the negative values of the inertial products Ixy, Iyz, Izx.

また、慣性モーメント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.

Figure 2006059037
Figure 2006059037

さらに、慣性乗積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.

Figure 2006059037
Figure 2006059037

ここで、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 welding robot 10 is a known fixed value that can be obtained in advance from the mechanism of the welding robot 10 and the shape and material of the arm 12. Therefore, the torque TRQj generated in each joint can be obtained by calculation based on the joint position ANGwvj, the joint speed VELwvj, and the joint acceleration ACCwvj of each joint.

すなわち、慣性行列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 welding robot 10 includes three joints, the inertia matrix H, the viscosity matrix C, and the gravity matrix G are expressed by the following equations.

Figure 2006059037
Figure 2006059037

上記の各式の各構成要素は、表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.

Figure 2006059037
Figure 2006059037

ここで、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 welding robot 10, VELwv1 represents the joint angular velocity (rad / sec) of the first joint of the welding robot 10, and VELwv2 represents the joint angular velocity (rad / sec) of the second joint of the welding robot 10. VELwvn represents the joint angular velocity (rad / sec) of the n-th joint of the welding robot 10.

式(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 welding robot 10.

式(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.

Figure 2006059037
Figure 2006059037

ここで、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 welding robot 10, ACCwv1 represents the joint angular acceleration (rad / sec 2 ) of the first joint of the welding robot 10, and ACCwv2 represents the joint angular acceleration of the second joint of the welding robot 10 (rad / sec 2 ). rad / sec 2 ) and ACCwvn represents the joint angular acceleration (rad / sec 2 ) of the n-th joint of the welding robot 10.

以上より、式(1) は、次式で表される。   From the above, equation (1) is expressed by the following equation.

Figure 2006059037
Figure 2006059037

また、トルクTRQは、次式で表される。   The torque TRQ is expressed by the following equation.

Figure 2006059037
Figure 2006059037

ここで、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 welding robot 10, TRQ 1 indicates the generated torque (N · m) of the first joint of the welding robot 10, and TRQ 2 indicates the generated torque (N · m) of the second joint of the welding robot 10. , TRQn represents the generated torque (N · m) of the n-th joint of the welding robot 10.

上式により算出される各関節におけるトルク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 RAM 22 as the torque TRQavej generated when the weaving operation is not performed.

Figure 2006059037
Figure 2006059037

ここで、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 welding robot 10, TRQr1 represents the torque (N · m) generated during the weaving operation at the right end point of the first joint of the welding robot 10, and TRQr2 represents the second joint of the welding robot 10. The torque generated at the right end point of the welding robot (N · m) during the weaving operation is shown, and TRQrn shows the torque generated at the right end point of the nth joint of the welding robot 10 during the weaving operation (N · m).

Figure 2006059037
Figure 2006059037

ここで、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 welding robot 10, TRQl1 represents the torque (N · m) generated during the weaving operation at the left end point of the first joint of the welding robot 10, and TRQl2 represents the second joint of the welding robot 10. Represents the generated torque (N · m) at the left end point of the welding robot 10, and TRQln represents the generated torque (N · m) at the left end point of the nth joint of the welding robot 10 during the weaving operation.

Figure 2006059037
Figure 2006059037

ここで、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 welding robot 10, TRQave1 represents the average torque (N · m) of the first joint of the welding robot 10, and TRQave2 represents the average torque (N · m) of the second joint of the welding robot 10. TRQaven represents the average torque (N · m) of the n-th joint of the welding robot 10.

そして、TRQave1、TRQave2、及びTRQavenは、それぞれ次式で表される。   TRQave1, TRQave2, and TRQaven are each expressed by the following equations.

Figure 2006059037
Figure 2006059037

なお、上記では、ウィービング動作の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 drive motor 13 and the arm 12 caused by the torque generated by the weaving operation is calculated as the amount by which the amplitude in the weaving operation changes, and is used. Then, the joint angle at each joint of the welding robot 10 when performing the weaving operation is corrected.

具体的には、減速機のたわみ量は、先に算出した各関節に発生するトルク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 welding robot 10.

そして、このたわみ量を、ウィービング動作を行う場合の溶接ロボット10の各関節における関節角度ANGwvに加算することにより、それを溶接ロボット10の各関節における位置指令(駆動モータ13に対する動作指令)として、溶接ロボット10の各関節における補正後の関節角度ANGcompjを算出する。補正後の関節角度ANGcompj、及びばね定数Kは、次式で表される。   Then, by adding this deflection amount to the joint angle ANGwv at each joint of the welding robot 10 when performing the weaving operation, it is used as a position command (operation command for the drive motor 13) at each joint of the welding robot 10. A corrected joint angle ANGcompj at each joint of the welding robot 10 is calculated. The corrected joint angle ANGcompj and the spring constant K are expressed by the following equations.

Figure 2006059037
Figure 2006059037

ここで、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 welding robot 10, K1 represents the spring constant (rad / N · m) of the first joint of the welding robot 10, and K2 represents the spring constant (rad of the second joint of the welding robot 10). / N · m), and Kn represents the spring constant (rad / N · m) of the n-th joint of the welding robot 10. The spring constant K is a constant that can be known based on the reduction gear to be used, and is stored in the hard disk 25 in advance.

このように、関節の軸まわりに発生するトルク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 motor 13 as an operation command of the drive motor 13 that drives each joint. As a result, the joint angle ANGwv of each joint given to each drive motor 13 can be corrected using the amount of flexure of the speed reducer (not shown) due to the interference torque generated between the arms 12. Therefore, a weaving operation having an appropriate amplitude can be performed.

もちろん、この発明の範囲は上述した実施の形態に限定されるものではない。   Of course, the scope of the present invention is not limited to the embodiment described above.

本願発明に係るロボット制御装置が適用されるロボット制御システムを示す構成図である。It is a block diagram which shows the robot control system with which the robot control apparatus which concerns on this invention is applied. ウィービング動作を説明するための図である。It is a figure for demonstrating a weaving operation | movement. ロボット制御装置の内部構成及びその周辺装置を示すブロック図である。It is a block diagram which shows the internal structure of a robot control apparatus, and its peripheral device. CPU及びRAMの実際的な機能をブロックにして表した場合の構成図である。It is a block diagram at the time of expressing the actual function of CPU and RAM as a block. サーボドライバによるサーボ制御の概念を示すブロック図である。It is a block diagram which shows the concept of the servo control by a servo driver. ウィービング動作における作用を説明するためのフローチャートである。It is a flowchart for demonstrating the effect | action in a weaving operation | movement. 溶接ロボットの基準座標系とツール座標系との関係を示す図である。It is a figure which shows the relationship between the reference coordinate system of a welding robot, and a tool coordinate system. ウィービング動作を行わない場合の補間点と、ウィービング動作を行う場合の補間点との違いを示した図である。It is the figure which showed the difference between the interpolation point when not performing a weaving operation | movement, and the interpolation point when performing a weaving operation | movement. ウィービング動作における他の作用を説明するためのフローチャートである。It is a flowchart for demonstrating the other effect | action in a weaving operation | movement. 溶接ロボットにおけるリンク及び関節の関係を示す図である。It is a figure which shows the relationship between the link and joint in a welding robot. 第2リンクと第2関節のリンク座標系の関係を示す図である。It is a figure which shows the relationship of the link coordinate system of a 2nd link and a 2nd joint. ウィービング動作する場合の関節角度、各関節における関節速度及び関節加速度の関係を示す図である。It is a figure which shows the relationship between the joint angle in the case of performing a weaving operation | movement, the joint speed in each joint, and a joint acceleration. ウィービングパターンと時間との関係を示す図である。It is a figure which shows the relationship between a weaving pattern and time.

符号の説明Explanation of symbols

10 溶接ロボット
12 アーム
13 駆動モータ
14 溶接トーチ
15 溶接ワイヤ
20 ロボット制御装置
21 CPU
22 RAM
30 溶接電源装置
35 サーボドライバ
39 関節補間点生成部
44 関節補間点バッファ
51 位置制御ブロック
58 位置フィードバックゲイン
W ワーク(被溶接物)
DESCRIPTION OF SYMBOLS 10 Welding robot 12 Arm 13 Drive motor 14 Welding torch 15 Welding wire 20 Robot controller 21 CPU
22 RAM
30 Welding power supply device 35 Servo driver 39 Joint interpolation point generator 44 Joint interpolation point buffer 51 Position control block 58 Position feedback gain W Workpiece (workpiece to be welded)

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に記載の、溶接ロボット制御装置。   The welding robot control device according to claim 1, wherein the servo control constant is a time constant representing a delay system of position control of the servo motor. 溶接ロボットの各関節に設けられた複数のサーボモータをフィードバック制御で駆動することにより、溶接軌道上を所定時間ごとに分割した補間点ごとに、溶接トーチをウィービング動作させつつアークを発生させて前記溶接ロボットに溶接を行わせる溶接ロボット制御装置であって、
前記補間点ごとに、ウィービング動作しない場合の前記各関節の関節角度と、ウィービング動作する場合の前記各関節の関節角度との差を前記関節ごとにウィービング変位として算出するウィービング変位算出手段と、
前記関節の軸まわりに発生するトルクを関節毎に算出する第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:
前記第2トルク算出手段は、
前記補間点ごとに、前記ウィービング動作の一周期毎に前記ウィービング動作の右端において発生するトルクと、前記ウィービング動作の左端において発生するトルクとの平均値を算出することにより、前記ウィービング動作をしない場合に発生するトルクを算出する、請求項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.
JP2004238783A 2004-08-18 2004-08-18 Welding robot controller Active JP4498061B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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