JP2576171B2 - Articulated arm control device - Google Patents

Articulated arm control device

Info

Publication number
JP2576171B2
JP2576171B2 JP1499888A JP1499888A JP2576171B2 JP 2576171 B2 JP2576171 B2 JP 2576171B2 JP 1499888 A JP1499888 A JP 1499888A JP 1499888 A JP1499888 A JP 1499888A JP 2576171 B2 JP2576171 B2 JP 2576171B2
Authority
JP
Japan
Prior art keywords
arm
actuator
sin
arms
mathematical model
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.)
Expired - Fee Related
Application number
JP1499888A
Other languages
Japanese (ja)
Other versions
JPH01191209A (en
Inventor
潔 袴塚
哲也 小南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP1499888A priority Critical patent/JP2576171B2/en
Publication of JPH01191209A publication Critical patent/JPH01191209A/en
Application granted granted Critical
Publication of JP2576171B2 publication Critical patent/JP2576171B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)
  • Control Of Position Or Direction (AREA)

Description

【発明の詳細な説明】 発明の目的 [産業上の利用分野] 本発明は多関節アーム制御装置に関し、特に一連のア
ームの先端振動を抑制し、同時にアーム先端の位置決め
精度の向上を図るものである。
The present invention relates to a multi-joint arm control device, and more particularly, to suppressing the vibration of the tip of a series of arms and simultaneously improving the positioning accuracy of the tip of the arm. is there.

[従来の技術] 作業用アームを備えた産業用ロボットの制御システム
として、例えばアームの各関節毎のサーボ系において
は、電動機等の出力軸の回転角度を検出するエンコーダ
の出力と、回転速度を検出するタコジェネレータの出力
とをフィードバックするシステムが通常実施されてい
る。しかし、高負荷重量のロボットにおいては、アーム
の慣性モーメントが大きく、減速機、トルク伝達機構及
びアーム等のばね要素により、アームの振動に関する固
有周波数が低下するため、アーム先端に低周期で振幅の
大きな振動が発生しやすくなりアーム先端の位置決め精
度が低下するといった問題が生じていた。
[Prior Art] As a control system of an industrial robot having a working arm, for example, in a servo system for each joint of an arm, an output of an encoder for detecting a rotation angle of an output shaft such as an electric motor and a rotation speed are controlled. A system for feeding back an output of a tach generator to be detected is usually implemented. However, in a robot with a heavy load, the arm has a large moment of inertia, and the natural frequency related to the vibration of the arm is reduced by a reduction gear, a torque transmission mechanism, and a spring element such as the arm. There has been a problem that large vibrations are likely to occur and the positioning accuracy of the arm tip is reduced.

この課題に関しては、既に系の内部モデルを設計し、
このモデルからの推定出力値と実際の出力値との偏差を
零とするようにモデルの入力を修正して、修正後のモデ
ル出力値と入力値とをロボットの位置指令値にフィード
バックすることにより振動を防止しようとする提案がな
されている(特開昭61−255415号)。
Regarding this issue, we have already designed the internal model of the system,
By correcting the input of the model so that the deviation between the estimated output value from this model and the actual output value becomes zero, and feeding back the corrected model output value and input value to the robot position command value, A proposal for preventing vibration has been made (JP-A-61-255415).

[発明が解決しようとする課題] しかし、この様なシステムでは、複数あるアーム毎に
独立にモデルが設定されているが、実際にはアーム同士
が干渉する。このため、各アームが独立とは見なせずモ
デルが不適切なものとなる。従って、真に正確な制御が
実施されいるとはいい難く、振動の防止や位置決め精度
が不完全であった。ただ、一連のアームで一モデルを設
計すると、非線形になり、上記手法をそのまま適用する
ことはできなかった。
[Problems to be Solved by the Invention] However, in such a system, although a model is set independently for each of a plurality of arms, the arms actually interfere with each other. For this reason, each arm cannot be regarded as independent and the model becomes inappropriate. Therefore, it is difficult to say that truly accurate control is performed, and the prevention of vibration and the positioning accuracy are incomplete. However, if one model is designed with a series of arms, it becomes nonlinear, and the above method cannot be applied as it is.

発明の構成 本発明は、上記問題点を解決することを目的とするも
のであり、元来非線形であるアースの数式モデルを各ア
ームの角度毎に線形として取り扱うことにより、アーム
振動の効果的防止及び高精度制御を実現する多関節アー
ム制御装置を提供するものである。
SUMMARY OF THE INVENTION An object of the present invention is to solve the above-described problems, and by effectively treating a mathematical model of a ground that is originally nonlinear as linear for each angle of each arm, it is possible to effectively prevent arm vibration. And a multi-joint arm control device that realizes high-precision control.

[課題を解決するための手段] 即ち、本発明の要旨とするところは、第1図に例示す
るごとく、 一連に配設された複数のアームM1と、 この各アームM1を動作させるアクチュエータM2と、 アクチュエータM2の位置を検出する位置検出手段M3
と、 上記アクチュエータM2を制御しアームM1に所定の動作
をさせる制御手段M4と、 を備えた多関節アーム制御装置において、 上記制御手段M4が、上記アクチュエータM2及びアーム
M1によって構成される系をばねと質量とからなる系と仮
定して設定された数式モデルM5であって、アクチュエー
タ駆動指令値から少なくともアクチュエータ変位または
アーム変位を推定する非線形の数式モデルM5を用いると
ともに、上記アクチュエータM2の変位毎に上記数式モデ
ルM5を線形として取り扱うことにより、アクチュエータ
駆動指令値及びアクチュエータ変位の実際値に応じてフ
ィードバック補償量を求め、このフィードバック補償量
にて上記アクチュエータ駆動指令値を補償することを特
徴とする多関節アーム制御装置にある。
[Means for Solving the Problems] That is, the gist of the present invention is, as illustrated in FIG. 1, a plurality of arms M1 arranged in series, and an actuator M2 for operating each of the arms M1. A position detecting means M3 for detecting the position of the actuator M2
And a control means M4 for controlling the actuator M2 to cause the arm M1 to perform a predetermined operation. An articulated arm control device comprising:
A mathematical model M5 that is set assuming that the system constituted by M1 is a system composed of a spring and a mass, using a nonlinear mathematical model M5 that estimates at least an actuator displacement or an arm displacement from an actuator drive command value. By treating the mathematical model M5 as linear for each displacement of the actuator M2, a feedback compensation amount is obtained in accordance with the actuator drive command value and the actual value of the actuator displacement, and the actuator drive command value is calculated based on the feedback compensation amount. A multi-joint arm control device characterized in that compensation is performed.

[作用] 本発明の多関節アーム制御装置は多関節であるため
に、アクチュエータ変位またはアーム変位が推定できる
数式モデルM5が非線形となっているが、各アームがある
変位にある場合は、その変位での線形のモデルM5と見な
すことができる。従って、非線形な数式モデルM5も、ア
クチュエータM2またはアームM1の変位に応じた線形な数
式モデルが存在すると考えることができる。
[Operation] Since the multi-joint arm control device of the present invention is multi-joint, the mathematical model M5 from which the actuator displacement or the arm displacement can be estimated is non-linear. Can be considered as a linear model M5. Therefore, it can be considered that the nonlinear mathematical model M5 also has a linear mathematical model corresponding to the displacement of the actuator M2 or the arm M1.

