JPH11134012A - Robot with track error correcting function - Google Patents

Robot with track error correcting function

Info

Publication number
JPH11134012A
JPH11134012A JP30982497A JP30982497A JPH11134012A JP H11134012 A JPH11134012 A JP H11134012A JP 30982497 A JP30982497 A JP 30982497A JP 30982497 A JP30982497 A JP 30982497A JP H11134012 A JPH11134012 A JP H11134012A
Authority
JP
Japan
Prior art keywords
robot
error
axis
moment
operation program
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.)
Pending
Application number
JP30982497A
Other languages
Japanese (ja)
Inventor
Tetsuro Kato
哲朗 加藤
Souichi Arita
創一 有田
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP30982497A priority Critical patent/JPH11134012A/en
Publication of JPH11134012A publication Critical patent/JPH11134012A/en
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To obtain a robot capable of correcting a track in reproducing operation by an operation program generated without considering the effect of gravitation. SOLUTION: Error corrections of respective axial position command values as outputs based upon a normal function as the CNC of a robot controller are made. Error correction quantities are found by interpolation cycles from the attitude of the robot and the relational expression of the axial moments and error quantities. The addition of the correction quantities is done after filtering. The transfer function of the filter is represented as 1/(K*(A/K*S+1)) (A: coefficient of dynamic friction, K: spring constant). Filtered commands are inputted for servocontrol to perform the servocontrol based upon the corrected position commands as inputs, thereby compensating track errors caused under the effect of the deflection of an arm, the strain of a rotary mechanism part, and play of a backlash, clearance, etc., due to the moment of gravitation and a force of inertia.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は産業用ロボット(以
下、単に「ロボット」と言う。)に関し、更に詳しく言
えば、重力等の影響によって生じる軌跡誤差を補正する
機能を備えたロボットに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an industrial robot (hereinafter simply referred to as "robot"), and more particularly, to a robot having a function of correcting a trajectory error caused by the influence of gravity or the like.

【0002】[0002]

【従来の技術】例えばロボットにオフライン教示を行
い、それに基づいて再生動作を行なった場合、重力モー
メントや慣性力によるアームの撓み、減速機を含む回転
機構部の弾性的な歪みやバックラッシュのガタ、遊び等
の影響により、コンピュータ上のロボットモデルと実際
のロボットの差異を反映した軌跡誤差が生じる。即ち、
オフラインで作成された動作プログラムに指定された教
示点の位置と実際のロボット先端位置(通常はツール先
端点の位置)の間にずれが生じる。
2. Description of the Related Art For example, when an off-line teaching is performed to a robot and a reproducing operation is performed based on the off-line teaching, a bending of an arm due to a gravitational moment or an inertial force, an elastic distortion of a rotating mechanism including a speed reducer, and a backlash play. A trajectory error that reflects the difference between the robot model on the computer and the actual robot occurs due to the effects of play, play, and the like. That is,
A deviation occurs between the position of the teaching point specified in the off-line created operation program and the actual robot tip position (usually the position of the tool tip point).

【0003】従来は、これを補正するため、オフライン
教示の再生運転を行なってロボットを教示点あるいはそ
の近傍まで移動させ、更にロボット先端位置の調整(細
かいジョグ送り)を行ない、実際に希望する位置がロボ
ットに教示されるように教示点の位置データの修正を行
なうことが通例であった。しかし、このような教示点位
置修正の作業は、多大な時間とロボット操作の熟練を要
し、作業者にとって大きな負担となっていた。
Conventionally, in order to compensate for this, a playback operation of offline teaching is performed to move the robot to or near the teaching point, and further, the tip position of the robot is adjusted (fine jog feed) to obtain the actual desired position. It is customary to correct the position data of the teaching point so that the robot is taught by the robot. However, such a work of correcting the teaching point position requires a great deal of time and skill in robot operation, and places a heavy burden on the operator.

【0004】また、この方法では、教示点間の軌跡につ
いて上記誤差を減殺する効果を確実に期待することは出
来ない。何故ならば、重力の影響等の要因は教示点間の
軌跡上の諸点でロボット姿勢に応じて様々に変化する
が、教示点修正に伴うプログラム上の経路修正では、そ
のように変動する要因で発生する軌跡誤差を補正するに
は不十分(粗い)と考えられるからである。
Further, in this method, the effect of reducing the above-described error in the trajectory between the teaching points cannot be reliably expected. This is because factors such as the influence of gravity change variously depending on the robot posture at various points on the trajectory between the teaching points. This is because it is considered to be insufficient (coarse) to correct the generated trajectory error.

【0005】[0005]

【発明が解決しようとする課題】そこで、本発明の目的
は、教示点間の軌跡に関しても、上記重力の影響等の要
因で発生する軌跡誤差を積極的に補正する機能を備えた
ロボットを提供することにある。また、そのことを通し
てロボットを操作する作業者の負担を軽減し、作業の効
率を改善することにある。
SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a robot having a function of positively correcting a trajectory error generated due to the above-mentioned influence of gravity or the like even with respect to a trajectory between teaching points. Is to do. Another object of the present invention is to reduce the burden on the operator who operates the robot and to improve the work efficiency.

【0006】[0006]

【課題を解決するための手段】本発明は、上記課題を解
決するために、動作プログラムの再生運転時に、少なく
とも一つのロボット軸について、動作プログラムに基づ
いて作成された指令を補正してサーボ制御系へ渡すよう
にしたものである。その際の補正は、少なくとも前記ロ
ボット軸にかかる重力モーメントによって発生する誤差
を補償する。
SUMMARY OF THE INVENTION In order to solve the above-mentioned problems, the present invention corrects a servo control by correcting a command created based on an operation program for at least one robot axis during a reproduction operation of the operation program. It is intended to be passed to the system. The correction at that time compensates for at least an error generated by the gravitational moment applied to the robot axis.

