JP6576824B2 - Robot controller - Google Patents

Robot controller Download PDF

Info

Publication number
JP6576824B2
JP6576824B2 JP2015255305A JP2015255305A JP6576824B2 JP 6576824 B2 JP6576824 B2 JP 6576824B2 JP 2015255305 A JP2015255305 A JP 2015255305A JP 2015255305 A JP2015255305 A JP 2015255305A JP 6576824 B2 JP6576824 B2 JP 6576824B2
Authority
JP
Japan
Prior art keywords
angle
rotation angle
correction
motor
unit
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.)
Active
Application number
JP2015255305A
Other languages
Japanese (ja)
Other versions
JP2017113867A (en
Inventor
雄矢 伊藤
雄矢 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Daihen Corp
Original Assignee
Daihen Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Daihen Corp filed Critical Daihen Corp
Priority to JP2015255305A priority Critical patent/JP6576824B2/en
Publication of JP2017113867A publication Critical patent/JP2017113867A/en
Application granted granted Critical
Publication of JP6576824B2 publication Critical patent/JP6576824B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、ロボット制御装置に関する。   The present invention relates to a robot control apparatus.

従来、複数のアームを有する多関節型ロボットが知られている。この種の多関節型ロボットにおいては、サーボモータの出力軸が減速機に駆動連結され、その減速機の出力軸の回転に応じてアームが駆動する。このように、サーボモータとアームとの間に減速機が介在されている場合、サーボモータと減速機との間に角度伝達誤差が生じることもある。そして、角度伝達誤差が生じた場合には、サーボモータの目標回転角度とアームの制御位置との間にもずれが生じることになる。   Conventionally, an articulated robot having a plurality of arms is known. In this type of articulated robot, the output shaft of a servo motor is drivingly connected to a speed reducer, and the arm is driven according to the rotation of the output shaft of the speed reducer. Thus, when a speed reducer is interposed between the servo motor and the arm, an angle transmission error may occur between the servo motor and the speed reducer. When an angle transmission error occurs, a deviation also occurs between the target rotation angle of the servo motor and the control position of the arm.

このような点に対して、特許文献1に記載のロボット制御システムでは、多関節型ロボットのアームにLEDを取り付け、このLEDの位置をカメラで撮影することにより、アームの実際の位置を把握する。そして、アームの実際の位置とそのときのサーボモータの目標回転角度とのずれに基づいて目標回転角度を補正するための補正値を演算し、その補正値を予め記憶しておく。その後、多関節型ロボットのアームを動作させる際にサーボモータの目標回転角度を補正値で補正することで、サーボモータの目標回転角度とアームの制御位置との間のずれを抑制できる。   In contrast, in the robot control system described in Patent Document 1, an actual position of the arm is grasped by attaching an LED to the arm of the articulated robot and photographing the position of the LED with a camera. . Then, a correction value for correcting the target rotation angle is calculated based on the deviation between the actual position of the arm and the target rotation angle of the servo motor at that time, and the correction value is stored in advance. Thereafter, when the arm of the articulated robot is operated, the target rotation angle of the servo motor is corrected with the correction value, so that a deviation between the target rotation angle of the servo motor and the control position of the arm can be suppressed.

特開2010−120110号公報JP 2010-120110 A

サーボモータの目標回転角度とアームの制御位置との位置ずれは、上で説明した角度伝達誤差以外にも、サーボモータ、減速機及びアーム等の経時劣化に起因する変形や、サーボモータ及び減速機の部品交換等によっても生じ得る。したがって、より正確なアームの位置制御を実現するには、できるだけ頻繁にサーボモータの目標回転角度とアームの制御位置との間のずれを把握しておくことが好ましい。   The misalignment between the target rotation angle of the servo motor and the control position of the arm is not limited to the angle transmission error described above, but is also caused by deformation due to deterioration with time of the servo motor, reducer, arm, etc., and the servo motor and reducer. This can also occur by replacing parts. Therefore, in order to realize more accurate arm position control, it is preferable to grasp the deviation between the target rotation angle of the servo motor and the arm control position as frequently as possible.

しかし、特許文献1のロボット制御システムでは、多関節型ロボットのアームに取り付けるLEDやそのLEDを撮影するカメラなどのように、多関節型ロボットの本来の動作には不要な外部装置を用意する必要がある。そして、サーボモータの目標回転角度とアームの制御位置との間のずれを把握しようとする度に、LEDやカメラを取り付けたり設置したりするのには相応の手間がかかる。そのため、特許文献1に記載のロボット制御装置の技術で、サーボモータの目標回転角度とアームの制御位置との間のずれを頻繁に把握することは現実的でない。   However, in the robot control system of Patent Document 1, it is necessary to prepare an external device unnecessary for the original operation of the articulated robot, such as an LED attached to the arm of the articulated robot and a camera for photographing the LED. There is. And every time it is going to grasp | ascertain the shift | offset | difference between the target rotation angle of a servomotor and the control position of an arm, it takes a considerable effort to install and install LED and a camera. For this reason, it is not realistic to frequently grasp the deviation between the target rotation angle of the servo motor and the arm control position with the technology of the robot control device described in Patent Document 1.

上記の課題を解決するため、本発明は、サーボモータの出力軸が減速機に駆動連結され、当該減速機の出力軸の回転に応じて可動部材が駆動するロボットを制御するためのロボット制御装置であって、前記サーボモータの出力軸を回転させるための目標回転角度を設定し、当該目標回転角度に基づいて位置指令を生成する指令生成部と、前記位置指令に応じて回転した前記サーボモータにおける出力軸の回転角度を示すモータ回転角度と、前記位置指令に応じて回転した前記減速機における出力軸の回転角度を示す減速機回転角度との間のずれを示す補正角度を算出する算出部と、算出した前記補正角度及び当該補正角度を算出したときの前記モータ回転角度を関連付けて記憶する記憶部とを備え、前記指令生成部は、目標回転角度を新たに設定した場合に、当該目標回転角度に対応するモータ回転角度が前記記憶部に記憶されている場合には、当該モータ回転角度に関連付けられた補正角度で目標回転角度を補正し、補正後の目標回転角度に基づいて前記位置指令を生成することを特徴とする。   In order to solve the above problems, the present invention provides a robot control apparatus for controlling a robot in which an output shaft of a servo motor is drivingly connected to a speed reducer and a movable member is driven in accordance with rotation of the output shaft of the speed reducer. A command generation unit configured to set a target rotation angle for rotating the output shaft of the servo motor and generate a position command based on the target rotation angle; and the servo motor rotated according to the position command A calculation unit that calculates a correction angle that indicates a deviation between a motor rotation angle that indicates a rotation angle of the output shaft and a reduction gear rotation angle that indicates a rotation angle of the output shaft in the speed reducer rotated according to the position command And a storage unit that associates and stores the calculated correction angle and the motor rotation angle when the correction angle is calculated, and the command generation unit newly sets a target rotation angle. If the motor rotation angle corresponding to the target rotation angle is stored in the storage unit, the target rotation angle is corrected with the correction angle associated with the motor rotation angle, and the corrected target The position command is generated based on a rotation angle.

本発明によれば、より簡便に、サーボモータの目標回転角度とアームの制御位置との間のずれに基づいて目標回転角度を補正するための補正角度を得ることができる。   According to the present invention, it is possible to obtain a correction angle for correcting the target rotation angle more easily based on the deviation between the target rotation angle of the servo motor and the control position of the arm.

多関節型ロボットの側面図。The side view of an articulated robot. 教示プログラムに従って駆動したときの溶接トーチの位置を示す図。The figure which shows the position of the welding torch when driving according to a teaching program. ロボット制御装置のブロック図。The block diagram of a robot control apparatus. 第1補正テーブルの例を示す図。The figure which shows the example of a 1st correction table. 第2補正テーブルの例を示す図。The figure which shows the example of a 2nd correction table. 第1補正テーブル作成処理のフローチャート。The flowchart of a 1st correction table creation process. 第2補正テーブル作成処理のフローチャート。The flowchart of a 2nd correction table creation process. 目標回転角度の補正処理のフローチャート。The flowchart of the correction process of a target rotation angle.

(ロボット制御システムの構成)
本発明のロボット制御装置が適用されるロボット制御システムの概略構成について説明する。先ず、多関節型ロボットR(以下、ロボットRと略記する。)について説明する。
(Robot control system configuration)
A schematic configuration of a robot control system to which the robot control apparatus of the present invention is applied will be described. First, an articulated robot R (hereinafter abbreviated as robot R) will be described.

図1に示すように、ロボットRの基台C1の上部には、第1回転軸心J1を中心として旋回可能に旋回台C2が設けられている。旋回台C2の上部には、第2回転軸心J2を中心として旋回可能に第1アームC3が設けられている。第1アームC3の先端部には、第2回転軸心J2と直交する第3回転軸心J3を中心として旋回可能に第2アームC4が設けられている。第2アームC4の先端部には、第3回転軸心J3と直交する第4回転軸心J4を中心として旋回可能に第3アームC5が設けられている。   As shown in FIG. 1, a swivel base C2 is provided on an upper part of a base C1 of the robot R so as to be turnable about a first rotation axis J1. A first arm C3 is provided above the swivel base C2 so as to be pivotable about the second rotation axis J2. A second arm C4 is provided at the distal end of the first arm C3 so as to be rotatable about a third rotation axis J3 orthogonal to the second rotation axis J2. A third arm C5 is provided at the tip of the second arm C4 so as to be pivotable about a fourth rotation axis J4 orthogonal to the third rotation axis J3.

図1に示すように、第3アームC5の先端部には、第4回転軸心J4と直交する第5回転軸心J5を中心として旋回可能に第4アームC6が設けられている。第4アームC6の先端部には、第5回転軸心J5と直交する第6回転軸心J6を中心として旋回可能に第5アームC7が設けられている。第5アームC7の先端には、第6回転軸心J6と直交する第7回転軸心J7を中心として旋回可能にツール固定部材C8が設けられている。ツール固定部材C8には、作業ツールとして溶接トーチC9が固定されており、この溶接トーチC9はツール固定部材C8と一体的に旋回する。なお、第4アームC6、第5アームC7及びツール固定部材C8は、これら全体で手首組立体と呼称されることもある。   As shown in FIG. 1, a fourth arm C6 is provided at the tip of the third arm C5 so as to be pivotable about a fifth rotation axis J5 orthogonal to the fourth rotation axis J4. A fifth arm C7 is provided at the tip of the fourth arm C6 so as to be rotatable about a sixth rotation axis J6 orthogonal to the fifth rotation axis J5. A tool fixing member C8 is provided at the tip of the fifth arm C7 so as to be pivotable about a seventh rotation axis J7 orthogonal to the sixth rotation axis J6. A welding torch C9 is fixed to the tool fixing member C8 as a work tool, and the welding torch C9 rotates integrally with the tool fixing member C8. The fourth arm C6, the fifth arm C7, and the tool fixing member C8 may be collectively referred to as a wrist assembly.

図3に示すように、ロボットRには、第1アームC3を旋回させるための駆動源としてサーボモータ10が内蔵されている。サーボモータ10の出力軸10aは、減速機11に駆動連結されている。減速機11の出力軸11aは、第1アームC3に固定されている。したがって、サーボモータ10の出力軸10aが回転すると、減速機11において所定の減速比で減速されて減速機11の出力軸11aが回転する。そして、減速機11の出力軸11aの回転に応じて第1アームC3が旋回する。   As shown in FIG. 3, the robot R has a built-in servo motor 10 as a drive source for turning the first arm C3. The output shaft 10 a of the servo motor 10 is drivingly connected to the speed reducer 11. The output shaft 11a of the speed reducer 11 is fixed to the first arm C3. Therefore, when the output shaft 10a of the servo motor 10 rotates, the speed reducer 11 is decelerated at a predetermined reduction ratio, and the output shaft 11a of the speed reducer 11 rotates. And according to rotation of the output shaft 11a of the reduction gear 11, the 1st arm C3 turns.

図3に示すように、ロボットRには、サーボモータ10の出力軸10aの回転角度を検出するためのモータエンコーダ12が内蔵されている。モータエンコーダ12は、例えば、インクリメントエンコーダであり、サーボモータ10の出力軸10aの回転角度に応じたパルス信号をモータ回転角度αとして出力する。また、ロボットRには、減速機11の出力軸11aの回転角度を検出するための減速機エンコーダ13が内蔵されている。減速機エンコーダ13は、例えば、インクリメントエンコーダであり、減速機11の出力軸11aの回転角度に応じたパルス信号を減速機回転角度β1として出力する。モータエンコーダ12が出力したモータ回転角度α、及び減速機エンコーダ13が出力した減速機回転角度β1は、基台C1に接続された通信ケーブルを介してロボット制御装置RCに入力される。なお、以下の説明では、モータ回転角度αの1パルス分(数値「1」分)がサーボモータ10の出力軸10aの回転角度1°に相当するものとする。   As shown in FIG. 3, the robot R has a built-in motor encoder 12 for detecting the rotation angle of the output shaft 10 a of the servo motor 10. The motor encoder 12 is, for example, an increment encoder, and outputs a pulse signal corresponding to the rotation angle of the output shaft 10a of the servo motor 10 as the motor rotation angle α. Further, the robot R has a built-in speed reducer encoder 13 for detecting the rotation angle of the output shaft 11a of the speed reducer 11. The reduction gear encoder 13 is, for example, an increment encoder, and outputs a pulse signal corresponding to the rotation angle of the output shaft 11a of the reduction gear 11 as the reduction gear rotation angle β1. The motor rotation angle α output from the motor encoder 12 and the reduction gear rotation angle β1 output from the reduction gear encoder 13 are input to the robot control device RC via a communication cable connected to the base C1. In the following description, it is assumed that one pulse (numerical value “1”) of the motor rotation angle α corresponds to the rotation angle 1 ° of the output shaft 10 a of the servo motor 10.

ロボットRには、旋回台C2、第2アームC4〜第5アームC7及びツール固定部材C8それぞれに対応してサーボモータ、減速機、モータエンコーダ及び減速機エンコーダが設けられている。これらの構成は、上述したサーボモータ10、減速機11、モータエンコーダ12及び減速機エンコーダ13と同様であるため、詳しい説明は省略する。この実施形態においては、旋回台C2、第1アームC3〜第5アームC7及びツール固定部材C8は、いずれも減速機の出力軸の回転に応じて駆動する可動部材に相当する。また、以下の説明では、これら旋回台C2、第2アームC4〜第5アームC7及びツール固定部材C8を「可動部材」と呼称することもある。   The robot R is provided with a servo motor, a reducer, a motor encoder, and a reducer encoder corresponding to the swivel base C2, the second arm C4 to the fifth arm C7, and the tool fixing member C8. Since these configurations are the same as those of the servo motor 10, the speed reducer 11, the motor encoder 12, and the speed reducer encoder 13 described above, detailed description thereof is omitted. In this embodiment, the swivel base C2, the first arm C3 to the fifth arm C7, and the tool fixing member C8 all correspond to movable members that are driven according to the rotation of the output shaft of the speed reducer. In the following description, the swivel base C2, the second arm C4 to the fifth arm C7, and the tool fixing member C8 may be referred to as “movable members”.

次に、ロボット制御装置RCについて説明する。
図3に示すように、ロボット制御装置RCの主制御部20は、各種のアプリケーションを実行する演算部21(CPU)、処理に必要なアプリケーションや各種のデータが格納される不揮発性の記憶部25、各アプリケーションの実行に際してデータが一時的に格納される揮発性のメモリ28などを有するコンピュータとして構成されている。
Next, the robot controller RC will be described.
As shown in FIG. 3, the main control unit 20 of the robot controller RC includes a calculation unit 21 (CPU) that executes various applications, and a nonvolatile storage unit 25 that stores applications necessary for processing and various data. The computer includes a volatile memory 28 in which data is temporarily stored when each application is executed.

図3に示すように、主制御部20における演算部21は、サーボモータ10の出力軸10aを目標となる角度位置に回転させるための位置指令S1を生成する指令生成部22として機能する。例えば第1アームC3を制御する場合、指令生成部22は、第1アームC3を所定の位置に駆動させるのに必要なサーボモータ10の出力軸10aの角度位置として目標回転角度θ1を設定する。また、指令生成部22は、記憶部25に第1補正テーブルT1又は第2補正テーブルT2として記憶されている補正角度Δで目標回転角度θ1を補正して、補正目標角度θ2を設定する。指令生成部22は、この補正目標角度θ2に基づいて位置指令S1を生成して出力する。指令生成部22は、第1アームC3以外の他の可動部材を制御する場合においても同様に、位置指令S1を生成する。   As shown in FIG. 3, the calculation unit 21 in the main control unit 20 functions as a command generation unit 22 that generates a position command S <b> 1 for rotating the output shaft 10 a of the servo motor 10 to a target angular position. For example, when controlling the first arm C3, the command generation unit 22 sets the target rotation angle θ1 as the angular position of the output shaft 10a of the servomotor 10 necessary to drive the first arm C3 to a predetermined position. In addition, the command generation unit 22 corrects the target rotation angle θ1 with the correction angle Δ stored in the storage unit 25 as the first correction table T1 or the second correction table T2, and sets the correction target angle θ2. The command generator 22 generates and outputs a position command S1 based on the corrected target angle θ2. Similarly, the command generator 22 generates the position command S1 when controlling other movable members than the first arm C3.

図3に示すように、主制御部20における演算部21は、補正角度Δを算出する算出部23として機能する。算出部23には、モータエンコーダ12が出力したモータ回転角度α及び減速機エンコーダ13が出力した減速機回転角度β1が入力される。算出部23は、減速機回転角度β1をモータ回転角度αに換算した換算角度β2を算出する。そして、算出部23は、これらモータ回転角度α及び換算角度β2(減速機回転角度β1)に基づいて、両回転角度の間のずれを示す補正角度Δを算出し、これを記憶部25に第1補正テーブルT1又は第2補正テーブルT2として記憶させる。なお、換算角度β2及び補正角度Δの具体的な算出態様については後述する。   As shown in FIG. 3, the calculation unit 21 in the main control unit 20 functions as a calculation unit 23 that calculates the correction angle Δ. The calculation unit 23 receives the motor rotation angle α output from the motor encoder 12 and the reduction gear rotation angle β1 output from the reduction gear encoder 13. The calculation unit 23 calculates a conversion angle β2 obtained by converting the reduction gear rotation angle β1 into the motor rotation angle α. Based on the motor rotation angle α and the conversion angle β2 (reduction gear rotation angle β1), the calculation unit 23 calculates a correction angle Δ indicating a deviation between the two rotation angles, and stores this in the storage unit 25. The first correction table T1 or the second correction table T2 is stored. A specific calculation mode of the conversion angle β2 and the correction angle Δ will be described later.

図3に示すように、主制御部20における記憶部25には、各可動部材C2〜C8を駆動させるための教示プログラムPが記憶されている。教示プログラムPは、例えば、溶接トーチC9の先端位置を、所定の軌跡に沿って移動させるのに必要な各可動部材C2〜C8の位置や姿勢が記録されたものである。溶接トーチC9の先端位置の移動軌跡としては、例えば図2に示すように、点Aから点Bへと直線的に移動し、点Bから点Cへと直線的に移動するといったものである。   As shown in FIG. 3, the storage unit 25 in the main control unit 20 stores a teaching program P for driving the movable members C2 to C8. The teaching program P records, for example, the positions and postures of the movable members C2 to C8 necessary for moving the tip position of the welding torch C9 along a predetermined locus. As the movement trajectory of the tip position of the welding torch C9, for example, as shown in FIG. 2, it moves linearly from the point A to the point B and moves linearly from the point B to the point C.

図3に示すように、記憶部25には、教示プログラムPと関連付けて第1補正テーブルT1が記憶されている。図4に示すように第1補正テーブルT1には、教示プログラムPの名称と当該第1補正テーブルT1が適用される可動部材の名称が記憶されている。また、第1補正テーブルT1には、溶接トーチC9の先端位置、その先端位置になったときのモータ回転角度α、その先端位置になったときの減速機回転角度β1をモータ回転角度αに換算した換算角度β2、その先端位置になったときの目標回転角度θ1の補正角度Δが互いに関連付けられて記憶されている。なお、図4では、第1アームC3に適用される第1補正テーブルT1を図示しているが、記憶部25には、1つの教示プログラムPに対し、可動部材C2〜C8毎の第1補正テーブルT1(合計7つの第1補正テーブルT1)が記憶されている。   As illustrated in FIG. 3, the storage unit 25 stores a first correction table T1 in association with the teaching program P. As shown in FIG. 4, the name of the teaching program P and the name of the movable member to which the first correction table T1 is applied are stored in the first correction table T1. In the first correction table T1, the tip position of the welding torch C9, the motor rotation angle α when the tip position is reached, and the reduction gear rotation angle β1 when the tip position is reached are converted into the motor rotation angle α. The converted angle β2 and the correction angle Δ of the target rotation angle θ1 when the tip end position is reached are stored in association with each other. FIG. 4 shows the first correction table T1 applied to the first arm C3, but the storage unit 25 stores the first correction for each of the movable members C2 to C8 for one teaching program P. A table T1 (a total of seven first correction tables T1) is stored.

図3に示すように、記憶部25には、第1補正テーブルT1とは別に第2補正テーブルT2が記憶されている。第2補正テーブルT2は、特定の教示プログラムPに関連付けられてはなく、汎用の補正テーブルとなっている。図5に示すように、第2補正テーブルT2には、可動部材の角度位置、その角度位置になったときのモータ回転角度α、その角度位置になったときの減速機回転角度β1をモータ回転角度αに換算した換算角度β2、その角度位置になったときの目標回転角度θ1の補正角度Δが互いに関連付けられて記憶されている。なお、図5では、第1アームC3に適用される第2補正テーブルT2を図示しているが、記憶部25には、可動部材C2〜C8毎の第2補正テーブルT2(合計7つの第2補正テーブルT2)が記憶されている。   As shown in FIG. 3, the storage unit 25 stores a second correction table T2 separately from the first correction table T1. The second correction table T2 is not associated with a specific teaching program P, but is a general-purpose correction table. As shown in FIG. 5, in the second correction table T2, the angular position of the movable member, the motor rotation angle α when the angular position is reached, and the speed reducer rotation angle β1 when the angular position is reached are rotated by the motor. The converted angle β2 converted to the angle α and the correction angle Δ of the target rotation angle θ1 when the angle is reached are stored in association with each other. In FIG. 5, the second correction table T2 applied to the first arm C3 is illustrated, but the storage unit 25 stores the second correction table T2 for each of the movable members C2 to C8 (a total of seven second correction tables T2). A correction table T2) is stored.