このことから現代制御理論にて数式モデルM5を解くこ
とができるので、制御手段M4はこの数式モデルM5によ
り、アクチュエータ駆動指令値及びアクチュエータ変位
の実際値からフィードバック補償量を求め、上記アクチ
ュエータ駆動指令値を補償する。このことにより、停止
した際の一連のアームM1の先端振動を抑制できるととも
に、その振動を考慮してアームM1の先端を正確な位置に
制御できる。
From this, the mathematical model M5 can be solved by modern control theory, and the control means M4 calculates the feedback compensation amount from the actuator drive command value and the actual value of the actuator displacement by using the mathematical model M5, and obtains the actuator drive command value. To compensate. This makes it possible to suppress a series of tip vibrations of the arm M1 when the arm M1 stops, and to control the tip of the arm M1 to an accurate position in consideration of the vibration.

次に、本発明の実施例を説明する。本発明はこれらに
限られるものではなく、その要旨を逸脱しない範囲の種
々の態様のものが含まれる。
Next, examples of the present invention will be described. The present invention is not limited to these, and includes various embodiments in a range not departing from the gist thereof.

[実施例] 第2図、第3図に本発明多関節アーム制御装置の一実
施例を示す。第2図はそのアーム部分の概略構成図であ
る。基台1上には第1アーム3、第2アーム5及び第3
アーム7が各揺動軸9,11,13を介して揺動自在に連結さ
れている。この各軸9,11,13には後述するサーボモータ
の出力軸がギヤの組合せからなる減速機構を介して結合
されており、上記アーム3,5,7は、後述する電子制御回
路によりサーボモータが駆動されると所望の回転位置に
位置し得るように構成されている。また第3アーム7の
先端には溶接用の電極15が配置され、所望の位置で電気
溶接できるように構成されている。
Embodiment FIG. 2 and FIG. 3 show an embodiment of the articulated arm control device of the present invention. FIG. 2 is a schematic configuration diagram of the arm portion. The first arm 3, the second arm 5, and the third arm 3
The arm 7 is swingably connected via the swing shafts 9, 11, and 13. An output shaft of a servo motor described later is coupled to each of the shafts 9, 11, and 13 via a reduction mechanism composed of a combination of gears. The arms 3, 5, and 7 are connected to the servo motor by an electronic control circuit described later. Is configured to be able to be located at a desired rotational position when driven. An electrode 15 for welding is arranged at the tip of the third arm 7 so that electric welding can be performed at a desired position.

第3図に本実施例の全体のブロック図を示す。 FIG. 3 shows an overall block diagram of this embodiment.

上記各軸9,11,13には各アーム3,5,7の揺動角度を検出
するためのエンコーダ17,19,21が設けられ、電子制御回
路23にその信号が入力されるている。また各軸9,11,13
に設けられた上記サーボモータ25,27,29は上記電子制御
回路23にてその回転角度が制御されている。上記電子制
御回路23の構成の内、CPU23aは入力される信号に基づい
てサーボモータ25,27,29の駆動量等の演算及びその制御
を行う。また読み出し専用メモリであるROM23bにはCPU2
3aの処理において使用されるプログラム、定数あるいは
後述する数式モデルのデータ等が格納されている。読み
出し書き込み可能なメモリであるRAM23cにはCPU23aで求
められた演算結果や各エンコーダ17,19,21からの検出デ
ータ等が一時記憶される。
Encoders 17, 19, and 21 for detecting the swing angles of the arms 3, 5, and 7 are provided on the shafts 9, 11, and 13, and the signals are input to the electronic control circuit. In addition, each axis 9, 11, 13
The rotation angles of the servo motors 25, 27, 29 provided in the electronic control circuit 23 are controlled by the electronic control circuit 23. In the configuration of the electronic control circuit 23, the CPU 23a calculates and controls the drive amounts of the servo motors 25, 27, and 29 based on the input signals. The read only memory ROM23b has CPU2
A program used in the process of 3a, constants, data of a mathematical model described later, and the like are stored. The RAM 23c, which is a readable and writable memory, temporarily stores calculation results obtained by the CPU 23a, detection data from the encoders 17, 19, and 21.

入力部23dは、各エンコーダ17,19,21や指示入力用キ
ーボード31等からの信号を受信するとともに、それらの
信号に対して波形成形等の信号処理を実行する。出力部
23eは、サーボモータ25,27,29の駆動回路を含み、CPU23
aで実行された処理結果に基づき、サーボモータ25,27,2
9あるいは図示しない溶接用高電圧回路等を必要に応じ
て駆動させるための信号を出力する。コモンバス23f
は、CPU23a、ROM23b、RAM23c、入力部23d、出力部23e間
を結び、データを相互伝達する。
The input unit 23d receives signals from the encoders 17, 19, 21 and the instruction input keyboard 31 and the like, and performs signal processing such as waveform shaping on these signals. Output section
23e includes a drive circuit for the servo motors 25, 27, 29, and the CPU 23
Based on the processing result executed in a, servo motors 25, 27, 2
9 or a signal for driving a high voltage circuit for welding (not shown) as required. Common bus 23f
Connects the CPU 23a, the ROM 23b, the RAM 23c, the input unit 23d, and the output unit 23e to mutually transmit data.

ここで、上記一連のアーム3,5,7の数式モデルを設定
するために座標系を第4図のように表す。ただし第1ア
ーム3と第2アーム5とはxy平面上で揺動動作するもの
とし、その揺動の間は第3アーム7は揺動していないも
のとする。l1,l2,l3は各アーム3,5,7の長さ、d1,d2,d3
は軸9,11,13から各アーム3,5,7の重心までの距離、θA
1,θA2は第1,2アーム3,5の揺動角を表している。更に、
以後に出て来るm1,m2,m3は各アーム3,5,7の質量、DA1,
DA2,DA3は各アーム3,5,7の粘性抵抗(例えば摺動摩擦
等)を表すものとする。
Here, a coordinate system is set as shown in FIG. 4 in order to set a mathematical model of the series of arms 3, 5, and 7. However, the first arm 3 and the second arm 5 are assumed to swing on the xy plane, and the third arm 7 is not swinging during the swing. l1, l2, l3 is the length of each arm 3,5,7, d1, d2, d3
Is the distance from axes 9,11,13 to the center of gravity of each arm 3,5,7, θA
1, θA2 represents the swing angle of the first and second arms 3,5. Furthermore,
M1, m2, m3 appearing thereafter are the mass of each arm 3,5,7, DA1,
DA2 and DA3 indicate the viscous resistance (for example, sliding friction) of each of the arms 3, 5, and 7.

また第3アームの先端での振動として、2次元のもの
を考え、第2アーム5の延長方向の振動成分とそれと垂
直な振動成分とに分ける。そのため、第5図に示すごと
く、第2アーム5の延長線p1とz軸とのなす平面αに第
3アーム7を投影した線q1と、第2アーム5に対するxy
平面上での垂線p2とz軸のなす平面βに第3アーム7を
投影した線q2とを考え、第3アーム7の角度を、上記線
q1とz軸との角θA31及び上記線q2とz軸との角θA32で
表すものとする。
Considering a two-dimensional vibration as the vibration at the tip of the third arm, the vibration is divided into a vibration component in the extension direction of the second arm 5 and a vibration component perpendicular thereto. Therefore, as shown in FIG. 5, a line q1 obtained by projecting the third arm 7 on a plane α formed by the extension line p1 of the second arm 5 and the z-axis, and an xy with respect to the second arm 5
Considering a perpendicular line p2 on the plane and a line q2 obtained by projecting the third arm 7 on a plane β formed by the z-axis, the angle of the third arm 7 is calculated by using the line
The angle θA31 between q1 and the z-axis and the angle θA32 between the line q2 and the z-axis are represented.