【0007】本発明の好ましい形態においては、ロボッ
トの姿勢に応じて変化するモーメントが少なくとも一つ
のロボット軸について計算され、更に、モーメントと誤
差発生量を記述する関係を用いて前記少なくとも一つの
ロボット軸について誤差量が求められる。
In a preferred embodiment of the present invention, a moment that changes according to the posture of the robot is calculated for at least one robot axis, and further, the at least one robot axis is calculated using a relationship that describes the moment and the amount of error. An error amount is obtained for.

【0008】モーメントと誤差量を記述する関係にヒス
テリシスが存在する場合には、誤差量の計算時にトルク
0の通過時の符号方向性に応じて前記ヒステリシスに関
連した関係選択がなされる。また、サーボ制御系へ指令
を渡す際には、誤差補正を行なうロボット軸について、
動摩擦と弾性を考慮したフィルタリングが施されること
が好ましい。
If there is hysteresis in the relationship describing the moment and the error amount, a relationship related to the hysteresis is selected at the time of calculating the error amount according to the sign directionality when the torque 0 passes. When a command is passed to the servo control system,
It is preferable to perform filtering in consideration of dynamic friction and elasticity.

【0009】補正される誤差には、重力モーメントによ
るアームの撓みの他に、慣性力によるアームの撓み、回
転機構部のバックラッシュのガタ、遊び等の影響により
生じる誤差を含ませることも可能である。
The error to be corrected can include, besides the bending of the arm due to the gravitational moment, the error caused by the bending of the arm due to inertial force, the backlash of the rotating mechanism, the play, and the like. is there.

【0010】本発明によれば、重力の影響で生じる誤差
が考慮されていない動作プログラムの再生運転につい
て、重力に起因した回転機構部の歪み、アームの撓み、
あるいはそれに加えて慣性力によるアームの撓み、回転
機構部のバックラッシュのガタ、遊び等の影響に由来す
る軌跡誤差が、リアルタイムで自動的に補正される。
According to the present invention, regarding the reproduction operation of the operation program in which the error caused by the influence of gravity is not taken into consideration, the distortion of the rotating mechanism, the bending of the arm,
Alternatively, in addition to the above, the trajectory error caused by the influence of the bending of the arm due to the inertial force, the backlash of the rotating mechanism, the play, and the like is automatically corrected in real time.

【0011】[0011]

【発明の実施の形態】図1は、本発明が適用されるロボ
ットを含むシステムのハードウェア構成を例示した要部
ブロック図である。同図に示したように、全体を符号3
0で指示したロボット制御装置は、負荷重量物10をア
ーム先端部1に取り付けたロボットRBを制御する。ロ
ボット先端の位置を代表する点であるツール先端点TC
Pは、負荷重量物10の付近に設定されている。
DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a main block diagram illustrating the hardware configuration of a system including a robot to which the present invention is applied. As shown in FIG.
The robot controller designated by “0” controls the robot RB in which the load heavy object 10 is attached to the arm tip 1. Tool tip point TC representing the position of the robot tip
P is set near the load heavy object 10.

【0012】ロボット制御装置30はホストCPU3
1、共有RAM32、サーボCPU33、サーボアンプ
34、メモリ35、教示操作盤用インターフェイス36
並びに一般外部装置用の入出力装置38を備えている。
メモリ35は、システムプログラムが格納されたRO
M、データの一時記憶用のRAM、及びロボットRBの
動作を定めた各種プログラムデータを格納した不揮発性
メモリを含んでいる。
The robot controller 30 has a host CPU 3
1. Shared RAM 32, servo CPU 33, servo amplifier 34, memory 35, teaching operation panel interface 36
Also, an input / output device 38 for a general external device is provided.
The memory 35 stores the RO in which the system program is stored.
M, a RAM for temporarily storing data, and a non-volatile memory for storing various program data defining the operation of the robot RB.

【0013】教示操作盤用インターフェイス36に接続
された教示操作盤37は、プログラムデータの入力、修
正、登録や、手動送り(ジョグ送り)指令、再生運転指
令等のマニュアル入力に利用される。また、外部装置用
入出力装置38にはオフラインプログラミング装置40
の他、アプリケーションに応じた各種外部装置(例え
ば、溶接ロボットであれば溶接用電力電源装置など)が
接続される。
The teaching operation panel 37 connected to the teaching operation panel interface 36 is used for inputting, correcting, and registering program data, and for manual input of a manual feed (jog feed) command, a regeneration operation command, and the like. The input / output device 38 for the external device has an offline programming device 40.
In addition, various external devices (for example, a welding power supply device in the case of a welding robot) are connected according to the application.

【0014】再生運転あるいは手動送り(ジョグ送り)
の実行時には、ホストCPU31はロボットRBの各軸
に対する移動指令を作成し、誤差補正を行なった上で共
有RAM32へ出力する。サーボCPU33はこれを短
周期で読み出し、ロボット各軸の位置検出器(パルスコ
ーダ)から送られてくる位置信号(フィードバック)信
号に基づいてサーボ処理を実行し、各軸のサーボアンプ
34に電流指令を出力し、ロボット各軸のサーボモータ
を駆動する。
Regeneration operation or manual feed (jog feed)
At the time of execution, the host CPU 31 creates a movement command for each axis of the robot RB, corrects the error, and outputs it to the shared RAM 32. The servo CPU 33 reads this out in a short cycle, executes servo processing based on a position signal (feedback) signal sent from a position detector (pulse coder) of each axis of the robot, and sends a current command to the servo amplifier 34 of each axis. Output and drive the servo motor of each axis of the robot.

【0015】また、サーボCPU33はロボット各軸の
位置検出器(パルスコーダ)から送られてくる位置信号
(フィードバック)信号に基づいてロボット各軸の現在
位置を周期的に共有RAM32に書き込む。
The servo CPU 33 periodically writes the current position of each axis of the robot to the shared RAM 32 based on a position signal (feedback) signal sent from a position detector (pulse coder) of each axis of the robot.