図3に示すように、ロボット制御装置RCには、ロボットRに内蔵されている各サーボモータに電力を供給するサーボ制御部30が内蔵されている。例えば、サーボモータ10を制御する場合、サーボ制御部30は、演算部21から出力される位置指令S1に応じてパルス周波数及びパルス幅等を調整したモータ制御電圧Vxを、サーボモータ10に出力する。サーボ制御部30は、他のサーボモータ10に対しても同様に、位置指令S1に応じて調整したモータ制御電圧Vxを出力する。   As shown in FIG. 3, the robot controller RC has a built-in servo control unit 30 that supplies power to each servo motor built in the robot R. For example, when controlling the servo motor 10, the servo control unit 30 outputs to the servo motor 10 a motor control voltage Vx in which the pulse frequency, the pulse width, etc. are adjusted according to the position command S 1 output from the calculation unit 21. . Similarly, the servo control unit 30 outputs the motor control voltage Vx adjusted according to the position command S <b> 1 to the other servo motors 10.

(第1補正テーブルの算出処理)
ロボット制御装置RCが実行する第1補正テーブルT1の算出処理について説明する。なお、以下の説明では、ロボット制御装置RCにおける記憶部25に、予め教示プログラムPが記憶されているものとする。そして、その教示プログラムPは、図2に示すように、溶接トーチC9の先端位置を、始点である点Aから点Bへと直線的に移動させ、その後、点Bから終点である点Cへと直線的に移動させる内容である。また、可動部材C2〜C8のうち、第1アームC3を例として、第1補正テーブルT1の算出処理を説明するが、その他の可動部材についても同様である。
(Calculation process of first correction table)
A calculation process of the first correction table T1 executed by the robot controller RC will be described. In the following description, it is assumed that the teaching program P is stored in advance in the storage unit 25 of the robot controller RC. Then, as shown in FIG. 2, the teaching program P linearly moves the tip position of the welding torch C9 from the start point A to the point B, and then from the point B to the end point C. The content is moved linearly. In addition, the calculation process of the first correction table T1 will be described by taking the first arm C3 as an example of the movable members C2 to C8, but the same applies to other movable members.