上記アーム3,5,7の運動方程式は、ラグランジェ力学
により以下の通りにして導出される。
The equations of motion of the arms 3, 5, and 7 are derived by Lagrange's mechanics as follows.

ラグランジアンLはシステムの総運動エネルギKと総
位置エネルギPの差として、次式のように定義される。
Lagrangian L is defined as the difference between the total kinetic energy K and the total potential energy P of the system as follows:

L=K−P …(1.1) そして運動方程式は、運動・位置エネルギを表した座
標によって、次式のように与えられる。
L = K−P (1.1) The equation of motion is given by the following equation using coordinates representing kinetic / potential energy.

ここでqiは運動・位置エネルギを表す座標、iはそ
の速度、τiは対応するトルク、Dは散逸エネルギであ
る 上記運動方程式を上記一連のアーム3,5,7に適用する
ために、次のような処理をする。
Where qi is coordinates representing kinetic / potential energy, i is its velocity, τi is the corresponding torque, and D is the dissipated energy. In order to apply the above equation of motion to the series of arms 3,5,7, Perform such processing.

(1)まず各アーム3,5,7の重心の位置を求めると、次
のように表される。
(1) First, the position of the center of gravity of each of the arms 3, 5, 7 is obtained as follows.

第1アーム3の重心座標 x1=d1・COSθA1 y1=d1・SINθA1 z1=0 …(1.3a) 第2アーム5の重心座標 x2=l1・COSθA1+d2・COS(θA1+θA2) y2=l1・SINθA1+d2・SIN(θA1+θA2) z2=0 …(1.3b) 第3アーム7の重心座標 x3=l1・COSθA1+l2・COS(θA1+θA2) +d3・SINθA31・COS(θA1+θA2) −d3・SINθA32・SIN(θA1+θA2) y3=l1・SINθA1+l2・SIN(θA1+θA2) +d3・SINθA31・SIN(θA1+θA2) −d3・SINθA32・COS(θA1+θA2) z3=−d3(1−SIN2θA31−SIN2θA32)1/2 (2)各アーム3,5,7の重心の速度は(1.3)式を微分す
ることにより、次のように表される。
Coordinates of the center of gravity of the first arm 3 x1 = d1 · COSθA1 y1 = d1 · SINθA1 z1 = 0 (1.3a) Coordinates of the center of gravity of the second arm 5 x2 = l1 · COSθA1 + d2 · COS (θA1 + θA2) y2 = l1 · SINθA1 + d2 · SIN ( θA1 + θA2) z2 = 0 (1.3b) Coordinate of the center of gravity of the third arm 7 x3 = l1 · COS θA1 + l2 · COS (θA1 + θA2) + d3 · SIN θA31 · COS (θA1 + θA2) -d3 · SIN θA32 · SIN (θA1 + θA1 · θ1 + θA1 · θ1 + θA1 + θA1) SIN (θA1 + θA2) + d3 · SINθA31 · SIN (θA1 + θA2) -d3 · SINθA32 · COS (θA1 + θA2) z3 = -d3 (1-SIN 2 θA31-SIN 2 θA32) 1/2 (2) of each arm 3, 5, 7 The velocity of the center of gravity is expressed as follows by differentiating equation (1.3).

第1アーム3の重心速度 1=−d1・SINθA1・A1 1=d1・COSθA1・A1 1=0 …(1.4a) 第2アーム5の重心速度 2=−l1・SINθA1+A1 −d2・SIN(θA1+θA2)・(A1+A2) 2=l1・COSθA1・A1 +d2・COS(θA1+θA2)・(A1+A2) 2=0 …(1.4b) 第3アーム7の重心速度 3=−l1・SINθA1・A1 −l2・SIN(θA1+θA2)・(A1+A2) −d3・SINθA31・SIN(θA1+θA2)・(A1+A2) −d3・SINθA32・COS(θA1+θA2)・(A1+A2) +d3・COSθA31・COS(θA1+θA2)・A31 −d3・COSθA32・SIN(θA1+θA2)・A32 3=l1・COSθA1・A1 +l2・COS(θA1+θA2)・(A1+A2) +d3・SINθA31・COS(θA1+θA2)・(A1+A2) −d3・SINθA32・SIN(θA1+θA2)・(A1+A2) +d3・COSθA32・SIN(θA1+θA2)・A31 +d3・COSθA32・COS(θA1+θA2)・A32 ただし、g(θ)=SINθ・COSθ・である。Center-of-gravity velocity of the first arm 3 1 = −d1 · SINθA1 · A1 1 = d1 · COSθA1 / A1 1 = 0.・ (A1 + A2) 2 = l1 ・ COSθA1 ・ A1 + d2 ・ COS (θA1 + θA2) ・ (A1 + A2) 2 = 0… (1.4b) Velocity of the center of gravity of the third arm 3 = −l1 ・ SINθA1 ・ A1 −l2 ・ SIN (θA1 + θA2 ) ・ (A1 + A2) −d3 ・ SINθA31 ・ SIN (θA1 + θA2) ・ (A1 + A2) −d3 ・ SINθA32 ・ COS (θA1 + θA2) ・ (A1 + A2) + d3 ・ COSθA31 ・ COS (θA1 + θA2) ・ A31−A2 ・ A31−A2・ A32 3 = l1 ・ COSθA1 ・ A1 + l2 ・ COS (θA1 + θA2) ・ (A1 + A2) + d3 ・ SINθA31 ・ COS (θA1 + θA2) ・ (A1 + A2) −d3 ・ SINθA32 ・ SIN (θA1 + θA2) ・ (A1 + A2) θA1 + θA2) · A31 + d3 · COS θA32 · COS (θA1 + θA2) · A32 Here, g (θ) = SINθ · COSθ ·.

(3)上述の関係から各アーム3,5,7の運動エネルギK1,
K2,K3は、次のように表される。
(3) From the above relationship, the kinetic energy K1,
K2 and K3 are represented as follows.