【0016】ここで重要なことは、各軸に対する移動指
令に対して本発明の特徴に従った誤差補正が行なわれる
ことであり、その他の構成と機能については通常のロボ
ットシステムのそれと特に変わらない。なお、誤差補正
を行なうための処理を定めたプログラムデータ及び関連
設定値は、予めメモリ35に格納される。
What is important here is that an error correction according to the features of the present invention is performed on a movement command for each axis, and other configurations and functions are not particularly different from those of a normal robot system. . It should be noted that the program data defining the processing for performing the error correction and the related set values are stored in the memory 35 in advance.

【0017】また、重力の影響等が考慮されていない動
作プログラムとしては、オフラインプログラミング装置
40上で作成され、ロボット制御装置30に転送された
オフラインプログラムを考える。以下、ロボット制御装
置30に転送されたオフラインプログラムの再生運転時
に行なう誤差補正に関して、順を追って説明する。
As an operation program in which the influence of gravity or the like is not considered, an off-line program created on the off-line programming device 40 and transferred to the robot control device 30 is considered. Hereinafter, error correction performed during the reproduction operation of the offline program transferred to the robot control device 30 will be described step by step.

【0018】本発明が、軌跡上で除去しようとする誤差
は、各軸で駆動されるアームの撓み、回転機構部の歪み
あるいはバックラッシュのガタ、遊び等に由来するもの
であるが、これら誤差要因は、各軸にかかるモーメント
の大きさにほぼ依存しているものと考えられる。そこ
で、各軸で生じる誤差の大きさを評価するための前提と
して、モーメントの大きさと、それによって発生する誤
差量との関係をなんらかの形でロボット制御装置30に
予め与えておく。
The errors to be eliminated on the trajectory by the present invention are derived from bending of the arm driven by each axis, distortion of the rotating mechanism, backlash play, play, and the like. It is considered that the factor substantially depends on the magnitude of the moment applied to each axis. Therefore, as a premise for evaluating the magnitude of the error generated in each axis, the relationship between the magnitude of the moment and the amount of error generated thereby is given to the robot controller 30 in some form in advance.

【0019】2つの変量の関係をロボットに記憶させる
方法には、一般に種々のものが知られている。従って、
2つの変量をモーメントと誤差として、それら方法を適
宜利用すれば良い。ここでは、例として、(1)実測に
基づくモーメント−誤差関係の記憶、(2)強いばねと
弱いばねを組み合わせたモデルに基づくモーメント−誤
差関係の記憶、について簡単に説明する。
There are generally known various methods for storing the relationship between two variables in a robot. Therefore,
The two variables may be used as a moment and an error, and these methods may be appropriately used. Here, as an example, (1) storage of a moment-error relationship based on actual measurement and (2) storage of a moment-error relationship based on a model combining a strong spring and a weak spring will be briefly described.

【0020】(1)実測の基づくモーメント−誤差関係
の記憶 図2は、ロボットの1つの軸(例えば第3軸)につい
て、モーメント−誤差関係を表わしたグラフの一例であ
る。横軸はモーメントをkgm単位で表わしており、縦
軸はその軸で駆動されるアーム(機体部分)に発生する
誤差量を分単位の角度で表わしている。一般に、モーメ
ントと誤差の関係にはヒステリシスが存在することが知
られており、本グラフもそれを前提に作成されている。
(1) Storage of Moment-Error Relationship Based on Actual Measurement FIG. 2 is an example of a graph showing the moment-error relationship for one axis (for example, the third axis) of the robot. The abscissa represents the moment in kgm unit, and the ordinate represents the amount of error generated in the arm (body portion) driven by the axis in the unit of minute. In general, it is known that there is hysteresis in the relationship between the moment and the error, and this graph is also created based on this.

【0021】図示されているように、グラフ全体は、モ
ーメント=0の状態からの初期推移を表わす部分h0
と、モーメントが負から正へ向かう方向へ変化する場合
の特性を表わす部分h+ と、モーメントが正から負へ向
かう方向へ変化する場合の特性を表わす部分h- から構
成されている。
As shown, the entire graph has a portion h0 representing an initial transition from the moment = 0 state.
And a part h + representing the characteristic when the moment changes from negative to positive, and a part h- representing the characteristic when the moment changes from positive to negative.

【0022】各部分h0 、h- 、h+ に沿って分布して
いる×印は実測で得られたデータを表わしており、h0
、h- 、h+ はそれらデータから公知の推定法(例え
ば最小2乗近似)に従って作成される。×印で示した実
測データは、各軸アームの先端部に既知の力を掛け、そ
れに伴う各軸アームの先端部の変位を角度で計測するこ
とで得られる。
The crosses distributed along the respective portions h0, h- and h + represent data obtained by actual measurement.
, H−, h + are created from the data according to a known estimation method (for example, least square approximation). The measured data indicated by the crosses is obtained by applying a known force to the tip of each axis arm and measuring the resulting displacement of the tip of each axis arm at an angle.

【0023】各部分h0 、h- 、h+ の内、実際に使用
されるのは通常h- とh+ であるから、h- 、h+ のデ
ータをロボット制御装置30に入力すれば良い。h- 、
h+のデータ形式には種々のものが考えられる。例え
ば、h- 、h+ を近似表現する関数式のパラメータ(例
えば多項式近似における係数と定数項、あるいは折れ線
関数を規定する諸パラメータなど)や、h- 、h+ を数
値テーブル化したものが考えられる。
Of the parts h0, h-, and h +, those actually used are usually h- and h +, so that the data of h- and h + may be input to the robot controller 30. h-,
There are various data formats for h +. For example, parameters of a function expression (for example, a coefficient and a constant term in polynomial approximation or various parameters defining a line function) approximated to h− and h +, and numerical tables of h− and h + are considered. Can be

