JP3182542B2 - Robot controller - Google Patents

Robot controller

Info

Publication number
JP3182542B2
JP3182542B2 JP09261293A JP9261293A JP3182542B2 JP 3182542 B2 JP3182542 B2 JP 3182542B2 JP 09261293 A JP09261293 A JP 09261293A JP 9261293 A JP9261293 A JP 9261293A JP 3182542 B2 JP3182542 B2 JP 3182542B2
Authority
JP
Japan
Prior art keywords
command value
value
interpolation
speed
acceleration
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
JP09261293A
Other languages
Japanese (ja)
Other versions
JPH06282333A (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.)
Toyoda Koki KK
Original Assignee
Toyoda Koki KK
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 Toyoda Koki KK filed Critical Toyoda Koki KK
Priority to JP09261293A priority Critical patent/JP3182542B2/en
Publication of JPH06282333A publication Critical patent/JPH06282333A/en
Application granted granted Critical
Publication of JP3182542B2 publication Critical patent/JP3182542B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、サーボモータにフィー
ドフォワードをかけて制御を行うロボット制御装置に関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a robot controller for performing control by applying feedforward to a servomotor.

【0002】[0002]

【従来の技術】産業用ロボットにおいては、図8に示す
ように、上位制御部11側の軌跡発生機能12により入
力されたデータを基に補間を行いロボットの位置データ
qを作成し、この位置データqを指令位置補間機能14
によりm等分してサーボ制御部16に出力している。こ
れは、軌跡発生機能12の補間周期ΔTは、複雑な座標
変換を行うためにサーボ制御部16の周期Δtに比べて
大きくする必要があるからである。従来は、軌跡発生機
能12で算出された補間値(位置データq)をサーボ制
御部16の周期にm分割(ΔT=m・Δt)する方法と
して1次補間や2次補間が用いられていた。そして、サ
ーボ制御部16側では、m分割して送られてくる位置デ
ータ列を基に、速度、加速度計算機能17においてこの
値を微分して速度成分を、更に微分を行い加速度を算出
し、サーボ制御機能19において速度フィードフォワー
ド、加速度フィードフォワードをサーボモータにかけて
制御を行っていた。
2. Description of the Related Art In an industrial robot, as shown in FIG. 8, interpolation is performed on the basis of data input by a trajectory generating function 12 of a higher-level control unit 11 to create robot position data q. Data q to command position interpolation function 14
, And outputs the result to the servo control unit 16. This is because the interpolation cycle ΔT of the trajectory generation function 12 needs to be larger than the cycle Δt of the servo controller 16 in order to perform complicated coordinate conversion. Conventionally, primary interpolation or secondary interpolation has been used as a method of dividing the interpolation value (position data q) calculated by the trajectory generation function 12 into m periods (ΔT = m · Δt) in the cycle of the servo control unit 16. . Then, on the servo control unit 16 side, based on the position data string sent by dividing into m, the velocity and acceleration calculation function 17 differentiates this value to further differentiate the velocity component and calculate the acceleration, In the servo control function 19, the speed feed forward and the acceleration feed forward are controlled by using a servo motor.

【0003】[0003]

【発明が解決しようとする課題】しかしながら、上記の
1次補間によっては、速度指令値、及び加速度指令値が
補間周期ΔT毎に固定となりステップ状にしか変化しな
いという問題点があった。即ち、位置に関する1次式を
微分して速度の補間式を求めると、速度は時間t(サー
ボ制御部16の周期)の関数とはならなず、時間tが変
化しても速度指令値は補間周期ΔTの間一定となってい
た。同様に、2次補間を行い位置に関する2次式を2回
微分して加速度の補間式を求めても、加速度は時間tの
関数とはならず、時間tが変化しても加速度指令値は一
定となっていた。ロボットの制御を行う場合には、制御
対象となるアームの剛性は工作機械に比べて非常に低い
ため、滑らかな速度変化で位置指令をサーボに出力する
必要があるが、上記のように補間周期ΔTで速度がステ
ップ状に変化するためにロボットを円滑に制御すること
ができなかった。また、上記の方法では、サーボ制御部
16側で位置データqと現在位置との差分から速度指令
値を、さらに速度の差分から加速度指令値を求めていた
が、この算出に時間がかかるため、位置データと算出さ
れた速度指令値及び加速度指令値との間に時間的な遅れ
が生じ、フィードフォワードをかける際に速度、加速度
に歪みが生じていた。
However, according to the above-described primary interpolation, there is a problem that the speed command value and the acceleration command value are fixed at each interpolation cycle ΔT and change only in a step-like manner. That is, when a linear interpolation formula for the speed is obtained by differentiating the linear expression relating to the position, the speed does not become a function of the time t (the cycle of the servo control unit 16). It was constant during the interpolation period ΔT. Similarly, even if a quadratic interpolation is performed and a quadratic expression relating to the position is differentiated twice to obtain an acceleration interpolation formula, the acceleration does not become a function of the time t. It was constant. When controlling a robot, the rigidity of the arm to be controlled is very low compared to a machine tool, so it is necessary to output a position command to the servo with a smooth change in speed. Since the speed changes stepwise at ΔT, the robot could not be controlled smoothly. In the above method, the servo control unit 16 obtains the speed command value from the difference between the position data q and the current position, and further obtains the acceleration command value from the difference in speed. A time delay occurs between the position data and the calculated speed command value and acceleration command value, and the speed and acceleration are distorted when feedforward is applied.