第1アーム3の運動エネルギK1 K1=(1/2)・m1・(12+12+12) =(1/2)・m1・d12・A12 …(1.5a) 第2アーム5の運動エネルギK2 K2=(1/2)・m2・(22+22+22) =(1/2)・m2・ {l12・A12+d22・(A1+A2) +2l1・d2・COSθA2・A1・(A1+A2)} …(1.5b) 第3アーム7の運動エネルギK3 K3=(1/2)・m3・(32+32+32) =m3・{l1・l2・COSθA2 +l1・d3・(COSθA2・SINθA31−SINθA2 ・SINθA32)+l2・d3・SINθA31+(1/2) ・[l12+l22+d32・(SIN2θA31+SIN2θA32]} ・A12+m3・l2・d3・SINθA31+(m3/2) ・{l22+d32・(SIN2θA31+SIN2θA32)} ・A22+(m3/2)・d32・COS2θA31・[1+SIN2θA31 /(1−SIN2θA31−SIN2θA32)]・A312 +(m3/2)・d32・COS2θA32・[1+SIN2θA32 /(1−SIN2θA31−SIN2θA32)]・A322+m3 ・{l1・l2・COSθA2+l1・d3・(COSθA2・SINθA31 +SINθA2・SINθA32)+2l2・d3・SIN2θA31+l22 +d32・(SIN2θA31+SIN2θA32)}・A1・A2+m3 ・d3・COSθA31・(l1・SINθA2−d3・SINθA32) ・A1・A31+m3・d3・COSθA32・(l1・COSθA2 +l2+d3・SINθA31)・A1・A32−m3・d32 ・COSθA31・SINθA32・A2・A31+m3・d3・COSθA3
2 ・(l2+d3・SINθA31)・A2・A32 +(m3・d32・SINθA31・COSθA31・SINθA32 ・COSθA32・A31・A32) /(1−SIN2θA31−SIN2θA32) …(1.5c) (4)上述の関係から各アーム3,5,7の位置エネルギP1,
P2,P3は、次のように表される。
Kinetic energy of the first arm 3 K1 K1 = (1/2) · m1 (1 2 +1 2 +1 2 ) = (1/2) · m1 · d1 2 · A1 2 … (1.5a) kinetic energy K2 K2 = (1/2) · m2 · (2 2 +2 2 +2 2) = (1/2) · m2 · {l1 2 · A1 2 + d2 2 · (A1 + A2) 2 + 2l1 · d2 · COSθA2 · A1 · (A1 + A2)} ... (1.5b) kinetic energy K3 K3 of the third arm 7 = (1/2) · m3 · (3 2 +3 2 +3 2) = m3 · {l1 · l2 · COSθA2 + l1 · d3 · ( COSθA2 · SINθA31-SINθA2 · SINθA32) + l2 · d3 · SINθA31 + (1/2) · [l1 2 + l2 2 + d3 2 · (SIN 2 θA31 + SIN 2 θA32]} · A1 2 + m3 · l2 · d3 · SINθA31 + (m3 / 2)・ {L2 2 + d3 2・ (SIN 2 θA31 + SIN 2 θA32)} ・ ・ A2 2 + (m3 / 2) ・ d3 2・ COS 2 θA31 ・ [1 + SIN 2 θA31 / (1-SIN 2 θA31−SIN 2 θA32)] ・A31 2 + (m3 / 2) · d3 2 · COS 2 θA32 · [1 + SIN 2 θA32 / (1-SIN 2 θA31-SIN 2 θA32)] · A32 2 + m3 · {l1 · l2 · COSθA2 + l1 · d3 · ( COSθA2 · SINθA31 + SINθA2 · SINθA32) + 2l2 · d3 · SIN 2 θA31 + l2 2 + d3 2 · (SIN 2 θA31 + SIN 2 θA32)} · A1 · A2 + m3 · d3 · COSθA31 · (l1 · SINθA2-d3 · SINθA32) · A1 · A31 + m3 · d3 · COSθA32 · (l1 · COSθA2 + l2 + d3 · SINθA31) · A1 · A32-m3 · d3 2 · COSθA31 · SINθA32 · A2 · A31 + m3 · d3 · COSθA3
2 · (l2 + d3 · SINθA31 ) · A2 · A32 + (m3 · d3 2 · SINθA31 · COSθA31 · SINθA32 · COSθA32 · A31 · A32) / (1-SIN 2 θA31-SIN 2 θA32) ... (1.5c) (4) From the above relationship, the potential energy P1,
P2 and P3 are represented as follows.

第1アーム3の位置エネルギP1 P1=0 …(1.6a) 第2アーム5の位置エネルギP2 P2=0 …(1.6b) 第3アーム7の位置エネルギP3 P3= −m3・d3・g・(1−SIN2θA31−SIN2θA32)1/2 …(1.6c) (5)全体の散逸エネルギDは次のように表される。Potential energy of the first arm 3 P1 P1 = 0 (1.6a) Potential energy of the second arm 5 P2 P2 = 0 (1.6b) Potential energy of the third arm P3 P3 = −m3 · d3 · g · ( 1−SIN 2 θA31−SIN 2 θA32) 1/2 (1.6c) (5) The total dissipated energy D is expressed as follows.

D=1/2・{DA1・A12+DA2・A22 −DA3・(A312+A322)} …(1.7) ラグランジアンLは(1.1)式に基づき下式のごとく
表される。
D = 1/2 · {DA1 · A1 2 + DA2 · A2 2 −DA3 · (A31 2 + A32 2 )} (1.7) The Lagrangian L is expressed by the following equation based on the equation (1.1).

L=K1+K2+K3−P1−P2−P3 …(1.8) この式を用いて(1.2)式より各アーム3,5,7でのトル
クを求めた後、以下の操作により簡略化を行う。即ち、
θA3i,A3i(i=1,2)は微小と考えると、 SINθA3i=θA3i COSθA3i=1 θA3i2=0 A3i2=0 …(1.9) と近似できる。
L = K1 + K2 + K3-P1-P2-P3 (1.8) Using this equation, the torques at the arms 3, 5, and 7 are obtained from equation (1.2), and then simplified by the following operation. That is,
θA3i, A3i (i = 1,2) is considering a minute, can be approximated as SINθA3i = θA3i COSθA3i = 1 θA3i 2 = 0 A3i 2 = 0 ... (1.9).

このようにして簡略化したトルクは以下の式で表され
る。
The torque thus simplified is represented by the following equation.

τ1={m1・d12+m2・l12+m2・d22+2m2・l1・d2・CO
SθA2+m3・l12+m3・l22+2m3・l1・l2 ・COSθA2+2m3・d3・(l2+l1・COSθA2)・θA31 −2m3・l1・d3・θA32・SINθA2}・A1 +{m2・d22+m2・l1・d2・COSθA2+m3・l22+m3・l1 ・l2・COSθA2+m3・d3・(2l2+l1・COSθA2)・θA31 −m3・l1・d3・θA32・SINθA2}・A2+m3・l1・d3 ・SINθA2・A31+m3・d3・(l1・COSθA2+l2) ・A32−{(m2・l1・d2+m3・l1・l2)・SINθA2 +m3・l1・d3・(θA31・SINθA2+θA32・COSθA2)} ・(A22+2A1・A2)+2m3・d3 ・(l1・COSθA2+l2)・(A1・A31+A2・A3
1) −2m3・l1・d3・SINθA2・(A1・A32 +A2 ・A32)+DA1・A1 …(1.10) τ2={m2・d22+m2・l1・d2・COSθA2+m3・l12・m3 ・l1・l2・COSθA2+m3・d3・(l1・COSθA2+2l2) ・θA31−m3・l1・d3・θA32・SINθA2}・A1 +(m2・d22+m3・l22+2m3・l2・d3・θA31)・A2 +m3・l2・d3・A32+{(m2・l1・d2+m3・l1・l2) ・SINθA2+m3・l1・d3・(θA31・SINθA2+θA32 ・COSθA2)}・A12+2m3・l2・d3・(A1・A31 +A2・A31)+DA2・A2 …(1.11) τ31=(m3・l1・d3・SINθA2−m3・d3・θA32)・A1 −m3・d32・θA32・A2+m3・d32・A31−m3・d3 ・(l2+l1・COSθA2+d3・θA31)・A12−m3・d3 ・(l2+d3・θA31)・(A22+2A1・A2)−2m3 ・d32・(A1・A32+A2・A32)+DA3・A31 +m3・d3・g・θA31 …(1.12) τ32=m3・d3・(l2+l1・COSθA2+d3・θA31)・A1
+m3・d3・(l2+d3・θA31)・A2+m3・d32・A32
+m3・d3・(l1・SINθA2−d3・θA32)・A12−m3・d
32・θA32・(A22+2A1・A2)+2m3・d32・(
A1・A31+A2・A31)+DA3+A32+m3・d3・g
・θA32 …(1.13) ここで(1.10)−(1.13)式に基づき、 とおくと、 ここで、 C11=a33・(a22・a44−a24・a42)/V C12=(−a12・a33・a44+a13・a32・a44 +a14・a33・a42)/V C13=a13・(a24・a42−a22・a44)/V C14=(a12・a24・a33−a14・a22 ・a33−a13・a24・a32)/V C21=a33・(a24・a41−a21・a44)/V C22=(a11・a33・a44−a13・a31 ・a44−a14・a33・a41)/V C23=a13・(a21・a44−a24・a41)/V C24=(−a11・a24・a33+a13・a24・a31 +a14・a21・a33)/V C31=[a31・(a24・a42−a22・a44) +a32・(a21・a44−a24・a41)]/V C32=[−a11・a33・a44+a12・a31 ・a44−a14・(a31・a42−a32・a41)]/V C33=[a11・(a22・a44−a24・a42)+a12 ・(a24・a41−a21・a44)+a14 ・(a21・a42−a22・a41)]/V C34=[a11・a24・a32−a12・a24 ・a31+a14・(a22・a31−a21・a32)]/V C41=a33・(a21・a42−a22・a41)/V C42=[−a11・a33・a42+a12・a33 ・a41+a13・(a31・a42−a32・a41)]/V C43=a13・(a22・a41−a21・a42)/V C44=[a11・a22・a33−a12・a21 ・a33+a13・(a21・a32−a22・a31)]/V ただし、 V=a11・a33・(a22・a44−a24・a42)・a12・a33 ・(a24・a41−a21・a44)+a13・a31・(a24・a42 −a22・a44)+a13・a32・(a21・a44−a24・a41) +a14・a33・(a21・a42−a22・a41) また、第1,第2アーム3,5のサーボモータ25,27と出力
部23e中の駆動回路とを含む駆動部は、第6図のブロッ
ク線図にて表される。図においてEiは各サーボモータ2
5,27にかかる電圧、T1〜T3は各アーム3,5,7のばねによ
る反力トルク、IMiは各サーボモータ25,27に流れる電
流、θMiは各サーボモータ25,27の回転角度、ωMiは各
サーボモータ25,27の回転角速度、θriは電子制御回路2
3からの指示角度(目標角度)値、θA1〜θA3はアーム
3,5,7の実際の角度、RMiはサーボモータ25,27の電機子
抵抗、G1,G2はギヤ比、JMiはサーボモータ25,27のイナ
ーシャ、DMiはサーボモータ25,27の粘性抵抗、KS1〜
KS3は各アーム3,5,7のばね定数、G2i,K1i,K2i,KEi,KA
i,KVi,KIi,KS1〜KS3,KTi,KPWMiは所定の係数を表して
いる。ただし、i=1,2である。このブロック線図より
次式を得る。
τ1 = {m1 · d1 2 + m2 · l1 2 + m2 · d2 2 + 2m2 · l1 · d2 · CO
SθA2 + m3 · l1 2 + m3 · l2 2 + 2m3 · l1 · l2 · COSθA2 + 2m3 · d3 · (l2 + l1 · COSθA2) · θA31 -2m3 · l1 · d3 · θA32 · SINθA2} · A1 + {m2 · d2 2 + m2 · l1 · d2 · COSθA2 + m3 · l2 2 + m3 · l1 · l2 · COSθA2 + m3 · d3 · (2l2 + l1 · COSθA2) · θA31 -m3 · l1 · d3 · θA32 · SINθA2} · A2 + m3 · l1 · d3 · SINθA2 · l · A1 · A2 · l3・ A32 − {(m2 ・ l1 ・ d2 + m3 ・ l1 ・ l2) ・ SINθA2 + m3 ・ l1 ・ d3 ・ (θA31 ・ SINθA2 + θA32 ・ COSθA2)} ・ (A2 2 + 2A1 ・ A2) + 2m3 ・ d3 ・ (l1 ・ COSθA2 + l2) A1 · A31 + A2 · A3
1) -2m3 · l1 · d3 · SINθA2 · (A1 · A32 + A2 · A32) + DA1 · A1 ··· (1.10) τ2 = {m2 · d2 2 + m2 · l1 · d2 · COSθA2 + m3 · l1 2 · m3 · l1 · l2 · COSθA2 + m3 · d3 · (l1 · COSθA2 + 2l2) · θA31-m3 · l1 · d3 · θA32 · SINθA2} · A1 + (m2 · d2 2 + m3 · l2 2 + 2m3 · l2 · d3 · θA31) · A2 + m3 · l2 · d3 · A32 + {(m2 · l1 · d2 + m3 · l1 · l2) · SIN θA2 + m3 · l1 · d3 · (θA31 · SINθA2 + θA32 · COSθA2) · · A1 2 + 2m3 · l2 · d3 · (A1 · A31 + A2 · A2 · A2 · A2 · A2) 1.11) τ31 = (m3 · l1 · d3 · SIN θA2-m3 · d3 · θA32) · A1-m3 · d3 2 · θA32 · A2 + m3 · d3 2 · A31-m3 · d3 · (l2 + l1 · COSθA2 + d3 · θA31) · A1 2 -m3 · d3 · (l2 + d3 · θA31) · (A2 2 + 2A1 · A2) -2m3 · d3 2 · (A1 · A32 + A2 · A32) + DA3 · A31 + m3 · d3 · g · θA31 ... (1.12) τ32 = m3 · d3 · (L2 + l1 · COS θA2 + d3 · θA31) · A1
+ M3 · d3 · (l2 + d3 · θA31) · A2 + m3 · d3 2 · A32
+ m3 ・ d3 ・ (l1 ・ SINθA2-d3 ・ θA32) ・ A1 2 −m3 ・ d
3 2 · θA32 · (A2 2 + 2 A1 · A2) + 2 m3 · d3 2 · (
A1 · A31 + A2 · A31) + DA3 + A32 + m3 · d3 · g
・ ΘA32… (1.13) Here, based on the equation (1.10)-(1.13), After all, Here, C11 = a33 · (a22 · a44−a24 · a42) / V C12 = (− a12 · a33 · a44 + a13 · a32 · a44 + a14 · a33 · a42) / V C13 = a13 · (a24 · a42−a22 ·) a44) / V C14 = (a12 ・ a24 ・ a33−a14 ・ a22 ・ a33−a13 ・ a24 ・ a32) / V C21 = a33 ・ (a24 ・ a41−a21 ・ a44) / V C22 = (a11 ・ a33 ・ a44) −a13 ・ a31 ・ a44−a14 ・ a33 ・ a41) / V C23 = a13 ・ (a21 ・ a44−a24 ・ a41) / V C24 = (− a11 ・ a24 ・ a33 + a13 ・ a24 ・ a31 + a14 ・ a21 ・ a33) / VC31 = [a31 · (a24 · a42 – a22 · a44) + a32 · (a21 · a44 – a24 · a41)] / VC32 = [-a11 · a33 · a44 + a12 · a31 · a44 – a14 · (a31 · a42- a32 · a41)] / V C33 = [a11 · (a22 · a44 – a24 · a42) + a12 · (a24 · a41 – a21 · a44) + a14 · (a21 · a42 – a22 · a41)] / V C34 = [a11・ A24 ・ a32−a12 ・ a24 ・ a31 + a14 ・ (a22 ・ a31−a21 ・ a32)] / V C41 = a33 ・ (a21 ・ a42−a22 ・ a41) / V C42 = [− a11 ・ a33 ・ a42 + a12 ・ a33 ・a41 + a13 · (a31 · a42−a32 · a41)] / V C43 = a13 · (a22 · a41−a21 · a4 2) / V C44 = [a11 · a22 · a33 – a12 · a21 · a33 + a13 · (a21 · a32 – a22 · a31)] / V where V = a11 · a33 · (a22 · a44 – a24 · a42) · a12・ A33 ・ (a24 ・ a41−a21 ・ a44) + a13 ・ a31 ・ (a24 ・ a42 −a22 ・ a44) + a13 ・ a32 ・ (a21 ・ a44−a24 ・ a41) + a14 ・ a33 ・ (a21 ・ a42−a22 ・ a41 A drive unit including the servomotors 25, 27 of the first and second arms 3, 5 and a drive circuit in the output unit 23e is represented by a block diagram in FIG. In the figure, Ei is each servo motor 2
Voltage applied to 5,27, T1 to T3 are reaction force torques due to springs of arms 3,5,7, IMi is current flowing through each servomotor 25,27, θMi is rotation angle of each servomotor 25,27, ωMi Is the rotational angular velocity of each servo motor 25, 27, θri is the electronic control circuit 2.
The indicated angle (target angle) value from 3, θA1 to θA3 are arms
Actual angles of 3,5,7, RMi is the armature resistance of servomotors 25,27, G1, G2 is the gear ratio, JMi is the inertia of servomotors 25,27, DMi is the viscous resistance of servomotors 25,27, KS1 ~
KS3 is the spring constant of each arm 3,5,7, G2i, K1i, K2i, KEi, KA
i, KVi, KIi, KS1 to KS3, KTi, KPWMi represent predetermined coefficients. However, i = 1,2. The following equation is obtained from this block diagram.

Ei={[G2i・K1i・(θri−θMi)−KVi・ωMi] ・K2i−KIi・IMi}・KAi・KPWMi …(2.1) Ei−KEi・ωMi=RMi・IMi …(2.2) 上記(2.1)、(2.2)式より、下式が導かれる。Ei = {[G2i · K1i · (θri−θMi) −KVi · ωMi] • K2i−KIi · IMi} · KAi · KPWMi… (2.1) Ei−KEi · ωMi = RMi · IMi… (2.2) The following equations are derived from the above equations (2.1) and (2.2).

(RMi+KIi・KAi・KPWMi)・IMi +(KEi+KVi・K2i・KAi+KPWMi)・ωMi =G2i・K1i・K2i・KAi・KPWMi・(θri−θMi)…
(2.5) 上記(2.3)、(2.4)式より、下式が導かれる。
(RMi + KIi-KAi-KPWMi) -IMi + (KEi + KVi-K2i-KAi + KPWMi)-. Omega.Mi = G2i-K1i-K2i-KAi-KPWMi-(. Theta.ri-.theta.Mi) ...
(2.5) From the above equations (2.3) and (2.4), the following equation is derived.

上記(2.5)、(2.6)式より、下式が導かれる。 From the above equations (2.5) and (2.6), the following equation is derived.

上記(2.7)式は次のように置き換える。 The above equation (2.7) is replaced as follows.

M1= d21・θM1+d22・ωM1+d25・θA1+dr1・θr1 M2= d43・θM2+d44・ωM2+d47・θA2+dr2・θr2 …(3.
1) 各アーム3,5,7のトルクは第6図のブロック線図よ
り、 τ1=KS1・(θM1/G1−θA1) τ2=KS2・(θM2/G2−θA2) τ31=−KS3・θA31 τ32=−KS3・θA32 …(3.2) と表され、(1.15)、(3.1)、(3.2)式より非線形の
運動方程式は次のように表される。
M1 = d21 · θM1 + d22 · ωM1 + d25 · θA1 + dr1 · θr1 M2 = d43 · θM2 + d44 · ωM2 + d47 · θA2 + dr2 · θr2 ... (3.
1) From the block diagram of FIG. 6, the torque of each arm 3, 5, 7 is given by τ1 = KS1 · (θM1 / G1-θA1) τ2 = KS2 · (θM2 / G2-θA2) τ31 = -KS3 · θA31 τ32 = −KS3 · θA32 (3.2) From Equations (1.15), (3.1), and (3.2), the nonlinear equation of motion is expressed as follows.

ここで、 d61=KS1/G1・C11 d63=KS2/G2・C12 d65=−KS1・C11 d66=−DA1・C11 d67=−KS2・C12 d68=−DA2・C12 d69=−KS31・C13 d6A=−DA3・C13 d6B=−KS32・C14 d6C=−DA3・C14 d81=KS1/G1・C21 d83=KS2/G2・C22 d85=−KS1・C21 d86=−DA1・C21 d87=−KS2・C22 d88=−DA2・C22 d89=−KS31・C23 d8A=−DA3・C23 d8B=−KS32・C24 d8C=−DA3・C24 dA1=KS1/G1・C31 dA3=KS2/G2・C32 dA5=−KS1・C31 dA6=−DA1・C31 dA7=−KS2・C32 dA8=−DA2・C32 dA9=−KS31・C33 dAA=−DA3・C33 dAB=−KS32・C34 dAC=−DA3・C34 dC1=KS1/G1・C41 dC3=KS2/G2・C42 dC5=−KS1・C41 dC6=−DA1・C41 dC7=−KS2・C42 dC8=−DA2・C42 dC9=−KS31・C43 dCA=−DA3・C43 dCB=−KS32・C44 dCC=−DA3・C44 である。 Where d61 = KS1 / G1 · C11 d63 = KS2 / G2 · C12 d65 = −KS1 · C11 d66 = −DA1 · C11 d67 = −KS2 · C12 d68 = −DA2 · C12 d69 = −KS31 · C13 d6A = − DA3 ・ C13 d6B = −KS32 ・ C14 d6C = −DA3 ・ C14 d81 = KS1 / G1 ・ C21 d83 = KS2 / G2 ・ C22 d85 = −KS1 ・ C21 d86 = −DA1 ・ C21 d87 = −KS2 ・ C22 d88 = − DA2 ・ C22 d89 = −KS31 ・ C23 d8A = −DA3 ・ C23 d8B = −KS32 ・ C24 d8C = −DA3 ・ C24 dA1 = KS1 / G1 ・ C31 dA3 = KS2 / G2 ・ C32 dA5 = −KS1 ・ C31 dA6 = − DA1, C31 dA7 =-KS2, C32 dA8 =-DA2, C32 dA9 =-KS31, C33 dAA =-DA3, C33 dAB =-KS32, C34 dAC =-DA3, C34 dC1 = KS1 / G1, C41 dC3 = KS2 / G2 / C42 dC5 = -KS1 / C41 dC6 = -DA1 / C41 dC7 = -KS2 / C42 dC8 = -DA2 / C42 dC9 = -KS31 / C43 dCA = -DA3 / C43 dCB = -KS32 / C44 dCC = -DA3 / C44.

ここで、 上記(3.3)式は、 =Aχ+Bu …(3.4) と近似できる。here, The above equation (3.3) can be approximated as follows: = Aχ + Bu (3.4)

上記行列Aの要素d21〜dCCは、前述のごとくKS1〜K
S32、G1、G2、C11〜C44、DA1〜DA3から構成され、こ
のKS1〜KS32はばね定数であり、G1は第1アーム3と
そのサーボモータ25との間のギヤ比であり、G2は第2ア
ーム5とそのサーボモータ27との間のギヤ比であり、C1
1〜C44はa11〜a44から構成され(1.10)〜(1.13)式と
(1.14)式との関係から判るようにθA1〜θA32をパラ
メータとする関数であり、更にDA1〜DA3はアーム3,5,
7の粘性抵抗である。
The elements d21 to dCC of the matrix A are KS1 to KS as described above.
S32, G1, G2, C11 to C44, DA1 to DA3, where KS1 to KS32 are spring constants, G1 is the gear ratio between the first arm 3 and its servomotor 25, and G2 is the gear ratio. The gear ratio between the two arms 5 and its servomotor 27, C1
1 to C44 are functions composed of a11 to a44 and having θA1 to θA32 as parameters as can be seen from the relationship between the expressions (1.10) to (1.13) and (1.14). Further, DA1 to DA3 are the arms 3,5. ,
7 viscous drag.

ここで振動角度θA31,θA32は小さいので0と見なす
と、下式のごとくAはθA1,θA2のみの関数と考えるこ
とができる。
Here, if the vibration angles θA31 and θA32 are small and considered to be 0, A can be considered as a function of only θA1 and θA2 as in the following equation.

A=f(θA1,θA2) 従って、第1アーム3の角度θA1、第2アーム5の角
度θA2毎に、行列Aが一定の値と考えることができ、上
記運動方程式(=Aχ・Bu)は角度毎に線形と考える
ことができ、角度毎に現代制御理論が適用できる。上記
θA1,θA2の値は、アーム3,5,7が静止状態であると仮定
して、エンコーダ17,19の出力値にギヤ比を掛ければ求
められる。
A = f (θA1, θA2) Therefore, the matrix A can be considered to be a constant value for each of the angle θA1 of the first arm 3 and the angle θA2 of the second arm 5, and the above equation of motion (= Aχ · Bu) It can be considered linear for each angle, and modern control theory can be applied for each angle. The values of θA1 and θA2 can be obtained by multiplying the output values of encoders 17 and 19 by the gear ratio, assuming that arms 3, 5, and 7 are in a stationary state.

一般的な現代制御理論では、第7図で表されるような
制御対象を線形の式で、 =Aχ+Bu y=Cχ と表す。ここで、フィードバックゲインFとオブザーバ
ゲインKとを、極配置法にて、目的とする制御結果が得
られるように決め、ホールド付離散化により、下式の係
数P,Q,Rを求めると、第8図に示すようなオブザーバ50
が設計できる。
In a general modern control theory, a control target as shown in FIG. 7 is represented by a linear equation as follows: = Aχ + Buy = Cχ. Here, the feedback gain F and the observer gain K are determined by the pole assignment method so that the desired control result is obtained, and the coefficients P, Q, and R of the following equation are obtained by discretization with hold. Observer 50 as shown in FIG.
Can be designed.

P=e(A-KC)T ここで、Tはサンプリングタイム(例えば1msec)であ
り、τは積分用の変数である。上記(3.4)式は同型の
式であることから、現代制御理論が適用でき同様なオブ
ザーバが設計できる。
P = e (A-KC) T Here, T is a sampling time (for example, 1 msec), and τ is a variable for integration. Since the above equation (3.4) is of the same type, modern control theory can be applied and a similar observer can be designed.

ただし、 とする。However, And

第8図のオブザーバの処理を計算式で表すと、次式の
ごとくになる。
When the process of the observer in FIG. 8 is represented by a calculation formula, it is as follows.

Z(n+1)=P・Z(n)+Q・u(n)+R・y
(n) u(n)=u(n)+F・Z(n) 本オブザーバ50は、一連のアーム3,5,7の状態変数θA
1,θA2,θA31,θA32が推定でき、この値からアーム3,5,
7の振動を考慮して第3アーム7の先端を所望の位置へ
移動制御することができる。
Z (n + 1) = P · Z (n) + Q · u (n) + R · y
(N) u (n) = u (n) + F · Z (n) This observer 50 is a state variable θA of a series of arms 3, 5, and 7.
1, θA2, θA31, θA32 can be estimated, and from these values, arms 3, 5,
The tip of the third arm 7 can be controlled to move to a desired position in consideration of the vibration of the seventh arm.

このオブザーバ50の処理を前記電子制御回路23にて実
現したフローチャートを第9図に示す。
FIG. 9 shows a flowchart in which the processing of the observer 50 is realized by the electronic control circuit 23.

まず、Z(n)の初期値が与えられる(ステップ10
0)。次に前回の指令値u(n)と、y(n)即ちエン
コーダ17,19,21の出力値とが取り込まれる(ステップ11
0)。次に行列Aの算出がなされる(ステップ112)。即
ちエンコーダ17,19の出力値をアーム3,5の静止状態での
θA1,θA2として用いて、その他前述の各種定数等を使
用してAを算出する。次に上記した式からP,Q,Rを算出
する(ステップ114)。
First, an initial value of Z (n) is given (step 10).
0). Next, the previous command value u (n) and y (n), that is, the output values of the encoders 17, 19, 21 are fetched (step 11).
0). Next, the matrix A is calculated (step 112). That is, A is calculated using the output values of the encoders 17 and 19 as θA1 and θA2 when the arms 3 and 5 are at rest, and using the above-described various constants and the like. Next, P, Q, and R are calculated from the above equations (step 114).