例えば、オペレータがロボット制御装置RCやロボット制御装置RCに接続されている操作装置を操作することにより、教示プログラムPに対する第1補正テーブルT1の算出処理が指示されると、ロボット制御装置RCの主制御部20において図6に示す一連の処理が実行される。   For example, when the operator operates the robot control device RC or an operation device connected to the robot control device RC to instruct the calculation processing of the first correction table T1 for the teaching program P, the main control of the robot control device RC is performed. The control unit 20 executes a series of processes shown in FIG.

ステップST10では、主制御部20の指令生成部22は、教示プログラムPに従って、溶接トーチC9の先端位置が始点である点Aに位置するように、各サーボモータに対する位置指令S1を生成する。また、サーボ制御部30は、その位置指令S1に応じたモータ制御電圧Vxを各サーボモータに供給する。その結果、各可動部材C2〜C8が旋回して、溶接トーチC9の先端位置が始点である点Aに位置する。その後、主制御部20の処理はステップST11に移行する。   In step ST10, the command generation unit 22 of the main control unit 20 generates a position command S1 for each servo motor so that the tip position of the welding torch C9 is located at the starting point A according to the teaching program P. In addition, the servo control unit 30 supplies a motor control voltage Vx corresponding to the position command S1 to each servo motor. As a result, each of the movable members C2 to C8 turns and the tip position of the welding torch C9 is located at the point A that is the starting point. Thereafter, the process of the main control unit 20 proceeds to step ST11.

ステップST11では、主制御部20の算出部23は、溶接トーチC9の先端位置が点Aに位置した状態で、第1アームC3に対応するモータエンコーダ12が出力したモータ回転角度αを取得する。同様に、算出部23は、溶接トーチC9の先端位置が点Aに位置した状態で、第1アームC3に対応する減速機エンコーダ13が出力した減速機回転角度β1を取得する。その後、主制御部20の処理は、ステップST12に移行する。   In step ST11, the calculation unit 23 of the main control unit 20 acquires the motor rotation angle α output by the motor encoder 12 corresponding to the first arm C3 in a state where the tip position of the welding torch C9 is located at the point A. Similarly, the calculation unit 23 acquires the reduction gear rotation angle β1 output by the reduction gear encoder 13 corresponding to the first arm C3 in a state where the tip position of the welding torch C9 is located at the point A. Thereafter, the process of the main control unit 20 proceeds to step ST12.

ステップST12では、主制御部20の算出部23は、減速機回転角度β1を、モータ回転角度αに換算した換算角度β2を算出する。減速機11における減速比を「N」、モータエンコーダ12の分解能を「P1」、減速機エンコーダ13の分解能を「P2」としたとき、換算角度β2は以下の式1で求められる。   In step ST12, the calculation unit 23 of the main control unit 20 calculates a conversion angle β2 obtained by converting the reduction gear rotation angle β1 into the motor rotation angle α. When the reduction ratio in the reduction gear 11 is “N”, the resolution of the motor encoder 12 is “P1”, and the resolution of the reduction gear encoder 13 is “P2”, the conversion angle β2 is obtained by the following equation 1.

(式1) β2=β1×(P1/P2)×N
具体的には、減速機回転角度β1が32[pulse]、モータエンコーダ12の分解能が10[bit](=1024)、減速機エンコーダ13の分解能が14[bit](=16384)、減速比が100であるとき、換算角度β2は200[pulse]である。これにより、減速比とモータエンコーダ12及び減速機エンコーダ13の分解能の違いとを考慮した減速機回転角度β1の換算角度β2が得られる。換算角度β2を算出した後、主制御部20の処理はステップST13に移行する。
(Formula 1) β2 = β1 × (P1 / P2) × N
Specifically, the reduction gear rotation angle β1 is 32 [pulse], the resolution of the motor encoder 12 is 10 [bit] (= 1024), the resolution of the reduction gear encoder 13 is 14 [bit] (= 16384), and the reduction ratio is When 100, the conversion angle β2 is 200 [pulses]. Thereby, the conversion angle β2 of the reduction gear rotation angle β1 in consideration of the reduction ratio and the difference in resolution between the motor encoder 12 and the reduction gear encoder 13 is obtained. After calculating the conversion angle β2, the process of the main control unit 20 proceeds to step ST13.

ステップST13では、主制御部20の算出部23は、モータ回転角度αからステップST12で算出した換算角度β2を減算して、補正角度Δを算出する。その後のステップST14では、算出部23は、算出した補正角度Δ、その補正角度Δを算出したときのモータ回転角度α及び換算角度β2を記憶部25に出力する。記憶部25は、これら補正角度Δ、モータ回転角度α及び換算角度β2を、溶接トーチC9の先端位置が点Aにある場合の第1補正テーブルT1のパラメータとして互いに関連付けて記憶する。その後、主制御部20の処理はステップST15に移行する。   In step ST13, the calculation unit 23 of the main control unit 20 calculates the correction angle Δ by subtracting the conversion angle β2 calculated in step ST12 from the motor rotation angle α. In subsequent step ST14, the calculation unit 23 outputs the calculated correction angle Δ and the motor rotation angle α and conversion angle β2 when the correction angle Δ is calculated to the storage unit 25. The storage unit 25 stores the correction angle Δ, the motor rotation angle α, and the conversion angle β2 in association with each other as parameters of the first correction table T1 when the tip position of the welding torch C9 is at the point A. Thereafter, the process of the main control unit 20 proceeds to step ST15.

ステップST15では、主制御部20の指令生成部22は、溶接トーチC9の先端位置が終点である点Cに達したか否かを判断する。この時点では、溶接トーチC9の先端位置は点Aに位置しているため、溶接トーチC9の先端位置が点Cに達していないと判断される(ステップST15においてNO)。この場合、主制御部20の処理はステップST16へ移行する。   In step ST15, the command generation unit 22 of the main control unit 20 determines whether or not the tip position of the welding torch C9 has reached the end point C. At this time, since the tip position of welding torch C9 is located at point A, it is determined that the tip position of welding torch C9 has not reached point C (NO in step ST15). In this case, the process of the main control unit 20 moves to step ST16.