【0004】本発明は、上記課題を解決するために成さ
れたもので、その目的とするところは、速度フィードフ
ォワード、加速度フィードフォワードの制御特性を改善
し得るロボット制御装置を提供することにある。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and an object of the present invention is to provide a robot control device capable of improving control characteristics of speed feed forward and acceleration feed forward. .

【0005】[0005]

【課題を解決するための手段】上記課題を解決するため
の発明の構成は、図1に示すように、入力された値を基
に補間を行い位置データqを算出しサーボモータM1を
駆動してロボット10の位置を制御するロボット制御装
置50において、一定補間周期T毎に位置データを出力
する軌跡発生手段1と、前記軌跡発生手段1により出力
された位置データを基に3次以上の補間式により位置指
令値θi、速度指令値θ'i及び加速度指令値θ''i を同
時に算出し、これら指令値を上記補間周期Tの整数m分
の1毎に出力する指令位置補間手段2と、前記指令位置
補間手段2から出力された位置指令値θi、速度指令値
θ'i及び加速度指令値θ''i を基にサーボモータM1に
フィードフォワードをかけて制御を行うサーボ制御手段
3とを有することを特徴とする。
As shown in FIG. 1, the configuration of the invention for solving the above-mentioned problem is to interpolate based on the input value to calculate position data q and drive the servo motor M1. In a robot controller 50 for controlling the position of the robot 10 by means of a trajectory generating means 1 for outputting position data at every constant interpolation cycle T, a third or higher order interpolation based on the position data output by the trajectory generating means 1 A command position interpolating means 2 which simultaneously calculates a position command value θi, a speed command value θ′i, and an acceleration command value θ ″ i according to the equation, and outputs these command values for every 1 / m of the interpolation cycle T. A servo control unit 3 that feeds forward to the servo motor M1 based on the position command value θi, the speed command value θ′i, and the acceleration command value θ ″ i output from the command position interpolating unit 2, Characterized by having That.

【0006】[0006]

【作用】上記の手段によれば、軌跡発生手段1が一定補
間周期T毎にロボット10の位置データqを出力する。
この軌跡発生手段1により発生された位置データqを基
に、指令位置補間手段2が3次の補間式により位置指令
値θi、速度指令値θ'i及び加速度指令値θ''i を同時
に算出し、これら指令値を上記補間周期Tの整数m分の
1毎に出力する。そして、サーボ制御手段3が、前記指
令位置補間手段2から出力された位置指令値θi、速度
指令値θ'i及び加速度指令値θ''i を基にサーボモータ
M1にフィードフォワードをかけてロボット10の制御
を行う。このようにして、同時に算出された位置指令
値、速度指令値及び加速度指令値によりサーボモータに
フィードフォワードをかける制御を行う。
According to the above means, the trajectory generating means 1 outputs the position data q of the robot 10 at every fixed interpolation cycle T.
Based on the position data q generated by the trajectory generating means 1, the command position interpolating means 2 simultaneously calculates a position command value θi, a speed command value θ′i, and an acceleration command value θ ″ i by a cubic interpolation formula. Then, these command values are output for each 1 / m of the interpolation cycle T. Then, the servo control means 3 feeds forward the servo motor M1 based on the position command value θi, the speed command value θ′i, and the acceleration command value θ ″ i output from the command position interpolation means 2, and 10 is performed. In this way, control is performed to feed forward the servo motor based on the position command value, speed command value, and acceleration command value calculated simultaneously.

【0007】[0007]

【実施例】以下に、本発明のロボット制御装置の一実施
例について図を参照して説明する。先ず、本実施例のロ
ボット制御装置により制御される6軸を有するロボット
10について図2を参照して説明する。ロボット10
は、ベース13に固定された脚柱12に旋回自在に取り
付けられたコラム14と、第1アーム15と、第2アー
ム16と、第3アーム17と、塗布剤をシーリングする
シーラーのノズル19とから構成されている。そして、
第1軸a、第2軸b、第3軸c、第4軸d、第5軸e、
第6軸fにより、6自由度で自在にノズル19を送るよ
うにされている。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the robot control device according to the present invention will be described below with reference to the drawings. First, a robot 10 having six axes controlled by the robot controller of the present embodiment will be described with reference to FIG. Robot 10
A column 14 rotatably mounted on a pillar 12 fixed to a base 13, a first arm 15, a second arm 16, a third arm 17, a nozzle 19 of a sealer for sealing the coating agent, It is composed of And
A first axis a, a second axis b, a third axis c, a fourth axis d, a fifth axis e,
The sixth axis f allows the nozzle 19 to be fed freely with six degrees of freedom.