次に前回算出されたZ(n)と上記u(n)、y
(n)とを用いて、上記式のごとく次回に用いるZ(n
・1)を前記式に従って求める(ステップ120)。次に
前回求めたZ(n)から上記式に従って、新たな指令値
u(n)を求める(ステップ130)。次にこの新たな指
令値u(n)をサーボモータ25,27,29側に出力する(ス
テップ140)。
Next, the previously calculated Z (n) and the above u (n), y
(N) and Z (n
1) is obtained according to the above equation (step 120). Next, a new command value u (n) is obtained from the previously obtained Z (n) according to the above equation (step 130). Next, the new command value u (n) is output to the servo motors 25, 27, 29 (step 140).

次に処理の終了条件が満足されたか否かが判定される
(ステップ150)。終了条件とは、指令が終わった状態
であり、例えば、溶接等の一連の作業が終了した状態等
をいう。
Next, it is determined whether the processing termination condition is satisfied (step 150). The terminating condition refers to a state in which the command has been completed, for example, a state in which a series of operations such as welding has been completed.

継続であれば、ステップ150にては否定判定されて、
再度ステップ110〜ステップ150の処理を繰り返し、第3
アーム7の先端を所定の位置に正確に移動する。この繰
り返しは上記サンプリングタイムT(例えば1msec)の
周期で行われ、測定されるy(n)の内のエンコーダ1
7,19の出力を、上記のごとくアーム3,5の静止状態での
θA1,θA2として、前記式A=f(θA1,θA2)に基づき
Aが求められることから、現代制御理論に従った制御が
実現されることとなる。
If continued, a negative determination is made in step 150,
The processing of step 110 to step 150 is repeated again, and the third
The tip of the arm 7 is accurately moved to a predetermined position. This repetition is performed at a cycle of the sampling time T (for example, 1 msec), and the encoder 1 of the measured y (n) is
Assuming that A is obtained based on the formula A = f (θA1, θA2) as θA1, θA2 in the stationary state of the arms 3, 5 as described above, A Will be realized.