ステップST16では、主制御部20の指令生成部22は、新たな位置指令S1を生成して、溶接トーチC9の先端位置が点Aから点Bへ向けて直線的に移動するように、サーボモータ10の出力軸10aを単位角度回転させる。この実施例では、単位角度をモータエンコーダ12の1パルス分の角度に設定している。その結果、溶接トーチC9の先端位置は点X1に位置する。その後、主制御部20の処理はステップST11に戻り、新たな溶接トーチC9の先端位置である点X1について、ステップST11〜ST16の処理が繰り返される。   In step ST16, the command generation unit 22 of the main control unit 20 generates a new position command S1, and the servo motor so that the tip position of the welding torch C9 moves linearly from point A to point B. The ten output shafts 10a are rotated by a unit angle. In this embodiment, the unit angle is set to an angle corresponding to one pulse of the motor encoder 12. As a result, the tip position of the welding torch C9 is located at the point X1. Thereafter, the process of the main control unit 20 returns to step ST11, and the processes of steps ST11 to ST16 are repeated for the point X1 that is the tip position of the new welding torch C9.

上記ステップST11〜ST16が繰り返されると、溶接トーチC9の先端位置は、点Aから点Bを経て、最終的に終点である点Cに達する。そして、溶接トーチC9の先端位置が点Cに達した状態で、ステップST15の処理が実行されると、主制御部20の指令生成部22は、溶接トーチC9の先端位置が終点である点Cに達したと判断し(ステップST15においてYES)、一連の処理が終了する。   When the above steps ST11 to ST16 are repeated, the tip position of the welding torch C9 passes from point A to point B and finally reaches point C which is the end point. Then, when the process of step ST15 is executed in a state where the tip position of the welding torch C9 has reached the point C, the command generation unit 22 of the main control unit 20 causes the point C where the tip position of the welding torch C9 is the end point. Is reached (YES in step ST15), and a series of processing ends.

上記一連の第1補正テーブルT1の算出処理によって、図4に示すように、教示プログラムに従ってロボットRを動作させた場合のサーボモータ10の出力軸10aの回転角度範囲において、当該出力軸10aを単位角度ずつ回転させた場合の各補正角度Δが第1補正テーブルT1として記憶部25に記憶される。   As shown in FIG. 4, the series of calculation processes of the first correction table T <b> 1 as described above is performed by using the output shaft 10 a as a unit in the rotation angle range of the output shaft 10 a of the servo motor 10 when the robot R is operated according to the teaching program. Each correction angle Δ when rotated by an angle is stored in the storage unit 25 as the first correction table T1.

(第2補正テーブルの算出処理)
ロボット制御装置RCが実行する第2補正テーブルT2の算出処理について説明する。なお、以下の説明では、可動部材C2〜C8のうち、第1アームC3を例として、第2補正テーブルT2の算出処理を説明するが、その他の可動部材についても同様である。
(Calculation process of second correction table)
A calculation process of the second correction table T2 executed by the robot controller RC will be described. In the following description, the calculation process of the second correction table T2 will be described using the first arm C3 as an example of the movable members C2 to C8, but the same applies to the other movable members.

例えば、オペレータがロボット制御装置RCやロボット制御装置RCに接続されている操作装置を操作することにより、第1アームC3に対する第2補正テーブルT2の算出処理が指示されると、ロボット制御装置RCにおける主制御部20の指令生成部22は、第1アームC3以外の可動部材の位置を予め定められている基準位置に移動させる。この基準位置は、例えば、各可動部材の重心が第1アームC3の回転軸である第2回転軸心J2に最も近くなる位置に設定されている。第1アームC3以外の可動部材の位置がそれぞれ基準位置に位置すると、図7に示す一連の処理が実行される。   For example, when the operator operates the robot control device RC or the operation device connected to the robot control device RC to instruct the calculation processing of the second correction table T2 for the first arm C3, the robot control device RC The command generation unit 22 of the main control unit 20 moves the position of the movable member other than the first arm C3 to a predetermined reference position. The reference position is set, for example, at a position where the center of gravity of each movable member is closest to the second rotation axis J2 that is the rotation axis of the first arm C3. When the positions of the movable members other than the first arm C3 are positioned at the reference positions, a series of processes shown in FIG. 7 are executed.

ステップST20では、主制御部20の指令生成部22は、第1アームC3の位置が予め定められた原点に位置するように、サーボモータ10に対する位置指令S1を生成する。本実施例では、第1アームC3の旋回範囲として、鉛直方向を基準として前後に60°ずつ、合計120°の範囲が設定されている。そして、その120°の範囲の端から端までを、原点(0°)〜終点(120°)としている。第1アームC3が原点に位置した後、主制御部20の処理はステップST21に移行する。   In step ST20, the command generation unit 22 of the main control unit 20 generates a position command S1 for the servo motor 10 so that the position of the first arm C3 is located at a predetermined origin. In the present embodiment, a range of 120 ° in total is set as the turning range of the first arm C3 by 60 ° forward and backward with respect to the vertical direction. The range from the end of the 120 ° range to the end (120 °) is the origin (0 °) to the end point (120 °). After the first arm C3 is located at the origin, the processing of the main control unit 20 proceeds to step ST21.

ステップST21では、主制御部20の算出部23は、第1アームC3が原点に位置した状態で、モータエンコーダ12が出力したモータ回転角度αを取得する。同様に、算出部23は、第1アームC3が原点に位置した状態で、減速機エンコーダ13が出力した減速機回転角度β1を取得する。その後、主制御部20の処理は、ステップST22に移行する。   In step ST21, the calculation unit 23 of the main control unit 20 acquires the motor rotation angle α output by the motor encoder 12 with the first arm C3 positioned at the origin. Similarly, the calculation unit 23 acquires the reduction gear rotation angle β1 output from the reduction gear encoder 13 in a state where the first arm C3 is located at the origin. Thereafter, the process of the main control unit 20 proceeds to step ST22.

ステップST22では、主制御部20の算出部23は、上述した(式1)に従って、減速機回転角度β1を、モータ回転角度αに換算した換算角度β2を算出する。換算角度β2を算出した後、主制御部20の処理はステップST23に移行する。   In step ST22, the calculation unit 23 of the main control unit 20 calculates the conversion angle β2 obtained by converting the reduction gear rotation angle β1 into the motor rotation angle α according to the above-described (Equation 1). After calculating the conversion angle β2, the process of the main control unit 20 proceeds to step ST23.

ステップST23では、主制御部20の算出部23は、モータ回転角度αからステップST22で算出した換算角度β2を減算して、補正角度Δを算出する。その後のステップST24では、算出部23は、算出した補正角度Δ、その補正角度Δを算出したときのモータ回転角度α及び換算角度β2を記憶部25に出力する。記憶部25は、これら補正角度Δ、モータ回転角度α及び換算角度β2を、第1アームC3が原点に位置している場合の第2補正テーブルT2のパラメータとして互いに関連付けて記憶する。その後、主制御部20の処理はステップST25に移行する。   In step ST23, the calculation unit 23 of the main control unit 20 calculates the correction angle Δ by subtracting the conversion angle β2 calculated in step ST22 from the motor rotation angle α. In subsequent step ST24, the calculation unit 23 outputs the calculated correction angle Δ and the motor rotation angle α and conversion angle β2 when the correction angle Δ is calculated to the storage unit 25. The storage unit 25 stores the correction angle Δ, the motor rotation angle α, and the conversion angle β2 in association with each other as parameters of the second correction table T2 when the first arm C3 is located at the origin. Thereafter, the process of the main control unit 20 proceeds to step ST25.

ステップST25では、主制御部20の指令生成部22は、第1アームC3の位置が終点に達したか否かを判断する。この時点では、第1アームC3の位置は0°(原点)であるため、終点に達してはいないと判断される(ステップST25においてNO)。この場合、主制御部20の処理はステップST26へ移行する。   In step ST25, the command generation unit 22 of the main control unit 20 determines whether or not the position of the first arm C3 has reached the end point. At this time, since the position of the first arm C3 is 0 ° (origin), it is determined that the end point has not been reached (NO in step ST25). In this case, the process of the main control unit 20 moves to step ST26.

ステップST26では、主制御部20の指令生成部22は、新たな位置指令S1を生成して、サーボモータ10の出力軸10aを単位角度回転させる。この実施例では、単位角度をモータエンコーダ12の10パルス分、すなわち10°に設定している。その結果、第1アームC3は原点から10°回転する。その後、主制御部20の処理はステップST21に戻り、新たな第1アームC3の位置について、ステップST21〜ST36の処理が繰り返される。   In step ST26, the command generation unit 22 of the main control unit 20 generates a new position command S1, and rotates the output shaft 10a of the servo motor 10 by a unit angle. In this embodiment, the unit angle is set to 10 pulses of the motor encoder 12, that is, 10 °. As a result, the first arm C3 rotates 10 ° from the origin. Thereafter, the process of the main control unit 20 returns to step ST21, and the processes of steps ST21 to ST36 are repeated for the new position of the first arm C3.

上記ステップST21〜ST26が繰り返されると、第1アームC3は原点から120°回転して終点に達する。そして、第1アームC3の位置が終点に達した状態で、ステップST25の処理が実行されると、主制御部20の指令生成部22は、第1アームC3が終点に達したと判断し(ステップST25においてYES)、一連の処理が終了する。この第2補正テーブルT2の算出処理によって、図5に示すように、第1アームC3の所定の旋回範囲においてサーボモータ10の出力軸10aを単位角度ずつ回転させた場合の各補正角度Δが第2補正テーブルT2として記憶部25に記憶される。   When the above steps ST21 to ST26 are repeated, the first arm C3 rotates 120 ° from the origin and reaches the end point. Then, when the process of step ST25 is executed in a state where the position of the first arm C3 has reached the end point, the command generation unit 22 of the main control unit 20 determines that the first arm C3 has reached the end point ( In step ST25, YES), a series of processing ends. By the calculation process of the second correction table T2, as shown in FIG. 5, each correction angle Δ when the output shaft 10a of the servo motor 10 is rotated by a unit angle within a predetermined turning range of the first arm C3 is changed to the first correction angle Δ. 2 stored in the storage unit 25 as a correction table T2.