【0024】いずれにしても、各軸について、これらモ
ーメント−誤差関係のデータがロボット制御装置30に
予め入力される。なお、誤差補正を一部の軸(例えば、
誤差が大きくなり易い第2軸と第3軸)についてのみ適
用する場合には、モーメント−誤差関係のデータは、そ
れら軸のみについて用意すれば良いことは言うまでもな
い(形式的に誤差=0の恒等関数を設定しても良い)。
In any case, the moment-error data for each axis is input to the robot controller 30 in advance. Note that error correction is performed on some axes (for example,
In the case of applying only to the second axis and the third axis in which the error is likely to be large, it is needless to say that the moment-error relationship data need only be prepared for only those axes (formally, the error = 0). You may set an equal function).

【0025】(2)強弱ばねの組み合わせモデルに基づ
くモーメント−誤差関係の記憶 図3は、図2と同様の形式でロボットの1つの軸(例え
ば第3軸)について、モーメント−誤差関係を表わした
グラフの別の例である。横軸はモーメントをkgm単位
で表わしており、縦軸はその軸で駆動されるアーム(機
体部分)に発生する誤差量を分単位の角度で表わしてい
る。
(2) Storage of Moment-Error Relationship Based on Combination Model of Strong and Weak Springs FIG. 3 shows the moment-error relationship for one axis (for example, the third axis) of the robot in the same manner as in FIG. It is another example of a graph. The abscissa represents the moment in kgm unit, and the ordinate represents the amount of error generated in the arm (body portion) driven by the axis in the unit of minute.

【0026】本グラフに相当するデータは、ロボットの
減速機を含む回転機構部の機械的な特性を表わす仕様の
一部として用意されることが多い。本例は、強弱ばねの
組み合わせモデルに基づいており、モーメントの絶対値
が比較的小さい範囲では、強いばねでモーメント−誤差
関係が表現され、モーメントの絶対値が比較的大きな範
囲では、弱いばねでモーメント−誤差関係が表現されて
いる。
The data corresponding to this graph is often prepared as a part of the specifications representing the mechanical characteristics of the rotating mechanism including the speed reducer of the robot. This example is based on a combination model of strong and weak springs. In the range where the absolute value of the moment is relatively small, the moment-error relationship is expressed by the strong spring, and in the range where the absolute value of the moment is relatively large, the weak spring is used. The moment-error relationship is expressed.

【0027】また、モーメント=0の周りの一定範囲
(−μ1 〜μ1 )では、ヒステリシスの存在が表現され
ており、モーメントに対する誤差量を表わす関数がf+
とf-に分かれている。関数f+ は、モーメントが負か
ら正へ向かう方向へ変化する場合の誤差量を表わす一
方、関数f- は、モーメントが正から負へ向かう方向へ
変化する場合の誤差量を表わしている。本例のグラフで
は、本例の場合も、図2のグラフと同様のデータ形式に
より、各軸(全軸あるいは一部の軸)について、これら
モーメント−誤差関係のデータがロボット制御装置30
に予め入力される。
Further, in a certain range (-μ1 to μ1) around the moment = 0, the existence of hysteresis is expressed, and the function representing the error amount with respect to the moment is represented by f +
And f-. The function f + represents the error amount when the moment changes from negative to positive, while the function f- represents the error amount when the moment changes from positive to negative. In the graph of the present example, in the case of the present example, the data of the moment-error relationship for each axis (all axes or some axes) is stored in the robot controller 30 in the same data format as the graph of FIG.
Is input in advance.

【0028】上記の如く、ロボット制御装置30にモー
メント−誤差関係を記憶させておくことにより、各軸に
かかるモーメントが判れば、各軸に発生する誤差量が推
定出来ることになる。そして、各軸にかかるモーメント
は、ロボットの構造パラメータ(アーム長、アーム質量
など)、負荷重量の表現パラメータ(負荷重量値、質量
中心位置など)が分かっていれば、ロボット姿勢(各軸
の位置)から計算することが出来る。
By storing the moment-error relationship in the robot controller 30 as described above, if the moment applied to each axis is known, the amount of error generated in each axis can be estimated. The moment applied to each axis can be calculated from the robot posture (position of each axis) if the structural parameters of the robot (arm length, arm mass, etc.) and the expression parameters of the load weight (load weight, center of mass, etc.) are known. ) Can be calculated.

【0029】図4は、ベース側から順に第1軸J1、第
2軸J2・・・第6軸J6を持つロボットの各軸J1〜
J6のモータにかかるモーメントをロボット姿勢の関数
として計算する手法を説明するための図である。ここに
記す手法は、各軸で必要とされるモーメントトルクを手
先側から順にリンク毎の釣合い条件から求めるものであ
る。
FIG. 4 shows the axes J1 to J6 of the robot having a first axis J1, a second axis J2,.
It is a figure for explaining the technique of calculating the moment applied to the motor of J6 as a function of the robot posture. In the method described here, the moment torque required for each axis is obtained in order from the hand side from the balancing condition for each link.

【0030】本図を参照して計算手順を計算式で記せば
次のようになる。なお、本図における軸構成と関連諸量
の描示は、適宜簡略化し、J3軸を中心に例示的に行な
った。
Referring to this figure, the calculation procedure will be described by a calculation formula as follows. The illustration of the axis configuration and related quantities in this drawing is simplified as appropriate, and is illustratively performed around the J3 axis.