ステップ150にて肯定判定されれば、他の処理に移る
か、あるいはこのまま処理を終了する。
If an affirmative determination is made in step 150, the process proceeds to another process, or the process ends.

上述したごとく、本実施例の多関節アーム制御装置
は、予め多関節アームの数式モデルを作成し、そのモデ
ルにしたがって、角度のパラメータが一定ならば線形と
なる運動方程式を求め、オブザーバとしての各種演算式
を設計している。そのため、実際の制御に際して、第
1、第2アーム3,5の角度毎に現代制御理論が適用で
き、アーム3,5,7がばね系として振動するのを防止でき
るとともに、正確に第3アーム7の先端を所定の位置に
制御でき、ロボット等に精度の高い作業をさせることが
できる。
As described above, the articulated arm control device according to the present embodiment creates a mathematical model of the articulated arm in advance, obtains a linear equation of motion if the angle parameter is constant, and calculates various types of observers as observers. Designing arithmetic expressions. Therefore, in actual control, the modern control theory can be applied to each angle of the first and second arms 3, 5 to prevent the arms 3, 5, 7 from vibrating as a spring system, and to accurately set the third arm. 7 can be controlled to a predetermined position, and a robot or the like can perform highly accurate work.

上記実施例において、サーボモータ25,27,29がアクチ
ュエータM2に該当し、エンコーダ17,19,21が位置検出手
段M3に該当し、電子制御回路23が制御手段M4に該当す
る。
In the above embodiment, the servo motors 25, 27, 29 correspond to the actuator M2, the encoders 17, 19, 21 correspond to the position detecting means M3, and the electronic control circuit 23 corresponds to the control means M4.