(目標回転角度の補正処理)
次に、第1補正テーブルT1又は第2補正テーブルT2に基づいて、目標回転角度θ1を補正する処理について説明する。先ず、ロボット制御装置RCにおける主制御部20の指令生成部22は、参照するべき補正テーブルが第1補正テーブルT1であるか、第2補正テーブルT2であるかを選択する。指令生成部22は、教示プログラムPに従って各可動部材を駆動させる場合には、参照するべき補正テーブルとして第1補正テーブルT1を選択する。第1補正テーブルT1が関連付けられていないその他の教示プログラムに従って各可動部材を駆動させる場合、及び教示プログラムに従わずに各可動部材を動作させる場合には、参照するべき補正テーブルとして第2補正テーブルT2を選択する。参照するべき補正テーブルを選択した後、主制御部20の処理は図8に示すステップST30に移行する。なお、以下の説明では、第1アームC3を駆動するサーボモータ10の出力軸10aにおける目標回転角度θ1の補正処理について説明するが、他の可動部材についても同様である。
(Target rotation angle correction process)
Next, processing for correcting the target rotation angle θ1 based on the first correction table T1 or the second correction table T2 will be described. First, the command generator 22 of the main controller 20 in the robot controller RC selects whether the correction table to be referred to is the first correction table T1 or the second correction table T2. When the command generating unit 22 drives each movable member according to the teaching program P, the command generating unit 22 selects the first correction table T1 as a correction table to be referred to. When each movable member is driven according to another teaching program not associated with the first correction table T1, and when each movable member is operated without following the teaching program, the second correction table is used as a correction table to be referred to. Select T2. After selecting the correction table to be referred to, the processing of the main control unit 20 proceeds to step ST30 shown in FIG. In the following description, correction processing of the target rotation angle θ1 in the output shaft 10a of the servomotor 10 that drives the first arm C3 will be described, but the same applies to other movable members.

ステップST30では、主制御部20の指令生成部22は、サーボモータ10の出力軸10aの目標回転角度θ1を設定する。具体的には、例えば、教示プログラムPに従って第1アームC3を駆動させる場合には、その教示プログラムPに従って目標回転角度θ1を設定する。また、例えば、教示プログラムPに従わずに第1アームC3を駆動させる場合には、オペレータがロボット制御装置RCやロボット制御装置RCに接続されている操作装置において入力した情報に従って目標回転角度θ1を設定する。その後、主制御部20の処理は、ステップST31に移行する。   In step ST30, the command generation unit 22 of the main control unit 20 sets the target rotation angle θ1 of the output shaft 10a of the servomotor 10. Specifically, for example, when the first arm C3 is driven according to the teaching program P, the target rotation angle θ1 is set according to the teaching program P. Further, for example, when the first arm C3 is driven without following the teaching program P, the target rotation angle θ1 is set according to the information input by the operator on the robot control device RC or the operation device connected to the robot control device RC. Set. Thereafter, the process of the main control unit 20 proceeds to step ST31.

ステップST31では、主制御部20の指令生成部22は、参照する第1補正テーブルT1又は第2補正テーブルT2に記憶されているモータ回転角度αの中に、ステップST30で設定した目標回転角度θ1と同一のものがあるか否かを判断する。具体的には、例えば、図4に示すように、第1補正テーブルT1には、1パルス毎にモータ回転角度αが記憶されている。したがって、第1補正テーブルT1を参照している場合には、どのような目標回転角度θ1が設定されていても、これと同一のモータ回転角度αがあると判断される。一方、例えば、図5に示すように、第2補正テーブルT2には、10パルス毎にモータ回転角度αが記憶されている。したがって、第2補正テーブルT2を参照している場合には、同一のモータ回転角度αがあると判断されることも、同一のモータ回転角度αがないと判断されることもある。   In step ST31, the command generation unit 22 of the main control unit 20 sets the target rotation angle θ1 set in step ST30 in the motor rotation angle α stored in the first correction table T1 or the second correction table T2 to be referred to. It is determined whether there is an identical thing. Specifically, for example, as shown in FIG. 4, the motor correction angle α is stored for each pulse in the first correction table T1. Therefore, when referring to the first correction table T1, it is determined that there is the same motor rotation angle α regardless of what target rotation angle θ1 is set. On the other hand, for example, as shown in FIG. 5, the second correction table T2 stores the motor rotation angle α every 10 pulses. Therefore, when referring to the second correction table T2, it may be determined that there is the same motor rotation angle α, or it may be determined that there is no same motor rotation angle α.

同一のモータ回転角度αがあると判断された場合(ステップST31においてYES)には、主制御部20の処理はステップST32に移行する。ステップST32では、主制御部20の指令生成部22は、目標回転角度θ1と同一であると判断されたモータ回転角度αに関連付けられている補正角度Δを記憶部25から読み出す。そして、指令生成部22は、ステップST30で設定した目標回転角度θ1に読み出した補正角度Δを加算することにより補正して、補正目標角度θ2を算出する。具体的には、図4に示すように、目標回転角度θ1と同一であると判断されたモータ回転角度αが「33」である場合には、指令生成部22は、補正角度Δとして「2」を読み出す。そして、指令生成部22は、目標回転角度「33」に補正角度「2」を加算して、補正目標角度「35」を算出する。その後のステップST34では、指令生成部22は、補正目標角度θ2に基づいて位置指令S1を生成する。   When it is determined that there is the same motor rotation angle α (YES in step ST31), the process of main control unit 20 proceeds to step ST32. In step ST32, the command generation unit 22 of the main control unit 20 reads from the storage unit 25 the correction angle Δ associated with the motor rotation angle α determined to be the same as the target rotation angle θ1. Then, the command generation unit 22 performs correction by adding the read correction angle Δ to the target rotation angle θ1 set in step ST30, and calculates the correction target angle θ2. Specifically, as shown in FIG. 4, when the motor rotation angle α determined to be the same as the target rotation angle θ1 is “33”, the command generation unit 22 sets “2” as the correction angle Δ. "Is read out. Then, the command generation unit 22 adds the correction angle “2” to the target rotation angle “33” to calculate the correction target angle “35”. In subsequent step ST34, the command generator 22 generates a position command S1 based on the corrected target angle θ2.

一方、同一のモータ回転角度αがないと判断された場合(ステップST31においてNO)には、主制御部20の処理はステップST33に移行する。ステップST33では、主制御部20の指令生成部22は、目標回転角度θ1を中心とした所定の範囲(例えば±10°)内で、その目標回転角度θ1に対応するモータ回転角度αとして最も近いモータ回転角度αを判断する。最も近いモータ回転角度αが2つある場合には、値が小さい方のモータ回転角度αを対応するモータ回転角度αと判断する。最も近いモータ回転角度αが判断できた場合には、目標回転角度θ1に対応するモータ回転角度αが記憶部25に記憶されていることになる。そして、その最も近いと判断されたモータ回転角度αに関連付けられている補正角度Δを記憶部25から読み出す。指令生成部22は、ステップST30で設定した目標回転角度θ1に読み出した補正角度Δを加算することにより補正して、補正目標角度θ2を算出する。具体的には、図5に示すように、目標回転角度θ1が「19」である場合、第2補正テーブルT2に記憶されているモータ回転角度αのうち最も近いのはモータ回転角度「20」である。そして、最も近いと判断されたモータ回転角度αが「20」である場合には、指令生成部22は、補正角度Δとして「2」を読み出す。そして、指令生成部22は、目標回転角度「19」に補正角度「2」を加算して、補正目標角度「21」を算出する。その後のステップST34では、指令生成部22は、補正目標角度θ2に基づいて位置指令S1を生成する。これら一連の処理は、主制御部20の指令生成部22が新たな目標回転角度θ1を設定するたびに実行される。なお、記憶部25に、目標回転角度θ1を中心とした所定の範囲内に対応するモータ回転角度αが記憶されていない場合には、指令生成部22は、目標回転角度θ1の補正を行わない。   On the other hand, when it is determined that there is no same motor rotation angle α (NO in step ST31), the process of main control unit 20 proceeds to step ST33. In step ST33, the command generation unit 22 of the main control unit 20 is closest to the motor rotation angle α corresponding to the target rotation angle θ1 within a predetermined range (for example, ± 10 °) centered on the target rotation angle θ1. The motor rotation angle α is determined. If there are two closest motor rotation angles α, the smaller motor rotation angle α is determined as the corresponding motor rotation angle α. When the closest motor rotation angle α can be determined, the motor rotation angle α corresponding to the target rotation angle θ1 is stored in the storage unit 25. Then, the correction angle Δ associated with the motor rotation angle α determined to be the closest is read from the storage unit 25. The command generation unit 22 corrects by adding the read correction angle Δ to the target rotation angle θ1 set in step ST30, and calculates the correction target angle θ2. Specifically, as shown in FIG. 5, when the target rotation angle θ1 is “19”, the closest motor rotation angle α stored in the second correction table T2 is the motor rotation angle “20”. It is. When the motor rotation angle α determined to be closest is “20”, the command generation unit 22 reads “2” as the correction angle Δ. Then, the command generation unit 22 adds the correction angle “2” to the target rotation angle “19” to calculate the correction target angle “21”. In subsequent step ST34, the command generator 22 generates a position command S1 based on the corrected target angle θ2. These series of processes are executed each time the command generation unit 22 of the main control unit 20 sets a new target rotation angle θ1. When the storage unit 25 does not store the motor rotation angle α corresponding to a predetermined range centered on the target rotation angle θ1, the command generation unit 22 does not correct the target rotation angle θ1. .

(ロボット制御装置の作用)
上記のように目標回転角度θ1を補正角度Δで補正するロボット制御装置RCと、このような目標回転角度θ1の補正を行わないロボット制御装置とを対比させつつ、上記実施形態の作用を説明する。
(Operation of robot controller)
The operation of the above embodiment will be described while comparing the robot control device RC that corrects the target rotation angle θ1 with the correction angle Δ as described above and the robot control device that does not correct the target rotation angle θ1. .