【0031】1.J6軸のモータにかかる重力モーメン
ト=負荷重量値*J6軸の回転中心から負荷重量の質量
中心までの距離 2.J5軸のモータにかかる重力モーメント=J6軸の
モータにかかる重力モーメント+(l5*J5軸アーム
の質量*SIN θ5 ) 3.J4軸のモータにかかる重力モーメント=J5軸の
モータにかかる重力モーメント+(l4*J4軸アーム
の質量*SIN θ4 ) 4.J3軸のモータにかかる重力モーメント=J4軸〜
J6軸によるモーメント+(l3*J3軸アームの質量
*SIN θ3 ) 5.J2軸のモータにかかる重力モーメント=J3軸の
モータにかかる重力モーメント+(l2*J2軸アーム
の質量*SIN θ2 ) 上記各式において、li はJi軸の回転中心からJi軸
で駆動される機体部分の重心位置までの距離で、予めロ
ボット制御装置30に設定される。負荷重量値、J6軸
の回転中心から負荷重量の質量中心までの距離、アーム
質量等も同様に予めロボット制御装置30に設定され
る。θ2 〜θ5 は水平方向を基準にして表現された各軸
の角度位置で、ロボットの移動中の各時点(計算処理周
期ITP毎)に現在位置から求められる。
1. 1. Moment of gravity applied to the motor of the J6 axis = load weight value * distance from the rotation center of the J6 axis to the center of mass of the load weight. 2. Gravity moment applied to J5 axis motor = gravity moment applied to J6 axis motor + (15 * mass of J5 axis arm * SIN θ5) 3. Gravity moment applied to J4-axis motor = gravity moment applied to J5-axis motor + (14 * mass of J4-axis arm * SIN θ4) Gravitational moment applied to motor of J3 axis = J4 axis ~
4. Moment due to J6 axis + (l3 * mass of J3 axis arm * SIN θ3) The gravitational moment applied to the J2-axis motor = the gravitational moment applied to the J3-axis motor + (l2 * mass of the J2-axis arm * SIN θ2) In the above equations, li is the body driven by the Ji-axis from the rotation center of the Ji-axis. The distance to the position of the center of gravity of the portion is set in advance in the robot controller 30. The load weight value, the distance from the rotation center of the J6 axis to the center of mass of the load weight, the arm mass, and the like are also set in advance in the robot controller 30 in advance. .theta.2 to .theta.5 are angular positions of the respective axes expressed with reference to the horizontal direction, and are obtained from the current position at each time point (each calculation processing cycle ITP) during the movement of the robot.

【0032】次に、以上の事項を前提に、本実施形態に
おける各軸の制御について説明する。図5は、各軸に関
する制御の要点をブロック図で表わしたものである。本
図に示したように、ロボット制御装置30のCNCとし
ての通常機能に基づく出力である移動指令(各軸位置指
令値)は、誤差補正が施された上でサーボ制御系に入力
される。誤差補正は、補正量の足し込みで行なわれる
が、各軸について計算される誤差量をそのまま足し込む
のではなく、適当なフィルタリングを行なったものが足
し込まれる。
Next, on the premise of the above, control of each axis in this embodiment will be described. FIG. 5 is a block diagram showing the main points of control for each axis. As shown in the figure, a movement command (each axis position command value), which is an output based on a normal function as a CNC of the robot controller 30, is input to a servo control system after error correction. The error correction is performed by adding the correction amount. Instead of adding the error amount calculated for each axis as it is, a value obtained by performing appropriate filtering is added.

【0033】このフィルタリングについては、次のよう
に考える。今、ある軸の動摩擦係数をA、ばね定数を
K、誤差量をΔθで表わすと、次式(1)の関係が成立
する。
This filtering is considered as follows. If the dynamic friction coefficient of a certain axis is represented by A, the spring constant is represented by K, and the error amount is represented by Δθ, the following equation (1) holds.

【0034】[0034]