発明の効果 本発明の多関節アーム制御装置は、非線形な数式モデ
ルM5をアームM1の角度毎に線形として取り扱うことによ
り、現代制御理論を適用でき、アームM1の振動を考慮し
てアクチュエータ駆動指令値を補償することができる。
The articulated arm control device of the present invention can apply the modern control theory by treating the non-linear mathematical model M5 as linear for each angle of the arm M1, and can apply the actuator drive command value in consideration of the vibration of the arm M1. Can be compensated for.

従って、アームM1がばね系として振動しようとして
も、その振動を防止すると共に、正確にアームM1の先端
を所定の位置に制御でき、ロボット等に精度の高い作業
をさせることができる。
Therefore, even if the arm M1 attempts to vibrate as a spring system, the vibration can be prevented, the tip of the arm M1 can be accurately controlled to a predetermined position, and a robot or the like can perform highly accurate work.

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

第1図は本発明の基本的構成を例示するブロック図、第
2図は本発明の一実施例のアーム部分を示す概略斜視
図、第3図はその電子制御装置のブロック図、第4図及
び第5図は各アームの動作説明図、第6図はサーボモー
タ駆動部のブロック線図、第7図は一般化した制御対象
のブロック線図、第8図は本実施例のブロック線図、第
9図は電子制御回路にて行われる処理のフローチャート
である。 M1……アーム、M2……アクチュエータ M3……位置検出手段、M4……制御手段 M5……数式モデル 3,5,7……アーム 17,19,21……エンコーダ 23……電子制御回路 25,27,29……サーボモータ
FIG. 1 is a block diagram illustrating a basic configuration of the present invention, FIG. 2 is a schematic perspective view showing an arm portion of one embodiment of the present invention, FIG. 3 is a block diagram of an electronic control unit thereof, FIG. 5 and 6 are explanatory diagrams of the operation of each arm, FIG. 6 is a block diagram of a servo motor driving unit, FIG. 7 is a block diagram of a generalized control target, and FIG. 8 is a block diagram of the present embodiment. FIG. 9 is a flowchart of a process performed by the electronic control circuit. M1… Arm, M2… Actuator M3… Position detecting means, M4… Control means M5… Formula model 3,5,7… Arm 17,19,21… Encoder 23… Electronic control circuit 25, 27,29 …… Servo motor

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−46521(JP,A) 特開 昭58−3001(JP,A) 特開 昭60−69712(JP,A) 特開 昭62−160502(JP,A) 特開 昭60−231205(JP,A) 特開 昭61−39110(JP,A) 実開 昭63−92903(JP,U) ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-63-46521 (JP, A) JP-A-58-3001 (JP, A) JP-A-60-69712 (JP, A) JP-A-62 160502 (JP, A) JP-A-60-231205 (JP, A) JP-A-61-39110 (JP, A) JP-A-63-92903 (JP, U)

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】一連に配設された複数のアームと、 この各アームを動作させるアクチュエータと、 アクチュエータの位置を検出する位置検出手段と、 上記アクチュエータを制御しアームに所定の動作をさせ
る制御手段と、 を備えた多関節アーム制御装置において、 上記制御手段が、上記アクチュエータ及びアームによっ
て構成される系をばねと質量とからなる系と仮定して設
定された数式モデルであって、アクチュエータ駆動指令
値から少なくともアクチュエータ変位またはアーム変位
を推定する非線形の数式モデルを用いるとともに、上記
アクチュエータの変位毎に上記数式モデルを線形として
取り扱うことにより、アクチュエータ駆動指令値及びア
クチュエータ変位の実際値に応じてフィードバック補償
量を求め、このフィードバック補償量にて上記アクチュ
エータ駆動指令値を補償することを特徴とする多関節ア
ーム制御装置。
1. A plurality of arms arranged in series, an actuator for operating each arm, position detecting means for detecting a position of the actuator, and control means for controlling the actuator to cause the arm to perform a predetermined operation. Wherein the control means is a mathematical model set on the assumption that a system constituted by the actuator and the arm is a system composed of a spring and a mass, and wherein the actuator drive command By using a non-linear mathematical model for estimating at least the actuator displacement or arm displacement from the values and treating the mathematical model as linear for each displacement of the actuator, feedback compensation is performed according to the actuator drive command value and the actual value of the actuator displacement. Ask for the quantity and this feedback Articulated arm control apparatus characterized by compensating for the actuator drive command value at 償量.
JP1499888A 1988-01-26 1988-01-26 Articulated arm control device Expired - Fee Related JP2576171B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1499888A JP2576171B2 (en) 1988-01-26 1988-01-26 Articulated arm control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1499888A JP2576171B2 (en) 1988-01-26 1988-01-26 Articulated arm control device