例えば、図2に示すように、オペレータが、溶接トーチC9の先端位置が点Aから点Bを経て点Cに至る教示プログラムPを作成したとする。このとき、オペレータは、溶接トーチC9の先端を目視したりセンサで検出したりしながらロボットRを操作し、溶接トーチC9の先端位置を点A、点B及び点Cの各点に位置させる。したがって、点A、点B及び点Cの各点においては、サーボモータ10の出力軸10aのモータ回転角度αと減速機11の出力軸11aの減速機回転角度β1(換算角度β2)との間にずれが生じているか否かに拘わらず、溶接トーチC9の先端位置は点A、点B及び点Cの各点に一致する。その一方で、点Aから点Bへの間の移動軌跡、点Bから点Cへの間の移動軌跡は、ロボット制御装置RCの主制御部20によって自動的に演算される。そのため、サーボモータ10、減速機11及び各可動部材の変形等に起因して、モータ回転角度αと減速機回転角度β1(換算角度β2)との間にずれが生じていても、自動的に演算された各点間の移動軌跡にはそのずれは反映されない。したがって、理想的には、各点間の移動軌跡は直線的になるところ、目標回転角度θ1の補正を行わないロボット制御装置で実際にロボットを駆動させると図2において一点鎖線で図示するように各点間の移動軌跡が波打ったり円弧状になったりすることがある。なお、図2では、ずれを誇張して図示している。   For example, as shown in FIG. 2, it is assumed that the operator has created a teaching program P in which the tip position of the welding torch C9 reaches from point A to point C through point B. At this time, the operator operates the robot R while visually observing the tip of the welding torch C9 or detecting it with a sensor, and positions the tip of the welding torch C9 at points A, B, and C. Therefore, at each of the points A, B, and C, it is between the motor rotation angle α of the output shaft 10a of the servo motor 10 and the reduction gear rotation angle β1 (converted angle β2) of the output shaft 11a of the reduction gear 11. Regardless of whether or not there is a deviation, the tip position of the welding torch C9 coincides with the points A, B and C. On the other hand, the movement trajectory from point A to point B and the movement trajectory from point B to point C are automatically calculated by the main controller 20 of the robot controller RC. Therefore, even if there is a deviation between the motor rotation angle α and the reduction gear rotation angle β1 (converted angle β2) due to deformation of the servo motor 10, the reduction gear 11, and each movable member, etc. automatically The shift is not reflected in the calculated movement trajectory between the points. Therefore, ideally, the movement trajectory between the points becomes linear, but when the robot is actually driven by the robot control device that does not correct the target rotation angle θ1, as shown by the one-dot chain line in FIG. The movement trajectory between the points may be wavy or arcuate. In FIG. 2, the shift is exaggerated.

この点、上記実施形態のロボット制御装置RCにおいては、実際にロボットRを駆動してモータ回転角度αと減速機回転角度β1(換算角度β2)との間のずれを算出し、それを第1補正テーブルT1において補正角度Δとして記憶している。この補正角度Δで目標回転角度θ1を補正することにより、実際にロボットRを駆動したときのずれを抑制することができる。   In this regard, in the robot control device RC of the above-described embodiment, the robot R is actually driven to calculate the deviation between the motor rotation angle α and the reduction gear rotation angle β1 (converted angle β2). It is stored as the correction angle Δ in the correction table T1. By correcting the target rotation angle θ1 with this correction angle Δ, a deviation when the robot R is actually driven can be suppressed.

また、教示プログラムPに従わずに、例えばオペレータがロボット制御装置RCや操作装置で座標を入力し、その座標上に溶接トーチC9の先端位置を移動させる場合がある。この場合でも、実際にロボットRを駆動させた場合には、モータ回転角度αと減速機回転角度β1(換算角度β2)との間のずれに起因して、溶接トーチC9の先端位置が入力した座標上からずれることがある。この点、上記実施形態では、実際にロボットRを駆動したときのモータ回転角度αと減速機回転角度β1(換算角度β2)との間のずれを、第2補正テーブルT2において補正角度Δとして記憶している。この補正角度Δで目標回転角度θ1を補正することにより、実際にロボットRを駆動したときのずれを抑制することができる。   Further, without following the teaching program P, for example, an operator may input coordinates with the robot controller RC or the operating device, and move the tip position of the welding torch C9 on the coordinates. Even in this case, when the robot R is actually driven, the tip position of the welding torch C9 is input due to the deviation between the motor rotation angle α and the reduction gear rotation angle β1 (converted angle β2). It may deviate from the coordinates. In this regard, in the above embodiment, the deviation between the motor rotation angle α and the reduction gear rotation angle β1 (converted angle β2) when the robot R is actually driven is stored as the correction angle Δ in the second correction table T2. is doing. By correcting the target rotation angle θ1 with this correction angle Δ, a deviation when the robot R is actually driven can be suppressed.

(上記ロボット制御装置の特徴及び効果)
上記実施形態のロボット制御装置RCの特徴をその効果とともに記載する。
(1)上記実施形態では、ロボットRにモータエンコーダ12及び減速機エンコーダ13が内蔵されていれば、モータ回転角度αと減速機回転角度β1との間のずれに基づいて、目標回転角度θ1の補正角度Δを算出できる。しかも、モータエンコーダ12及び減速機エンコーダ13は、補正角度Δの算出以外にも、ロボットRの各可動部材の位置制御にも利用できる。したがって、モータ回転角度αと減速機回転角度β1との間のずれを把握するためだけに外部装置を用意する必要はないし、また、その外部装置を、ずれを把握しようとする度に取り付けたり設置したりする必要はない。その結果、上記実施形態では、より簡便にモータ回転角度αと減速機回転角度β1との間のずれを補正角度Δとして把握できる。
(Features and effects of the robot control device)
The characteristics of the robot control device RC of the above embodiment will be described together with the effects thereof.
(1) In the above embodiment, if the motor R 12 and the speed reducer encoder 13 are built in the robot R, the target rotational angle θ1 is set based on the deviation between the motor rotational angle α and the speed reducer rotational angle β1. The correction angle Δ can be calculated. In addition to the calculation of the correction angle Δ, the motor encoder 12 and the speed reducer encoder 13 can be used for position control of each movable member of the robot R. Therefore, it is not necessary to prepare an external device only for grasping the deviation between the motor rotation angle α and the reduction gear rotation angle β1, and the external device is attached or installed every time the deviation is to be grasped. There is no need to do. As a result, in the above embodiment, the deviation between the motor rotation angle α and the reduction gear rotation angle β1 can be grasped as the correction angle Δ more easily.

(2)モータ回転角度αと減速機回転角度β1との間のずれは、例えば、各可動部材の重量が減速機11等に作用して、減速機11が弾性変形することによっても生じ得る。そして、この減速機11の弾性変形の程度は、各可動部材の姿勢によって変化する。この点、上記実施形態では、実際に教示プログラムPに従ってロボットRを駆動させたときの補正角度Δを第1補正テーブルT1として記憶している。したがって、各可動部材の重量が作用することに起因するモータ回転角度αと減速機回転角度β1との間のずれを補正角度Δに反映することができ、より正確な目標回転角度θ1の補正が可能となる。   (2) The deviation between the motor rotation angle α and the speed reducer rotation angle β1 can also occur, for example, when the weight of each movable member acts on the speed reducer 11 or the like and the speed reducer 11 is elastically deformed. The degree of elastic deformation of the speed reducer 11 varies depending on the posture of each movable member. In this regard, in the above embodiment, the correction angle Δ when the robot R is actually driven according to the teaching program P is stored as the first correction table T1. Therefore, the deviation between the motor rotation angle α and the reduction gear rotation angle β1 due to the action of the weight of each movable member can be reflected in the correction angle Δ, and more accurate correction of the target rotation angle θ1 can be performed. It becomes possible.

(3)上記実施形態では、教示プログラムPに従ってロボットRを駆動させないときであっても第2補正テーブルT2として記憶されている補正角度Δを用いて、目標回転角度θ1を補正できる。すなわち、第2補正テーブルT2においてモータ回転角度αとして記憶されている角度範囲内であれば、第2補正テーブルT2として記憶されている補正角度Δは適用される状況を選ばず、汎用的に目標回転角度θ1の補正に使用できる。   (3) In the above embodiment, even when the robot R is not driven according to the teaching program P, the target rotation angle θ1 can be corrected using the correction angle Δ stored as the second correction table T2. That is, as long as it is within the angle range stored as the motor rotation angle α in the second correction table T2, the correction angle Δ stored as the second correction table T2 does not select the situation to be applied, and is generally used as a target. It can be used to correct the rotation angle θ1.

(4)上記実施形態では、教示プログラムPに対応する第1補正テーブルT1においてはモータ回転角度αの1パルス毎に補正角度Δを記憶している。このようにより細かい単位角度毎に補正角度Δを記憶しておくことで、目標回転角度θ1の補正の正確性を担保することができる。その一方で、教示プログラムPに従って動作する第1アームC3の駆動範囲には限りがあるので、細かい単位角度毎に補正角度Δを記憶していても主制御部20の記憶部25の容量を逼迫する可能性は小さい。   (4) In the above embodiment, the correction angle Δ is stored for each pulse of the motor rotation angle α in the first correction table T1 corresponding to the teaching program P. By storing the correction angle Δ for each finer unit angle in this way, the accuracy of the correction of the target rotation angle θ1 can be ensured. On the other hand, since the driving range of the first arm C3 that operates according to the teaching program P is limited, the capacity of the storage unit 25 of the main control unit 20 is limited even if the correction angle Δ is stored for each fine unit angle. The possibility of doing is small.

(5)上記実施形態では、教示プログラムPに対応しない汎用的な第2補正テーブルT2については、第1補正テーブルT1における単位角度よりも大きいモータ回転角度αの10パルス毎に補正角度Δを記憶する。このように比較的に大きな単位角度毎に補正角度Δを記憶しておけば、比較的に広い範囲に対応して補正角度Δを記憶する場合であっても第2補正テーブルT2を記憶するのに必要な記憶容量を低減できる。   (5) In the above embodiment, for the general-purpose second correction table T2 that does not correspond to the teaching program P, the correction angle Δ is stored for every 10 pulses of the motor rotation angle α larger than the unit angle in the first correction table T1. To do. If the correction angle Δ is stored for each relatively large unit angle in this way, the second correction table T2 is stored even when the correction angle Δ is stored corresponding to a relatively wide range. It is possible to reduce the storage capacity required for the storage.

(変更例)
上記実施形態は以下のように変更することができる。なお、各変更例を適宜組み合わせて適用することもできる。
(Example of change)
The above embodiment can be modified as follows. In addition, it can also apply combining each modification example suitably.

・ロボットRの態様は上記各実施形態のものに限らない。例えば、各可動部材C2〜C8の数は7つに限らず、6つ以下でも8つ以上でもよい。また、各可動部材C2〜C8は、旋回動作するものに限らず、例えばスライド移動するものであってもよい。   The aspect of the robot R is not limited to that of the above embodiments. For example, the number of movable members C2 to C8 is not limited to seven, and may be six or less or eight or more. Further, the movable members C2 to C8 are not limited to those that perform a turning operation, and may be those that slide, for example.