【0008】次に、本実施例のロボット制御装置50の
構成を図3を参照して説明する。図2に示したロボット
10の制御用の演算を行うCPU11には、本実施例の
制御を行うための制御情報を記憶したROM20及びR
AM30と、制御指令を入力するオペレーティングボッ
クス27及び操作盤26と、該CPU11の作成した制
御情報等を保持する外部記憶装置29と、サーボ制御部
40とが接続されている。このサーボ制御部40は、ロ
ボット10の第1軸aを駆動するサーボモータM1乃至
第6軸fを駆動するサーボモータM6までが接続され、
サーボモータM1〜M6にCPU11により算出された
位置指令値、速度指令値、加速度指令値をフィードフォ
ワードすると共に、各々のサーボモータM1乃至M6に
取り付けられたパルスエンコーダE1乃至E6からのフ
ィードバック信号が帰還されるようになっている。この
ロボット制御装置50においては、入力された教示点を
基にCPU11が位置指令値、速度指令値、加速度指令
値を演算してサーボ制御部40に出力を送り、該サーボ
制御部40はサーボモータM1乃至M6を制御してロボ
ット10を駆動し、シーリングを行うノズル19を送る
よう構成されている。
Next, the configuration of the robot control device 50 of this embodiment will be described with reference to FIG. The CPU 11 for performing the calculation for controlling the robot 10 shown in FIG. 2 includes a ROM 20 storing control information for performing control of the present embodiment and an R 20.
The AM 30, an operating box 27 and an operation panel 26 for inputting control commands, an external storage device 29 for storing control information and the like created by the CPU 11, and a servo controller 40 are connected. The servo controller 40 is connected to a servo motor M1 that drives the first axis a of the robot 10 to a servo motor M6 that drives the sixth axis f,
The position command value, the speed command value, and the acceleration command value calculated by the CPU 11 are fed forward to the servo motors M1 to M6, and the feedback signals from the pulse encoders E1 to E6 attached to the respective servo motors M1 to M6 are fed back. It is supposed to be. In this robot control device 50, the CPU 11 calculates a position command value, a speed command value, and an acceleration command value based on the input teaching point and sends an output to the servo control unit 40. The servo control unit 40 It is configured to control M1 to M6 to drive the robot 10 and to send a nozzle 19 for performing sealing.

【0009】次に、本実施例のロボット制御装置50の
CPU11による処理について図4及び図5のフローチ
ャートを参照して説明する。オペレータにより教示点列
を含むプログラムが入力されると(ステップ1)、CP
U11は、プログラムのデコード処理を開始する(ステ
ップ2)。そして、デコードされた命令が動作終了命令
でない場合(判断ステップ3がNo)には、その命令が
動作命令か非動作命令かを判断する(判断ステップ
4)。ここで、命令が非動作命令の場合は(判断ステッ
プ4がNo)、ステップ5に進み非動作命令に従う処理
を行う。そして、命令が動作命令の場合には(判断ステ
ップ4がYes)、ステップ6の処理へ進み、軌跡制御
タスクを起動しロボット10の位置制御の処理を開始す
る。まず、ステップ7でロボット10の軌跡を発生す
る、即ち、補間周期ΔT毎に位置データq(サーボモー
タの回転角)を第1軸a〜第6軸fについて発生する。
次に、ステップ8で、この補間周期ΔT毎の位置データ
qをサーボ制御部40の周期tにm等分するための3次
補間を行うと共に、補間により算出された目標値をサー
ボ制御部40に出力する。
Next, the processing by the CPU 11 of the robot controller 50 of the present embodiment will be described with reference to the flowcharts of FIGS. When a program including a teaching point sequence is input by the operator (step 1), the CP
U11 starts the decoding process of the program (Step 2). If the decoded instruction is not an operation end instruction (No in Step 3), it is determined whether the instruction is an operation instruction or a non-operation instruction (Step 4). If the instruction is a non-operation instruction (judgment step 4 is No), the process proceeds to step 5 and a process according to the non-operation instruction is performed. If the command is an operation command (judgment step 4 is Yes), the process proceeds to step 6 to activate the trajectory control task and start the position control process of the robot 10. First, in step 7, a trajectory of the robot 10 is generated, that is, position data q (rotation angle of the servo motor) is generated for each of the first axis a to the sixth axis f at every interpolation cycle ΔT.
Next, in step 8, tertiary interpolation for dividing the position data q for each interpolation cycle ΔT into m equal to the cycle t of the servo control unit 40 is performed, and the target value calculated by the interpolation is used for the servo control unit 40. Output to