Publications (2)

Publication Number Publication Date
JPH01191209A JPH01191209A (en) 1989-08-01
JP2576171B2 true JP2576171B2 (en) 1997-01-29

Family

ID=11876593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1499888A Expired - Fee Related JP2576171B2 (en) 1988-01-26 1988-01-26 Articulated arm control device

Country Status (1)

Country Link
JP (1) JP2576171B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103941589B (en) * 2014-04-24 2016-08-24 中国科学院自动化研究所 A kind of nonlinear model predictive control method of piezo actuator
JP2016078193A (en) * 2014-10-20 2016-05-16 株式会社小松製作所 Machine tool, laser beam machine, and method for control of machine tool
JP6754771B2 (en) * 2014-11-18 2020-09-16 パーシモン テクノロジーズ コーポレイションPersimmon Technologies, Corp. Robot adaptive placement system that performs end effector position estimation

Also Published As

Publication number Publication date
JPH01191209A (en) 1989-08-01

Similar Documents

Publication Publication Date Title
JP2645004B2 (en) Control device for multi-degree-of-freedom manipulator
JPH08118275A (en) Controller for manipulator
JP2604929B2 (en) Robot control device
JP3380327B2 (en) Deflection correction control method for parallel link manipulator
JP2576171B2 (en) Articulated arm control device
JPH10128688A (en) Non-interfering control method of robot
JPH05143161A (en) Hybrid system for controlling position and force
JP2507891B2 (en) Manipulator impedance control system
JPS61201304A (en) Method for controlling position of robot
JPS6077210A (en) Controlling method of spatial kinetic mechanism
JP6565622B2 (en) Robot system and robot control method
JP2960232B2 (en) Robot control device
JPH06332535A (en) Robot controller
JPH07121239A (en) Control method for robot device
JPH0760667A (en) Weaving control device for robot
JP4449693B2 (en) Robot control apparatus and control method thereof
JP2960233B2 (en) Robot control device
JPH04343690A (en) Joint friction compensating method for multi-joint manipulator
JPS6148003A (en) Controller for robot of multi-joint type
JP2594546B2 (en) Control method based on virtual internal model of robot
JP5343725B2 (en) Robot controller
JP2012061560A (en) Robot control device
JP2692043B2 (en) How to create robot teaching data
JPS63276607A (en) Coordinate transforming device for manipulator
JPH0934521A (en) Robot control method

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees