JPH0241879A - Correction of position for industrial robot - Google Patents
Correction of position for industrial robotInfo
- Publication number
- JPH0241879A JPH0241879A JP19055188A JP19055188A JPH0241879A JP H0241879 A JPH0241879 A JP H0241879A JP 19055188 A JP19055188 A JP 19055188A JP 19055188 A JP19055188 A JP 19055188A JP H0241879 A JPH0241879 A JP H0241879A
- Authority
- JP
- Japan
- Prior art keywords
- arm
- temperature
- axis
- current
- length
- 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
Links
- 238000001514 detection method Methods 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 27
- 230000008929 regeneration Effects 0.000 claims description 12
- 238000011069 regeneration method Methods 0.000 claims description 12
- 230000001172 regenerating effect Effects 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000010438 heat treatment Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000020169 heat generation Effects 0.000 description 3
- 239000003638 chemical reducing agent Substances 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 239000012636 effector Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 210000002784 stomach Anatomy 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- 241000257465 Echinoidea Species 0.000 description 1
- 101100276984 Mus musculus Ccdc88c gene Proteins 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
Landscapes
- Manipulator (AREA)
Abstract
Description
【発明の詳細な説明】 産業上の利用分界 本発明は、産業用ロボットの位置補正11式に関する。[Detailed description of the invention] Industrial use demarcation The present invention relates to 11 position correction equations for industrial robots.
従来の技術
産業用ロボットにおいて、各軸のアームに関する駆動制
御は、通常、教示された位置T−夕と予め記憶された各
軸のアーム長とに基づいて各軸角の移動爪(回転角)を
弊出し、サーボモータを該移動m駆動することによって
行われている。In conventional technical industrial robots, the drive control for the arm of each axis is usually based on the taught position T and the pre-stored arm length of each axis. This is done by using a servo motor to drive the movement m.
発明が解決しようとする課題
ところが、従来の産業用ロボットにおいては、ロボット
本体、特に、各軸のアームにJ3ける熱変形が位置決め
精度に与える影響を考慮していなかったため、例えば、
モータやブレーギ、減速機。Problems to be Solved by the Invention However, in conventional industrial robots, the effects of thermal deformation on the positioning accuracy of the robot body, especially the arms of each axis, on J3 have not been taken into consideration.
Motors, brake gears, and reducers.
エンドエフェクタの電磁弁等の産業用[1ホツトにおけ
る発熱体、或いは、外気温等の影響によって各軸のアー
ムに熱変形が生じた場合、実際のアーム長と予め記憶さ
れたアーム長との間に差宜が生じ、アームの位置繰返し
精度が低下するという難点があった。For industrial use such as end effector solenoid valves [1] If thermal deformation occurs in the arm of each axis due to the heating element in the hot spot or the influence of outside temperature, etc., the difference between the actual arm length and the arm length stored in advance However, there was a problem in that the repeatability of the arm position was reduced.
特に、産業用ロボットにお(〕る光熱体から発1する熱
量はロボッ1への運転リイクルによって異イjる。例え
ば、発熱■の大きい発熱体(人さなトルクを発生するし
一タ亡ブレーキ等)の駆動時間が艮いものでは、1(ナ
イクルの平均発熱量は増大し、これらの発熱体の休止時
間の長い1+ノイクルのロボット動作においては平均発
熱量も少なくなり、教示されたロボットの1リイクルの
動性に応じて発熱間も異なる。その結果、各アーム長も
穴なってくる。又、発熱体の配設位置に応じて、当該発
熱体が発生した熱により影響を受けるアームも異なって
くる。In particular, the amount of heat emitted from the photothermal element in an industrial robot (1) differs depending on the operating cycle of the robot 1. For robots with long drive times (such as brakes, etc.), the average amount of heat generated by 1 (Nykle) increases, and in the 1+Nykle robot operation where these heating elements have a long rest time, the average amount of heat generated decreases. The length of heat generated differs depending on the dynamics of the recycle.As a result, the length of each arm also becomes a hole.Also, depending on the placement position of the heating element, the length of the arm affected by the heat generated by the heating element varies. will also be different.
従来の産業用ロボットにおいては、アームの熱変形によ
る位置繰返し粘度の低下はロボット自体の位置決め誤差
に較べて取るに足りないものであったが、産業用ロボッ
トの高精度化に伴い、アームの熱変形による位置繰返し
精度の低下が大きな問題となってきている。In conventional industrial robots, the decrease in positional cyclic viscosity due to thermal deformation of the arm was insignificant compared to the positioning error of the robot itself. Deterioration in position repeatability due to deformation has become a major problem.
そこで、本発明の目的は、産業用ロボット本体、特に、
各軸のアームに熱変形が生じた場合であっても、位置繰
返し精度が低下ツることなく、確実に教示点に位置決め
できる産業用ロボットの位11ff補正方式を提供する
ことにある。Therefore, an object of the present invention is to provide an industrial robot body, in particular,
An object of the present invention is to provide a position 11ff correction method for an industrial robot that can reliably position a taught point without deteriorating position repeatability even when thermal deformation occurs in the arms of each axis.
課題を解決するための手段
本発明は、上記目的を達成づるため、第1の発明は、少
なくとも腕部の各軸の1コボツトアームに該ロボッ1−
アームの温度を検出する温度検出手段を設け、上記温度
検出手段によって検出される温度から各ロボットアーム
の現在長を求め、教示された(0置データと各ロボット
アームの現る長とに基づいて各軸の移動かを節出し、各
軸を駆動するようにした。Means for Solving the Problems In order to achieve the above object, the first invention provides at least one cobot arm for each axis of the arm section.
A temperature detection means for detecting the temperature of the arm is provided, and the current length of each robot arm is determined from the temperature detected by the temperature detection means and taught (based on the zero position data and the current length of each robot arm). The movement of each axis was determined and each axis was driven.
第2の発明においては、各軸を駆動する各サーボモータ
の駆動電流の再生運転開始からの2乗電流平均値を各々
所定周期毎検出し、求められた各2東電流平均値によっ
て各ロボット7−ムの平衡状態になる上昇温度を各々求
め、各アーム毎に各サーボモータの平均2乗“市流伯に
よる上記十−7温度を加咋して各アームの全上昇温度を
所定周期毎求出し、該全上昇温度と再生運転開始からの
時間により温度上昇遅れ補正を行い各アームの温jな上
昇による伸び串を所定周期毎求め、該伸びfilを各ア
ームのアーム良に補正して再生運転時の各軸の移動量を
算出し、各軸を駆動するようにした。In the second invention, the squared current average value of the drive current of each servo motor that drives each axis from the start of the regenerative operation is detected every predetermined period, and each robot 7 is - Find the temperature rise that brings each arm into an equilibrium state, and calculate the total temperature rise of each arm at a predetermined period by adding the mean square of each servo motor to the above 1-7 temperature according to Haku Ichiryu for each arm. The temperature rise delay is corrected based on the total temperature rise and the time from the start of the regeneration operation, and the elongation due to the temperature rise of each arm is determined every predetermined period, and the elongation fil is corrected to the arm condition of each arm for regeneration. The amount of movement of each axis during operation was calculated and each axis was driven.
作 用
第1の発明にJ3いては、産業用ロボットの動作中に、
温度検出手段によって各軸のロボットアームの温度を検
出し、それぞれのロボットアームの温度から熱変形量を
考慮して各軸のロボットアームの現在長を求める。Effect According to the first invention, J3 has the following characteristics:
The temperature of the robot arm of each axis is detected by the temperature detection means, and the current length of the robot arm of each axis is determined from the temperature of each robot arm, taking into account the amount of thermal deformation.
各軸のロボットアームに関する駆動制御は、教示された
位置データと各軸のロボットアームの現在艮とに基づい
て各軸角の移動量(回転角)を昂出し、求められた移動
量だi−J各軸を駆動することによって行う。The drive control for the robot arm of each axis is based on the taught position data and the current configuration of the robot arm of each axis, and the amount of movement (rotation angle) of each axis angle is determined. This is done by driving each axis.
また、第2の発明においては、所定周期毎、再!J’、
?M転開始からの各サーボ七−夕の駆動電流の2乗電
流平均値を求め、この2乗電流平均値より各アームの温
度平衡状態となる上昇温度を各々求めて、各アーム毎に
各モータ電流による上??湯温度用品した仝上昇温度を
求めて、温度上胃貯れ補正を行って各アームの温度上昇
による伸びmを求める。この伸び量を求める処理を所定
周期毎行って記憶しておき、再生運転時には現時点での
各アームの伸び量を各アームのアーム長に補正し、補正
されたアーム長によって各軸の移動量(回転軸)を算出
し、各軸を駆動する。Moreover, in the second invention, the re! J',
? Find the average squared current value of the drive current for each servo Tanabata from the start of the M rotation, and use this average squared current value to find the temperature rise that will bring each arm into a temperature equilibrium state, and then calculate the temperature for each motor for each arm. Above due to current? ? The temperature increase due to the temperature of the hot water is determined, and the elongation m due to the temperature increase of each arm is determined by correcting the temperature and stomach retention. This process of calculating the amount of elongation is performed and stored at predetermined intervals, and during regeneration operation, the amount of elongation of each arm at the current moment is corrected to the arm length of each arm, and the amount of movement of each axis ( axis of rotation) and drive each axis.
その結果、各軸角の移動量を専用するに際し、各軸のア
ーム長は熱変形量を考l!立して求めた用在艮を用いて
いるので、各軸のアームの温度に関係なく、叩ら、熱変
形量の大小に関係なく確実に教水位置に位置決めするこ
とができる。As a result, when dedicating the amount of movement for each axis angle, the arm length of each axis takes into consideration the amount of thermal deformation! Since the positioning position determined by standing up is used, it is possible to reliably position the water teaching position regardless of the temperature of the arm of each axis and regardless of the amount of striking or thermal deformation.
実施例
第1図は、本発明の方式を実施する第1の実施例の産業
用ロボットの要部ブロック図である。Embodiment FIG. 1 is a block diagram of the main parts of an industrial robot according to a first embodiment of the present invention.
ロボット本体1を制御する制御i(l装置どしての数値
制御装置100は、中央処狸装冒(以下、cPUという
)1o1を備え、該CP U 1011.: l:L、
ROM102.RAM103.不揮発性RAM104、
教示操作盤105.CRTR7表示装備えた操作盤10
6.軸制tII器107.入出力回路109がバス11
1を介して接続されている。The numerical control device 100 as a control i(l device) that controls the robot body 1 includes a central processing unit (hereinafter referred to as cPU) 1o1, and the CPU 1011.: l:L,
ROM102. RAM103. non-volatile RAM 104,
Teaching operation panel 105. Operation panel 10 equipped with CRTR7 display
6. Axial control tII device 107. The input/output circuit 109 is connected to the bus 11
1.
ROM102にはCPU101(7)制御プロクラムが
格納され、不揮発性RAM104には教示操作1105
や操作盤106から入力された教示位置等の各種教示f
−タ、操作盤106から入力された各呼設定データ等が
格納されている。また、RA M 103はCPLJl
olの演粋帖宋等の各種データを一時記憶するものであ
る。A control program for the CPU 101 (7) is stored in the ROM 102, and a teaching operation 1105 is stored in the nonvolatile RAM 104.
Various teaching f such as the teaching position inputted from the operation panel 106
- data, each call setting data input from the operation panel 106, etc. are stored. Also, RAM 103 is CPLJl
It is used to temporarily store various data such as OL's Enshucho Sung Dynasty.
軸制御器107はロボット本体1の各軸の11−ボモー
タを駆動するサーボアンプ108に接続され、本実施例
ではソフトウェア1ノーボ方式が採用されており、各軸
のサーボアンプ108に対し、電流指令値、即ち、トル
ク指令値を出力するようになっており、各輪のサーボエ
ータに取り付けられたバルスコーダからフィードバック
信号を入力してリーボ制御を行い、各軸のリーボモータ
を駆動するようになっている。本実施例では6軸のロボ
ットの例を示しており腕部に3軸1手首部に3軸右する
ものとし、この内腕部の3つのアームを、以下、説明の
都合上、それぞれ第1@のアーム。The axis controller 107 is connected to a servo amplifier 108 that drives the 11-vo motor of each axis of the robot body 1. In this embodiment, a software 1-no-vo system is adopted, and current commands are sent to the servo amplifier 108 of each axis. It is designed to output a value, that is, a torque command value, and performs revo control by inputting a feedback signal from a valve coder attached to the servoator of each wheel to drive the revo motor of each axis. This embodiment shows an example of a six-axis robot, with three axes on the arm and three axes on the wrist. @ arm.
第2@のアーム、第3軸のアームと称する。They are called the second @ arm and the third axis arm.
なお、上記構成および制御り式に関しては従来の産業用
ロボットと同様であるので、詳細な説明は省略する。Note that the above configuration and control method are the same as those of conventional industrial robots, so detailed explanations will be omitted.
さらに、この第1の実施例においては、本発明の方式を
適用するため、上記第1〜第3軸のアームの各々に、温
度検出手段(例えば熱雷対)Pl。Further, in this first embodiment, in order to apply the method of the present invention, each of the arms of the first to third axes is provided with temperature detection means (for example, a thermal lightning pair) Pl.
P2.P3が設けられ、各温度検出手段の出力はΔ/D
変換器110を介してデジタル信号に変換された後、入
出力回路109に入力され、CPU101の作用により
、所定周Il]FJに各軸のアームの現在温度T1.T
2.T3がRAM103に書込まれるようになっている
。なお、上記入出力回路109にはロボット本体1に設
けられたその他のアクチュエータ、センサ等も接続され
ているが図面では略している。P2. P3 is provided, and the output of each temperature detection means is Δ/D
After being converted into a digital signal via the converter 110, it is input to the input/output circuit 109, and by the action of the CPU 101, the current temperature of the arm of each axis T1. T
2. T3 is written into the RAM 103. Note that other actuators, sensors, etc. provided in the robot body 1 are also connected to the input/output circuit 109, but are omitted in the drawing.
そこで、本発明の第1の実施例においては、各軸のアー
ムの現在温度TI、T2. 丁3から、各軸のアーム
の線膨服率αと各軸のアーl\の導、を準艮11、L2
.13に基づいて各5111のアームの現在長L1’
、L2’ 、13’を求めるJ:うにしたものであり、
そのために、この第1の実施例においては、第4図に示
されるようなテープTBIが上記不揮発性RAM104
に設けられている。テーブルTBIには各軸のアームの
基準長L1.12゜L3および現在長11’ 、L2’
、13’が記憶されるようになっている。なお、各軸
のアームの基準長L1.L2.L3はメーカー側で予め
測定して上記テーブルTBIに設定記憶させておくが、
寸法測定時における温度Toも同時に記憶しておく。ま
た、本実施例においては、各軸のアームは同様の素材に
よって形成されているので線膨脹率αの値は同一である
。Therefore, in the first embodiment of the present invention, the current temperatures TI, T2 . From D3, the linear expansion coefficient α of the arm of each axis and the lead of A1 of each axis are obtained as follows:
.. The current length L1' of each 5111 arm based on 13
, L2', 13' J: It is a sea urchin,
Therefore, in this first embodiment, the tape TBI as shown in FIG.
It is set in. The table TBI has the reference length L1.12°L3 of the arm of each axis and the current length 11', L2'.
, 13' are stored. In addition, the reference length L1 of the arm of each axis. L2. L3 is measured in advance by the manufacturer and stored in the table TBI above.
The temperature To at the time of dimension measurement is also memorized at the same time. Further, in this embodiment, since the arms of each axis are formed of the same material, the values of the linear expansion coefficients α are the same.
以下、CPtJ 101が所定周期毎に実行するアーム
長算出処理の70−ヂヤート(第2図)と共に、第1の
実施例におけるアーム長算出方式について説明する。The arm length calculation method in the first embodiment will be described below along with the 70-day arm length calculation process (FIG. 2) that the CPtJ 101 executes at predetermined intervals.
アーム艮n出処理において、CPU1o1は、まず、カ
ウンタ1に0をセットして(ステップS1)、インクリ
メントした後(ステップ82)、該カウンタiの値に基
づいて、RAM103に記憶された第1軸のアームの現
在温度TiおよびテーブルTB1に記憶された第i@の
ア一11の基準長1iを読込み(ステップS3)、基N
P艮Li。In the arm mounting process, the CPU 1o1 first sets the counter 1 to 0 (step S1), increments it (step 82), and then sets the first axis stored in the RAM 103 based on the value of the counter i. Reads the current temperature Ti of the arm and the reference length 1i of the i-th arm 11 stored in the table TB1 (step S3), and
P 艮Li.
線膨服率α、現在湿痕Ti、基準長測定時の温度■0と
を用いて次の第(1)式の演わを行って、第軸のアーム
の現在長li を求め(ステップS4)、該現在長し
i′をデープルTB1の所定位置に、−11込む〈ステ
ップ85)。The following equation (1) is performed using the linear expansion coefficient α, the current wet mark Ti, and the temperature ■0 at the time of reference length measurement to find the current length li of the arm of the axis (step S4). ), the current length i' is put into a predetermined position of the dimple TB1 by -11 (step 85).
Li’=l−i・〔1+α(T 1−To) ) ・
・・(1)次に、カウンタiの(直が3に達しでいるか
舎か、即ら、第1軸のアームの現在長L1’ (i=
1)。Li'=l-i・[1+α(T 1-To))・
...(1) Next, check whether the (direction) of counter i has reached 3, that is, the current length L1' of the arm of the first axis (i=
1).
第2@のアームの現在長に2’ (i=2)、第3+
I+I+の7−ムの現在長L3’ (1=3)を粋出
L TケーブルTBIの所定位置にSP込む処理がすべ
て終了しているか否かを判別しくステップ86)、カウ
ンタiの値が3に達していな(Jれば、ステップS2に
復帰してカウンタiをインクリメントシた後、上記と同
様にし”C第1式の演算を行い第1軸のアームの現在長
l−1′ を算出し、該アームの現在長1− j +
をデー1ル]−81の所定位置に書込む処理を繰返4−
0
このようにして、第11111のアームの現在長し1′
、第2軸の7−ムの現在fc12’、第31IIlll
のアームの現在長1−3 ’をg7出してテーブルTE
31の所定位置に書込む処〕11!がナベで終了し、ス
テップS6にJ3いて力1シンタiの(直が3に達した
ことが判別されると、この処111I周期にJ31プる
7−ム長井出処理を終了する。The current length of the second @ arm is 2' (i=2), and the third +
Determine the current length L3' (1=3) of the 7-m of I+I+ and determine whether the process of SP inserting it into the predetermined position of the L T cable TBI has been completed (Step 86), and if the value of the counter i is 3. has not been reached (J), return to step S2, increment the counter i, and then perform the same operation as above to calculate the current length l-1' of the arm of the first axis. and the current length of the arm is 1− j +
4- Repeat the process of writing the
0 In this way, the current length of the 11111th arm is 1'
, 7th axis current fc12', 31st IIll
Take out the current length of arm 1-3' g7 and put it on table TE.
31 to the specified location] 11! is completed in pan direction, and when it is determined that the (direction) of force 1 synta i has reached 3 in step S6, the 7-m Nagaide process in which J31 is pressed in the 111I cycle is completed.
以下、所定周期毎に上記と同様にしてアーム良p出処理
が実行され、各軸アームの現在長11 ’12’、13
’ が所定周期f7iにテーブルTBIに更新記憶され
ることとなる。Thereafter, arm good output processing is executed in the same manner as above at every predetermined period, and the current length of each axis arm is 11 '12', 13
' will be updated and stored in the table TBI at a predetermined period f7i.
一方、教示位iδへの移動のために第1〜第3軸のアー
ムの移動用、即ち、回転角を求める処理は、従来と同様
、教示データと各軸のアーム環から移動早(回転角)を
tjFl、演()結果に基づいて各軸の移動指令を出力
することとなるが、この演算処理において用いる各軸の
アーム環は、テーブル丁B1に所定周期毎に更新記憶さ
れる各1袖アームの現在長L1’ 、L2’ 、L3’
を用いるため、教示動作時およびリピート時における各
軸のアームの温度に関係なく、即ら、熱変形量の大小に
関係なく確実に教本位置に位置決めすることができ、熱
変形のために位置繰返し精度が低下することはない。On the other hand, the process for moving the arms of the first to third axes, that is, determining the rotation angles for movement to the taught position iδ, is performed from the teaching data and the arm rings of each axis (rotation angles), as in the past. ) is tjFl, and a movement command for each axis is output based on the result of the operation ().The arm ring of each axis used in this calculation process is updated and stored in the table B1 at predetermined intervals. Current length of sleeve arm L1', L2', L3'
Because of the use of There is no loss of accuracy.
なお、各軸のアームに装着する温度検出手段P1.P2
.P3は、それぞれ各軸のアームの平均的な温度が検出
される位置に装着することが望ましいが、各軸のアーム
に複数の温度検出1段を装着し、各温度検出手段によっ
て検出される温度を平均化して各軸アームの温度を!)
出するようにしてもよい。又、腕部以外のアーム、叩ら
、手首部のアームにも;M1度検出丁段を設け、これら
のアームのアームF;を補正しCしいが、これらのアー
ム環は小ざいの′C:温度による影響が少ないから、木
実施例でCま省略し−でいる。Note that the temperature detection means P1. mounted on the arm of each axis. P2
.. It is desirable to install P3 at a position where the average temperature of the arm of each axis is detected, but one stage of multiple temperature sensors is installed on the arm of each axis, and the temperature detected by each temperature detection means is Average the temperature of each axis arm! )
It is also possible to have it released. Also, arms other than the arm, the arm of the arm, and the arm of the wrist should also be provided with a M1 degree detection stage to correct the arm F of these arms, but these arm rings are small. : Since it is less affected by temperature, C is omitted in the wood example.
次に、第2の実施例についC説明する。この第2の実施
例にJ3いては、予め、ロボット本体1の作動可能な温
度領域を複数に分υ1し、夫々の温度領域に対応さぜC
第1軸のアーム環11’ 、第2軸のアーム良1〜2′
、第3 qallのアーム環1−3′ を記憶させたデ
ープルTB2(第5図)を不揮発性RAM104に設G
Jてd3き、各軸アームの現る温1立T1.T2.T3
に基づいて該テーブルTB2から各軸アームの現在長を
選択づるようにしている。この実施例にd3 +Jるハ
ードウェア構成は」二間第1の実施例と同様であるが、
不揮発性RAMl04に前述したテーブルTB2が設け
られている点、テーブルTB1には各軸アームの基準長
を記[する領域を設置する必要が41い点が第1の実施
例とは異なる。なお、テーブルTB2に示される温度領
域は各々の温度領域における温度上限値ににって代表さ
れでJ3す、例えば、ロボット本体1の(/1m可能な
温度fi!4がO℃〜60℃であり、温度領域の刻み幅
を5℃とした場合、第5図にJ3いて湿度上限値t1は
5℃となり、0℃〜5℃の温度ダ1域を代表することに
4【る。この温度領域に対応する第1軸のアーム環L(
1,1>、第2軸のアーム環L(2,1)、第3軸のア
ームにL(3゜1)はそれぞれ該温度領域におG−Jる
中間湿度、この例ぐは2.5℃前後における実長を実験
的に測定し、又は、語惇によって求め、予め設定記憶し
てJ3 <ものである。以下同様に、5℃毎の刻み幅で
温度上限値t 、t3・・・1.・・・tIIl(こ
の場合、m=12)を設定し、それぞれの温f復領域の
中間温度に対応する各軸のアーム環を記憶させてa3<
。Next, the second embodiment will be explained. In this second embodiment, in advance, the temperature range in which the robot body 1 can operate is divided into a plurality of temperature ranges υ1, and a temperature range C corresponding to each temperature range is set.
Arm ring 11' of the first shaft, arm ring 1-2' of the second shaft
, set the dimple TB2 (Fig. 5) in which the arm ring 1-3' of the third qall is stored in the non-volatile RAM 104.
J and d3 and the temperature of each axis arm is 1 and T1. T2. T3
The current length of each axis arm is selected from the table TB2 based on the table TB2. The hardware configuration of this embodiment is the same as that of the first embodiment, but
This embodiment differs from the first embodiment in that the nonvolatile RAM 104 is provided with the table TB2 described above, and that it is not necessary to provide an area on the table TB1 to record the reference length of each axis arm. Note that the temperature ranges shown in table TB2 are represented by the upper limit of temperature in each temperature range.For example, if the temperature fi! If the step width of the temperature range is 5°C, the upper limit of humidity t1 at J3 in Fig. 5 is 5°C, which represents the temperature range 0°C to 5°C. The arm ring L of the first axis corresponding to the area (
1,1>, the arm ring L (2,1) of the second axis, and the arm ring L (3°1) of the third axis are the intermediate humidity G-J in the temperature range, for example, 2. The actual length at around 5° C. is measured experimentally or determined according to the terminology, and the actual length is stored in advance and J3<. Similarly, the temperature upper limit t, t3...1. ...Set tIIl (in this case, m=12), memorize the arm ring of each axis corresponding to the intermediate temperature of each heating region, and set a3<
.
以下、CPtJ 101が所定周期毎に実行するアーム
艮算出処理のフローチャート(第3図)と共に、第2の
実施例にJ3けるアーム長p出方式にっいて説明する。Hereinafter, the arm length p calculation method in J3 in the second embodiment will be explained along with a flowchart (FIG. 3) of the arm length calculation process executed by the CPtJ 101 at predetermined intervals.
アーム長算出処理において、CPU101は、まず、カ
ウンタf J5よびカウンタjにOをセットして(ステ
ップS11.ステップ512)・カウンタiをインクリ
メントした復(ステップ513)、該カウンタiの値に
3Jづいて、RAM103に記憶された第1軸のアーム
の現在温度Tiを読込み(ステップ514)、次に、カ
ウンタjをインクリメントした(身、該)Jウンタjの
1直に基づいて、テーブルTB2から温度上限値し・を
読込み(ステップ516)、第1@のアームの現在温度
下が温度上限値t、以下であるか否か、即ら、第1軸の
アームの現在温IFJTiが温度上限値t によって代
表される温度領域に含まれているか否かを判別する(ス
テップ517)。第1INlのアームの現在温度Tf
S ’IQ度上限値t、によって代表される温度領域に
含まれていなければ、ステップS15に復帰してカウン
タjをインクリメントし、インクリメントされたカウン
タjの値に基づいて、テーブルTB2から温度上限値t
を読込み(ス1ツブ816)、第1軸のアームの現在
温度Tiが温度上限値t、以Fであるか否か、即ち、第
i軸のアームの現在温度Tiが温度上限値tjによって
代表される温度領域に含まれているか否かを再度判別す
る(ステップ517)。以下、同様にして、ステップ8
15〜ステツプ817に至るループ状の処理を繰返し、
第1軸のアームの現在温度7iが温度上限値t、以下と
なる温度領域が検出されると、第1II41のアームの
現在温度T1に対応づるアーム現在長、即ち、カウンタ
i、jによって示されるアーム長L(i、j)を第1軸
のアーム現在長L i / としてテーブルTB1の所
定位置に書込む(ステップ818)。In the arm length calculation process, the CPU 101 first sets the counter fJ5 and the counter j to O (step S11, step 512), increments the counter i (step 513), and then increments the value of the counter i by 3J. Then, the current temperature Ti of the arm of the first axis stored in the RAM 103 is read (step 514), and then the temperature is read from the table TB2 based on the first shift of the J counter j that incremented the counter j. The upper limit value is read (step 516), and it is determined whether the current temperature of the first arm is less than or equal to the temperature upper limit value t, that is, the current temperature IFJTi of the first axis arm is equal to or lower than the temperature upper limit value t. It is determined whether the temperature is included in the temperature range represented by (step 517). Current temperature Tf of arm of 1st INl
If the temperature range is not included in the temperature range represented by S'IQ degree upper limit value t, the process returns to step S15, the counter j is incremented, and the temperature upper limit value is determined from table TB2 based on the incremented value of counter j. t
(step 816), and determines whether the current temperature Ti of the arm of the first axis is equal to or less than the temperature upper limit value t, that is, the current temperature Ti of the arm of the i-th axis is represented by the temperature upper limit value tj. It is determined again whether or not the temperature is within the specified temperature range (step 517). Hereafter, in the same way, step 8
Repeat the loop-like process from step 15 to step 817.
When a temperature range in which the current temperature 7i of the first axis arm is equal to or lower than the temperature upper limit t is detected, the current arm length corresponding to the current temperature T1 of the 1st II 41 arm is indicated by counters i and j. The arm length L(i, j) is written at a predetermined position on the table TB1 as the current arm length L i / of the first axis (step 818).
次に、カウンタiの値が3に達しているか否か、即ち、
第1 ’kllのアームの現在長し1′、第2軸のアー
ムの現在長し2′、第31NIのアームの現在長L3’
を求めてテーブルTBIの所定位置に書込む処理がすべ
て終了しているか否かを判別しくステップ519)、カ
ウンタiの値が3に達していな()れば、ステップ81
2に復帰してカウンタjを再度Oにセットしくステップ
512)、カウンタ1をインクリメン1〜しだ後(ステ
ップ513)、上記と同様にして第1軸のアームの現在
長L +Lを求めて、該アームの現在長L I+ をテ
ーブルTB1の所定位置にI書込む。Next, check whether the value of counter i has reached 3, that is,
The current length of the arm of the 1st 'kll' is 1', the current length of the arm of the 2nd axis is 2', the current length of the arm of the 31st NI is L3'
Step 519) is performed to determine whether the process of obtaining and writing the value to a predetermined position in table TBI has been completed, and if the value of counter i has not reached 3 (), step 81 is performed.
After returning to step 2 and setting counter j to O again (step 512), incrementing counter 1 to 1 (step 513), calculate the current length L + L of the arm of the first axis in the same manner as above, The current length L I+ of the arm is written at a predetermined position on the table TB1.
このようにして、第1軸のアームの現在艮L1′、第2
軸のアームの現在艮L2′、第3軸のアームの現在長L
3’ を求めてテーブルTB1の所定位置に書込む処理
がすべて終了し、ステップS19においでカウンタiの
値が3に達したことが判別されると、この処理周期にお
けるアーム長算出処理を終了する。In this way, the current position L1' of the arm of the first axis, the second axis
The current length of the axis arm L2', the current length L of the third axis arm
3' and writing it into a predetermined position in the table TB1 is completed, and when it is determined in step S19 that the value of the counter i has reached 3, the arm length calculation process in this processing cycle is ended. .
以下、所定周期毎に上記と同様にしてアーム艮算出処理
が実行され、各軸アームの現在長L1’L2’ L
3’ が所定周期毎にテーブルTB1の所定位置に更新
記憶されることとなる。Thereafter, the arm length calculation process is executed in the same manner as above at every predetermined period, and the current length L1'L2'L of each axis arm is calculated.
3' is updated and stored at a predetermined position in the table TB1 every predetermined period.
なお、教示位置への移動mQ出処理に関しては、前述し
た第1の実施例と同様の方式で行われ、本実施例におい
ても第1の実施例と同様、教示動作時およびリピート時
における各軸のアームの温度に関係なく確実に教示位置
への位置決めを行うことができ、熱変形によって位置繰
返し精度が低下することはない。Regarding the movement mQ output processing to the teaching position, it is performed in the same manner as in the first embodiment described above, and in this embodiment, as in the first embodiment, each axis is Regardless of the temperature of the arm, positioning to the taught position can be performed reliably, and position repeatability does not deteriorate due to thermal deformation.
以上に述べたように、本実施例においては、温度上限値
t、によって代表される温度領域に対応させて各軸のア
ーム長を記憶したテーブルTB2から、各軸アームの現
在i1T iに基づいて各軸の現在アーム長を求めるよ
うにしている。そこで、テーブルTB2を作成するに当
たり各温度領域に対応する各軸のアーム長を実験的に測
定する場合、各軸のアームに温度検出手段1〕1.P2
.P3を装着した後、ロボット本体1を駆動させて各軸
のリーボI−夕やブレーキ、エンドエフェクタ等の発熱
によって生じる温度上昇を上記温度検出手段P1.P2
.P3によって実際に検出すると共に、それぞれの検出
温度における各軸のアーム長を実測するようにし、上記
検出温度と各軸のアーム長の実測値とに基づいてテーブ
ルTB2に設定するデータを得るようにすれば、実際の
使用情況に近似したデータを得ることができ、ロボット
動作中の各軸アームの温度から各軸アームの現在長を求
める際の信頼性は更に向上される。As described above, in this embodiment, based on the current i1T i of each axis arm, The current arm length of each axis is determined. Therefore, when creating the table TB2 and experimentally measuring the arm length of each axis corresponding to each temperature range, temperature detection means 1]1. P2
.. After attaching P3, the robot body 1 is driven and the temperature rise caused by the heat generated by the levers, brakes, end effectors, etc. of each axis is detected by the temperature detecting means P1.P3. P2
.. In addition to actually detecting by P3, the arm length of each axis at each detected temperature is actually measured, and data to be set in table TB2 is obtained based on the detected temperature and the actual measured value of the arm length of each axis. This makes it possible to obtain data that approximates actual usage conditions, and further improves reliability when determining the current length of each axis arm from the temperature of each axis arm during robot operation.
次に、本発明の第3の実施例について説明する。Next, a third embodiment of the present invention will be described.
この第3の実施例では、各アームの温度を検出する温度
検出手段P1.f)2.P3を説【ノずに、各アームの
アーム環を発熱体の各軸の七−全駆動電流より求めるよ
うにした点が上記第1.第2実施例と異なる。そしく、
この第3の実施例においては、ブレーキや減速機、電磁
弁等の発熱によってアーム環に与える影響は微小とし、
専らアーム環は各軸を駆動する七−夕の内、腕部のアー
ムを駆動リ−るt−タ(第1.第2の実施例と同様第1
〜第3軸のアームを駆#Jげるモータ)の発熱によって
影響されるものとした。しかしながら、ブレーキ電磁弁
等についても、通電による発熱であれば、本方式は適用
可能である。In this third embodiment, temperature detection means P1. f)2. P3 is not explained, but the point that the arm ring of each arm is determined from the total drive current of each axis of the heating element is the above-mentioned point 1. This is different from the second embodiment. So,
In this third embodiment, the influence on the arm ring due to the heat generated by the brake, reducer, solenoid valve, etc. is minimal;
Among the Tanabata rings that drive each axis, the arm rings are the T-taters that drive the arms of the arms (first and second, similar to the second embodiment).
It is assumed that the effect is caused by the heat generated by the motor that drives the arm of the third axis. However, this method can also be applied to brake solenoid valves and the like as long as they generate heat due to energization.
また、外気温や外気の流れ等の外乱は無祝し、ロボット
の動作前は外部と完全に熱平衡状態にあるどした。In addition, external disturbances such as outside temperature and outside air flow were ignored, and the robot was in perfect thermal equilibrium with the outside before operating.
まず、この第3の実施例の作用原理を略説する。First, the principle of operation of this third embodiment will be briefly explained.
第1軸のアームをアーム△、第2軸のアームをアームB
、第3軸のアームをアームCとし、各アームΔ〜Cを駆
vJツるモータをM a 、 M b 、 M cどし
、駆動電流をi 、’ 、i とする。そしa’
bc
で、アームAのモータMaの駆動電流1.による発熱で
の上昇温度をΔTAa、モータMbの駆動電流ibによ
る発熱での上界温度をΔTAb、−E−タMCの駆動電
流1゜による発熱での上昇温度をΔTACとし、同様に
、アームBの駆動電流0,1b、i による上W温度を
ΔTl3a、ΔTBb、ΔTBc、アームCの駆動電流
18゜ゎ、icによる上昇温度をΔTCa、ΔTCb。The arm of the 1st axis is arm △, the arm of the 2nd axis is arm B
, the arm of the third axis is referred to as arm C, the motors driving each arm Δ to C are Ma, Mb, and Mc, and the driving currents are i,', and i. Soshia'
bc, the drive current of motor Ma of arm A is 1. ΔTAa is the temperature increase due to heat generation due to the drive current ib of motor Mb, ΔTAb is the upper limit temperature due to heat generation due to the drive current ib of motor Mb, and ΔTAC is the temperature rise due to heat generation due to the drive current 1° of motor Mb. The upper W temperature due to the drive currents 0, 1b, and i are ΔTl3a, ΔTBb, ΔTBc, the drive current of arm C is 18°, and the temperature increase due to ic is ΔTCa, ΔTCb.
ΔTCCとし、これら−ヒFA温度は第7図に示JJ:
うに[−夕の駆動開始から所定の時定数、叩ら、熱整定
時間Toをもって温度上昇の遅れがあるものとして、実
験的にこの熱整定時間TO’2求めると共に、各を一夕
の駆動電流の2乗1a〜i(Hの大きさに応じ、各アー
ムA−Cの温度上デーが停止した平衡状態の上昇温度(
温度上昇がリブニレ−1へしたときの上が温度)ΔTA
ta〜Δ丁AC1ΔTBa〜ΔTBc、ΔTCa〜ΔT
Ccを実験的に求め、テーブルに記憶しておき、ロボッ
トを駆動してからの各り−9Ma−MCの駆動電流の2
乗電流平均値を求め、この2東電流平均値によって上記
テーブルより各アームの温度」−冒平衡温度Δ丁△a〜
Δ丁AC2ΔTBa〜Δr [3C、ΔTCa〜ΔTC
cを求める。例えば、アーム八は[−タMaの駆動によ
ってΔrAa、−E−−タMbの駆動によりΔTAb、
モータMCの駆動によりΔTAcの温度上4があるもの
とト記テーブルにり求められると、アームへの温度上品
はこれら上昇温度を加算し、ΔT A a+ΔTAb+
ΔTACの温度]二臂があるものとして、これによるア
ームへのアーム環の伸び△L八へを次式より求める。ΔTCC, and these −HIFA temperatures are shown in Figure 7.JJ:
Assuming that there is a delay in temperature rise with a predetermined time constant, heat settling time To, from the start of driving in the evening, this heat settling time TO'2 is experimentally determined, and each is calculated as the overnight drive current. squared 1a-i (depending on the size of H, the rising temperature in the equilibrium state where the temperature of each arm A-C has stopped (
When the temperature rises to Rib Elm-1, the upper temperature is) ΔTA
ta~ΔdAC1ΔTBa~ΔTBc, ΔTCa~ΔT
Determine Cc experimentally, store it in a table, and calculate the driving current of -9Ma-MC for each time after driving the robot.
Find the average value of the multiplied current, and use the average value of the current to determine the temperature of each arm from the table above.
ΔDC2ΔTBa~Δr [3C, ΔTCa~ΔTC
Find c. For example, arm 8 is ΔrAa when driven by [-ta Ma, ΔTAb when driven by -E-ta Mb,
If it is determined from the table that there is a temperature increase of 4 above ΔTAc due to the drive of motor MC, the temperature increase to the arm is calculated by adding these temperature increases, ΔT A a + ΔTAb +
Temperature of ΔTAC] Assuming that there are two arms, the extension of the arm ring to the arm due to this, ΔL8, is determined from the following equation.
ΔしA’ =に−<ΔTΔa+ΔTAb+Δ丁Ac>
・・・ (2)
上記第(2)式において、Kは比例定数で、熱線膨張率
とアーム環を考慮して実験的に補正して求めたちのであ
る。ΔTΔa+ΔTAb+ΔTAc>
... (2) In the above equation (2), K is a proportionality constant, which is obtained by experimentally correcting the coefficient of linear thermal expansion and the arm ring.
」二間第(2)式で求めたアームへのアーム環の伸びΔ
1−A′ は温度上界が停止した平1lIj状態での伸
びを丞すbのであるから、第7図に示すような熱整定時
間を考慮し、次式によって温度上51;ilIれ補i′
Eを行い、アーム△のアーム環の伸びΔし八を求める。” The extension Δ of the arm ring to the arm determined by the second equation (2)
1-A' is the elongation b in the flat state where the upper temperature limit has stopped, so considering the thermal settling time as shown in Fig. 7, the temperature increase 51; ′
Perform E to find the extension Δ of the arm ring of arm Δ.
T。T.
へL△=へL△’(1−e) ・・・ (3
)また、アームB、Cのアーム環の伸びΔ1−B。To L△= To L△' (1-e) ... (3
) Also, the arm ring extension Δ1-B of arms B and C.
Δi Ct、、同様に求める。この伸びは、ロボットに
教示点を教示したときのアーム環からの伸び量を示して
いるもので、再生運転口4に、順次この伸び吊ΔLへ〜
へしCをアーム環に補正して各軸の回転部を0出するよ
うにづ゛る。これにより、温度上昇によるアーム環の伸
びを補正し、正確に教示位置にロボットを位置づけるこ
とができる。Δi Ct, is determined similarly. This elongation indicates the amount of elongation from the arm ring when the teaching point is taught to the robot.
Correct the height C to the arm ring so that the rotating parts of each axis are set to 0. This makes it possible to correct the elongation of the arm ring due to temperature rise and accurately position the robot at the taught position.
そこで、予め各モータMa−Mcに順次駆動電流を流し
、駆動電流の2乗の大きさに応じたアーム八〜Cの上が
温度(温度−F背が停止し、サブーユレートしたときの
上界温度)をテーブルとして不tilt発性RΔM10
4に格納する。Therefore, a drive current is applied to each motor Ma-Mc sequentially in advance, and the temperature at the top of arms 8 to C according to the square of the drive current (temperature - F is the upper limit temperature when the back stops and subulates). ) as a table and the tilt-induced RΔM10
Store in 4.
第6図はモータMaのモータ電流の2乗1aに対する各
アームA〜Cの温度上、46丁Aa〜ΔTCaの対応を
示すデープル10aの例を示しており、第6図において
、ΔTAa1〜ΔTAaoは、モータMaの駆動電流の
2乗iHの6値によってアーム八が上湯する温度を示し
ており、同様にΔT8a 〜ΔTBa 、ΔTCa1
〜ΔTCa。FIG. 6 shows an example of a daple 10a showing the correspondence of 46 teeth Aa to ΔTCa on the temperature of each arm A to C with respect to the square of the motor current 1a of the motor Ma, and in FIG. 6, ΔTAa1 to ΔTAao are , the temperature at which the arm 8 heats up is shown by the six values of the square iH of the drive current of the motor Ma, and similarly, ΔT8a ~ ΔTBa, ΔTCa1
~ΔTCa.
n
はアームB、アームc h<七−一タMaのエータ電流
の2乗i1に対する各アームΔ〜Cの温度上界を記憶し
たものであるが、この第6図と同様に、モータMb、M
cの各々のモータ電流の2東ib、icに対する各アー
ムの温度−[胃ΔTΔb。n stores the temperature upper limit of each arm Δ to C with respect to the square i1 of the motor current of arm B, arm ch<7-1ta Ma, and similarly to this FIG. 6, motor Mb, M
Temperature of each arm for each motor current ib, ic of c - [stomach ΔTΔb.
ΔTBb、ΔTCb及びΔTAC,ΔTBC。ΔTBb, ΔTCb and ΔTAC, ΔTBC.
ΔTCCをデープル10b、10c (図示略)として
作成し、不揮発性1でへM104中に記憶ざヒておく。ΔTCC is created as daples 10b and 10c (not shown) and stored in M104 as a non-volatile 1.
そして、ロボットにロボット動作を教示した後再生運転
を開始させると、CPU101は第8図の処理を所定周
期毎行ってアーム長の伸びmΔLA〜ΔLCを求め、こ
の伸び酒を教示時のアーム艮に補正してロボット再生運
転を行うこととなる。Then, when the robot starts regeneration operation after teaching the robot motion, the CPU 101 performs the process shown in FIG. The robot will perform regeneration operation after correction.
再生運転を開始させると、CPU101はタイマーをス
タートさせ、第8図の処理を所定周期毎行う。一方、軸
制御器107内のサーボ制御用のCPUは各処理周m毎
の各モータへの指令電流(指令トルク)の2乗を軸制御
器107内に設けられたCPU101及びサーボ用のC
PUからアク廿スできる共有RAMにJ1込み、さらに
、サーボ用CPUはこの書込まれた2乗電流の平均値に
書込む。When the regeneration operation is started, the CPU 101 starts a timer and performs the process shown in FIG. 8 at predetermined intervals. On the other hand, the CPU for servo control in the axis controller 107 outputs the square of the command current (command torque) to each motor for each processing cycle m to the CPU 101 and the CPU for servo provided in the axis controller 107.
J1 is written into the shared RAM that can be accessed from the PU, and the servo CPU writes the average value of the written square current.
CPU101は、所定同期毎上記共有RAMに取り(ス
テップS1)、各2乗電流平均値を加算するレジスタR
a、Rb、Rcに加葬する(ステップ82)。なお、レ
ジスタRa−Rcは再生運転開始時に初期化され、「0
」にセラ1〜されている。The CPU 101 writes a register R to the shared RAM at predetermined synchronization intervals (step S1) and adds each squared current average value.
a, Rb, and Rc (step 82). Note that registers Ra-Rc are initialized at the start of regeneration operation and set to "0".
” has been rated 1~.
次に、各レジスタRa−RCの値をタイマーの舶で除し
、再生運転開始から現時点までの各モータの2乗電流平
均値i a2* i b2* i c2を求める(
ステップ83)。この2乗電流平均値ia。Next, divide the value of each register Ra-RC by the value of the timer to obtain the squared current average value i a2 * i b2 * i c2 of each motor from the start of regeneration operation to the present time (
Step 83). This squared current average value ia.
b、icに対する各アーム上界温度ΔTAa〜ΔTAC
1ΔTBF1〜ΔTBC,ΔT Ca−・△TCCを不
揮発性RAM104内のテープ/L/ 10 a 。b, each arm upper limit temperature ΔTAa to ΔTAC for ic
1ΔTBF1~ΔTBC, ΔT Ca−・ΔTCC as tape/L/10 a in nonvolatile RAM 104.
10b、10cより求める(ステップ84)。10b and 10c (step 84).
求められた各モータの電流による上界温度を加算しくΔ
TAa+ΔTAb+Δ丁AC1ΔTBaトΔT B b
−1−ΔTBc、 ΔTCa十ΔT Cb +ΔTC
C)、実験的に求められた比例定数に1〜に3を乗し、
各アームの伸び吊ΔL△′、ΔLB′ ΔLC’ を求
める(ステップ85>。Add the upper limit temperature due to the current of each motor obtained by adding Δ
TAa+ΔTAb+ΔDC1ΔTBa ΔT B b
−1−ΔTBc, ΔTCa+ΔTCb +ΔTC
C), multiply the experimentally determined proportionality constant by 1 to 3,
The extension of each arm ΔLΔ', ΔLB'ΔLC' is determined (step 85>).
次に、熱整定時間を前轍した現時点でのアームの伸び吊
ΔL△、ΔLB、ΔLCを次の温度士界遅れ補正の演詐
を行って求める(ステップ86)。Next, the extensions ΔLΔ, ΔLB, and ΔLC of the arm at the current time when the thermal settling time has elapsed are determined by performing the next temperature range delay correction (step 86).
ΔLA=ΔmA’ (1−e”)
ΔLB=八LBへ (1−elo)
へLC−へLC’ (1−elo)
なお、tはタイマーで計時した再生運転開始から現時点
までの時間である。ΔLA=ΔmA'(1-e'') ΔLB=To 8 LB (1-elo) To LC- To LC' (1-elo) Note that t is the time measured by a timer from the start of the regeneration operation to the present time.
こうして求めた各アームの伸びωΔLA、Δ1−B、Δ
i Cを不揮発性RAM104内に設けられた現ni1
の伸び量を記憶するアドレス位置に再込み記憶する(ス
テップ87)。The elongation of each arm obtained in this way ωΔLA, Δ1−B, Δ
iC is the current ni1 provided in the non-volatile RAM 104.
The amount of expansion is re-stored at the address location (step 87).
以上の処理を再生運転を終了するまで所定周期ffi行
っで、現時点の各アームの伸び洛を記憶し、1コボツト
アームを駆動する際、教示時の各アームのアーム長に上
記記憶した伸び?ΔmA〜Δl−cを各々加算して補正
し、各軸の回転角を求め、[1ボツトを駆動する。The above process is performed at a predetermined period ffi until the regeneration operation is completed, and the current extension of each arm is memorized. When driving one cobot arm, the arm length of each arm at the time of teaching is set to the above-mentioned extension? ΔmA to Δl-c are added and corrected, the rotation angle of each axis is determined, and [1 bot is driven].
なお、上記実施例では再生運転開始からの各−[icか
らテーブル10a、10c、10cによって各アームの
上昇温度ΔTAa〜ΔTAc、ΔTBa〜ΔTBc、Δ
TCa〜ΔTCcを求めたが、テーブル10a、10b
、10cを設けfに、各玉−夕の駆動゛電流の2東電流
下均値または平均電流を求めて、この2乗電流平均値ま
たは平均電流より各アームの各を一タ電流による上昇温
度Δ−F△a−・ΔTAc、ΔTBa〜ΔTBC,ΔT
Ca〜ΔTCCを求めるJi算j℃を実験的に求めて、
この演0式によって各アームの上昇温度を求めるように
してもよい。In the above embodiment, the temperature rise of each arm ΔTAa to ΔTAc, ΔTBa to ΔTBc, Δ
Although TCa~ΔTCc was calculated, Tables 10a and 10b
, 10c are provided, and f is the lower average value or average current of the driving current of each arm, and from this squared current average value or average current, the temperature increase due to one total current for each arm is determined. Δ-F△a-・ΔTAc, ΔTBa~ΔTBC, ΔT
Experimentally find the Ji calculation j℃ to find Ca~ΔTCC,
The temperature rise of each arm may be determined using this formula.
また、上記実施例においては、ステップS6で上昇温度
の遅れ補正を行ってアーム長の伸び量を演→して求めた
が、時間tの値に応じて、し
く1−8”)の値をテーブルに記憶しておき、タイマで
81時した再生運転開始からの時間に応じて、を
該デープルより(1−elo)の値を読み出し5、ステ
ップS5で求めた1直△L−A’、ΔLB’ 、△1−
C′に乗じて伸び吊Δし△、ΔLB、Δ1.− Cを求
めてもよい。In addition, in the above embodiment, the amount of extension of the arm length was calculated and calculated by correcting the temperature rise delay in step S6, but depending on the value of time t, the value of 1-8" The value of (1-elo) is read out from the table according to the time from the start of the regeneration operation, which is 81 o'clock on the timer. ΔLB', Δ1-
Multiplying C', the extension is Δ, ΔLB, Δ1. - You may also find C.
この第3の実施例においては、第1.第2の実施例のよ
うに、直接アーム温I口を検出Jる方式ではないので、
直接温度を検出づ−ることか困難な場合でし、補正が可
能である。また、温度を直接検出す−るためのセンサが
不要であるので、宥価に構成することができる。また、
ソフトウェアを変えるだけで、従来のすでに設置されて
いるロボットにスJしても適用することができる。In this third embodiment, the first. Unlike the second embodiment, the method does not directly detect the arm temperature I port, so
In cases where it is difficult to directly detect the temperature, correction is possible. Further, since a sensor for directly detecting temperature is not required, the structure can be made inexpensive. Also,
It can be applied to existing robots by simply changing the software.
発明の効果
本発明は、温度上昇を伴うアームの伸び聞を求め、アー
ム長を補正し、教示された位置データど各軸の1コボツ
トアームの補正された現在長とに基づいて各軸の移動用
を算出するようにしたので、各軸のアームに熱変形が生
じた場合であってし、位1市繰返し精度が低Fすること
なく、確実に教示点に位置決めを行うことができる。Effects of the Invention The present invention calculates the extension of the arm as the temperature rises, corrects the arm length, and adjusts the movement of each axis based on the taught position data and the corrected current length of one cobot arm for each axis. is calculated, so even if thermal deformation occurs in the arm of each axis, positioning can be reliably performed at the taught point without lowering the repeatability.
第1図は本発明の方式を実施する一実施例の産業用ロボ
ットの要部ブロック図、第2図は第1の実施例における
アーム長昨出方式を示すフ[]−チty −1−1第3
図は第2の実施例におけるアーム長算出方式を示すフロ
ーチャート、第4図は第1゜第2の実施例に採用したテ
ーブルTBIを丞す概念図、第5図は第2の実施例に採
用したテーブルTB2を示す概念図、第6図は第3の実
施例にお()るL−タMのモータ電流の2乗に対する各
アームの上界温度を示すテ゛−プル10 Elを示ず概
念図、第7図は熱整定時間を説明CJ−る説明図、第8
図は第3の実施例におけるアーム伸び帛を求める処理の
フローヂp−t−である。
1・・・産業用ロボッ1−本体、100・・・数値制御
装置、101・・・中央処理装置行、102・・・RO
M、103・・・RAM、104・・・不揮発性RAM
、105・・・教示操作盤、106・・・操作盤、10
7・・・軸制御器、108・・・リーボアンブ、109
・・・入出力回路、110・・・△/D変換器、111
・・・バス、Pl、l’2P3・・・温度検出手段。
第 2 図
特許出願人 ファプック株代会着
第
第
区FIG. 1 is a block diagram of the main parts of an industrial robot according to an embodiment of the present invention, and FIG. 2 is a block diagram of an industrial robot according to an embodiment of the present invention. 1 3rd
The figure is a flowchart showing the arm length calculation method in the second embodiment, Figure 4 is a conceptual diagram showing the table TBI adopted in the first and second embodiments, and Figure 5 is a diagram adopted in the second embodiment. FIG. 6 is a conceptual diagram showing the table TB2, which is a table TB2 shown in FIG. Figure 7 is an explanatory diagram explaining the thermal settling time, Figure 8
The figure is a flowchart of the process for determining the arm extension in the third embodiment. DESCRIPTION OF SYMBOLS 1... Industrial robot 1-main body, 100... Numerical control device, 101... Central processing unit line, 102... RO
M, 103...RAM, 104...Nonvolatile RAM
, 105... teaching operation panel, 106... operation panel, 10
7... Axis controller, 108... Liebo amplifier, 109
...Input/output circuit, 110...△/D converter, 111
...Bus, Pl, l'2P3...Temperature detection means. Figure 2 Patent Applicant Happuk Stock Exchange Arrival District No. 1
Claims (2)
腕部の各軸のロボットアームに該ロボットアームの温度
を検出する温度検出手段を設け、上記温度検出手段によ
って検出される一度から各ロボットアームの現在長を求
め、教示された位置データと各ロボットアームの現在長
とに基づいて各軸の移動量を算出し、各軸を駆動するよ
うにした産業用ロボットの位置補正方式。(1) In a control system for an industrial robot, a temperature detection means for detecting the temperature of the robot arm is provided at least on each axis of the robot arm, and the current temperature of each robot arm is determined from the temperature detected by the temperature detection means. A position correction method for industrial robots that calculates the length, calculates the amount of movement of each axis based on the taught position data and the current length of each robot arm, and drives each axis.
する各サーボモータの駆動電流の再生運転開始からの2
乗電流平均値を各々所定周期毎検出し、求められた各2
乗電流平均値によつて各ロボットアームの平衡状態にな
る上界温度を各々求め、各アーム毎に各サーボモータの
平均2乗電流値による上記上昇温度を加算して各アーム
の全上昇温度を所定円期毎算出し、該全上昇温度と再生
運転開始からの時間により温度上昇遅れ補正を行い各ア
ームの温度上昇による伸び量を所定周期毎求め、該伸び
量を各アームのアーム長に補正して再生運転時の各軸の
移動量を算出し、各軸を駆動するようにした産業用ロボ
ットの位置補正方式。(2) In the control method of industrial robots, the drive current of each servo motor that drives each axis is regenerated from the start of operation.
The average value of the multiplicative current is detected every predetermined period, and each of the obtained 2
Find the upper limit temperature at which each robot arm reaches an equilibrium state based on the average squared current value, and add the above temperature rise due to the average squared current value of each servo motor for each arm to obtain the total temperature rise for each arm. Calculate every predetermined cycle period, correct the temperature rise delay based on the total temperature rise and the time from the start of regeneration operation, calculate the elongation amount due to the temperature rise of each arm every predetermined cycle, and correct the elongation amount to the arm length of each arm. A position correction method for industrial robots that calculates the amount of movement of each axis during regenerative operation and drives each axis.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19055188A JPH0241879A (en) | 1988-08-01 | 1988-08-01 | Correction of position for industrial robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19055188A JPH0241879A (en) | 1988-08-01 | 1988-08-01 | Correction of position for industrial robot |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0241879A true JPH0241879A (en) | 1990-02-13 |
Family
ID=16259960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19055188A Pending JPH0241879A (en) | 1988-08-01 | 1988-08-01 | Correction of position for industrial robot |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0241879A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07314367A (en) * | 1994-05-25 | 1995-12-05 | Yaskawa Electric Corp | Precision correction method for articulated robot |
JP2009297829A (en) * | 2008-06-12 | 2009-12-24 | Mitsubishi Electric Corp | Controller |
JP2014027821A (en) * | 2012-07-30 | 2014-02-06 | Juki Corp | Drive controller |
JP2020116664A (en) * | 2019-01-22 | 2020-08-06 | ファナック株式会社 | Robot device and thermal displacement amount estimation device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6380305A (en) * | 1986-09-24 | 1988-04-11 | Matsushita Electric Ind Co Ltd | Control method for robot |
-
1988
- 1988-08-01 JP JP19055188A patent/JPH0241879A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6380305A (en) * | 1986-09-24 | 1988-04-11 | Matsushita Electric Ind Co Ltd | Control method for robot |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07314367A (en) * | 1994-05-25 | 1995-12-05 | Yaskawa Electric Corp | Precision correction method for articulated robot |
JP2009297829A (en) * | 2008-06-12 | 2009-12-24 | Mitsubishi Electric Corp | Controller |
JP2014027821A (en) * | 2012-07-30 | 2014-02-06 | Juki Corp | Drive controller |
JP2020116664A (en) * | 2019-01-22 | 2020-08-06 | ファナック株式会社 | Robot device and thermal displacement amount estimation device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240009835A1 (en) | Driving mechanism, robot apparatus measurement method, robot apparatus control method and component manufacturing method | |
CN108297101B (en) | Multi-joint-arm series robot end pose error detection and dynamic compensation method | |
WO1998043139A1 (en) | Shift command correction method and servo control system in which shift command is corrected | |
US10882182B2 (en) | Robot apparatus, control method of robot apparatus, and recording medium | |
JPH07299701A (en) | Heat displacement correction method of machine tool | |
US8412378B2 (en) | In-vivo tension calibration in tendon-driven manipulators | |
KR970073864A (en) | Dynamic Error Correction Method for Numerical Control Machines | |
JP2008299590A (en) | Control device, control method, program and robot | |
WO1990008016A1 (en) | Positioning correction for robots | |
JPH0241879A (en) | Correction of position for industrial robot | |
US20190217466A1 (en) | Robot system, method of controlling robot arm, recording medium, and method of manufacturing an article | |
JP2002096232A (en) | Controlling method for machine tool | |
EP3444077A1 (en) | Method for determining a current position of a robot end effector and robotic system | |
JPS6243701A (en) | Robot control system | |
JPH08215983A (en) | Thermal displacement correcting method of machine tool and device thereof | |
WO2017026045A1 (en) | Hand-force measurement device, hand-force measurement method, and hand-force measurement program | |
JPS6159860B2 (en) | ||
KR101170781B1 (en) | Method and apparatus for compensating measurements of gyroscope using reference rotation angle | |
JP3520145B2 (en) | Thermal displacement compensation method for machine tools | |
JP2001018182A (en) | Robot mechanism calibration arithmetic method and system | |
JPH05169351A (en) | Thermal displacement compensation method of machine tool | |
JPH07132438A (en) | Ball screw thermal displacement correcting method | |
JP2000280191A (en) | Position initializing method | |
JPH07186005A (en) | Heat displacement correction method for ball screw | |
JP2001105027A (en) | Method for straightening bed of bar |