【0010】ここで、ステップ8における3次補間及び
サーボへの目標値の出力について図5に示すフローチャ
ートを参照して詳細に説明する。なお、この説明におい
ては第1軸aについての処理を例に挙げて説明する。先
ず、ステップ81において、補間周期ΔTが経過する毎
に算出された位置データq0 、q1 、q2 及び係数dの
値を軌跡発生前の現在位置θにする。次に、ステップ8
2において、図4のフローチャートのステップ7で算出
した第1軸aの位置データqを入力し、ステップ83で
位置データq3 の値をこの位置データqに置き換える。
そして、ステップ84において、4つの位置データq0
、q1、q2 、q3 を用い次の数1、数2及び数3から
3次式の係数a、b、cを求める。なおここでmは、位
置データq算出の補間周期ΔTをサーボ制御部の周期t
に分割するための値で、ΔT=t・mの関係にある(以
下mを「サーボ分割数」という)。
Here, the tertiary interpolation in step 8 and the output of the target value to the servo will be described in detail with reference to the flowchart shown in FIG. In this description, the processing for the first axis a will be described as an example. First, in step 81, the position data q0, q1, q2 and the value of the coefficient d calculated each time the interpolation period ΔT elapses are set as the current position θ before the generation of the trajectory. Next, step 8
In step 2, the position data q of the first axis a calculated in step 7 of the flowchart of FIG. 4 is input, and in step 83, the value of the position data q3 is replaced with the position data q.
Then, in step 84, the four position data q0
, Q1, q2, and q3, the coefficients a, b, and c of the cubic equation are obtained from the following equations 1, 2, and 3. Here, m is the interpolation cycle ΔT for calculating the position data q and the cycle t of the servo control unit.
And a relationship of ΔT = tm (hereinafter, m is referred to as “servo division number”).

【数1】 a = (q3 −3・q2 +3・q1 −q0 )/(6・m3 [Number 1] a = (q3 -3 · q2 +3 · q1 -q0) / (6 · m 3)

【数2】 b = (q2 −2・q1 +q0 )/(2・m2 [Number 2] b = (q2 -2 · q1 + q0) / (2 · m 2)

【数3】c = (q2 −q0 )/(2・m)## EQU3 ## c = (q2 -q0) / (2.m)

【0011】次に、ステップ85で変数iを0に初期化
し、続くステップ86で、変数iに1を加える。そし
て、ステップ87において、m分割された位置データq
のi番目の位置指令値θi 、速度指令値θ'i及び加速度
指令値θ''i を次の数4、数5及び数6を基に同時に算
出する。即ち、数4、数5及び数6にt=ΔT/m・i
を代入してそれぞれの値を求める。
Next, in step 85, the variable i is initialized to 0, and in step 86, 1 is added to the variable i. Then, in step 87, the position data q divided by m
The i-th position command value θi, speed command value θ′i, and acceleration command value θ ″ i are simultaneously calculated based on the following Expressions 4, 5, and 6. That is, t = ΔT / m · i in Equations 4, 5, and 6
To obtain the respective values.

【数4】 θi = f(t) = at3 + bt2 + ct +d[Number 4] θi = f (t) = at 3 + bt 2 + ct + d

【数5】 θ'i = f' (t)= 3at2 + 2bt + cEquation 5 θ′i = f ′ (t) = 3 at 2 + 2bt + c

【数6】θ''i = f''(t)= 6at + 2b[Formula 6] θ ″ i = f ″ (t) = 6at + 2b

【0012】そしてステップ88において、ステップ8
7にて算出された位置指令値θi 、速度指令値θ'i、及
び、加速度指令値θ''i をサーボの目標値としてサーボ
制御部40に出力する。その後、判断ステップ89にお
いて変数iの値がサーボ分割数mに達したか否か、即ち
周期ΔTに達したかを判断し、変数iがmに達していな
い場合は(判断ステップ89がNo)ステップ86へ戻
り、次のi番目のサーボ周期についての処理を継続す
る。他方、変数iがmに達した場合には(判断ステップ
89がYes)ステップ90へ進む、このステップ90
では、位置データq0 の値をq1 に、位置データq1 の
値をq2 に、位置データq2 の値をq3 に、係数dの値
を位置指令値として算出したθi に置き換えて以降の処
理に備える。このようにステップ90において、位置デ
ータq0 〜q3 の値に置き換えることにより、3次補間
に必要な4点の位置データの更新を行う。
In step 88, step 8
The position command value θi, speed command value θ′i, and acceleration command value θ ″ i calculated in step 7 are output to the servo control unit 40 as servo target values. Thereafter, it is determined in a decision step 89 whether or not the value of the variable i has reached the servo division number m, that is, whether or not the period ΔT has been reached. If the variable i has not reached m (the decision step 89 is No) Returning to step 86, the processing for the next i-th servo cycle is continued. On the other hand, if the variable i has reached m (determination step 89 is Yes), the process proceeds to step 90.
Then, the value of the position data q0 is replaced by q1, the value of the position data q1 is replaced by q2, the value of the position data q2 is replaced by q3, and the value of the coefficient d is replaced by .theta.i calculated as a position command value for the subsequent processing. As described above, in step 90, the position data of four points required for the cubic interpolation is updated by replacing the values with the values of the position data q0 to q3.

【0013】以上説明したように図4に示すフローチャ
ートのステップ8における処理により、CPU11は、
サーボ制御部40に目標値を出力し、第1軸aのモータ
M1から第6軸fのモータM6までを駆動してロボット
10の位置を制御する。そして、次の判断ステップ9
で、1つの教示点の間隔が終了したか、即ち、次の教示
点に達したかを判断し、まだ次の教示点に達しておらず
更に補間処理を続ける必要がある場合には(判断ステッ
プ9がNo)、ステップ7に戻り次の補間周期ΔTにつ
いての処理を開始する。そして、次の教示点に達して1
つの教示点の間隔が終了すると(判断ステップ9がYe
s)、ステップ2に戻りプログラムのデコード処理を行
い、更に次の教示点への間隔について処理を開始し、位
置、速度、加速度を求める。
As described above, by the processing in step 8 of the flowchart shown in FIG.
The target value is output to the servo control unit 40, and the position of the robot 10 is controlled by driving the motor M1 of the first axis a to the motor M6 of the sixth axis f. Then, the next judgment step 9
It is determined whether the interval between one teaching point has ended, that is, whether the next teaching point has been reached. If the next teaching point has not yet been reached and it is necessary to continue the interpolation processing (determination (Step 9 is No.), and the process returns to step 7 to start processing for the next interpolation cycle ΔT. Then, when the next teaching point is reached, 1
When the interval between two teaching points ends (judgment step 9 is Ye
s) Returning to step 2, the program is decoded, the process is started for the interval to the next teaching point, and the position, speed and acceleration are obtained.

【0014】次に、上記処理によりCPU11から転送
された指令値に基づくサーボ制御部40側におけるフィ
ードフォワードについて、サーボ制御部40の内部構成
を示す図6のブロック図、及び、サーボ制御部40のD
SP414によるサーボ制御機能を示す図7のブロック
図を参照して説明する。なおここでは、説明の便宜のた
めに第1軸aのモータM1の制御動作のみについて説明
するが、第2軸b〜第6fについても同様に制御され
る。サーボ制御部40は主として、ディジタルシグナル
プロセッサ(以下「DSP」という)414、共通RA
M417、A/D変換器415a、415b及び現在値
カウンタ416、ROM420、インバータ425、カ
レントトランスフォーマ(以下、「CT」という)43
2a、432b、増幅器418a、418b、波形成形
・方向判別回路434から構成されている。
Next, with respect to feedforward on the servo control unit 40 side based on the command value transferred from the CPU 11 by the above processing, a block diagram of FIG. 6 showing the internal configuration of the servo control unit 40 and FIG. D
This will be described with reference to the block diagram of FIG. 7 showing the servo control function by the SP 414. Here, for convenience of explanation, only the control operation of the motor M1 of the first axis a will be described, but the second axes b to 6f are similarly controlled. The servo control unit 40 mainly includes a digital signal processor (hereinafter referred to as “DSP”) 414 and a common RA.
M417, A / D converters 415a and 415b, current value counter 416, ROM 420, inverter 425, and current transformer (hereinafter referred to as "CT") 43
2a and 432b, amplifiers 418a and 418b, and a waveform shaping / direction discriminating circuit 434.

【0015】DSP414の出力はインバータ425に
入力され、そのインバータ425はDSP414の出力
信号に応じてサーボモータM1を駆動する。サーボモー
タM1には同期モータが用いられ、インバータ425の
PWM電圧制御によりサーボモータM1の負荷電流が制
御され、その結果、サーボモータM1の出力トルクが制
御される。
The output of the DSP 414 is input to an inverter 425, which drives the servomotor M1 according to the output signal of the DSP 414. A synchronous motor is used as the servo motor M1, and the load current of the servo motor M1 is controlled by the PWM voltage control of the inverter 425, and as a result, the output torque of the servo motor M1 is controlled.

【0016】サーボモータM1のu相及びv相の負荷電
流はCT432a、432bにより検出され、増幅器4
18a及び418bにより増幅される。その増幅器41
8a、418bの出力は、A/D変換器415a、41
5bに入力され、所定の周期でサンプリングされてディ
ジタル値に変換される。このサンプリングされた値は、
瞬時負荷電流のフィードバック値として、DSP414
に入力される。
The u-phase and v-phase load currents of the servo motor M1 are detected by CTs 432a and 432b,
Amplified by 18a and 418b. The amplifier 41
The outputs of 8a and 418b are output from A / D converters 415a and 41
5b, sampled at a predetermined cycle, and converted into a digital value. This sampled value is
As a feedback value of the instantaneous load current, the DSP 414
Is input to

【0017】また、サーボモータM1にはパルスエンコ
ーダE1が接続され、パルスエンコーダE1の出力は、
波形成形・方向判別回路434を介して現在値カウンタ
416に接続される。波形成形・方向判別回路434を
介して現在値カウンタ416に入力されるパルスエンコ
ーダE1からの出力信号は現在値カウンタ416の値を
加減させる。現在値カウンタ416の値は、位置フィー
ドバック値、即ち、現在時刻(i)におけるサーボモー
タM1の軸の現在位置θai(回転角)を表している。
CPU11から現在時刻(i)において指令された目標
位置指令値θiとパルスエンコーダE1からの位置のフ
ィードバック値(現在位置)θaiとが、DSP414
により比較され(図7の結合点110)、位置偏差Δθ
iが出力される。そして、DSP414により、その位
置偏差Δθiに位置フィードバックループゲインKp1
12が掛けられて、一次目標速度Vpiが算出される。
A pulse encoder E1 is connected to the servomotor M1, and the output of the pulse encoder E1 is
It is connected to the current value counter 416 via the waveform shaping / direction discriminating circuit 434. An output signal from the pulse encoder E1 input to the current value counter 416 via the waveform shaping / direction discriminating circuit 434 increases or decreases the value of the current value counter 416. The value of the current value counter 416 represents a position feedback value, that is, the current position θai (rotation angle) of the axis of the servo motor M1 at the current time (i).
The target position command value θi commanded at the current time (i) from the CPU 11 and the position feedback value (current position) θai from the pulse encoder E1 are calculated by the DSP 414.
(Connection point 110 in FIG. 7), and the positional deviation Δθ
i is output. Then, the DSP 414 adds the position feedback loop gain Kp1 to the position deviation Δθi.
The result is multiplied by 12 to calculate the primary target speed Vpi.

【0018】一方、CPU11から転送された速度指令
値θ'iは、DSP414によりフィードフォワードゲイ
ンKf116が掛けられ、現在時刻におけるフィードフ
ォワード値Vfiが演算される。この値は、位置偏差に
基づいて算出された一次目標速度Vpiに加算される
(結合点114)。これにより速度成分によりフィード
フォワード制御が成され、最終的な目標速度Viが速度
フィードバックに対する速度の指令値となる。
On the other hand, the speed command value θ′i transferred from the CPU 11 is multiplied by the feedforward gain Kf116 by the DSP 414, and the feedforward value Vfi at the current time is calculated. This value is added to the primary target speed Vpi calculated based on the position deviation (connection point 114). Thus, feedforward control is performed by the speed component, and the final target speed Vi becomes a speed command value for speed feedback.

【0019】他方、CPU11から転送された加速度指
令値θ''i は、DSP414によりフィードフォワード
ゲインKa120が掛けられ、加速度フィードフォワー
ド値Vgiが演算される。この値は電流指令値に加算さ
れる(結合点118)。
On the other hand, the acceleration command value θ ″ i transferred from the CPU 11 is multiplied by a feedforward gain Ka120 by the DSP 414 to calculate an acceleration feedforward value Vgi. This value is added to the current command value (connection point 118).

【0020】速度フィードバックループにおいては、D
SP414に入力された現在位置は時間に関して微分さ
れ、速度フィードバックループのフィードバック値、即
ち、現在速度Vaiが算出される。DSP414によ
り、上述の最終的に決定される目標速度Viとその現在
速度Vaiとが比較され速度偏差ΔViが算出される
(結合点122)。そして、その速度偏差ΔViに速度
ゲインKup(1+1/TS)をかけたのち、加速度フ
ィードフォワード値が加算され、この速度偏差及び速度
偏差の時間積分(累算)を用いた比例・積分演算によ
り、電流フィードバックループにおける制御の目標電流
のq軸成分(有効電流)が算出される。また、目標電流
のd軸成分(無効電流)は0とされる。
In the speed feedback loop, D
The current position input to SP 414 is differentiated with respect to time, and the feedback value of the speed feedback loop, that is, the current speed Vai is calculated. The DSP 414 compares the finally determined target speed Vi with the current speed Vai to calculate the speed deviation ΔVi (the connection point 122). Then, after multiplying the speed deviation ΔVi by a speed gain Kup (1 + 1 / TS), an acceleration feedforward value is added. The q-axis component (active current) of the control target current in the current feedback loop is calculated. The d-axis component (reactive current) of the target current is set to zero.

【0021】DSP414により、この目標電流のq軸
成分及びd軸成分は、CT432a、432bにて検出
され増幅器418a、418b及びA/D変換器415
a、415bを介した電流フィードバックループのフィ
ードバック値、即ち、現在の時刻のq軸成分及びd軸成
分と比較され(結合点124)、それぞれの成分の電流
偏差が演算される。そして、この電流偏差及び電流偏差
の時間積分(累積)を用いた比例、積分演算により、そ
の時の指令電流のq軸成分及びd軸成分が演算される。
By the DSP 414, the q-axis component and the d-axis component of the target current are detected by the CTs 432a and 432b, and the amplifiers 418a and 418b and the A / D converter 415
The feedback value of the current feedback loop via a and 415b, that is, the q-axis component and the d-axis component at the current time are compared (connection point 124), and the current deviation of each component is calculated. Then, the q-axis component and the d-axis component of the command current at that time are calculated by proportional and integral calculations using the current deviation and the time integration (accumulation) of the current deviation.

【0022】指令電流のq軸成分及びd軸成分は、各相
の指令電流にdq変換される。その各相の指令電流は高周
波の三角波と比較され、インバータ425の各相のトラ
ンジスタのオンオフを制御する電圧制御PWM信号が生
成される。その電圧制御PWM信号はインバータ425
に出力され、そのインバータ425の各相のトランジス
タがそれぞれ通電される。このインバータ425のスイ
ッチングにより負荷電流は目標電流に制御されることに
なる。即ち、この負荷電流によりモータM1はCPU1
1から指令された値に基づき駆動される。同様に他のモ
ータM2〜M6も駆動されてロボット10の位置制御が
なされる。
The q-axis component and the d-axis component of the command current are dq-converted into the command current of each phase. The command current of each phase is compared with a high-frequency triangular wave, and a voltage control PWM signal for controlling on / off of a transistor of each phase of the inverter 425 is generated. The voltage control PWM signal is supplied to the inverter 425.
, And the transistors of each phase of the inverter 425 are energized. The switching of the inverter 425 controls the load current to the target current. That is, the motor M1 is driven by the CPU 1
It is driven based on the value instructed from 1. Similarly, the other motors M2 to M6 are driven to control the position of the robot 10.

【0023】以上説明した実施例においては、位置デー
タを4点求めて3次補間により速度及び加速度指令値を
算出したが、本発明は、例えば5点の位置データを求
め、4次補間により、速度、加速度、及び加加速度を求
めることもでき、この求めた加加速度を基にモータを制
御することによりロボットを更に滑らかに制御すること
が可能である。また、上述した実施例においてはCPU
11により算出された指令値をサーボ制御部40におい
てディジタル式にフィードフォワードを掛けたが、本発
明はこれに限定されず、例えば、CPU11により算出
された指令値をD/A変換して、アナログ式にサーボモ
ータにフィードフォワードすることも可能である。
In the embodiment described above, the position and the acceleration command values are calculated by tertiary interpolation by obtaining four points of position data. However, the present invention obtains, for example, five points of position data and obtains the position data of five points by quaternary interpolation. The speed, acceleration, and jerk can also be obtained, and the robot can be more smoothly controlled by controlling the motor based on the obtained jerk. In the above-described embodiment, the CPU
The command value calculated by the CPU 11 is digitally fed forward in the servo control unit 40, but the present invention is not limited to this. For example, the command value calculated by the CPU 11 is D / A converted and converted into an analog signal. It is also possible to feed forward to the servomotor in a formula.

【0024】本実施例では、CPU11側で速度指令値
及び加速度指令値を算出するため、サーボ制御部40側
での速度及び加速度の算出が不要になり、サーボ制御部
側で他の処理を行うことも可能になる。また、CPU1
1が、位置指令と同時に速度指令値及び加速度指令値を
算出するので、これらの間にズレ及び歪みが生じず、速
度フィードフォワード及び加速度フィードフォワードの
特性を改善することができる。更に、補間に3次式を用
いるので、数6に示すように加速度指令値θ''i が時間
tの関数となり、補間により算出される加速度成分が時
間tによる連続した変化となるため、良好な加速度フィ
ードフォワードを得ることができる。
In this embodiment, since the CPU 11 calculates the speed command value and the acceleration command value, the servo control unit 40 does not need to calculate the speed and the acceleration, and the servo control unit performs other processing. It becomes possible. CPU1
1 calculates the speed command value and the acceleration command value at the same time as the position command, so that there is no displacement or distortion between them, and the characteristics of the speed feed forward and the acceleration feed forward can be improved. Further, since the cubic expression is used for interpolation, the acceleration command value θ ″ i becomes a function of time t as shown in Expression 6, and the acceleration component calculated by interpolation becomes a continuous change with time t. A high acceleration feed forward can be obtained.

【0025】[0025]

【発明の効果】本発明は、以上説明したように構成され
ており、位置指令値と同時に速度指令値及び加速度指令
値を算出してサーボモータにフィードフォワードをかけ
るので、速度フィードフォワード及び加速度フィードフ
ォワードの特性を改善することができる。また、補間に
3次式を用いるので、補間された加速度成分が連続した
変化となり、良好な加速度フィードフォワードを行うこ
とが可能になる。
The present invention is constructed as described above. Since the speed command value and the acceleration command value are calculated simultaneously with the position command value and feedforward is applied to the servomotor, the speed feedforward and the acceleration feed are performed. Forward characteristics can be improved. In addition, since the cubic expression is used for interpolation, the interpolated acceleration component changes continuously, and good acceleration feedforward can be performed.

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

【図1】本発明を明示するための全体構成図。FIG. 1 is an overall configuration diagram for clearly illustrating the present invention.

【図2】本発明の一実施例に係るロボット制御装置によ
り制御されるロボットの機械的構成を示す構成図であ
る。
FIG. 2 is a configuration diagram showing a mechanical configuration of a robot controlled by a robot control device according to one embodiment of the present invention.

【図3】本発明の一実施例に係るロボット制御装置の構
成を示すブロック図である。
FIG. 3 is a block diagram illustrating a configuration of a robot control device according to an embodiment of the present invention.

【図4】本実施例に係るロボット制御装置の処理を示す
フローチャートである。
FIG. 4 is a flowchart illustrating a process of the robot control device according to the embodiment.

【図5】本実施例のロボット制御装置の3次補間処理を
示すフローチャートである。
FIG. 5 is a flowchart illustrating a cubic interpolation process of the robot control device according to the present embodiment.

【図6】サーボ制御部の構成を示すブロック図である。FIG. 6 is a block diagram illustrating a configuration of a servo control unit.

【図7】サーボ制御部の機能的構成を示したブロック図
である。
FIG. 7 is a block diagram showing a functional configuration of a servo control unit.

【図8】従来のロボット制御装置の構成図である。FIG. 8 is a configuration diagram of a conventional robot control device.

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

10 ロボット 11 CPU 19 ノズル 30 RAM 40 サーボ制御部 50 ロボット制御装置 414 ディジタルシグナルプロセッサ Reference Signs List 10 robot 11 CPU 19 nozzle 30 RAM 40 servo controller 50 robot controller 414 digital signal processor

フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G05D 3/00 - 3/20 G05B 11/00 - 13/04 G05B 19/18 - 19/46 Continuation of the front page (58) Field surveyed (Int. Cl. 7 , DB name) G05D 3/00-3/20 G05B 11/00-13/04 G05B 19/18-19/46

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 入力された値を基に補間を行い位置デ
ータを算出しサーボモータを駆動してロボットの位置を
制御するロボット制御装置において、 一定補間周期T毎に位置データを出力する軌跡発生手段
と、 前記軌跡発生手段により出力された位置データを基に3
次以上の補間式により位置指令値、速度指令値及び加速
度指令値を同時に算出し、これら指令値を上記補間周期
Tの整数分の1毎に出力する指令位置補間手段と、 前記指令位置補間手段から出力された位置指令値、速度
指令値及び加速度指令値を基にサーボモータにフィード
フォワードをかけて制御を行うサーボ制御手段とを有す
ることを特徴とするロボット制御装置。
1. A robot control device that performs interpolation based on an input value to calculate position data and drives a servomotor to control the position of a robot. Means based on the position data output by the trajectory generating means.
A command position interpolating means for simultaneously calculating a position command value, a speed command value, and an acceleration command value by the following interpolation formulas and outputting these command values for each integral number of the interpolation cycle T; And a servo control means for performing feedforward control on the servomotor based on the position command value, the speed command value, and the acceleration command value output from the controller.
JP09261293A 1993-03-27 1993-03-27 Robot controller Expired - Fee Related JP3182542B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09261293A JP3182542B2 (en) 1993-03-27 1993-03-27 Robot controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09261293A JP3182542B2 (en) 1993-03-27 1993-03-27 Robot controller

Publications (2)

Publication Number Publication Date
JPH06282333A JPH06282333A (en) 1994-10-07
JP3182542B2 true JP3182542B2 (en) 2001-07-03

Family

ID=14059264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09261293A Expired - Fee Related JP3182542B2 (en) 1993-03-27 1993-03-27 Robot controller

Country Status (1)

Country Link
JP (1) JP3182542B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101096449B (en) * 2006-06-30 2010-05-26 佛山市顺德区汉达精密电子科技有限公司 PC/ABS alloy material

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3412730B2 (en) * 1996-01-09 2003-06-03 日本遠隔制御株式会社 Servo motor controller
US6216058B1 (en) * 1999-05-28 2001-04-10 Brooks Automation, Inc. System of trajectory planning for robotic manipulators based on pre-defined time-optimum trajectory shapes
JP6604198B2 (en) * 2015-12-25 2019-11-13 株式会社ジェイテクト Motor control device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101096449B (en) * 2006-06-30 2010-05-26 佛山市顺德区汉达精密电子科技有限公司 PC/ABS alloy material

Also Published As

Publication number Publication date
JPH06282333A (en) 1994-10-07

Similar Documents

Publication Publication Date Title
US5434489A (en) Method and system for path planning in cartesian space
JP3518029B2 (en) Servo system controller
JPWO2018016356A1 (en) Electric power steering device
JPH0816246A (en) Method for tandem controlling by digital servo
WO1988010452A1 (en) Articulated robot controller
JP6665954B2 (en) Electric power steering device
JPH0549284A (en) Method of controlling speed of synchronous type ac servo-motor
WO1997008599A1 (en) Method for switching a control mode of a servo control system
JP4192780B2 (en) Robot control device
JP3182542B2 (en) Robot controller
JP2604929B2 (en) Robot control device
JP2020015124A (en) Robot control method, article manufacturing method, robot control device, robot, program and recording medium
JP3230571B2 (en) Motor speed control device
JP3229926B2 (en) Motor position control device
JPH06222817A (en) Robot weaving controller
JPH0614592A (en) Acceleration control system for ac servo motor
CN109995290B (en) Open-loop iterative learning control method and system based on fractional calculus
JPH11231940A (en) Controller for robot
JP3438195B2 (en) Motor control device
JP2014137626A (en) Robot control method and robot control device
JPH07314363A (en) Motion control method and device for articulated manipulaor
JP2960233B2 (en) Robot control device
JPH10149210A (en) Method for preparing command for positioning control system
JP3931271B2 (en) Positioning control method and positioning control device
JPH10301616A (en) Teaching device for robot

Legal Events

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