【数1】 伝達関数の関係式は、 Δθ=重力/{K*(A/K*S+1)} ・・・(2) となり、フィルタの伝達関数は、1/{K*(A/K*
S+1)}となる(Sはラプラス演算子)。
(Equation 1) The relational expression of the transfer function is: Δθ = gravity / {K * (A / K * S + 1)} (2), and the transfer function of the filter is 1 / {K * (A / K *
(S + 1)} (S is a Laplace operator).

【0035】このように、フィルタリングの趣旨は、各
軸の動作摩擦及び弾性により重力モーメントとそれに対
応する誤差の発生の遅れを考慮に入れるためのものであ
り、具体的なフィルタリングのパラメータは、動摩擦係
数A、ばね定数Kを使って計算するか、あるいはチュー
ニングによって適正値を定める。
As described above, the purpose of the filtering is to take into account the gravitational moment and the delay of the occurrence of an error corresponding to the gravitational moment due to the operating friction and elasticity of each axis. Calculate using the coefficient A and the spring constant K, or determine an appropriate value by tuning.

【0036】このようにしてフィルタリングを施された
指令はサーボ制御の入力とされ、補正された位置指令を
入力とするサーボ制御が実行される。サーボ制御の詳細
は、本発明の特徴と特に関係は無いので説明は省略す
る。
The command filtered as described above is input to the servo control, and the servo control using the corrected position command as an input is executed. Since the details of the servo control are not particularly related to the features of the present invention, the description is omitted.

【0037】図6は、オフラインプログラミング装置4
0で作成された動作プログラムの再生運転時に、通常の
処理(経路移動の動作命令文の読み込み、解釈、軌道計
画作成)に続いて、共有RAM32にCNCとしての出
力を書き込む際に、ITP毎(補間周期毎)に実行され
る、本発明の特徴を反映した処理の概略を記したフロー
チャート(処理1)である。
FIG. 6 shows an off-line programming device 4
During the reproduction operation of the operation program created in Step 0, following the normal processing (reading and interpretation of the operation command statement of the path movement, creation of the trajectory plan), when writing the output as the CNC to the shared RAM 32, every ITP ( 9 is a flowchart (Process 1) schematically illustrating a process executed at each interpolation cycle) and reflecting the features of the present invention.

【0038】同図に示したように、先ずステップS1で
は位置の指令値(CNC側の位置レジスタが持っている
値)より各軸位置を得て、前述の計算により各軸(全軸
または一部の軸。以下同様。)の重力モーメントを計算
する。また、必要に応じて干渉トルクも計算する。干渉
トルクの計算については、各種の計算手法が知られてい
るのでここでは詳述しないが、ロボット制御装置30に
与えられている動力学モデルのソフトウェアから計算さ
れる。
As shown in the figure, first, in step S1, each axis position is obtained from a position command value (a value held by a position register on the CNC side), and each axis (all axes or one axis) is obtained by the above-described calculation. Calculate the gravitational moment of the part axis. Further, an interference torque is calculated as required. The calculation of the interference torque is not described here in detail because various calculation methods are known, but it is calculated from the dynamic model software provided to the robot controller 30.

【0039】ステップS2では、各軸について計算され
た重力モーメント、あるいは重力モーメントと干渉トル
クの和から、誤差量を計算する。この計算は、前述した
態様でロボット制御装置30に与えられているモーメン
ト−誤差関係のデータを使って実行される。
In step S2, an error amount is calculated from the gravitational moment calculated for each axis or the sum of the gravitational moment and the interference torque. This calculation is executed using the data of the moment-error relation given to the robot controller 30 in the above-described manner.

【0040】続くステップS3では、各軸毎に求められ
た誤差量に、上述したフィルタリング処理に相当する計
算(ディジタルフィルタリング)を施す。そして、ステ
ップS4で、その出力を補間処理毎に出力される移動指
令に足し込む処理を行なう。処理後の出力は共有RAM
32に書き込まれ、サーボCPU33による通常のサー
ボ制御の入力とされる。
In the following step S3, a calculation (digital filtering) corresponding to the above-described filtering processing is performed on the error amount obtained for each axis. Then, in step S4, a process of adding the output to a movement command output for each interpolation process is performed. Output after processing is shared RAM
32 is input to the normal servo control by the servo CPU 33.

【0041】なお、ステップS2で、ヒステリシスを持
つモーメント−誤差関係のデータが利用される場合(例
えば、図2、図3のグラフに対応するデータが利用され
る場合)には、ヒステリシスに関連して一方の関数関係
の一方を選択する必要が生じる。図2の関係の利用時に
は、モーメントの全想定値域についてh+ とh- の一方
を選択する必要がある。また、図3の関係の利用時に
は、モーメント値の絶対値がμ1 以下の場合に、f+ と
f- の一方を選択する必要がある。
In step S2, when the data of the moment-error relationship having the hysteresis is used (for example, when the data corresponding to the graphs of FIGS. 2 and 3 is used), the data related to the hysteresis is used. Therefore, it is necessary to select one of the functional relationships. When using the relationship of FIG. 2, it is necessary to select one of h + and h− for the entire assumed value range of the moment. When using the relationship shown in FIG. 3, when the absolute value of the moment value is equal to or less than μ1, it is necessary to select one of f + and f−.

【0042】これら選択は、最新のトルク=0の機会に
ついて、トルク符号がいずれの方向から0になったかを
判断して行なう。そのために、トルク符号の0通過の方
向性を表わすフラグF(F=0or1)をロボット制御装
置30のメモリ35内に設定し、図7のフローチャート
に示したような処理2によって、フラグFを所要時に更
新する。
These selections are made by judging from which direction the torque code has become 0 at the latest opportunity of torque = 0. For this purpose, a flag F (F = 0 or 1) indicating the direction of the zero passage of the torque code is set in the memory 35 of the robot control device 30, and the flag F is set to a required value by the processing 2 shown in the flowchart of FIG. Update sometimes.

【0043】即ち、各軸についてITP毎にトルク値
(処理1のステップS1で計算されたもの)をチェック
し、0か否か判定する(ステップQ1)。もし、0であ
れば、更に直前(前回ITP)のトルク値の符号をチェ
ックする(ステップQ2)。そして、もしそれが正であ
れば、トルク値F=0とし(ステップQ3)、負であれ
ば、トルク値F=1とする(ステップQ4)。
That is, for each axis, the torque value (calculated in step S1 of the process 1) is checked for each ITP, and it is determined whether or not the value is 0 (step Q1). If it is 0, the sign of the immediately preceding (previous ITP) torque value is checked (step Q2). If it is positive, the torque value is set to F = 0 (step Q3), and if negative, the torque value is set to F = 1 (step Q4).

【0044】図2あるいは図3の関係が利用された場
合、F=0は、正から負へ向かう0通過の最新履歴を表
わしているから、ステップS1における関数選択は、h
- あるいはf- となる。逆に、F=1は、負から正へ向
かう0通過の最新履歴を表わしているから、h* あるい
はf+ が選択される。なお、フラグFの初期値はここで
はF=0としたが、場合によってはF=1とする(動作
内容等を考慮して設計的に定める)。
When the relationship shown in FIG. 2 or FIG. 3 is used, F = 0 represents the latest history of zero passage from positive to negative.
-Or f-. Conversely, since F = 1 represents the latest history of zero passage from negative to positive, h * or f + is selected. Note that the initial value of the flag F is set to F = 0 here, but may be set to F = 1 in some cases (determined by design in consideration of the operation content and the like).

【0045】[0045]

【発明の効果】以上説明したように、本発明によれば、
例えばオフラインで作成された動作プログラムの再生運
転時に、重力に起因したアームの撓み、あるいはそれに
加えて慣性力によるアームの撓み、回転機構部のバック
ラッシュのガタ、遊び等の影響に由来する軌跡誤差が、
リアルタイムで補正される。また、動作プログラムの位
置データの修正作業も削減されるので、作業効率が向上
する。
As described above, according to the present invention,
For example, during the regenerating operation of an off-line created operation program, the arm bending caused by gravity, or in addition to the arm bending due to inertial force, backlash of the rotating mechanism, play error, etc. But,
Corrected in real time. In addition, since the work of correcting the position data of the operation program is reduced, the work efficiency is improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明が適用されるロボットを含むシステムの
ハードウェア構成を例示した要部ブロック図である。
FIG. 1 is a main block diagram illustrating a hardware configuration of a system including a robot to which the present invention is applied;

【図2】ロボットの1つの軸について、モーメント−誤
差関係を表わしたグラフの一例である。
FIG. 2 is an example of a graph showing a moment-error relationship with respect to one axis of a robot.

【図3】図2と同様の形式でロボットの1つの軸(例え
ば第3軸)について、モーメント−誤差関係を表わした
グラフの別の例である。
FIG. 3 is another example of a graph showing a moment-error relationship with respect to one axis (for example, a third axis) of the robot in the same manner as in FIG. 2;

【図4】6軸ロボットの各軸J1〜J6のモータにかか
るモーメントをロボット姿勢の関数として計算する手法
を説明するための図である。
FIG. 4 is a diagram for explaining a method of calculating a moment applied to a motor of each axis J1 to J6 of a six-axis robot as a function of a robot posture.

【図5】各軸に関する制御の要点をブロック図で表わし
たものである。
FIG. 5 is a block diagram showing a main point of control for each axis.

【図6】動作プログラムの再生運転時に、通常の処理と
ともにITP毎(補間周期毎)に実行される、本発明の
特徴を反映した処理の概略を記したフローチャート(処
理1)である。
FIG. 6 is a flowchart (Process 1) showing an outline of a process that reflects the features of the present invention and is executed for each ITP (for each interpolation cycle) together with normal processing during the regeneration operation of the operation program.

【図7】誤差量−モーメントの関係についてのヒステリ
シスに関連して、最新のトルク0通過の方向を判断する
処理の概略を記したフローチャート(処理1)である。
FIG. 7 is a flowchart (process 1) showing an outline of a process for determining the latest direction of zero torque passage in relation to hysteresis regarding the relationship between the error amount and the moment.

【符号の説明】[Explanation of symbols]

1 アーム先端部 10 負荷重量物 30 ロボット制御装置 31 ホストCPU 32 共有RAM 33 サーボCPU 34 サーボアンプ 35 メモリ 36 教示操作盤用インターフェイス 38 入出力装置 37 教示操作盤 40 オフラインプログラミング装置 RB ロボット Reference Signs List 1 arm tip 10 load heavy object 30 robot controller 31 host CPU 32 shared RAM 33 servo CPU 34 servo amplifier 35 memory 36 teaching operation panel interface 38 input / output device 37 teaching operation panel 40 offline programming device RB robot

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 動作プログラムの再生運転時に、少なく
とも一つのロボット軸について、動作プログラムに基づ
いて作成された指令を補正してサーボ制御系へ渡すよう
にした、軌跡誤差補正機能を有するロボットであって、 前記補正は、少なくとも前記ロボット軸にかかる重力モ
ーメントによって発生する誤差を補償するものである、
前記ロボット。
1. A robot having a trajectory error correction function, which corrects a command created based on an operation program and passes it to a servo control system for at least one robot axis during a reproduction operation of the operation program. Wherein the correction is to compensate for an error generated by at least a gravitational moment applied to the robot axis,
The robot.
【請求項2】 動作プログラムの再生運転時に、少なく
とも一つのロボット軸について、動作プログラムに基づ
いて作成された指令を補正してサーボ制御系へ渡すよう
にした、軌跡誤差補正機能を有するロボットであって、 前記補正は、少なくとも前記ロボット軸にかかる重力モ
ーメントによって発生する誤差を補償するものであり、 前記補正のために、前記ロボットの姿勢に応じて変化す
るモーメントが前記少なくとも一つのロボット軸につい
て計算され、更に、モーメントと誤差発生量を記述する
関係を用いて前記少なくとも一つのロボット軸について
誤差量が求められる、前記ロボット。
2. A robot having a trajectory error correction function for correcting a command created based on an operation program and passing it to a servo control system for at least one robot axis during a reproduction operation of the operation program. The correction is for compensating at least an error generated by a gravitational moment applied to the robot axis. For the correction, a moment that changes according to the posture of the robot is calculated for the at least one robot axis. The robot further comprising determining an error amount for the at least one robot axis using a relationship describing a moment and an error generation amount.
【請求項3】 前記モーメントと誤差量を記述する関係
にヒステリシスが存在し、前記誤差量の計算時にトルク
0の通過時の符号方向性に応じて前記ヒステリシスに関
連した関係選択がなされる、請求項2に記載されたロボ
ット。
3. A hysteresis exists in the relationship describing the moment and the error amount, and a relationship selection related to the hysteresis is made in accordance with a sign direction at the time of passing the torque 0 at the time of calculating the error amount. Item 2. The robot according to Item 2.
【請求項4】 動作プログラムに基づいて作成された指
令を補正してサーボ制御系へ渡す際に、前記少なくとも
一つのロボット軸についての動摩擦と弾性を考慮したフ
ィルタリングが施される、請求項1、請求項2または請
求項3に記載されたロボット。
4. The method according to claim 1, wherein when the command generated based on the operation program is corrected and passed to the servo control system, filtering is performed in consideration of dynamic friction and elasticity of the at least one robot axis. A robot according to claim 2 or claim 3.
JP30982497A 1997-10-24 1997-10-24 Robot with track error correcting function Pending JPH11134012A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30982497A JPH11134012A (en) 1997-10-24 1997-10-24 Robot with track error correcting function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30982497A JPH11134012A (en) 1997-10-24 1997-10-24 Robot with track error correcting function

Publications (1)

Publication Number Publication Date
JPH11134012A true JPH11134012A (en) 1999-05-21

Family

ID=17997711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30982497A Pending JPH11134012A (en) 1997-10-24 1997-10-24 Robot with track error correcting function

Country Status (1)

Country Link
JP (1) JPH11134012A (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1391684A1 (en) * 2002-08-16 2004-02-25 Carl Zeiss Coordinate measuring machine and method for correcting error
WO2008032591A1 (en) * 2006-09-12 2008-03-20 Kabushiki Kaisha Yaskawa Denki Work transfer apparatus
US7363109B2 (en) 2003-05-20 2008-04-22 Fujitsu Limited Backlash compensation control method, backlash compensation controller and backlash compensation control program
JP2011034434A (en) * 2009-08-04 2011-02-17 Fanuc Ltd Numerical control device with error compensating means
JP2013166224A (en) * 2012-02-16 2013-08-29 Canon Inc Robot control apparatus, robot, and program thereof
WO2013180222A1 (en) * 2012-05-30 2013-12-05 株式会社神戸製鋼所 Trajectory control device for articulated robot, and control method
WO2014126218A1 (en) * 2013-02-15 2014-08-21 株式会社神戸製鋼所 Control device for compensation of elastic deformation of articulated robot
JP2014219416A (en) * 2007-05-11 2014-11-20 コミッサリアア レネルジー アトミーク エ オ ゼネルジ ザルタナテイヴ Processing method for capturing movement of articulated structure
CN110262247A (en) * 2019-07-05 2019-09-20 青岛大学 The distributed command filtered blurry control method of multi-robot system
CN111376267A (en) * 2018-12-27 2020-07-07 发那科株式会社 Industrial robot system
CN112571412A (en) * 2019-09-30 2021-03-30 中电九天智能科技有限公司 Control system of intelligent manufacturing equipment

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1391684A1 (en) * 2002-08-16 2004-02-25 Carl Zeiss Coordinate measuring machine and method for correcting error
US7363109B2 (en) 2003-05-20 2008-04-22 Fujitsu Limited Backlash compensation control method, backlash compensation controller and backlash compensation control program
TWI423377B (en) * 2006-09-12 2014-01-11 Yaskawa Denki Seisakusho Kk Workpiece handling equipment
JPWO2008032591A1 (en) * 2006-09-12 2010-01-21 株式会社安川電機 Work transfer device
JP5120258B2 (en) * 2006-09-12 2013-01-16 株式会社安川電機 Work transfer device
WO2008032591A1 (en) * 2006-09-12 2008-03-20 Kabushiki Kaisha Yaskawa Denki Work transfer apparatus
JP2014219416A (en) * 2007-05-11 2014-11-20 コミッサリアア レネルジー アトミーク エ オ ゼネルジ ザルタナテイヴ Processing method for capturing movement of articulated structure
JP2011034434A (en) * 2009-08-04 2011-02-17 Fanuc Ltd Numerical control device with error compensating means
JP2013166224A (en) * 2012-02-16 2013-08-29 Canon Inc Robot control apparatus, robot, and program thereof
US9676100B2 (en) 2012-02-16 2017-06-13 Canon Kabushiki Kaisha Control apparatus of robot, robot, and program thereof
WO2013180222A1 (en) * 2012-05-30 2013-12-05 株式会社神戸製鋼所 Trajectory control device for articulated robot, and control method
JP2013248682A (en) * 2012-05-30 2013-12-12 Kobe Steel Ltd Device and method for trajectory control of articulated robot
US9254569B2 (en) 2012-05-30 2016-02-09 Kobe Steel, Ltd. Trajectory control device and control method for articulated robot
WO2014126218A1 (en) * 2013-02-15 2014-08-21 株式会社神戸製鋼所 Control device for compensation of elastic deformation of articulated robot
CN104981326A (en) * 2013-02-15 2015-10-14 株式会社神户制钢所 Control device for compensation of elastic deformation of articulated robot
US9597800B2 (en) 2013-02-15 2017-03-21 Kobe Steel, Ltd. Elastic deformation compensation control device for articulated robot
JP2014155982A (en) * 2013-02-15 2014-08-28 Kobe Steel Ltd Elastic deformation compensation controller for multi-joint robot
CN111376267A (en) * 2018-12-27 2020-07-07 发那科株式会社 Industrial robot system
CN110262247A (en) * 2019-07-05 2019-09-20 青岛大学 The distributed command filtered blurry control method of multi-robot system
CN110262247B (en) * 2019-07-05 2022-06-17 青岛大学 Distributed command filtering fuzzy control method of multi-robot system
CN112571412A (en) * 2019-09-30 2021-03-30 中电九天智能科技有限公司 Control system of intelligent manufacturing equipment
CN112571412B (en) * 2019-09-30 2024-03-26 中电九天智能科技有限公司 Control system of intelligent manufacturing equipment

Similar Documents

Publication Publication Date Title
US6826450B2 (en) Robot controller
Miranda-Colorado et al. Experimental parameter identification of flexible joint robot manipulators
US9211646B2 (en) Control apparatus and control method for robot arm, assembly robot, control program for robot arm, and control-purpose integrated electronic circuit for robot arm
JPS63314606A (en) Controller for articulated robot
JP6585666B2 (en) Robot for performing learning control in an application that requires constant speed and its control method
WO1991005296A1 (en) Sliding mode control method
JPH11134012A (en) Robot with track error correcting function
JP2017209762A (en) Robot device, robot control method, program, recording medium and production method of article
JPH02198783A (en) Correction method for positioning industrial robot
JPH07261853A (en) Vibration reduction device for robot
JPH07319547A (en) Tracer control method for robot
US11141855B2 (en) Robot system, method of controlling robot arm, recording medium, and method of manufacturing an article
JPH10138187A (en) Automatic computing method of load weight and load center-of-gravity position of articulated robot
JP2019123073A (en) Robot system, control method of robot arm, program, recording medium, and manufacturing method of article
JP3580562B2 (en) robot
TW202019640A (en) Speed reducer system, method for correcting command value of drive unit, method for generating correction data, and method for manufacturing speed reducer system in which a working machine is capable of being initially started (initial setting) at an early stage
JP2703767B2 (en) Robot teaching data creation method
JPH0392911A (en) Robot control method for sliding mode control
JPS6190207A (en) Robot controlling device
JPS59220806A (en) Controlling method of industrial robot
JPS60118478A (en) Controller for position of joint type robot
JPS61121102A (en) Motor position controller
JPS63314607A (en) Controller for articulated robot
JPH04343690A (en) Joint friction compensating method for multi-joint manipulator
JP2020121358A (en) Learning control device, robot control device and robot

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040217

A977 Report on retrieval

Effective date: 20050412

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050419

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050809