・モータエンコーダ12及び減速機エンコーダ13は、各出力軸の回転角度を検出できるのであれば、インクリメントエンコーダに限らない。例えば、モータエンコーダ12及び減速機エンコーダ13として、アブソリュートエンコーダを適用してもよい。   The motor encoder 12 and the speed reducer encoder 13 are not limited to the increment encoder as long as the rotation angle of each output shaft can be detected. For example, an absolute encoder may be applied as the motor encoder 12 and the reduction gear encoder 13.

・サーボモータ10の出力軸10aに対して、複数の減速機が直列的に接続されていてもよい。例えば、サーボモータ10の出力軸10aに第1の減速機が接続され、第1の減速機の出力軸に第2の減速機が接続されていてもよい。この場合、第2の減速機の出力軸の回転を減速機エンコーダで検出すれば、第1及び第2の減速機全体の出力軸の回転角度とモータ回転角度αとのずれを検出することができる。   A plurality of speed reducers may be connected in series to the output shaft 10a of the servo motor 10. For example, a first speed reducer may be connected to the output shaft 10a of the servo motor 10, and a second speed reducer may be connected to the output shaft of the first speed reducer. In this case, if the rotation of the output shaft of the second speed reducer is detected by the speed reducer encoder, a deviation between the rotation angle of the output shaft of the first and second speed reducers and the motor rotation angle α can be detected. it can.

・上記実施形態では、モータ回転角度αの1パルス分(数値「1」分)がサーボモータ10の出力軸10aの回転角度1°に相当するものとして説明したが、これはあくまでも説明上の例示である。一般的には、例えば、モータ回転角度αの数十〜数百パルス分がサーボモータ10の出力軸10aの回転角度1°に相当することが多い。もちろん、実施形態で例示したように、モータ回転角度αの1パルス分(数値「1」分)がサーボモータ10の出力軸10aの回転角度1°に相当することもありえる。   In the embodiment described above, one pulse of the motor rotation angle α (numerical value “1”) corresponds to the rotation angle 1 ° of the output shaft 10a of the servo motor 10. However, this is merely an illustrative example. It is. In general, for example, several tens to several hundreds of pulses of the motor rotation angle α often correspond to a rotation angle of 1 ° of the output shaft 10 a of the servo motor 10. Of course, as exemplified in the embodiment, one pulse (numerical value “1”) of the motor rotation angle α may correspond to the rotation angle 1 ° of the output shaft 10 a of the servo motor 10.

・全ての可動部材C2〜C8に対応して補正角度Δ(補正テーブル)を記憶しなくてもよい。例えば、可動部材C2〜C8の位置やサーボモータ及び減速機の構成によっては、モータ回転角度αと減速機回転角度β1との間にずれが生じにくい場合もある。このような可動部材については、補正角度Δ(補正テーブル)を記憶せず目標回転角度θ1の補正を行わなくても構わない。   The correction angle Δ (correction table) may not be stored corresponding to all the movable members C2 to C8. For example, depending on the positions of the movable members C2 to C8 and the configurations of the servo motor and the speed reducer, there may be a case where a deviation is not easily generated between the motor rotation angle α and the speed reducer rotation angle β1. For such a movable member, the correction angle Δ (correction table) may not be stored and the target rotation angle θ1 may not be corrected.

・第1補正テーブルT1及び第2補正テーブルT2のうちいずれか一方のみが、ロボット制御装置RCにおける記憶部25に記憶されていてもよい。教示プログラムPに従ってロボットRを動作させることが大半であれば、第2補正テーブルT2を記憶させなくてもよいし、逆に教示プログラムPに従って動作させることが少ないのであれば、第1補正テーブルT1を記憶させなくてもよい。すなわち、制御対象となるロボットRの動作態様に応じて記憶するべき補正テーブルを決定すればよい。   Only one of the first correction table T1 and the second correction table T2 may be stored in the storage unit 25 in the robot control device RC. If the robot R is mostly operated according to the teaching program P, the second correction table T2 may not be stored. Conversely, if the robot R is rarely operated according to the teaching program P, the first correction table T1 is not necessary. May not be stored. That is, a correction table to be stored may be determined according to the operation mode of the robot R to be controlled.

・教示プログラムPに従ってロボットRを動作させている場合であっても、第2補正テーブルT2として記憶されている補正角度Δを用いて、目標回転角度θ1を補正してもよい。   Even when the robot R is operated according to the teaching program P, the target rotation angle θ1 may be corrected using the correction angle Δ stored as the second correction table T2.

・複数の教示プログラムPがロボット制御装置RCにおける記憶部25に記憶されている場合において、全ての教示プログラムPそれぞれに対応して第1補正テーブルT1を記憶させてもよいし、複数の教示プログラムPのうちの一部に対応して第1補正テーブルT1を記憶させてもよい。   When a plurality of teaching programs P are stored in the storage unit 25 in the robot controller RC, the first correction table T1 may be stored corresponding to each of all the teaching programs P, or a plurality of teaching programs The first correction table T1 may be stored corresponding to a part of P.

・補正角度Δをロボット制御装置RCの記憶部25に記憶させる場合において、その記憶態様は、上で例示した補正テーブルの態様に限らない。例えば、モータ回転角度αの変化と補正角度Δの変化との関係に規則性があるのであれば、その規則性を数式として記憶していてもよい。このように数式を記憶した場合でも、モータ回転角度αと補正角度Δとは関連付けられているといえる。   In the case where the correction angle Δ is stored in the storage unit 25 of the robot controller RC, the storage mode is not limited to the correction table mode illustrated above. For example, if the relationship between the change in the motor rotation angle α and the change in the correction angle Δ has regularity, the regularity may be stored as an equation. Even when mathematical expressions are stored in this way, it can be said that the motor rotation angle α and the correction angle Δ are associated with each other.

・第2補正テーブルT2の算出処理において、第1アームC3の旋回範囲は適宜変更できる。第1アームC3を旋回駆動させた場合に、各可動部材が他の装置や地面等に干渉しない範囲内、ロボットRに接続されているケーブル類に無理な応力がかからない範囲内で適宜設定すればよい。   In the calculation process of the second correction table T2, the turning range of the first arm C3 can be changed as appropriate. If the first arm C3 is driven to turn, it can be set as appropriate as long as each movable member does not interfere with other devices, the ground, etc., and within a range in which excessive stress is not applied to the cables connected to the robot R. Good.

・第2補正テーブルT2の算出処理において、対象となっている可動部材以外の可動部材が移動される基準位置は適宜設定できる。例えば、第1アームC3を旋回させた場合に、可動部材が地面等に干渉しない位置を基準位置にしてもよい。また、基準位置を設定しないことも可能である。なお、基準位置を設定しない場合、第2補正テーブルT2の算出処理毎に各可動部材の位置や姿勢が異なることもあり得るが、各可動部材の重量に起因して減速機等に変形が生じにくいのであれば、特に問題は生じない。   In the calculation process of the second correction table T2, a reference position where a movable member other than the target movable member is moved can be set as appropriate. For example, when the first arm C3 is turned, a position where the movable member does not interfere with the ground or the like may be set as the reference position. It is also possible not to set the reference position. If the reference position is not set, the position and posture of each movable member may be different for each calculation process of the second correction table T2, but the reduction gear or the like is deformed due to the weight of each movable member. If it is difficult, there will be no problem.

・上記実施形態における第1補正テーブルT1及び第2補正テーブルT2において、モータ回転角度αの単位角度は適宜変更できる。例えば、第1補正テーブルT1において10パルス毎にモータ回転角度α及び補正角度Δを記憶してもよいし、第2補正テーブルT2において1パルス毎にモータ回転角度α及び補正角度Δを記憶してもよい。また、単位角度は一定である必要はなく、途中で変更することもできる。例えば、第1補正テーブルT1において、溶接トーチC9の先端位置が点Aから点Bまでの範囲では1パルス毎にモータ回転角度α及び補正角度Δを記憶し、点Bから点Cまでの範囲では10パルス毎にモータ回転角度α及び補正角度Δを記憶してもよい。   In the first correction table T1 and the second correction table T2 in the above embodiment, the unit angle of the motor rotation angle α can be changed as appropriate. For example, the motor rotation angle α and the correction angle Δ may be stored for every 10 pulses in the first correction table T1, or the motor rotation angle α and the correction angle Δ for each pulse may be stored in the second correction table T2. Also good. Further, the unit angle need not be constant and can be changed in the middle. For example, in the first correction table T1, the motor rotation angle α and the correction angle Δ are stored for each pulse when the tip position of the welding torch C9 is in the range from point A to point B, and in the range from point B to point C. The motor rotation angle α and the correction angle Δ may be stored every 10 pulses.

・上記実施形態では、補正テーブルの算出処理と目標回転角度の補正処理とを分けて説明したが、これらが同時に行われることもある。例えば、教示プログラムPに従ってロボットRを動作させる際、既にロボット制御装置RCの記憶部25に記憶されている第1補正テーブルT1を使用して目標回転角度θ1を補正する。これと同時に、モータ回転角度αと減速機回転角度β1とのずれを補正角度Δとして算出して新たな第1補正テーブルT1を記憶する。このようにすれば、教示プログラムPに従って繰り返し同じ動作をロボットRに行わせる場合において、前回以前の動作で記憶した第1補正テーブルT1で目標回転角度θ1を補正しつつ、次回以降にロボットRを動作させる際に使用できる新たな第1補正テーブルT1を記憶できる。   In the above-described embodiment, the correction table calculation process and the target rotation angle correction process have been described separately, but these may be performed simultaneously. For example, when the robot R is operated according to the teaching program P, the target rotation angle θ1 is corrected using the first correction table T1 already stored in the storage unit 25 of the robot controller RC. At the same time, the difference between the motor rotation angle α and the reduction gear rotation angle β1 is calculated as the correction angle Δ, and a new first correction table T1 is stored. In this way, in the case where the robot R repeatedly performs the same operation according to the teaching program P, the robot R is operated after the next time while correcting the target rotation angle θ1 with the first correction table T1 stored in the previous operation. A new first correction table T1 that can be used when operating is stored.

(技術思想の追記)
上記実施形態及び変更例から導き出せる技術思想を以下に追記する。
・指令生成部は、教示プログラムに基づかずに目標回転角度を設定する場合には、第2補正データとして記憶されている補正角度で目標回転角度を補正する。
(Addition of technical thought)
The technical ideas that can be derived from the above-described embodiments and modified examples are added below.
The command generation unit corrects the target rotation angle with the correction angle stored as the second correction data when setting the target rotation angle without being based on the teaching program.

・ロボットは複数の可動部材を有し、第1補正データ及び第2補正データは、可動部材毎に記憶部に記憶されている。   The robot has a plurality of movable members, and the first correction data and the second correction data are stored in the storage unit for each movable member.

R…多関節型ロボット、RC…ロボット制御装置、20…主制御部、21…演算部、22…指令生成部、23…算出部、25…記憶部、P…教示プログラム、T1…第1補正テーブル、T2…第2補正テーブル、S1…位置指令、α…モータ回転角度、β1…減速機回転角度、β2…換算角度、Δ…補正角度。   R ... Articulated robot, RC ... Robot control device, 20 ... Main control unit, 21 ... Calculation unit, 22 ... Command generation unit, 23 ... Calculation unit, 25 ... Storage unit, P ... Teaching program, T1 ... First correction Table, T2 ... second correction table, S1 ... position command, .alpha .... motor rotation angle, .beta.1 ... speed reducer rotation angle, .beta.2 ... converted angle, .DELTA.

Claims (2)

サーボモータの出力軸が減速機に駆動連結され、当該減速機の出力軸の回転に応じて可動部材が駆動するロボットを制御するためのロボット制御装置であって、
前記サーボモータの出力軸を回転させるための目標回転角度を設定し、当該目標回転角度に基づいて位置指令を生成する指令生成部と、
前記位置指令に応じて回転した前記サーボモータにおける出力軸の回転角度を示すモータ回転角度と、前記位置指令に応じて回転した前記減速機における出力軸の回転角度を示す減速機回転角度との間のずれを示す補正角度を算出する算出部と、
算出した前記補正角度及び当該補正角度を算出したときの前記モータ回転角度を関連付けて記憶する記憶部とを備え、
前記記憶部には、前記可動部材を第1動作位置から第2動作位置まで駆動させるための教示プログラムが記憶されており、
前記算出部は、前記可動部材を前記教示プログラムに従って第1動作位置に位置させたときのモータ回転角度から前記可動部材を第2動作位置に位置させたときのモータ回転角度までの第1角度範囲において、単位角度ごとに前記補正角度を算出し、
前記記憶部は、第1角度範囲において単位角度ごとに算出した補正角度を、前記教示プログラムに関連付けて第1補正データとして記憶し、
前記指令生成部は、前記教示プログラムに基づいて目標回転角度を新たに設定した場合に、前記記憶部に第1補正データとして記憶されている当該目標回転角度に対応する補正角度で目標回転角度を補正し、補正後の目標回転角度に基づいて前記位置指令を生成する
ことを特徴とするロボット制御装置。
A robot control device for controlling a robot, in which an output shaft of a servo motor is drivingly connected to a speed reducer, and a movable member is driven in accordance with rotation of the output shaft of the speed reducer,
A command generation unit that sets a target rotation angle for rotating the output shaft of the servo motor and generates a position command based on the target rotation angle;
Between the motor rotation angle indicating the rotation angle of the output shaft in the servomotor rotated in response to the position command and the reduction gear rotation angle indicating the rotation angle of the output shaft in the reduction gear rotated in response to the position command A calculation unit for calculating a correction angle indicating a deviation of
A storage unit that associates and stores the calculated correction angle and the motor rotation angle when the correction angle is calculated;
The storage unit stores a teaching program for driving the movable member from the first operation position to the second operation position,
The calculation unit includes a first angle range from a motor rotation angle when the movable member is positioned at the first operation position according to the teaching program to a motor rotation angle when the movable member is positioned at the second operation position. And calculating the correction angle for each unit angle,
The storage unit stores the correction angle calculated for each unit angle in the first angle range as first correction data in association with the teaching program,
When the command generation unit newly sets a target rotation angle based on the teaching program , the command generation unit sets the target rotation angle at a correction angle corresponding to the target rotation angle stored as the first correction data in the storage unit. A robot control device that corrects and generates the position command based on the corrected target rotation angle.
複数の前記可動部材を備え、
前記算出部は、単一の可動部材を所定の可動範囲に亘って駆動させたときのモータ回転角度の範囲である第2角度範囲において、他の可動部材を停止させた状態で、前記モータ回転角度の単位角度ごとに補正角度を算出し、
前記記憶部は、第2角度範囲において単位角度ごとに算出した補正角度を第2補正データとして記憶し、
前記指令生成部は、目標回転角度を新たに設定した場合に、当該目標回転角度に対応するモータ回転角度が前記記憶部に前記第2補正データとして記憶されている場合には、当該モータ回転角度に関連付けられた補正角度で目標回転角度を補正し、補正後の目標回転角度に基づいて前記位置指令を生成する
ことを特徴とする請求項1に記載のロボット制御装置。
Comprising a plurality of the movable members;
The calculation unit rotates the motor while stopping other movable members in a second angle range that is a range of a motor rotation angle when a single movable member is driven over a predetermined movable range. Calculate the correction angle for each unit angle of the angle,
The storage unit stores a correction angle calculated for each unit angle in the second angle range as second correction data ,
When the command generation unit newly sets a target rotation angle, and the motor rotation angle corresponding to the target rotation angle is stored as the second correction data in the storage unit, the motor rotation angle 2. The robot control device according to claim 1 , wherein the target rotation angle is corrected with a correction angle associated with, and the position command is generated based on the corrected target rotation angle .
JP2015255305A 2015-12-25 2015-12-25 Robot controller Active JP6576824B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015255305A JP6576824B2 (en) 2015-12-25 2015-12-25 Robot controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015255305A JP6576824B2 (en) 2015-12-25 2015-12-25 Robot controller

Publications (2)

Publication Number Publication Date
JP2017113867A JP2017113867A (en) 2017-06-29
JP6576824B2 true JP6576824B2 (en) 2019-09-18

Family

ID=59232869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015255305A Active JP6576824B2 (en) 2015-12-25 2015-12-25 Robot controller

Country Status (1)

Country Link
JP (1) JP6576824B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7185495B2 (en) * 2018-11-05 2022-12-07 ナブテスコ株式会社 REDUCER SYSTEM, METHOD OF CORRECTION OF COMMAND VALUE TO DRIVE UNIT, METHOD OF GENERATING CORRECTION DATA, AND METHOD OF MANUFACTURING REDUCER SYSTEM
JP6966788B2 (en) * 2019-01-07 2021-11-17 小西模型株式会社 Synchronous method when controlling the same blade using multiple actuators
WO2021152697A1 (en) * 2020-01-28 2021-08-05 株式会社Fuji Control device, control method, information processing device, and information processing method
CN114268246B (en) * 2021-12-29 2024-02-06 苏州汇川控制技术有限公司 Motor control method, device, system and computer readable storage medium

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60118478A (en) * 1983-11-30 1985-06-25 株式会社日立製作所 Controller for position of joint type robot
JPS6190205A (en) * 1984-10-09 1986-05-08 Komatsu Ltd Compensating method of absolute positioning error of robot
JPS62157790A (en) * 1985-12-28 1987-07-13 株式会社小松製作所 Method of compensating deflection of robot arm
JP2692043B2 (en) * 1987-03-28 1997-12-17 川崎重工業株式会社 How to create robot teaching data
JPH0619002U (en) * 1992-08-14 1994-03-11 株式会社明電舎 Robot arm controller
JPH07100781A (en) * 1993-10-05 1995-04-18 Ricoh Co Ltd Articulated robot
JP2771458B2 (en) * 1994-07-19 1998-07-02 株式会社不二越 Industrial robot deflection correction method
JP2004299010A (en) * 2003-03-31 2004-10-28 Fanuc Ltd Deflection correction device and deflection correction method
JP2005052913A (en) * 2003-07-31 2005-03-03 Nachi Fujikoshi Corp Robot controller
JP5488494B2 (en) * 2011-02-23 2014-05-14 株式会社安川電機 Robot system
JP5961021B2 (en) * 2012-03-30 2016-08-02 株式会社デンソーウェーブ Robot control system
JP6053424B2 (en) * 2012-09-25 2016-12-27 キヤノン株式会社 Robot apparatus, robot control method, program, and recording medium
JP6383146B2 (en) * 2013-12-04 2018-08-29 株式会社ダイヘン Accuracy acquisition device

Also Published As

Publication number Publication date
JP2017113867A (en) 2017-06-29

Similar Documents

Publication Publication Date Title
JP6504864B2 (en) Robot control method, robot apparatus, program, recording medium, and article manufacturing method
JP6576824B2 (en) Robot controller
JP5774223B2 (en) Robot control apparatus and robot control method
JP5946859B2 (en) Robot control device and robot system for robots that move according to force
JP6584102B2 (en) Robot apparatus, robot control method, program, recording medium, and article manufacturing method
JPWO2017064851A1 (en) Robot teaching method and robot arm control device
JP2016027951A (en) Robot device control method and robot device
JP6153316B2 (en) Robot system and control method of robot system
JP5531996B2 (en) 6-axis robot offset detection method
JP2011212823A (en) Device and method of identifying robot arm positional correction parameter, and device and method of controlling robot using the same
JP2010238174A (en) Positioning device and positioning method
JP2018192578A (en) Speed reducer angular transmission error identification system and speed reducer angular transmission error identification method
US11660746B2 (en) Separate moving and positioning modes for a robot, method providing separate moving and positioning modes for the robot, method of manufacturing a product, and a recording medium
US20210146536A1 (en) Angular transmission error identification system, angular transmission error identification method, and robot system
JP2012051043A (en) Robot system or robot control device
KR20130122899A (en) Robot control device and control method
JP5433304B2 (en) Robot control apparatus and method
JP4960589B2 (en) Robot control apparatus and robot control method
JP4970492B2 (en) Articulated robot
JP6814441B2 (en) Learning control device and learning control method for drive machines
JPS60118478A (en) Controller for position of joint type robot
JP5343725B2 (en) Robot controller
JP2006231391A (en) Apparatus for bending long-size material
JP3636952B2 (en) Numerical controller
WO2022163536A1 (en) Displacement detecting sensor, control device, and control system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180509

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190522

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190821

R150 Certificate of patent or registration of utility model

Ref document number: 6576824

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250