JP2002082705A - Robot controller - Google Patents

Robot controller

Info

Publication number
JP2002082705A
JP2002082705A JP2001213995A JP2001213995A JP2002082705A JP 2002082705 A JP2002082705 A JP 2002082705A JP 2001213995 A JP2001213995 A JP 2001213995A JP 2001213995 A JP2001213995 A JP 2001213995A JP 2002082705 A JP2002082705 A JP 2002082705A
Authority
JP
Japan
Prior art keywords
override
robot
command
value
output
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.)
Granted
Application number
JP2001213995A
Other languages
Japanese (ja)
Other versions
JP3588063B2 (en
Inventor
Takayuki Ito
孝幸 伊藤
Toru Shirahata
透 白幡
Atsuro Nagayama
敦朗 永山
Kazuto Hirose
一人 廣瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to JP2001213995A priority Critical patent/JP3588063B2/en
Publication of JP2002082705A publication Critical patent/JP2002082705A/en
Application granted granted Critical
Publication of JP3588063B2 publication Critical patent/JP3588063B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To eliminate track deviation caused in relation to an override or a temporary stop. SOLUTION: An operation planning part for software of a robot controller generates a plan for the operation of a robot without considering the override and outputs it to an interpolation processing part. The interpolation processing part performs interpolation processing in each computation processing cycle to calculate and output a movement quantity of each ITP to a filter part. The output of filtering performed by the filter part for acceleration/deceleration control is processed by an override processing part provided with a dynamic shutter. The outputs after processing applied with an override value β (0<=β<=1) common to respective axes are obtained by multiplying a speed and acceleration by β and β2. At a corner part where two operations overlap with each other, the acceleration and deceleration of both the operations are equally dealt with, so no track error is generated. Even when the override is changed during passage through the corner part, the same result is obtained. Further, the override is gradually varied in deceleration and acceleration before and after the temporary stop to eliminate even track deviation accompanying the temporary stop.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は産業用ロボット(以
下、単に「ロボット」と言う。)を制御するための制御
装置に関し、更に詳しく言えば、オーバライド指令時や
一時停止前後におけるロボット軌跡精度を向上させるよ
うにしたロボット制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a control device for controlling an industrial robot (hereinafter, simply referred to as "robot"). The present invention relates to a robot control device that is improved.

【0002】[0002]

【従来の技術】動作プログラムで指定されている速度
(以下、「プログラム速度」と言う)よりも低い速度で
ロボットを移動させる必要がある場合には、プログラム
速度に対して一定の割合で動作速度を低下させるオーバ
ライドの手法が広く用いられている。例えば、新規作成
された動作プログラムや修正を行なった動作プログラム
については、低率のオーバライドを指定して再生運転
(テストラン)を行ない、危険を避けながら移動軌跡の
確認を行なっている。
2. Description of the Related Art When it is necessary to move a robot at a speed lower than a speed specified by an operation program (hereinafter, referred to as a "program speed"), the operation speed is set at a fixed rate to the program speed. Is widely used. For example, with respect to a newly created operation program or a modified operation program, a regeneration operation (test run) is performed by designating a low rate of override, and the movement locus is confirmed while avoiding danger.

【0003】軌跡が適正であると確認された動作プログ
ラムは、実際の作業を担当するロボットの制御装置内で
再生されるが、再生運転に際して指定されるオーバライ
ドは、当然、プログラム速度通りでの移動を指令する
「100%」、あるいはそれに近い高率とされることが
通例である。
[0003] The operation program whose trajectory is confirmed to be appropriate is reproduced in the control device of the robot in charge of the actual work. The override specified during the reproduction operation is, of course, the movement at the programmed speed. Is usually set to “100%” or a high rate close to “100%”.

【0004】ところが従来のロボット制御装置を用いた
場合、オーバライドによって移動速度を低下させた場合
に実現される軌跡と、オーバライド100%指定時(速
度低下なし)に実現される軌跡との間にずれが生じてい
た。この軌跡ずれは、指定されたオーバライド値が低い
程大きくなる性質がある。即ち、低率のオーバライドの
下での動作中にロボットがコーナ部分にさしかかると、
そのコーナで位置決めが行なわれる場合を除き、各軸及
ぴ直線、円弧動作いずれの動作形式においてもツール先
端点の軌跡が、指定されているオーバライド値によって
大きく変化していた。
However, when the conventional robot controller is used, there is a deviation between a trajectory realized when the moving speed is reduced by the override and a trajectory realized when the override 100% is designated (no speed reduction). Had occurred. This trajectory shift has the property of increasing as the designated override value decreases. In other words, if the robot approaches the corner during operation under low rate override,
Except in the case where positioning is performed at the corner, the trajectory of the tool tip point greatly changes depending on the specified override value in each axis, straight line, and circular motion.

【0005】そのため、実際の軌跡確認にあたっては、
低率のオーバライドを指定した動作から始め、徐々にオ
ーバライドをあげながらテストランを繰り返すことで正
確な軌跡の確認を試みているのが現状である。このよう
な軌跡ずれは、低率のオーバライド指定時のみならず、
動作中のオーバライド値変更時やロボットの一時停止の
前後(減速時、加速時)においても同様の態様で発生す
る。
[0005] Therefore, when checking the actual trajectory,
At present, an attempt is made to confirm an accurate trajectory by repeating a test run while gradually increasing the override, starting from an operation in which a low-rate override is designated. Such a trajectory shift occurs not only when a low rate override is specified,
It occurs in the same manner when the override value is changed during operation or before and after the robot temporarily stops (during deceleration and acceleration).

【0006】結局、従来技術においては、位置教示後、
オーバライド100%で動作させるまでのテストランの
繰り返しに長時間を要していた。また、プログラム再生
動作時に一時停止の処理をした場合、減速に伴なってツ
ール先端点位置が、一時停止の処理を行なわない通常勤
作時に描かれるツール先端点の軌跡(以下、「通常軌
跡」と言う)からはずれて行き、通常軌跡上に無い位置
で停止する。なお、本明細書では、「一時停止」には、
アラーム出力によりサーボへの移動指令出力を瞬時に停
止させることを意味する「非常停止」は含まないことと
する。
After all, in the prior art, after position teaching,
It took a long time to repeat the test run before operating at 100% override. In addition, when a pause process is performed during the program reproduction operation, the tool tip point position is reduced along with the deceleration, and the tool tip point locus drawn during normal work without performing the pause process (hereinafter, “normal locus”) And stop at a position that is not normally on the trajectory. In this specification, "pause"
It does not include "emergency stop", which means that the movement command output to the servo is instantaneously stopped by the alarm output.

【0007】同様に、一時停止後プログラム再生を再開
した直後のツール先端点の軌跡も通常軌跡からはずれて
おり、通常軌跡に一致するまでに相当の移動距離を要す
る。このような軌跡のずれは、ロポットハンド等のエン
ドエフェクタと外部物体(ジグ、ワーク、他の設置機器
等)が干渉する原因にもなっていた。
Similarly, the trajectory of the tool tip point immediately after resuming the program reproduction after the pause is also off the normal trajectory, and requires a considerable moving distance until it coincides with the normal trajectory. Such a shift in the trajectory has also caused interference between an end effector such as a robot hand and an external object (a jig, a work, another installed device, or the like).

【0008】図1は、上述した問題について考察するた
めに、プログラム再生時に動作計画からサーボへの移動
指令出力までにロボット制御装置内部で行なわれていた
従来方式の処理の枠組みを説明する図である。従来方式
に従った通常処理の枠組は図1に示したようなもので、
枠組み全体は、動作計画部と、補間処理部と、フィルタ
部に大別され、各部は各軸動作用の系列と直交動作(直
線動作、円弧動作等)用の系列に2分することが出来
る。
FIG. 1 is a diagram for explaining a framework of a conventional processing which is performed in a robot controller from an operation plan to a movement command output to a servo at the time of reproducing a program in order to consider the above-mentioned problem. is there. The framework of normal processing according to the conventional method is as shown in FIG.
The entire framework is roughly divided into an operation planning unit, an interpolation processing unit, and a filter unit, and each unit can be divided into a sequence for each axis operation and a sequence for orthogonal operation (linear operation, arc operation, etc.). .

【0009】動作計画部は、動作プログラムの指定内容
(移動目標位置、運動形式、プログラム速度など)に従
ってロボットの動作計画を作成する部分で、動作プログ
ラムで指定された運動形式が各軸動作であれば各軸動作
計画部で動作計画が作成され、動作プログラムで指定さ
れた運動形式が直交動作(直線動作、円弧動作等)であ
れば直交動作計画部で動作計画が作成される。
The motion planning section is for creating a motion plan of the robot in accordance with the contents specified by the motion program (moving target position, motion format, program speed, etc.). The motion format specified by the motion program is for each axis motion. For example, an operation plan is created by each axis operation planning unit, and if the motion type specified by the operation program is orthogonal operation (linear operation, arc operation, etc.), the operation plan is created by the orthogonal operation planning unit.

【0010】オーバライドはこの動作計画部で考慮さ
れ、プログラム速度にオーバライド(百分率)を乗じた
ものが、補間処理部に対する指令遠度出力となる。動作
計画部と補間処理部の間には、動作計画部からの指令速
度出力の補間処理部への送り込みを制御する動作シャッ
タとして機能するブロックが設けられている。動作シャ
ッタは、指令遠度出力が生成される毎に開放され、指令
遠度出力を補間処理部に渡す。
The override is considered in the operation planning unit, and the product of the program speed multiplied by the override (percentage) is the command remote output to the interpolation processing unit. Between the operation planning unit and the interpolation processing unit, there is provided a block functioning as an operation shutter for controlling sending of the command speed output from the operation planning unit to the interpolation processing unit. The operation shutter is opened each time a commanded far output is generated, and passes the command far output to the interpolation processing unit.

【0011】補間処理部では、この指令遠度出力を受け
て計算処理周期(ITP)毎に補間処理が各軸上あるい
は直交座標系上で行なわれ、ITP毎の移動量が計算さ
れ、出力される。続くフィルタ部では、補間処理部の出
力に対して所定の時定数でフィルタリングが行なわれ
る。この処理はロボットの加減速を制御して、加速/減
速の動きを滑らかにするために行なわれる。
In response to the command distance output, the interpolation processing section performs an interpolation process on each axis or a rectangular coordinate system at each calculation processing cycle (ITP), and calculates and outputs a movement amount for each ITP. You. In the subsequent filter unit, the output of the interpolation processing unit is filtered with a predetermined time constant. This process is performed to control the acceleration / deceleration of the robot and to smooth the acceleration / deceleration movement.

【0012】各軸フィルタ処理部でフィルタリング処理
された出力も、フィルタリング後、各軸(J1〜J6)
のサーボへ出力される。なお、直交動作の場合、直交座
標系から各軸座標系への変換を行なうためのいわゆる逆
変換の処理が必要となる。この逆変換の処理はフィルタ
リングの前に逆変換を行なわれることが多いが、フィル
タリングの後で行なうこともある。
The outputs filtered by the respective axis filter processing units are also filtered, and then filtered for each axis (J1 to J6).
Is output to the servo. In the case of the orthogonal operation, a so-called inverse conversion process for performing conversion from the orthogonal coordinate system to each axis coordinate system is required. In the inverse conversion process, the inverse conversion is often performed before the filtering, but may be performed after the filtering.

【0013】再生動作中にロボット制御装置内部で一時
停止の指令が出力された場合には、動作シャッタのオフ
反転により補間処理部にホールドがかけられ、補問処理
が中断される。ホールド指令が出される前に補間処理で
作成された出力はフィルタ部でフィルタ処理されて後、
サーボへ出力される。サーボへ出力された移動指令が各
軸の移動で消化されるとサーボへの入力が途絶え、ロボ
ットは停止に至る。
[0013] When a temporary stop command is output inside the robot controller during the reproducing operation, the interpolation processing section is held by the inversion of the operation shutter, and the interrogation processing is interrupted. The output created by the interpolation process before the hold command is issued is filtered by the filter unit,
Output to servo. When the movement command output to the servo is consumed by the movement of each axis, the input to the servo is interrupted, and the robot stops.

【0014】動作プログラムで2つの動作を滑らかにつ
なぐ経路が指定されている場合、2つの動作指令は重畳
して処理される。その際、2つの動作の内先行動作の終
点における移動接線方向と後行動作の始点における移動
接線方向が互いに異なる場合には、丸みを帯びたコーナ
が生成される。この時の動作の重なり量が、コーナの内
回りの形状を左右する。
When a path that smoothly connects the two operations is specified by the operation program, the two operation commands are processed in a superimposed manner. At this time, if the moving tangent direction at the end point of the preceding operation of the two operations is different from the moving tangent direction at the start point of the following operation, a rounded corner is generated. The overlapping amount of the motion at this time affects the inner shape of the corner.

【0015】ここで、オーバライドの高低と動作の重な
り量との関係を考えてみる。オーバライドが低い場合に
は、指令速度は当然低くなるが、フィルタ都の加減速処
理の時定数は変わらないので、動作の重なり量は小さく
なる。このことは、コーナの内回り量が小さくなる(即
ち、丸みの曲率が小さくなる)ことを意味している。逆
に、オーバライドが高い場合には、指令速度は当然高く
なり、同じフィルタ都の加減速処理の時定数の下で動作
の重なり量は大きくなる。その結果、コーナの内回り量
が大きくなる(即ち、丸みの曲率が大きくなる)。
Here, the relationship between the level of the override and the amount of overlap of the operation will be considered. When the override is low, the command speed naturally becomes low, but the time constant of the acceleration / deceleration processing of the filter does not change, so that the overlap amount of the operation becomes small. This means that the inward turning amount of the corner becomes small (that is, the curvature of the roundness becomes small). Conversely, when the override is high, the command speed naturally increases, and the overlap amount of the operation increases under the time constant of the acceleration / deceleration processing of the same filter. As a result, the inward turning amount of the corner increases (that is, the curvature of the roundness increases).

【0016】図2は、簡単な例でこれらの現象を説明す
る図である。図2の例では、動作プログラムとして、イ
チ[1]へ向けて2000mm/secで直線移動する
動作と、イチ[2]へ向けて1000mm/secで直
線移動して停止(位置決め)する動作を100%の滑ら
かさで接続するものを考えている。コーナ通過に伴う現
象を考察するために、図示した如く、イチ[1]へ向か
う直線経路は−X軸方向へ向い、イチ[2]へ向かう直
線経路は+Y軸方向へ向うケースを想定する。各動作の
フィルタ処理後の指令速度出力推移が右上部に併記され
ており、符号a、bが動作の重なりを一般的に表わして
いる。
FIG. 2 is a diagram illustrating these phenomena in a simple example. In the example of FIG. 2, as the operation program, an operation of linearly moving at 2000 mm / sec toward point [1] and an operation of linearly moving and stopping (positioning) at 1000 mm / sec toward point [2] are defined as 100. Think of something that connects with% smoothness. In order to consider the phenomenon associated with the corner passing, as shown in the figure, it is assumed that the straight path toward the point [1] is in the −X-axis direction, and the straight path toward the point [2] is in the + Y-axis direction. The transition of the command speed output after the filtering process of each operation is also shown in the upper right part, and the symbols a and b generally represent the overlap of the operations.

【0017】今、高いオーバライドとして100%、低
いオーバライドとして50%を想定すると、オーバライ
ド100%時におけるフィルタ処理後の重なりa1、b
1と、オーバライド50%時におけるフィルタ処理後の
重なりa2、b2はぞれぞれ図示したようなものとな
る。即ち、オーバライドが2倍のファクタで異なってい
るにも拘らず同じ時定数でフィルタリングが行なわれる
ために、動作の重なり量に大きな差が生じる。その結
果、実現される軌跡はc1、c2で示したように異なっ
たものとなる。コーナ部の丸みはc1では大きく、c2
では小さい。
Now, assuming that the high override is 100% and the low override is 50%, the overlaps a1 and b after the filter processing when the override is 100% are assumed.
1 and the overlaps a2 and b2 after the filtering process when the override is 50% are as shown in the drawing. That is, although the override is different by a factor of two, filtering is performed with the same time constant, so that there is a large difference in the amount of overlapping operation. As a result, the trajectories realized are different as shown by c1 and c2. The roundness of the corner is large in c1 and c2
Then it is small.

【0018】次に、オーバライド100%の場合につい
て、イチ[1]で代表されるコーナ通過中のP点で一時
停止によりホールドがかかった場合を考える。ホールド
がかかった時点から、イチ[2]へ向かう動作分の補間
処理部の出力は、ホールドがかからなかった場合(破線
dで表示)に比して急減して残留指令出力のみとなる。
そのため、フィルタ処理後の2つの動作の重なりが、コ
ーナ移動途上で急減する効果をもたらす。
Next, in the case of 100% override, consider a case where a hold is applied due to a temporary stop at point P during a corner represented by spot [1]. From the time when the hold is applied, the output of the interpolation processing unit corresponding to the operation toward the position [2] is sharply reduced as compared with the case where the hold is not applied (indicated by a broken line d), and only the residual command output is output.
For this reason, an overlap between the two operations after the filtering process has an effect of rapidly decreasing during the movement of the corner.

【0019】その結果、ホールドがかかった時点に対応
するP点から軌跡がコーナ代表点イチ[2]側へずれて
c3のようになり、ホールドがかからなかった場合の軌
跡c1からはずれた点Qで停止する(イチ[1]へ向か
う動作は消化されることに注意)。一時停止後に再生を
再開すると、ロボット軌跡は点Qから、c4で示したよ
うな軌跡を辿ることになる(途中からc1に一致)。
As a result, the trajectory shifts from the point P corresponding to the time when the hold is applied to the corner representative point 1 [2], as shown by c3, and deviates from the trajectory c1 when the hold is not applied. Stop at Q (note that the action going to Ichi [1] is digested). When the reproduction is resumed after the pause, the robot trajectory follows the trajectory indicated by c4 from point Q (coincident with c1 from the middle).

【0020】これと類似した軌跡ずれ現象は、コーナ通
過中にオーバライドが切り替わった場合にも発生するこ
とは明らかである。なぜならば、同じ時定数の下でフィ
ルタリングが行なわれるために、補間処理部の出力の大
小によって2つの動作の重なり量が変化し、その結果、
軌跡が変化するからである。
It is apparent that a similar trajectory shift phenomenon also occurs when the override is changed during the passage through a corner. Because the filtering is performed under the same time constant, the amount of overlap between the two operations changes depending on the magnitude of the output of the interpolation processing unit.
This is because the trajectory changes.

【0021】即ち、これら軌跡ずれを発生させる諸ケー
ス(オーバライドの高低、オーバライドの動作中の切
換、一時停止の前後)には、フィルタリング処理の入力
レベルの推移が通常時とは異なっているという共通した
要因がある。フィルタリング処理の入力レベルが変化し
ているのに、同じ時定数の下でフィルタリング処理行な
われるために、2つの方向の異なる動作が重なる部分で
は、動作経路に差異が生じてしまうと考えることが出来
る。
In other words, in various cases in which the trajectory shift occurs (override level, switching during override operation, before and after temporary stop), the transition of the input level of the filtering process is different from that in the normal state. There are factors. Since the filtering process is performed under the same time constant even though the input level of the filtering process is changed, it can be considered that there is a difference in the operation path in a portion where different operations in two directions overlap. .

【0022】[0022]

【発明が解決しようとする課題】そこで、本発明の目的
は、従来技術において上記共通した要因で発生する軌跡
ずれを解消出来るロボット制御装置を提供することにあ
る。即ち、本発明は、オーバライドの高低、オーバライ
ドの動作中の切換、一時停止の前後における軌跡精度の
低下を防止出来るロボット制御装置を提供することにあ
る。
SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide a robot control apparatus which can eliminate a trajectory shift caused by the above-mentioned common factor in the prior art. That is, an object of the present invention is to provide a robot control device capable of preventing a decrease in trajectory accuracy before and after a change in override operation, a change during override operation, and a temporary stop.

【0023】本発明はまたそのことを通して、教示後の
テストラン時の軌跡と高オーバライドの下での運転時の
軌跡のずれを解消し、軌跡確認作業の効率性と安全性を
向上させようとするものである。更に、本発明は、オー
バライドの動作中の切換や一時停止に伴う軌跡ずれをな
くすことを通して、ロボット作業の精度と安全性を図る
ものでもある。
The present invention is also intended to eliminate the deviation between the trajectory during the test run after teaching and the trajectory during operation under a high override, thereby improving the efficiency and safety of the trajectory checking operation. Is what you do. Further, the present invention aims to improve the accuracy and safety of the robot operation by eliminating the trajectory deviation due to the switching or the temporary stop during the operation of the override.

【0024】[0024]

【課題を解決するための手段】本発明は、上述の如き要
因で発生する軌跡ずれを解消出来るソフトウェアを装備
したロボット制御装置を提供するもので、ロボットの各
軸を駆動するサーボモータのサーボ系へ移動指令を出力
するためのソフトウェア手段を備えたロボット制御装置
に適用される。
SUMMARY OF THE INVENTION The present invention provides a robot control device equipped with software capable of eliminating a trajectory shift generated due to the above-mentioned factors, and a servo system of a servo motor for driving each axis of the robot. The present invention is applied to a robot control device having software means for outputting a movement command to a robot.

【0025】本発明に従えば、ロボット制御装置に装備
されるソフトウェア手段は、ロボットの動作目標位置ま
での移動量を求め、これをある周期で補間処理し、前記
補間処理された出力を加減速制御のためにフィルタリン
グ処理する手段と、前記フィルタリング処理後の移動指
令を入力とし、指定された各軸共通の指令オーバライド
値に応じて前記移動指令を修正する動的速度制御手段と
を持つ。
According to the present invention, the software means provided in the robot control device obtains the amount of movement of the robot to the target operation position, interpolates the obtained amount in a certain cycle, and accelerates / decelerates the interpolated output. It has a means for performing a filtering process for control, and a dynamic speed control means for inputting a movement command after the filtering process and correcting the movement command according to a specified command common override value for each axis.

【0026】そして、前記動的速度制御手段は、前記移
動指令に対し、速度が指令オーバライド値に比例した値
とし、また加速度が指令オーバライド値の自乗に比例し
た値を出力する手段を含んでいる。
The dynamic speed control means includes means for outputting, in response to the movement command, a value whose speed is proportional to the command override value and a value whose acceleration is proportional to the square of the command override value. .

【0027】ここで、本発明に従ったロボット制御装置
は、目標オーバライド値が現在のオーバライド値と異な
る場合に、前記動的速度制御手段に対する指令オーバラ
イド値を、現在のオーバライド値から目標オーバライド
値まで滑らかに変化させる指令オーバライド計算手段を
持つことが出来る。
Here, when the target override value is different from the current override value, the robot controller according to the present invention changes the command override value for the dynamic speed control means from the current override value to the target override value. It is possible to have a command override calculating means for changing smoothly.

【0028】また、本発明に従ったロボット制御装置
は、プログラム実行時にロボットを一時停止させる場合
に、前記目標オーバライド値を0に設定し、前記指令オ
ーバライド計算手段により、前記動的速度制御手段に対
する指令オーバライド値を現在オーバライド値から0ま
で滑らかに変化させる事によりロボットを減速停止させ
るように構成することが出来る。
Further, the robot control device according to the present invention sets the target override value to 0 when the robot is temporarily stopped at the time of executing the program, and sets the target override value to 0 by the command override calculation means. The robot can be configured to decelerate to a stop by smoothly changing the command override value from the current override value to 0.

【0029】更に、本発明に従ったロボット制御装置
は、プログラム実行時にロボットを非常停止させる場合
に、前記目標オーバライド値と前記指令オーバライド値
を共に0に設定し、移動指令出力を瞬時に0とし、ロボ
ットを即時停止させるように構成することも出来る。
Further, the robot control device according to the present invention sets both the target override value and the command override value to 0 and sets the movement command output to 0 instantaneously when the robot is to be emergency stopped during execution of the program. Alternatively, the robot may be configured to stop immediately.

【0030】一方、プログラムラム実行時にロボットを
一時停止、または非常停止させた後、停止後に動作を再
開させる場合について、本発明に従ったロボット制御装
置は、前記指令オーバライド計算手段を用いて、指令オ
ーバライド値を0から、前記目標オーバライド値まで滑
らかに変化させる事によりロボットを加速させるように
構成することが出来る。
On the other hand, in the case where the robot is temporarily stopped or an emergency stop is performed during the execution of the program, and the operation is resumed after the stop, the robot control device according to the present invention uses the command override calculation means to execute the command override calculation means. The robot can be configured to accelerate by smoothly changing the override value from 0 to the target override value.

【0031】更に、前記指令オーバライド計算手段に用
いて、現在のオーバライド値から、目標オーバライド値
まで、指定の分割回数に分割して段階的に前記動的速度
制御手段に対する指令オーバライド値を変更させること
も出来る。
Further, using the command override calculation means, the command override value for the dynamic speed control means can be changed stepwise by dividing into a specified number of divisions from a current override value to a target override value. You can also.

【0032】ここで、前記指令オーバライド計算手段を
利用して前記動的速度制御手段に対する指令オーバライ
ド値を変化させることについて、現在のオーバライド値
から、目標オーバライド値まで指数関数を用いてなめら
かな変化を実現させるようにしても良い。
Here, regarding changing the command override value for the dynamic speed control means using the command override calculation means, a smooth change using an exponential function from the current override value to the target override value is performed. You may make it implement | achieve.

【0033】また、前記一時停止の時点付近において、
ロボット制御装置内部で動作データを保存し、動作再開
時にその保存された動作データを利用するようにしても
良い。
In the vicinity of the temporary stop,
The operation data may be stored in the robot controller, and the stored operation data may be used when the operation is restarted.

【0034】なお、本発明においては、前記動作プログ
ラムに基づく前記動作計画は、少なくとも一つの動作区
間について直交動作を行なうための直交動作計画を含ん
でいて良い。また、前記動作プログラムに基づく前記動
作計画は、少なくとも一つの動作区間について各軸動作
を行なうための各軸動作計画を含んでいても良い。
In the present invention, the operation plan based on the operation program may include an orthogonal operation plan for performing an orthogonal operation on at least one operation section. Further, the operation plan based on the operation program may include each axis operation plan for performing each axis operation for at least one operation section.

【0035】[0035]

【発明の実施の形態】図3は本発明が適用されるロボッ
ト制御装置を含むロボットシステムのハードウェアの構
成を例示した要部ブロック図である。同図に示したよう
に、全体を符号30で指示したロボット制御装置は、エ
ンドエフェクタとしてハンド10をアーム先端部1に取
り付けたロボットRBを制御する。ロボットRBはここ
では6軸ロボットとする。エンドエフェクタ(ハンド1
0)の位置を代表する点であるツール先端点TCPは、
ハンド10の中心部に設定されている。
FIG. 3 is a main block diagram illustrating the hardware configuration of a robot system including a robot controller to which the present invention is applied. As shown in the figure, the robot control device generally designated by reference numeral 30 controls a robot RB in which the hand 10 is attached to the arm tip 1 as an end effector. Here, the robot RB is a six-axis robot. End effector (hand 1
The tool tip point TCP which is a point representing the position of 0) is:
It is set at the center of the hand 10.

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

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

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

【0039】上述した構成と機能は、通常のロボットシ
ステムのそれと特に変わるところはない。本システムで
用いられているロボット制御装置30が従来のものと異
なるのは、ホストCPU31がプログラムデータを読み
込んでから、ロボットRBの各軸に対する移動指令を作
成するまでの処理過程が改良され、前述した諸要因(オ
ーバライドの高低、オーバライドの動作中の切換、一時
停止の前後処理)で発生するロボットの軌跡ずれが回避
出来るようになっていることにある。改良されたプログ
ラムデータ及び関連設定値は、メモリ35に格納されて
いる。以下、この改良点を中心に説明する。
The configuration and function described above are not particularly different from those of a normal robot system. The difference between the robot controller 30 used in the present system and the conventional robot controller is that the processing steps from the reading of the program data by the host CPU 31 to the creation of the movement command for each axis of the robot RB are improved. This is to prevent the robot's trajectory deviation occurring due to the various factors (override level, switching during override operation, and processing before and after the temporary stop). The improved program data and related setting values are stored in the memory 35. Hereinafter, description will be made focusing on this improvement.

【0040】図4は、本発明の実施形態について、プロ
グラム再生時に動作計画からサーボへの移動指令出力ま
でにロボット制御装置内部で行なわれる処理の枠組みを
図1と同様の形式で説明する図である。
FIG. 4 is a diagram for explaining, in a form similar to FIG. 1, a framework of processing performed in the robot controller from an operation plan to a movement command output to a servo during program reproduction according to the embodiment of the present invention. is there.

【0041】図4に示した処理の枠組み全体は、従来と
同様に、動作計画部と、補間処理部と、フィルタ部を備
え、それぞれが各軸動作用のブロックと直交動作用のブ
ロックを有し、各部は各軸動作用の系列と直交動作(直
線動作、円弧動作等)用の系列に2分することが出来
る。
The entire processing framework shown in FIG. 4 includes an operation planning unit, an interpolation processing unit, and a filter unit, each of which has a block for each axis operation and a block for orthogonal operation, as in the related art. Each unit can be divided into a series for each axis operation and a series for orthogonal operation (linear operation, circular arc operation, etc.).

【0042】動作計画部は、動作プログラムの指定内容
(移動目標位置、運動形式、プログラム速度など)に従
ってロボットの動作計画を作成する部分で、動作プログ
ラムで指定された運動形式が各軸動作であれば各軸動作
計画部で動作計画が作成され、動作プログラムで指定さ
れた運動形式が直交動作(直線動作、円弧動作等)であ
れば直交動作計画部で動作計画が作成される。
The motion planning section is a portion for creating a motion plan of the robot in accordance with the contents specified by the motion program (moving target position, motion format, program speed, etc.). The motion format specified by the motion program is for each axis motion. For example, an operation plan is created by each axis operation planning unit, and if the motion type specified by the operation program is orthogonal operation (linear operation, arc operation, etc.), the operation plan is created by the orthogonal operation planning unit.

【0043】補間処理部では、この指令遠度出力を受け
て所定の計算処理周期(ITP)毎に補間処理が各軸上
あるいは直交座標系上で行なわれ、ITP毎の移動量が
計算され、出力される。続くフィルタ部では、加減速制
御のために補間処理部の出力に対して所定の時定数でフ
ィルタリングが行なわれる。各軸補間処理部からの出力
は、各軸フィルタ処理部でフィルタリング処理される。
In the interpolation processing section, upon receiving the command distance output, the interpolation processing is performed on each axis or the orthogonal coordinate system at a predetermined calculation processing cycle (ITP), and the movement amount for each ITP is calculated. Is output. In the subsequent filter unit, the output of the interpolation processing unit is filtered with a predetermined time constant for acceleration / deceleration control. The output from each axis interpolation processing unit is filtered by each axis filter processing unit.

【0044】以上のブロック構成は従来と共通したもの
であるが、オーバライドを考慮する段階が従来とは基本
的に異なっている。即ち、前述したように、従来の処理
においては、オーバライドは動作計画の処理の中で考慮
され、オーバライド値を乗じた後の出力が動作シャッタ
を介して補間処理部に渡されていたのに対し、本実施形
態では本発明の特徴に従い、フィルタ部の後段に設けら
れている。
Although the above block configuration is common to the conventional one, the step of considering the override is basically different from the conventional one. That is, as described above, in the conventional processing, the override is considered in the processing of the operation plan, and the output after being multiplied by the override value is passed to the interpolation processing unit via the operation shutter. In the present embodiment, according to the features of the present invention, it is provided at the subsequent stage of the filter unit.

【0045】また、それに伴って動作シャッタのブロッ
クもフィルタ部の後段に移されている。
In accordance with this, the block of the operation shutter has also been moved to the subsequent stage of the filter section.

【0046】オーバライドはこの動作シャッタ付のオー
バライド処理部(動的速度制御部とも言う。以下、同
じ。)で考慮され、フィルタ部の出力にオーバライド
(百分率)を乗じたものが、各軸(J1〜J6)のサー
ボへ分配・出力される。直交補間処理部からの出力は、
直交フィルタ処理部でフィルタリング処理され、逆変換
を経て、各軸(J1〜J6)のサーボへ分配・出力され
る。直交補間処理部からの出力は、各軸への分配に際し
て逆変換の処理を受ける。
The override is considered in the override processing unit with a dynamic shutter (also referred to as a dynamic speed control unit; the same applies hereinafter). The output of the filter unit multiplied by the override (percentage) is calculated for each axis (J1). ~ J6) are distributed and output to the servos. The output from the orthogonal interpolation processing unit is
Filtering is performed by an orthogonal filter processing unit, and after being subjected to inverse transformation, distributed to and output to servos of each axis (J1 to J6). The output from the orthogonal interpolation processing unit is subjected to an inverse conversion process at the time of distribution to each axis.

【0047】再生動作中にロボット制御装置内部で一時
停止の指令が出力された場合には、補間処理部ではな
く、動作シャッタのオフ反転によりオーバライド部(フ
ィルタ部の出力)にホールドがかけられる。
When a temporary stop command is output inside the robot controller during the reproduction operation, the hold is applied not to the interpolation processing unit but to the override unit (output of the filter unit) due to the inversion of the operation shutter.

【0048】本実施形態の特徴をなす処理を、オーバラ
イド関連処理と一時停止関連処理に分けてその概略を述
べれば、次のようになる。
The processing which characterizes the present embodiment is divided into an override-related processing and a temporary stop-related processing, and the outline thereof is as follows.

【0049】(1)オーバライド関連処理の概略;本実
施形態では、図4の下半部に示したように、動作計画部
ではオーバライドは考慮されず、プログラム速度通りの
入力に対して補間処理が行なわれる。補間処理後の出力
は続くフィルタ部で所定の時定数の下でフィルタリング
処理される。ここまでの段階では、処理がオーバライド
に左右される余地が無いことが明らかである。従って、
オーバライドが高くても低くても、また、動作途中でオ
ーバライドの率が切り換えられても、フィルタ部の出力
に全く影響はない。
(1) Outline of Override-Related Processing In this embodiment, as shown in the lower half of FIG. 4, the operation planning unit does not consider the override, and performs the interpolation processing for the input at the program speed. Done. The output after the interpolation processing is subjected to filtering processing in a subsequent filter unit under a predetermined time constant. At this stage, it is clear that there is no room for the process to depend on the override. Therefore,
Whether the override is high or low, or if the override rate is switched during operation, the output of the filter unit is not affected at all.

【0050】続くオーバライドの処理では、フィルタ部
の出力を次の条件式(1)、(2)を満たすように修正
する。なお、オーバライド値をβ%(0≦β≦10
0)、フィルタ部出力が表わす速度をvflout 加速度を
αflout 、オーバライド処理後の出力が表わす速度をv
ovout、加速度をαovoutで表記する。
In the following override processing, the output of the filter section is modified so as to satisfy the following conditional expressions (1) and (2). Note that the override value is β% (0 ≦ β ≦ 10
0), the speed represented by the output of the filter unit is vflout, the acceleration is αflout, and the speed represented by the output after the override processing is v
ovout and acceleration are represented by αovout.

【0051】 αovout =αflout ×(β/100)2 ・・・(1) vovout =vflout ×(β/100) ・・・(2) 図5は、オーバライドの処理をフィルタ部出力に50%
のオーバライドをかけた場合を例にとって説明する図で
ある。オーバライド処理では、全軸同期させながら、指
令を分割して出力が生成される。今、仮にフィルタ部出
力を7個のセグメントsg1〜sg7(7個の移動指
令)で表わすと、それらセグメントsg1、sg2・・
・sg7は、15ITPを使って、計15個のセグメン
トに分割されて出力される。
Αovout = αflout × (β / 100) 2 (1) vovout = vflout × (β / 100) (2) FIG. 5 shows that the processing of the override is applied to the output of the filter unit by 50%.
FIG. 7 is a diagram illustrating an example in which an override is applied. In the override processing, an instruction is divided and an output is generated while synchronizing all axes. Now, if the output of the filter unit is represented by seven segments sg1 to sg7 (seven movement commands), the segments sg1, sg2,.
Sg7 is divided into a total of 15 segments using 15ITP and output.

【0052】例えば、sg1は、sh2で半分出力さ
れ、sh1とsh3で1/4づつ出力される。また、s
g4は、sh8で半分出力され、sh7とsh9で1/
4づつ出力される。出力時の各セグメントshは、両端
部を除いて一般には、複数のフィルタ部出力のセグメン
トsgに由来する移動量が重なったものとなる。今、s
g1、sg2、sg3に対応する移動量がベクトルm
1、m2、m3で表される場合、それらに由来する出力
のセグマントsh1〜sh5は図示したようなベクトル
n1〜n5で表わされるような移動量を表わすことにな
る。経路としては、オーバライドが低い程滑らかさが増
した軌跡が得られるが、オーバライド処理の前後で軌跡
の基本ラインは変化しない。
For example, sg1 is output in half at sh2, and is output at quarters at sh1 and sh3. Also, s
g4 is half output at sh8, and is 1/1/7 at sh7 and sh9.
Four are output. In general, each segment sh at the time of output, except for both end portions, has a movement amount derived from the segment sg of a plurality of filter unit outputs overlapping. Now s
The movement amounts corresponding to g1, sg2, and sg3 are vectors m
When represented by 1, m2, and m3, the output segmants sh1 to sh5 derived therefrom represent the moving amounts represented by the vectors n1 to n5 as shown. As the route, a locus with increased smoothness is obtained as the override is lower, but the basic line of the locus does not change before and after the override process.

【0053】オーバライド処理における各ITP毎の移
動量(出力セグメント=1ITP当りの移動量で速度瞬
時値に相当)の計算式については後述するが、要点は次
の通りである。
The formula for calculating the movement amount for each ITP in the override processing (output segment = movement amount per ITP and corresponding to the instantaneous speed value) will be described later, but the main points are as follows.

【0054】1−1.加減速処理を行なったフィルタ部
の出力の各移動量(入力セグメント)に対してオーバラ
イド率(β/100)を乗じた移動量を計算する。
1-1. A movement amount is calculated by multiplying each movement amount (input segment) of the output of the filter unit that has been subjected to the acceleration / deceleration processing by the override rate (β / 100).

【0055】1−2.上記1−1.で計算された移動量
が過大な場合(そのまま出力したのでは上記式(1)、
(2)の左辺が過大となって等式を成立させられない場
合)には、過剰分を差し引いて出力する。なお、最初の
ITPでは、上記1−1.で計算された移動量では移動
量が小さ過ぎて上記式(1)、(2)を満たせなくなる
というケースは生じない(β≦100なので、上記式
(1)、(2)の左辺が過小になることはない)。
1-2. 1-1. If the movement amount calculated in is too large (if output as it is, the above equation (1)
If the left side of (2) is too large to satisfy the equation, the excess is subtracted and output. In the first ITP, the above 1-1. With the movement amount calculated in the above, there is no case where the movement amount is too small to satisfy the above expressions (1) and (2) (because β ≦ 100, the left side of the above expressions (1) and (2) is too small). Never be.)

【0056】2.次回ITPでは、未出力の移動量に対
して再度オーバライド率(β/100)を乗じた移動量
を計算する。但し、それでは移動量が不足する場合(上
記式(1)、(2)を満たせない場合)には、不足分を
足して出力する。不足分の出力は、古い移動指令(入力
セグメント)の未出力分を優先して選ぶ。2回目以降の
ITPでは、未出力の移動量に対して再度オーバライド
率(β/100)を乗じる上記計算で移動量が過剰にな
ることはない。
2. In the next ITP, a movement amount is calculated by multiplying the non-output movement amount again by the override rate (β / 100). However, if the amount of movement is insufficient (if the above equations (1) and (2) cannot be satisfied), the shortage is output. Insufficient outputs are selected with priority given to unoutputted old movement commands (input segments). In the second and subsequent ITPs, the amount of movement does not become excessive in the above calculation in which the amount of movement that has not been output is multiplied again by the override rate (β / 100).

【0057】3.更にその次のITPでは、未出力の移
動量が存在する移動指令について、それぞれ再度オーバ
ライド率(β/100)を乗じた移動を出力する。それ
では移動量が不足する場合(上記式(1)、(2)を満
たせない場合)には、不足分を足して出力する。不足分
の出力は、古い移動指令(入力セグメント)の未出力分
を優先して選ぶ。以下、同様の処理を繰り返し、全移動
指令の全移動量を出力したら処理を終了する。
3. Further, in the next ITP, for a movement command having a movement amount that has not been output, a movement multiplied again by the override rate (β / 100) is output. Then, when the movement amount is insufficient (when the above equations (1) and (2) cannot be satisfied), the shortage is added and output. Insufficient outputs are selected with priority given to unoutputted old movement commands (input segments). Hereinafter, the same processing is repeated, and when the entire movement amount of the entire movement command is output, the processing is ended.

【0058】このような処理では、加速に使われる移動
量、加速部の移動量、減速部の移動量はほぼ一定にな
る。この事は、オーバライドが変わっても、2つの動作
が重なる時の重なり量が一定になることを意味してい
る。従って、オーバライドの高低によらず、コーナ部通
過時についてもほぼ一定の軌跡が実現されることにな
る。
In such processing, the movement amount used for acceleration, the movement amount of the acceleration unit, and the movement amount of the deceleration unit become substantially constant. This means that even when the override changes, the overlap amount when the two operations overlap is constant. Therefore, regardless of the level of the override, a substantially constant trajectory is realized even when passing through the corner.

【0059】図6は、セグメントsg1〜sg7で表わ
される動作と、セグメントsk1〜sk7で表わされる
動作が、sg6、sg7とsk1、sk2が同期する関
係で重なり合った場合について、オーバライド処理の影
響を説明する図である。今、例としてオーバライド50
%を考えると、図5で説明したように、セグメントsg
1〜sg7は、sh1〜sh15に分割して出力され
る。その際、sg6で表わされる移動量はsh11、s
h12、sh13に分配され、sg7で表わされる移動
量はsh13、sh14、sh15に分配される。
FIG. 6 illustrates the effect of the override process when the operations represented by the segments sg1 to sg7 and the operations represented by the segments sk1 to sk7 overlap in a synchronous relationship between sg6 and sg7 and sk1 and sk2. FIG. Now, for example, override 50
%, As described in FIG. 5, the segment sg
1 to sg7 are output after being divided into sh1 to sh15. At this time, the movement amount represented by sg6 is sh11, s
The moving amount represented by sg7 is distributed to sh12, sh13, and sh15.

【0060】同様に、セグメントsk1〜sk7も、s
k1〜sk15に分割して出力される。そして、sk1
で表わされる移動量はsq1、sq2、sq3に分配さ
れ、sk2で表わされる移動量はsq3、sq4、sq
5に分配される。オーバライド処理後で見ると、2つの
動作はsh11〜sh15とsq1〜sq7で重なり合
うことになる。
Similarly, the segments sk1 to sk7 are also represented by s
The output is divided into k1 to sk15. And sk1
Is moved to sq1, sq2, and sq3, and the movement amount represented by sk2 is sq3, sq4, and sq.
5 is distributed. When viewed after the override processing, the two operations overlap at sh11 to sh15 and sq1 to sq7.

【0061】このように、動作の重なりにおける移動量
の消化速度は両動作均等に低下しており(ここでは半
分)、且つ、消化される総移動量はオーバライド50%
の処理によって変化していない。このような性質は、オ
ーバライドの率が他の値でも変わらない。
As described above, the digestion speed of the movement amount at the time of the overlap of the movements is reduced equally in both operations (here, half), and the total movement amount to be digested is overridden by 50%.
Has not been changed by the process. Such a property does not change even if the override rate is other values.

【0062】オーバライドが動作途中で切り換えた場合
も、フィルタ部出力のセグメントの分割比率を滑らかに
変えて上記例に準じてオーバライドの処理を行なうこと
により、同様に、一定の軌跡を保つ事が可能である。
Even when the override is switched during the operation, a constant locus can be similarly maintained by smoothly changing the division ratio of the segment of the filter unit output and performing the override processing according to the above example. It is.

【0063】この場合、新旧オーバライド率を(βN /
100)、(βO /100)として、加速度が(βN /
100)2 から(βO /100)2 に途中変更され
る。そのために、オーバライド変更指令直後のITPで
出力予定だったオーバライド処理出力は、更に1/[β
N /(βO ×100)]回に振り分けるように調整して
出力される。
In this case, the new and old override rates are set to (βN /
100) and (βO / 100), the acceleration is (βN /
100) 2 is changed to (βO / 100) 2 on the way. Therefore, the output of the override processing, which was to be output in the ITP immediately after the override change command, is further reduced to 1 / [β
N / (βO × 100)] times.

【0064】新旧オーバライド率(βN /100)、
(βO /100)の急変の影響を避けるためには、オー
バライド率を(βN /100)から(βO /100)に
段階的に滑らかに変えていくことが好ましい。そのため
に、実際には、目標オ一バライド値を設定するレジスタ
をメモリ内に設定しておき、ユーザがこのレジスタに新
オーバライド値βN を更新入力することで、現在オーバ
ライド値を目標オーバライド値(ここでは新オーバライ
ド率βN )へ漸近、到達させる処理が開始される。
New and old override rates (βN / 100),
In order to avoid the effect of a sudden change in (βO / 100), it is preferable to gradually change the override rate from (βN / 100) to (βO / 100) in a stepwise manner. Therefore, in practice, a register for setting the target override value is set in the memory, and the user updates and inputs the new override value βN to this register, thereby changing the current override value to the target override value (here, Then, the process of asymptotically reaching the new override rate βN) is started.

【0065】各ITPにおける移動量の計算にあたって
は、オーバライド目標値が更新された直後のITPか
ら、オーバライド値として、旧オーバライド目標値(β
O )のオーバライド目標値(βN )の間を段階的にn回
(n≧2)に区切った値を使用して移動量を計算する。
例えば、オーバライド目標値が更新された直後からj回
目のITPではβ=βO +jΔβとする。但し、Δβ=
(βN −βO )/n、j=1,2・・・nである。
In calculating the movement amount in each ITP, the old override target value (β) is used as an override value from the ITP immediately after the update of the override target value.
The movement amount is calculated by using a value obtained by gradually dividing the interval between the override target value (βN) of O) and n times (n ≧ 2).
For example, in the j-th ITP immediately after the update of the override target value, β = βO + jΔβ. Where Δβ =
(ΒN−βO) / n, j = 1, 2,..., N.

【0066】(2)一時停止関連処理の概略;図7は、
本実施形態における一時停止関連処理について説明する
ための図である。ここでは、1例として、sg1〜sg
18のセグメントで表わされるフィルタ部出力(オーバ
ライド処理後の出力であっても良い)について、セグメ
ントsg4までのサーボへの出力が完了し、セグメント
sg5の出力のためのITPでホールド指令が内部出力
された場合を考える。
(2) Outline of temporary stop-related processing; FIG.
It is a figure for explaining temporary stop relevant processing in this embodiment. Here, as an example, sg1 to sg
With respect to the output of the filter unit represented by the 18 segments (the output after the override processing may be performed), the output to the servo up to the segment sg4 is completed, and the hold command is internally output by the ITP for the output of the segment sg5. Consider the case.

【0067】この場合、図示されているように、セグメ
ントsg5以降の移動量を表わすデータは、そのままサ
ーボへ出力されることはなく、所定のメモリ(図3にお
けるメモリ35内に予め設定されるバッファ)内に一旦
格納される。但し、所定の時定数(ここでは3ITP)
に対応するセグメントsg5、sg6、sg7について
は、オーバライド処理部で動的に処理され、各軸を減速
させ、やがて停止させる。減速・停止のための動的処理
としては、上述のオーバライドのかけ方を応用して、オ
ーバライド目標値を0とし、徐々にオーバライド目標値
である0までn回(n≧2)に分けて低下させる処理が
採用出来る。
In this case, as shown in the figure, the data representing the movement amount after the segment sg5 is not output to the servo as it is, but is stored in a predetermined memory (a buffer preset in the memory 35 in FIG. 3). ) Is stored once. However, a predetermined time constant (here, 3ITP)
The segments sg5, sg6, and sg7 corresponding to are processed dynamically by the override processing unit, and the axes are decelerated and stopped eventually. As the dynamic processing for deceleration / stop, the override target value is set to 0 by applying the above-mentioned method of applying the override, and the override target value is gradually reduced to n which is the override target value n times (n ≧ 2). Can be adopted.

【0068】図示した例では、セグメントsg5、sg
6、sg7がsw5〜sw9に分配されている。結局、
サーボには、セグメントsg1〜sg4(ホールド前)
に続いて、sw5〜sw9が出力され、これらセグメン
トで表わされる移動が完了した時点でロボットは停止す
る。ここで注意すべきことは、減速過程を表わすsw5
〜sw9で消化される総移動量は、セグメントsg5、
sg6、sg7が表わす全移動量より小さいことであ
る。
In the illustrated example, the segments sg5, sg
6, sg7 is distributed to sw5 to sw9. After all,
Servo has segments sg1 to sg4 (before hold)
Then, sw5 to sw9 are output, and the robot stops when the movement represented by these segments is completed. It should be noted here that sw5 representing the deceleration process is used.
The total amount of migration digested by ~ sw9 is segment sg5,
It is smaller than the total movement amount represented by sg6 and sg7.

【0069】余った移動量は、一時停止を解除して動作
を再開する際に加速過程の中で消化される。即ち、一時
停止を解除時には、メモリからセグメントsg5以降の
移動量を表わすデータを読み出し、元の指令速度まで加
速を行ないながらサーボへ出力する。
The surplus movement amount is consumed during the acceleration process when the pause is released and the operation is resumed. That is, when the suspension is released, the data indicating the movement amount after the segment sg5 is read from the memory and output to the servo while accelerating to the original command speed.

【0070】加速過程では、セグメントsg5、sg
6、sg7が表わす全移動量の内、減速過程で消化され
たsw5〜sw9を差し引いたものが消化される。その
ために、上述のオーバライドのかけ方を応用して、オー
バライド目標値を一時停止前のオーバライド値(例えば
100)とし、徐々にオーバライド目標値までn回に分
けて上昇させる処理が採用出来る。動的処理として、上
述のオーバライドのかけ方を応用して、オーバライドを
n回(n≧2)に分けて徐々に100%まで上昇させる
に相当する処理が採用出来る。
In the acceleration process, the segments sg5, sg
6. Of the total movement amounts represented by sg7, those obtained by subtracting sw5 to sw9 digested in the deceleration process are digested. For this purpose, by applying the above-described method of applying the override, a process of setting the override target value to the override value before suspension (for example, 100) and gradually increasing the override target value n times to the override target value can be adopted. As the dynamic processing, a processing corresponding to gradually increasing the override to 100% in n times (n ≧ 2) by applying the above-described method of applying the override can be adopted.

【0071】結局、動作再開時、サーボには、sw10
〜sw15が出力され、次いで、sg8以降が出力され
る。減速過程と加速過程を表わすセグメントsw5〜s
w15で消化される総移動量は、セグメントsg5、s
g6、sg7が表わす全移動量と等しくなる。
After all, when the operation is resumed, sw10 is applied to the servo.
To sw15, and then sg8 and thereafter. Segments sw5 to s representing deceleration process and acceleration process
The total amount of movement digested at w15 is the segment sg5, sg
It becomes equal to the total movement amount represented by g6 and sg7.

【0072】一時停止の前後でこのような処理を行なう
ことで、ホールド指令出力時に軌跡を保ったままロボッ
トを減速し、停止にさせ、再動作時にはそこからやはり
軌跡を保ったままロボットを加速し、本来の動作に移行
させることが出来る。
By performing such processing before and after the temporary stop, the robot decelerates and stops while maintaining the trajectory when the hold command is output, and accelerates the robot while maintaining the trajectory from there when restarting. Can be shifted to the original operation.

【0073】ホールド時には、動作再開に備えて、減速
停止時の動作計画データ、補間データ、フィルタデータ
等がそのまま凍結して保存されることは言うまでもな
い。再開動作時には、オーバライドを0に設定した状態
から出発し、ホールド時に保存したデータを復帰させ
る。その後、再び滑らかに全軸同期させながらオーバラ
イドを徐々に上げていく。これにより、動作計画部、補
間部及びフィルタ部までは、あたかもホールドがなかっ
たかのように処理を行いつつ、オーバライドを全軸同期
させながら変更することにより、減速停止、及ぴ再開動
作を行うことが可能になる。
At the time of hold, it goes without saying that the operation plan data, interpolation data, filter data, etc. at the time of deceleration stop are frozen and stored as they are in preparation for the restart of the operation. At the time of the resuming operation, the operation is started from a state where the override is set to 0, and the data stored at the time of the hold is restored. Thereafter, the override is gradually increased while smoothly synchronizing all axes again. As a result, it is possible to perform the deceleration stop and restart operations by changing the override while synchronizing all the axes while performing processing as if there was no hold up to the operation planning unit, the interpolation unit, and the filter unit. Will be possible.

【0074】なお、アラームによる非常停止を行なう場
合には、上述の一時停止手法をそのままは用いないで、
直ちにサーボへの出力を止めて、可能な限り早くロボッ
トを停止させる。図6の例で言えば、減速過程を形成す
るsw6〜sw9をサーボへの出力しない。
When performing an emergency stop by an alarm, do not use the above-mentioned temporary stop method as it is.
Stop the output to the servo immediately and stop the robot as soon as possible. In the example of FIG. 6, sw6 to sw9 forming the deceleration process are not output to the servo.

【0075】その場合には、非常停止によって軌跡がは
ずれるので、低率のオーバライドで元の軌跡まで戻り
(一旦、位置決め)、しかる後に上述のオーバライド変
更手法を適用して加速させても良い。元の軌跡まで戻る
に要する移動量を計算するためのデータ(図6の例で言
えば、非常停止によってサーボセグメントに未出力のま
まとなっているsw6〜sw9のデータ)、プログラム
速度のデータ等は、非常停止時点付近でメモリに記憶す
る。また、元の軌跡に復帰してからの動作のを定めるた
めの諸データも、非常停止時点付近でメモリに記憶す
る。
In this case, since the trajectory is deviated due to the emergency stop, the trajectory may return to the original trajectory at a low rate of override (temporary positioning), and then accelerated by applying the above-described override changing method. Data for calculating the amount of movement required to return to the original trajectory (in the example of FIG. 6, data of sw6 to sw9 which have not been output to the servo segment due to an emergency stop), data of program speed, etc. Is stored in the memory near the point of emergency stop. Various data for determining the operation after returning to the original trajectory are also stored in the memory near the point of emergency stop.

【0076】以上が実施形態の概略である。以下では、
ロボットの軌跡ずれを回避するために実行される動的速
度制御の処理をオーバライドの処理、一時停止/動作再
開の処理に分けてより詳しく説明する。なお、説明の中
で、オーバライド率50%(β=50)とは別のオーバ
ライド率の例として、オーバライド率30%(β=3
0)のケースを考える。
The above is the outline of the embodiment. Below,
The processing of the dynamic speed control executed to avoid the deviation of the robot's trajectory will be described in more detail by dividing the processing into an override processing and a pause / operation restart processing. In the description, as an example of an override rate different from the override rate of 50% (β = 50), an override rate of 30% (β = 3)
Consider case 0).

【0077】図8は、本発明の実施形態について、プロ
グラム再生時に動作計画からサーボへの移動指令出力ま
でにロボット制御装置内部で行なわれる処理の枠組みを
図4とはやや異なる形式で説明する図である。本図で
は、各軸動作用の系列と直交動作(直線動作、円弧動作
等)用の系列の区分記載は省略す一方、動的シャッタ付
のオーバライド処理部を動的速度制御部と表記し、動的
速度制御に関連して使用されるメモリを簡略化してブロ
ック表示に加えた。
FIG. 8 is a view for explaining, in a slightly different form from FIG. 4, a framework of processing performed in the robot controller from the operation plan to the output of a movement command to the servo during program reproduction according to the embodiment of the present invention. It is. In this drawing, while the division of the series for each axis operation and the series for the orthogonal operation (linear operation, arc operation, etc.) is omitted, the override processing unit with a dynamic shutter is described as a dynamic speed control unit, The memory used in connection with dynamic speed control has been simplified and added to the block display.

【0078】図8を参照すると、系全体は、動作計画部
と、補間処理部と、フィルタ部と、動的速度制御部を備
え、動的速度制御部の出力が各軸のサーボ系(モータと
表示)へ渡される。そして、処理の流れの中で、動的速
度制御部の入力側と出力側にメモリが介在する構成とな
っている。メモリには、以下に説明する処理に適合する
ように多数のレジスタ領域が予め用意されている。
Referring to FIG. 8, the entire system includes an operation planning unit, an interpolation processing unit, a filter unit, and a dynamic speed control unit, and the output of the dynamic speed control unit is a servo system (motor) for each axis. Is displayed). In the processing flow, a memory is interposed on the input side and the output side of the dynamic speed control unit. A large number of register areas are prepared in advance in the memory so as to conform to the processing described below.

【0079】なお、各レジスタ領域のことを単にメモリ
とも言う。また、フィルタ部から出力されたフルタリン
グ処理後のn番目の移動指令をDnで表記する。図中に
は、動的速度制御部の入力側において、移動指令Dnが
メモリMnに格納されることが記されている。縦細に記
された各ブロックは1単位のメモリ(バッファレジスタ
領域)を意味する。入力側メモリM1にD1、M2にD
2、MnにDn(n=1,2)が各々格納されることが
例記されている。
Each register area is also simply called a memory. Also, the n-th movement command after the filtering processing output from the filter unit is denoted by Dn. In the figure, it is described that the movement command Dn is stored in the memory Mn on the input side of the dynamic speed control unit. Each block described in a vertical line means one unit of memory (buffer register area). D1 in input side memory M1, D in M2
2, Mn stores Dn (n = 1, 2), respectively.

【0080】また、動的速度制御部の出力側メモリO1
〜O4には、各々D2、D2’、D1、D1’が格納さ
れることが例記されている。ここで、D2’、D1’は
各々D1、D2にオーバライド値(β/100)を乗じ
た値である。このような入力側及び出力側のメモリの使
い方の詳細は、以下の処理説明の中で述べる。
The output memory O1 of the dynamic speed control unit
It is illustrated that D2, D2 ', D1, and D1' are stored in ~ O4, respectively. Here, D2 ′ and D1 ′ are values obtained by multiplying D1 and D2 by an override value (β / 100), respectively. Details of how to use the input side and output side memories will be described in the following processing description.

【0081】[オーバライドの処理]図9は、動的速度
制御部で行なわれるオーバライドの処理を説明するフロ
ーチャートである。各ステップの要点は次の通りであ
る。なお、iは補間周期のラベリング指標で、初期値は
i=1とする。また、オーバライドの現在値βと目標値
γを設定するレジスタが用意され、後者には希望するオ
ーバライド目標値γ0 が予め設定される。オーバライド
の現在値βの初期値は、初期設定された目標値γ0 と一
致した値が自動設定される。
[Override Processing] FIG. 9 is a flowchart illustrating the override processing performed by the dynamic speed control unit. The main points of each step are as follows. Note that i is a labeling index of the interpolation cycle, and the initial value is i = 1. A register for setting a current value β and a target value γ of the override is prepared, and a desired override target value γ0 is preset in the latter. As an initial value of the current value β of the override, a value that matches the initially set target value γ0 is automatically set.

【0082】(ステップS1);メモリM1、M2に各
々移動指令Di、Di+1が格納されているかチェック
する。格納いなければステップS2へ進み、格納されて
いればステップS3へ進む。
(Step S1): It is checked whether the movement instructions Di and Di + 1 are stored in the memories M1 and M2, respectively. If not stored, the process proceeds to step S2, and if stored, the process proceeds to step S3.

【0083】(ステップS2);メモリM1、M2に各
々移動指令Di、Di+1を格納し、移動指令Dm1、
Dm2とする。ここで、m1、m2は各々メモリM1、
M2に格納されたデータであることを意味するラベルで
ある。
(Step S2): Move instructions Di and Di + 1 are stored in memories M1 and M2, respectively, and move instructions Dm1 and
Dm2. Here, m1 and m2 are memories M1,
This is a label indicating that the data is stored in M2.

【0084】(ステップS3);メモリM1に格納され
ている移動指令Mm1の値が0であるかチェックする。
イエスであればステップS4へ進み、ノーであればステ
ップS5へ進む。
(Step S3): It is checked whether the value of the movement command Mm1 stored in the memory M1 is 0.
If yes, go to step S4; if no, go to step S5.

【0085】(ステップS4);メモリM2に格納され
ている移動指令Dm2をメモリM1にコピーし、Dm1
とする(移動指令Dm1の値の更新)。そして、Di+
1の次の動指令Di+2を読み出し、メモリM2に格納
し、Dm2とする(Dm2の値の更新)。
(Step S4): The movement command Dm2 stored in the memory M2 is copied to the memory M1, and Dm1
(Update of the value of the movement command Dm1). And Di +
The next dynamic command Di + 2 is read out, stored in the memory M2, and set as Dm2 (update of the value of Dm2).

【0086】(ステップS5);オーバライドの現在値
β%を定め、定められたβ値の下で1補間当り(1IT
P当り)の移動量(移動量を表わすセグメントの高さ)
Diを算出する。Diの算出法については後述する。オ
ーバライド現在値βは、目標値γが変化すれば動作中に
変化し得る。βの値が動作中に変化するのは、ユーザの
途中入力、外部信号による変更、一時停止(ホールド)
時、一時停止(ホールド)あるいは非常停止後の運転再
開時などである。オーバライドの現在値β%を定める処
理については、一時停止(ホールド)とその後の運転再
開時の処理などとともに後述する。
(Step S5): The current value β% of the override is determined, and one interpolation per interpolation (1 IT) is performed under the determined β value.
Movement amount (per P) (Segment height indicating movement amount)
Di is calculated. The method of calculating Di will be described later. The override current value β may change during operation if the target value γ changes. The value of β changes during operation because of user input, change by external signal, pause (hold)
Time, a temporary stop (hold) or a restart of operation after an emergency stop. The process of determining the current value β% of the override will be described later together with the process of temporarily stopping (holding) and subsequently resuming operation.

【0087】(ステップS6);ステップS5で算出さ
れたDiとメモリM1に格納されている移動指令Dm1
とを比較する。Dm1−Di>0であれば、ステップS
8へ進み、それ以外(Dm1−Di≧0)であればステ
ップS7へ進む。
(Step S6): Di calculated in step S5 and movement command Dm1 stored in memory M1
Compare with If Dm1-Di> 0, step S
8; otherwise (Dm1-Di ≧ 0), the process proceeds to step S7.

【0088】(ステップS7);メモリM1に格納され
ている移動指令Dm1を出力側のメモリO1へコピーす
る。次いで、このDm1とDm2を用いて、Di=Dm
1+Dm2*μとなるμを求める。そして、このμか
ら、Di’=Dm2*μとなるDi’を出力メモリO1
へ加算する。また、Dm2をDm2=Dm2−Dm2*
μに更新し、それをメモリM1にコピーして新たなDm
1(Dm1の更新)とする。
(Step S7): The movement command Dm1 stored in the memory M1 is copied to the memory O1 on the output side. Then, using these Dm1 and Dm2, Di = Dm
The value μ that satisfies 1 + Dm2 * μ is obtained. From this μ, Di ′ satisfying Di ′ = Dm2 * μ is output to the output memory O1.
Add to Also, Dm2 is calculated as Dm2 = Dm2-Dm2 *
μ, and copy it to memory M1 to create a new Dm
1 (update of Dm1).

【0089】(ステップS8);ステップS5で定めら
れた移動指令Diを出力側メモリO1に書き込む。ま
た、メモリM1に格納されている移動指令Dm1を新た
なDm1=Dm1−Diに更新する。
(Step S8): The movement command Di determined in step S5 is written to the output side memory O1. Also, the movement command Dm1 stored in the memory M1 is updated to a new Dm1 = Dm1-Di.

【0090】(ステップS9);出力側メモリの移動指
令Doをモータ(各軸サーボ系)へ出力する。
(Step S9): The movement command Do of the output side memory is output to the motor (each axis servo system).

【0091】(ステップS10);ホールド、一時停
止、非常停止、動作終了指令(新たなDi出力がフィル
タ部からなく、ステップS2の処理が出来ない場合に出
される)等、ロボットを停止させるための指令がロボッ
ト制御装置内部で出力されているかチェックする。イエ
スであれば、それらのための処理(後述)を実行して、
ロボットを停止させる。ノーであれば、ステップS11
へ進む。
(Step S10): Hold, temporary stop, emergency stop, operation end command (issued when a new Di output does not come from the filter unit and the processing in step S2 cannot be performed), etc. Check whether the command is output inside the robot controller. If yes, execute the process for them (described below)
Stop the robot. If no, step S11
Proceed to.

【0092】(ステップS11);移動指令の指標値i
に1を加算し、ステップS1へ戻る。
(Step S11): Index value i of movement command
And returns to step S1.

【0093】ここで、上記ステップS5におけるオーバ
ライド(現在値)がβ%である場合の1補間当り(1I
TP当り)の移動量Di’の計算方法を記しておく。
Here, when the override (current value) in step S5 is β%, one interpolation (1I
The method of calculating the movement amount Di ′ (per TP) will be described.

【0094】移動量Di’の算出には、フィルタ部から
出力される移動指令Diが一定でない場合にも滑らかに
速度変化が得られるように、以下の式を使用する。
The following formula is used to calculate the movement amount Di 'so that the speed change can be smoothly obtained even when the movement command Di output from the filter unit is not constant.

【0095】現在i番目の1補間時間(ITP)t0 当
りの移動指令Di’は、次式(3)で表わされる。
The movement command Di 'per i-th one interpolation time (ITP) t0 is represented by the following equation (3).

【0096】 Di’=V(i)*t0 ・・・(3) ここで、V(i)はi番目のITPにおけるオーバライ
ド100%とした場合の速度である。i番目のITPに
おけるオーバライド100%とした場合の1ITP当り
の加速度A(i)は、一応次式(4)で表わされる。
Di '= V (i) * t0 (3) Here, V (i) is the speed when the override in the i-th ITP is 100%. The acceleration A (i) per ITP when the override in the i-th ITP is set to 100% is temporarily expressed by the following equation (4).

【0097】 A(i)=V(i)−V(i−1) ・・・(4) 速度推移を滑らかにするためにこのA(i)を使って、
現在i番目のITPにおける加速度出力の基準式として
次式(5)を採用する。
A (i) = V (i) −V (i−1) (4) Using A (i) to smooth the speed transition,
The following equation (5) is adopted as a reference equation of the acceleration output in the i-th ITP at present.

【0098】 Aout(i)=−A(i−1)/2+3*A(i)/2 ・・・(5) これを用いて、現在i番目のITPにおける速度出力と
して次式(6)を採用する。
Aout (i) = − A (i−1) / 2 + 3 * A (i) / 2 (5) Using this, the following equation (6) is used as the speed output at the i-th ITP at present. adopt.

【0099】 Vout(i)=OVR*[V(i)+Aout(i)* (δ+OVR/2−1/2) ・・・(6) ここで、OVR=β/100、δはV(i)の出力をサ
ーボ系へ出し切っている場合にはδ=1となり、V
(i)の出力をサーボ系へ出し切っていない場合にはδ
=0となる。
Vout (i) = OVR * [V (i) + Aout (i) * (δ + OVR / 2−1 / 2) (6) where OVR = β / 100 and δ is V (i) Δ = 1 when the output of is output to the servo system.
If the output of (i) has not been fully output to the servo system, δ
= 0.

【0100】例えば、オーバライド100%の場合に
は、Vout(i)=1*[V(i)+Aout(i)
*(0+1/2−1/2)=V(i)と、当然の結果が
得られる。また、オーバライド50%の場合には、 Vout(i)=0.5*[V(i)+Aout(i)
*(δ+0.5/2−1/2)=V(i)/2+Aou
t(i)/2*(δ−1/4) であり、 δ=1の場合;V(i)/2−Aout(i)/8 δ=0の場合;V(i)/2+Aout(i)/8 となる。
For example, when the override is 100%, Vout (i) = 1 * [V (i) + Aout (i)
* (0 + 1 / 2−1 / 2) = V (i), a natural result is obtained. When the override is 50%, Vout (i) = 0.5 * [V (i) + Aout (i)
* (Δ + 0.5 / 2-1 / 2) = V (i) / 2 + Aou
t (i) / 2 * (δ- /), when δ = 1; V (i) / 2−Aout (i) / 8 When δ = 0; V (i) / 2 + Aout (i ) / 8.

【0101】以上説明した処理を行ないながらコーナ部
を含む経路動作を行なった場合にオーバライド値の高低
が軌跡に与える影響について、オーバライド率30%の
場合を例にとり、図15、図16を参照して説明する。
コーナ部を含む経路動作としては、図14に示すよう
に、位置G1から位置G2への直線動作と位置G2から
位置G3への直線動作を滑らかに接続したものを考え
る。両動作のプログラム速度は等しいものとする。
The influence of the level of the override value on the trajectory when the path operation including the corner portion is performed while performing the above-described processing will be described with reference to FIGS. Will be explained.
As a path operation including a corner portion, as shown in FIG. 14, a linear operation from the position G1 to the position G2 and a linear operation from the position G2 to the position G3 are smoothly connected. The program speeds of both operations are assumed to be equal.

【0102】×印は教示点G1、G2、G3を表わし、
★印は最終的にサーボ系へ出力される移動指令に対応す
る補間点の位置(補間位置)を表わしている。コーナー
部は符号Aで示されている。一方、範囲Bは、始動のた
めの加速及び停止(位置決め)のための減速の区間を表
わしている。
The crosses indicate the teaching points G1, G2, G3.
An asterisk indicates the position of the interpolation point (interpolation position) corresponding to the movement command finally output to the servo system. The corners are indicated by the symbol A. On the other hand, a range B represents a section of acceleration for starting and a section of deceleration for stopping (positioning).

【0103】本例の場合、コーナー部Aでは速度一定で
★印は等間隔で並ぶが、加減速区間Bでは、★印の間隔
が徐々に拡大あるいは縮小している。符号q1、q2、
q3はコーナー部A内の軌跡を代表する補間点で、コー
ナー部においてフィルタ部からの出力D1、D2に対応
する移動区間を形成する。
In the case of this example, at the corner portion A, the marks are arranged at equal intervals at a constant speed, but in the acceleration / deceleration section B, the intervals of the marks are gradually enlarged or reduced. Signs q1, q2,
q3 is an interpolation point representing a locus in the corner portion A, and forms a moving section corresponding to the outputs D1 and D2 from the filter portion in the corner portion.

【0104】また、符号p1、p2、p3、p4は加速
区間B内の軌跡を代表する補間点で、加減速区間におけ
るフィルタ部からの出力D1、D2に対応する移動区間
を形成するものである。なお、実際に生成される補間点
(★印)の数は遥かに大きいが表示のために少数で簡略
描示した。
Symbols p1, p2, p3, and p4 are interpolation points representing trajectories in the acceleration section B, and form moving sections corresponding to outputs D1 and D2 from the filter section in the acceleration / deceleration section. . Note that the number of interpolation points (★ marks) actually generated is much larger, but is simply illustrated in a small number for display.

【0105】図15を参照すると、図の左上部に示した
ように、オーバライド100%でロボットを動作させた
場合のコーナー部Aの軌跡は、図14に示した通りで、
フィルタ部からの出力D1、D2に対応する補間点q
1、q2、q3を通る軌跡が得られる。
Referring to FIG. 15, as shown in the upper left part of the figure, the trajectory of the corner A when the robot is operated with the override 100% is as shown in FIG.
Interpolation points q corresponding to outputs D1 and D2 from the filter unit
A trajectory passing through 1, q2, q3 is obtained.

【0106】これに対してオーバライド30%でロボッ
トを動作させた場合のコーナー部Aの軌跡は、図15の
右上部に示したようになる。上述したオーバライドの処
理(β=30)により、フィルタ部からの出力D1、D
2に対応する補間点q1、q2、q3が、より多数の補
間点qd1〜qd9(符号は一部のみ表記)に変換され
る。各区間の計算式は図中に併記した通りである。
On the other hand, the locus of the corner A when the robot is operated with the override of 30% is as shown in the upper right part of FIG. By the above-described override processing (β = 30), outputs D1 and D
The interpolation points q1, q2, q3 corresponding to 2 are converted into a larger number of interpolation points qd1 to qd9 (signs are partially shown). The calculation formula for each section is as shown in the figure.

【0107】ここで重要な事は、これら補間点qd1〜
qd9は、元のオーバライド100%時の軌跡上に乗っ
ていることである。この性質は、オーバライド率30%
でなくとも同様に保証されている。一般には、オーバラ
イド値100%時の補間点を基準にして、オーバライド
値に反比例する数の補間点が出力され、しかもそれらは
オーバライド値100%時の軌跡上に並ぶように形成さ
れる。従って、オーバライド値の高低によらず、同じ軌
跡がコーナー部でも得られることになる。
It is important to note that these interpolation points qd1 to qd1
qd9 means that the vehicle is riding on the trajectory at the time of the original override of 100%. This property is 30% override rate
If not, it is guaranteed as well. In general, a number of interpolation points that are inversely proportional to the override value are output on the basis of the interpolation point when the override value is 100%, and are formed so as to be arranged on the locus when the override value is 100%. Therefore, the same trajectory can be obtained in the corner portion regardless of the level of the override value.

【0108】図15の左下部及び右下部には、フィルタ
部出力段階の移動指令D1、D2が、分割出力される様
子がセグメントで表示されている。本例のように、一定
速度でコーナー部を通過する場合は、各セグメントの高
さは一定となる。なお、コーナー部を形成する2つの動
作のプログラム速度が異なる場合には、当然、各セグメ
ントの高さは段階的に変化したものとなる。その場合で
も、補間点が作る軌跡はオーバライド率に影響されな
い。
In the lower left and lower right portions of FIG. 15, the manner in which the movement commands D1 and D2 at the output stage of the filter section are divided and output is displayed in segments. When the vehicle passes through the corner at a constant speed as in this example, the height of each segment is constant. When the program speed of the two operations for forming the corner portion is different, the height of each segment naturally changes stepwise. Even in that case, the trajectory created by the interpolation points is not affected by the override rate.

【0109】次に加速区間を例にとって、加減速区間に
おける軌跡について考察する。図16を参照すると、図
の左上部に示したように、オーバライド100%でロボ
ットを動作させた場合の加減速部B(ここでは加速部で
代表)の軌跡は、図14に示した通りで、フィルタ部か
らの出力D1、D2、D3に対応する補間点p1、p
2、p3、p4を通る軌跡に沿ってプログラム速度へ向
かっての加速が行なわれる。
Next, taking the acceleration section as an example, the trajectory in the acceleration / deceleration section will be considered. Referring to FIG. 16, as shown in the upper left part of the figure, the trajectory of the acceleration / deceleration unit B (represented by the acceleration unit here) when the robot is operated with the override of 100% is as shown in FIG. 14. , P1, p2 corresponding to the outputs D1, D2, D3 from the filter unit
Acceleration toward the program speed is performed along a locus passing through 2, p3, and p4.

【0110】オーバライド30%でロボットを動作させ
た場合の加速部Bの軌跡は、図15の右上部に示したよ
うに、オーバライド100%の場合と変らない。但し、
上述したオーバライドの処理(β=30)により、フィ
ルタ部からの出力D1、D2、D3に対応する補間点p
1、p2、p3、p4が、より多数の補間点pd1〜q
d11(符号は一部のみ表記)に変換される。各区間の
計算式は図中に併記した通りである。
The trajectory of the acceleration section B when the robot is operated with the override of 30% is not different from the case of the override of 100% as shown in the upper right part of FIG. However,
By the above-described override processing (β = 30), the interpolation points p corresponding to the outputs D1, D2, and D3 from the filter unit are obtained.
1, p2, p3, p4 are more interpolation points pd1-q
It is converted to d11 (signs are partially shown). The calculation formula for each section is as shown in the figure.

【0111】このような性質は、オーバライド率30%
でなくとも同様に保証されている。一般には、オーバラ
イド値100%時の補間点を基準にして、オーバライド
値に反比例する数の補間点が出力され、しかもそれらは
オーバライド値100%時の軌跡上に並ぶように形成さ
れる。
Such a property has an override rate of 30%
If not, it is guaranteed as well. In general, a number of interpolation points that are inversely proportional to the override value are output with reference to the interpolation point when the override value is 100%, and are formed so as to be arranged on the locus when the override value is 100%.

【0112】図15の左下部及び右下部には、フィルタ
部出力段階の移動指令D1、D2、D3が、分割出力さ
れる様子がセグメントで表示されている。加減速部で
は、各セグメントの高さは段階的に変化したものとな
る。この変化は、オーバライド100%時の速度をその
30%(一般にはβ%)に減じて滑らかに加速する過程
を表わしている。加速の最終到達速度は当然プログラム
速度の30%(一般にはβ%)となる。
In the lower left and lower right portions of FIG. 15, the manner in which the movement commands D1, D2, and D3 in the filter section output stage are divided and output is displayed in segments. In the acceleration / deceleration section, the height of each segment changes stepwise. This change represents a process of reducing the speed at 100% override to 30% (generally β%) and smoothly accelerating. The final reaching speed of acceleration is naturally 30% (generally β%) of the program speed.

【0113】オーバライドをロボットの動作中に変更す
る場合には、図17のフローチャートに示したオーバラ
イド漸近・到達処理を行なう。この処理は後述するホー
ルドの処理や動作再開処理でも利用される。
When the override is changed during the operation of the robot, the override asymptotic / arrival processing shown in the flowchart of FIG. 17 is performed. This process is also used in a hold process and an operation restart process described later.

【0114】オーバライド漸近・到達処理の各ステップ
の要点は次の通りである。 (ステップL1);オーバライド目標値を新値βN に更
新する。 (ステップL2);オーバライド目標値の更新の次のI
TPからf回目のITPの到来を待つ。fは適当な大き
さに設定された正整数値である。 (ステップL3);オーバライド現在値をβからβ+Δ
βに更新する。Δβは、例えばΔβ=1(%)などに予
め決めておくか、あるいは次式(7)で計算する。
The essential points of each step of the override asymptotic / arrival processing are as follows. (Step L1); The override target value is updated to the new value βN. (Step L2); I next to update of override target value
Wait for the fth ITP from the TP. f is a positive integer value set to an appropriate size. (Step L3); Override current value from β to β + Δ
Update to β. Δβ is determined in advance, for example, as Δβ = 1 (%), or calculated by the following equation (7).

【0115】 Δβ=(βN −オーバライド目標値更新直前のβ)/n ・・・(7) ここで、nはオーバライド現在値を目標値に一致させる
までに要する更新回数で、例えばn=10などとする
か、別途条件から定める(後述するホールド処理の説明
を参照)。このような処理を行なうことで、図9のフロ
ーチャートにおけるβが新たな目標値に向かって段階的
に変更される。
Δβ = (βN−β just before update of the override target value) / n (7) where n is the number of updates required until the override current value matches the target value, for example, n = 10, etc. Or separately determined from conditions (see the description of the hold processing described later). By performing such processing, β in the flowchart of FIG. 9 is changed stepwise toward a new target value.

【0116】[ホールドの処理]図10は、動的速度制
御部で行なわれるホールドの処理を説明するフローチャ
ートである。ホールドの処理は、例えばオペレータが一
時停止の指令をロボット制御装置に入力した際に実行さ
れる。各ステップの要点は次の通りである。
[Hold Processing] FIG. 10 is a flowchart for explaining the hold processing performed by the dynamic speed control unit. The hold process is executed, for example, when the operator inputs a temporary stop command to the robot controller. The main points of each step are as follows.

【0117】(ステップH1);ホールド指令がロボッ
ト制御装置内部で出力されたか否かITP毎にチェック
する。出力されたら、ステップH2へ進む。 (ステップH2);動的制御部にて現在の速度Vから、
時間t1経過後に滑らかに速度が0となるように、減速
オーバライド値OVdを制御する。
(Step H1): It is checked for each ITP whether a hold command has been output inside the robot controller. If output, the process proceeds to step H2. (Step H2): From the current speed V in the dynamic control unit,
The deceleration override value OVd is controlled so that the speed becomes zero smoothly after the elapse of the time t1.

【0118】(ステップH3);ロボットが停止したか
否かITP毎にチェックする。停止を確認したら、ステ
ップH4へ進む。
(Step H3): It is checked for each ITP whether or not the robot has stopped. When the stop is confirmed, the process proceeds to step H4.

【0119】(ステップH4);その時点における現在
位置(停止位置)、フィルタ内の移動指令のデータ、そ
の他ロボットの動作に関する諸データをメモリ(ホール
ド時格納用のレジスタ)に格納して、ホールドの処理を
終了する。ステップH2の処理における減速オーバライ
ド値OVdの制御には、図17のフローチャートに示し
たオーバライド漸近・到達処理を利用する。
(Step H4): The current position (stop position) at that time, the data of the movement command in the filter, and other data relating to the operation of the robot are stored in a memory (a register for storing at the time of holding), and The process ends. For the control of the deceleration override value OVd in the process of step H2, the override asymptotic / arrival process shown in the flowchart of FIG. 17 is used.

【0120】即ち、ステップL1におけるオーバライド
の更新目標値βN をβN =0とする。また、時間t1の
ITP換算値をs1としてs1をη分割し(ηは1でな
い適当な正整数)、ステップL2におけるfをf=s1
/ηとする。そして、ステップL3におけるΔβの計算
式(7)におけるnをβN =0、n=ηで計算する。
That is, the update target value βN of the override in step L1 is set to βN = 0. Further, s1 is divided by η (η is an appropriate positive integer other than 1), where s1 is the ITP conversion value of time t1, and f in step L2 is f = s1
/ Η. Then, n in the equation (7) for calculating Δβ in step L3 is calculated by βN = 0 and n = η.

【0121】図12は、上記のホールド処理を行なった
場合の速度推移を表わしている。オーバーライドは段階
的に0に向かうが、それが実際の速度に反映し切るには
移動指令がサーボ系に出力され切る必要がある。そのた
め、速度推移は直線的には降下しない。また、動作をよ
り滑らかにするために、Δβの値を一定値とせずに滑ら
かな関数(例えば指数関数)に従って徐々に変化させて
滑らかな加速度推移が得られるようにしても良い。
FIG. 12 shows the speed transition when the above-mentioned hold processing is performed. The override gradually goes to 0, but the movement command needs to be completely output to the servo system in order to completely reflect the actual speed. Therefore, the speed transition does not drop linearly. Further, in order to make the operation smoother, the value of Δβ may not be a fixed value but may be gradually changed according to a smooth function (for example, an exponential function) to obtain a smooth transition of acceleration.

【0122】[動作再開の処理]図11は、動的速度制
御部で行なわれる動作再開の処理を説明するフローチャ
ートである。動作再開の処理は、一時停止後に例えば動
作再開指令をロボット制御装置に入力した際に実行され
る。各ステップの要点は次の通りである。
[Process of Resuming Operation] FIG. 11 is a flowchart illustrating the process of resuming operation performed by the dynamic speed control unit. The operation resumption processing is executed when, for example, an operation resumption command is input to the robot controller after the suspension. The main points of each step are as follows.

【0123】(ステップH11);メモリに格納した停
止位置を読み出す。 (ステップH12);現在のロボット位置(例えば、ジ
ョグ送りで移動している)からステップH11で読み出
された停止位置までロボットを動作させる。 (ステップH13);ステップH12による動作の完了
の確認。確認したら、ステップH14へ進む。 (ステップH14);再開動作に必要なデータをメモリ
とり読み出し、動作計画部、補間部、フィルタ部へ戻
し、ホールド直前の状態を回復させる。
(Step H11): The stop position stored in the memory is read. (Step H12): The robot is operated from the current robot position (for example, moving by jog feed) to the stop position read in Step H11. (Step H13): Confirmation of completion of the operation in Step H12. If confirmed, the process proceeds to Step H14. (Step H14); Data necessary for the restart operation is read out from the memory, read out, returned to the operation planning unit, the interpolation unit, and the filter unit, and the state immediately before the hold is restored.

【0124】(ステップH15);停止位置から、ホー
ルド前と同様に補間動作を行なう。また、同時に動的制
御部にて現在のオーバーライド値(β=0)から、時間
t2経過後に滑らかに速度が元の速度vとなるように、
加速オーバライド値OVaを制御する。ステップH15
の処理における加速オーバライド値OVaの制御には、
図17のフローチャートに示したオーバライド漸近・到
達処理を利用する。
(Step H15) From the stop position, the interpolation operation is performed in the same manner as before the hold. Also, at the same time, the dynamic control unit smoothly changes the speed from the current override value (β = 0) to the original speed v after the elapse of the time t2,
The acceleration override value OVa is controlled. Step H15
The control of the acceleration override value OVa in the processing of
The override asymptotic / arrival processing shown in the flowchart of FIG. 17 is used.

【0125】即ち、ステップL1におけるオーバライド
の更新目標値βN をβN =ホールド直前のβの値とす
る。また、時間t2のITP換算値をs2としてs2を
η分割し(ηは1でない適当な正整数)、ステップL2
におけるfをf=s2/ηとする。そして、ステップL
3におけるΔβの計算式(7)におけるnをβN =ホー
ルド直前のβの値0、n=ηで計算する。
That is, the update target value βN of the override in step L1 is set to βN = β immediately before the hold. Further, s2 is divided into η (η is an appropriate positive integer other than 1) with s2 as the ITP conversion value of time t2, and step L2
Is f = s2 / η. And step L
In the equation (7) for calculating .DELTA..beta. In (3), n is calculated by .beta.N = the value of .beta.

【0126】図13は、上記のステップH15の処理を
行なった場合の速度推移を表わしている。オーバーライ
ドは0から段階的に元の値に向かうが、それが実際の速
度に反映し切るには移動指令がサーボ系に出力され切る
必要がある。そのため、速度推移は直線的には上昇しな
い。また、動作をより滑らかにするために、Δβの値を
一定値とせずに滑らかな関数(例えば指数関数)に従っ
て徐々に変化させて滑らかな加速度推移が得られるよう
にしても良い。
FIG. 13 shows the transition of the speed when the processing of the above step H15 is performed. The override gradually goes from 0 to the original value, but it is necessary to completely output the movement command to the servo system in order to reflect the actual speed. Therefore, the speed transition does not rise linearly. Further, in order to make the operation smoother, the value of Δβ may not be a fixed value but may be gradually changed according to a smooth function (for example, an exponential function) to obtain a smooth transition of acceleration.

【0127】[0127]

【発明の効果】本発明によれば、従来技術においてオー
バライドの高低、オーバライドの動作中の切換あるいは
一時停止に関連して発生していた軌跡ずれが防止出来
る。また、そのことを通して、教示後のテストランによ
る軌跡確認作業の効率性、信頼性並びに安全性を向上さ
せることが出来る。更に、オーバライドの動作中の切換
や一時停止に伴う軌跡ずれをなくなるので、ロボット作
業の精度と安全性が向上する。
According to the present invention, it is possible to prevent a trajectory shift which has occurred in the prior art in connection with the level of the override, the switching during the operation of the override, or the temporary stop. Further, through this, it is possible to improve the efficiency, reliability, and safety of the trajectory checking operation by the test run after teaching. Further, since the trajectory deviation due to the switching or the temporary stop during the operation of the override is eliminated, the accuracy and safety of the robot operation are improved.

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

【図1】プログラム再生時に動作計画からサーボへの移
動指令出力までにロボット制御装置内部で行なわれてい
た従来方式の処理の枠組みを説明する図である。
FIG. 1 is a diagram illustrating a framework of processing of a conventional method which has been performed inside a robot controller from an operation plan to a movement command output to a servo at the time of program reproduction.

【図2】図1に示した従来方式の処理に関連して、簡単
な例を用いて、軌跡ずれが発生する理由を説明するため
の図である。
FIG. 2 is a diagram for explaining the reason why a trajectory shift occurs using a simple example in relation to the processing of the conventional method shown in FIG. 1;

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

【図4】本発明の実施形態について、プログラム再生時
に動作計画からサーボへの移動指令出力までにロボット
制御装置内部で行なわれる処理の枠組みを図1と同様の
形式で説明する図である。
FIG. 4 is a diagram illustrating, in a form similar to FIG. 1, a framework of processing performed in the robot controller from an operation plan to a movement command output to a servo when a program is reproduced, according to the embodiment of the present invention;

【図5】オーバライドの処理をフィルタ部出力に50%
のオーバライドをかけた場合を例にとって説明する図で
ある。
FIG. 5 is a diagram showing an example in which an override process is applied to a filter unit output by 50%.
FIG. 7 is a diagram illustrating an example in which an override is applied.

【図6】セグメントsg1〜sg7で表わされる動作
と、セグメントsk1〜sk7で表わされる動作が、s
g6、sg7とsk1、sk2が同期する関係で重なり
合った場合について、オーバライド処理の影響を説明す
る図である。
FIG. 6 shows an operation represented by segments sg1 to sg7 and an operation represented by segments sk1 to sk7,
It is a figure explaining the influence of an override process, when g6 and sg7 and sk1 and sk2 overlap in a synchronous relationship.

【図7】本実施形態における一時停止関連処理について
説明するための図である。
FIG. 7 is a diagram for describing temporary stop related processing in the present embodiment.

【図8】本発明の実施形態について、プログラム再生時
に動作計画からサーボへの移動指令出力までにロボット
制御装置内部で行なわれる処理の枠組みを図4とはやや
異なる形式で説明する図である。
FIG. 8 is a diagram illustrating, in a form slightly different from FIG. 4, a framework of processing performed in the robot controller from an operation plan to a movement command output to a servo during program reproduction, according to the embodiment of the present invention;

【図9】動的速度制御部で行なわれるオーバライドの処
理の要点を記したフローチャートである。
FIG. 9 is a flowchart illustrating a point of an override process performed by a dynamic speed control unit.

【図10】動的速度制御部で、一時停止時に実行される
ホールドの処理の要点を記したフローチャートである。
FIG. 10 is a flowchart illustrating a main point of a hold process executed at the time of a temporary stop in the dynamic speed control unit.

【図11】動的速度制御部で、一時停止後の動作再開時
に実行される処理の要点を記したフローチャートであ
る。
FIG. 11 is a flowchart illustrating a main point of a process executed by the dynamic speed control unit when the operation is resumed after the suspension.

【図12】ホールド処理を行なった場合の速度推移を表
わした図である。
FIG. 12 is a diagram showing a change in speed when a hold process is performed.

【図13】動作再開におけるオーバーライド漸増の処理
を行なった場合の速度推移を表わした図である。
FIG. 13 is a diagram showing a speed transition when a process of gradually increasing the override in resuming the operation is performed.

【図14】図15、図16の説明の前提として想定され
る経路動作を示した図である。
FIG. 14 is a diagram showing a route operation assumed as a premise for the description of FIGS. 15 and 16;

【図15】図14に示した経路動作について、オーバラ
イド値の高低がコーナー部における軌跡に与える影響に
ついて、オーバライド率30%の場合を例にとって説明
する図である。
FIG. 15 is a diagram illustrating an influence of a level of an override value on a trajectory in a corner portion of the path operation illustrated in FIG. 14, using an example of an override rate of 30%.

【図16】図14に示した経路動作について、オーバラ
イド値の高低が加減速部における軌跡に与える影響につ
いて、オーバライド率30%の場合を例にとって説明す
る図である。
16 is a diagram illustrating the influence of the level of the override value on the trajectory in the acceleration / deceleration unit in the path operation illustrated in FIG. 14, using a case of an override rate of 30% as an example.

【図17】オーバライド漸近・到達処理を説明するフロ
ーチャートである。
FIG. 17 is a flowchart illustrating override asymptotic / arrival processing.

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

1 アーム先端部 10 ハンド 30 ロボット制御装置 31 ホストCPU 32 共有RAM 33 サーボCPU 34 サーボアンプ 35 メモリ 36 教示操作盤用インターフェイス 38 入出力装置 37 教示操作盤 RB ロボット Reference Signs List 1 arm tip 10 hand 30 robot controller 31 host CPU 32 shared RAM 33 servo CPU 34 servo amplifier 35 memory 36 teaching operation panel interface 38 input / output device 37 teaching operation panel RB robot

───────────────────────────────────────────────────── フロントページの続き (72)発明者 永山 敦朗 山梨県南都留郡忍野村忍草字古馬場3580番 地 ファナック株式会社内 (72)発明者 廣瀬 一人 山梨県南都留郡忍野村忍草字古馬場3580番 地 ファナック株式会社内 Fターム(参考) 3C007 LT01 LU03 LU05 MT04 5H269 AB33 BB03 EE01 EE16 EE25 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Atsuro Nagayama 3580 Kobaba, Oshino-mura, Oshino-mura, Minamitsuru-gun Yamanashi Prefecture Inside FANUC Co., Ltd. FANUC Corporation F-term (reference) 3C007 LT01 LU03 LU05 MT04 5H269 AB33 BB03 EE01 EE16 EE25

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 ロボットの各軸を駆動するサーボモータ
へ移動指令を出力するためのソフトウェア手段を備えた
ロボット制御装置であって、 前記ソフトウェア手段は、ロボットの動作目標位置まで
の移動量を求め、これをある周期で補間処理し、前記補
間処理された出力を加減速制御のためにフィルタリング
処理する手段と、 前記フィルタリング処理後の移動指令を入力とし、指定
された各軸共通の指令オーバライド値に応じて前記移動
指令を修正する動的速度制御手段とを持ち、 前記動的速度制御手段は、前記移動指令に対し、速度が
指令オーバライド値に比例した値とし、また加速度が指
令オーバライド値の自乗に比例した値を出力する手段を
含むことを特徴とする、前記ロボット制御装置。
1. A robot controller comprising software means for outputting a movement command to a servomotor for driving each axis of a robot, wherein the software means calculates a movement amount of the robot to an operation target position. Means for performing an interpolation process at a certain cycle, and filtering the interpolated output for acceleration / deceleration control; and inputting the movement command after the filtering process as a command override value common to each designated axis. Dynamic speed control means for correcting the movement command according to the speed of the movement command, the dynamic speed control means, for the movement command, the speed is a value proportional to the command override value, and the acceleration is the command override value The robot control device according to claim 1, further comprising means for outputting a value proportional to the square.
【請求項2】 目標オーバライド値が現在のオーバライ
ド値と異なる場合に、前記動的速度制御手段に対する指
令オーバライド値を、現在のオーバライド値から目標オ
ーバライド値まで滑らかに変化させる指令オーバライド
計算手段を持つことを特徴とする、請求項1に記載のロ
ボット制御装置。
2. A command override calculating means for smoothly changing a command override value for the dynamic speed control means from the current override value to the target override value when the target override value is different from the current override value. The robot controller according to claim 1, wherein:
【請求項3】 プログラム実行時にロボットを一時停止
させる場合に、前記目標オーバライド値を0に設定し、
前記指令オーバライド計算手段により、前記動的速度制
御手段に対する指令オーバライド値を現在オーバライド
値から0まで滑らかに変化させる事によりロボットを減
速停止させることを特徴とする、請求項2に記載のロボ
ット制御装置。
3. When the robot is temporarily stopped during execution of a program, the target override value is set to 0,
3. The robot controller according to claim 2, wherein the command override calculating means smoothly decelerates and stops the robot by changing a command override value for the dynamic speed control means from the current override value to zero. .
【請求項4】プログラム実行時にロボットを非常停止さ
せる場合に、前記目標オーバライド値と前記指令オーバ
ライド値を共に0に設定し、移動指令出力を瞬時に0と
し、ロボットを即時停止させることを特徴とする、請求
項2に記載のロボット制御装置。
4. An emergency stop of the robot during execution of a program, wherein the target override value and the command override value are both set to 0, the movement command output is instantaneously set to 0, and the robot is immediately stopped. The robot control device according to claim 2, which performs the operation.
【請求項5】 プログラム実行時にロボットを一時停
止、または非常停止させた後、停止後に動作を再開させ
る場合に、前記指令オーバライド計算手段において、指
令オーバライド値を0から、前記目標オーバライド値ま
で滑らかに変化させる事によりロボットを加速させるこ
とを特徴とする、請求項2に記載のロボット制御装置。
5. When a robot is temporarily stopped or an emergency stop is performed during execution of a program, and the operation is restarted after the stop, the command override calculating means smoothly changes the command override value from 0 to the target override value. The robot controller according to claim 2, wherein the robot is accelerated by changing.
【請求項6】 前記指令オーバライド計算手段におい
て、現在のオーバライド値から、目標オーバライド値ま
で、指定の分割回数に分割して段階的に前記動的速度制
御手段に対する指令オーバライド値を変更させることを
特徴とする、請求項2乃至請求項5のいずれか1項に記
載のロボット制御装置。
6. The command override calculating means, wherein the command override value for the dynamic speed control means is changed stepwise by dividing into a specified number of divisions from a current override value to a target override value. The robot controller according to any one of claims 2 to 5, wherein
【請求項7】 前記指令オーバライド計算手段におい
て、現在のオーバライド値から、目標オーバライド値ま
で、指数関数を用いる事により、前記動的速度制御手段
に対する指令オーバライド値をなめらかに変化させるこ
とを特徴とする、請求項2乃至請求項5のいずれか1項
に記載のロボット制御装置。
7. The command override calculating means smoothly changes a command override value to the dynamic speed control means by using an exponential function from a current override value to a target override value. The robot controller according to any one of claims 2 to 5.
【請求項8】 前記一時停止時点付近で、前記ロボット
制御装置内部で動作データを保存し、動作再開時に前記
保存された動作データを利用するようにしたことを特徴
とする、請求項3乃至請求項5のいずれか1項に記載の
ロボット制御装置。
8. The apparatus according to claim 3, wherein the operation data is stored in the robot controller near the time of the temporary stop, and the stored operation data is used when the operation is resumed. Item 6. The robot control device according to any one of items 5.
【請求項9】 前記動作プログラムに基づく前記動作計
画は、少なくとも一つの動作区間について直交動作を行
なうための直交動作計画を含んでいることを特徴とす
る、請求項1乃至請求項7のいずれか1項に記載のロボ
ット制御装置。
9. The operation plan according to claim 1, wherein the operation plan based on the operation program includes an orthogonal operation plan for performing an orthogonal operation for at least one operation section. 2. The robot controller according to claim 1.
【請求項10】前記動作プログラムに基づく前記動作計
画は、少なくとも一つの動作区間について各軸動作を行
なうための各軸動作計画を含んでいることを特徴とす
る、請求項1乃至請求項7のいずれか1項に記載のロボ
ット制御装置。
10. The operation plan according to claim 1, wherein said operation plan based on said operation program includes each axis operation plan for performing each axis operation for at least one operation section. The robot control device according to claim 1.
JP2001213995A 2001-07-13 2001-07-13 Robot controller Expired - Fee Related JP3588063B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001213995A JP3588063B2 (en) 2001-07-13 2001-07-13 Robot controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001213995A JP3588063B2 (en) 2001-07-13 2001-07-13 Robot controller

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP36230097A Division JP3673383B2 (en) 1997-12-12 1997-12-12 Robot control device

Publications (2)

Publication Number Publication Date
JP2002082705A true JP2002082705A (en) 2002-03-22
JP3588063B2 JP3588063B2 (en) 2004-11-10

Family

ID=19048890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001213995A Expired - Fee Related JP3588063B2 (en) 2001-07-13 2001-07-13 Robot controller

Country Status (1)

Country Link
JP (1) JP3588063B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016081470A (en) * 2014-10-22 2016-05-16 ファナック株式会社 Numerical control device that smoothly changes feeding rate at time of shutdown
US9517556B2 (en) 2012-06-29 2016-12-13 Mitsubishi Electric Corporation Robot control apparatus and robot control method
CN111267080A (en) * 2020-02-18 2020-06-12 上海柴孚机器人有限公司 Method for automatically correcting path of industrial robot
CN116330299A (en) * 2023-05-26 2023-06-27 浙江工业大学 Industrial robot compliant motion control method based on acceleration smoothing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63273108A (en) * 1987-04-30 1988-11-10 Fanuc Ltd Speed controller
JPH05324046A (en) * 1992-05-18 1993-12-07 Mitsubishi Electric Corp Method and device for numerically controlling multiple system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63273108A (en) * 1987-04-30 1988-11-10 Fanuc Ltd Speed controller
JPH05324046A (en) * 1992-05-18 1993-12-07 Mitsubishi Electric Corp Method and device for numerically controlling multiple system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9517556B2 (en) 2012-06-29 2016-12-13 Mitsubishi Electric Corporation Robot control apparatus and robot control method
JP2016081470A (en) * 2014-10-22 2016-05-16 ファナック株式会社 Numerical control device that smoothly changes feeding rate at time of shutdown
US10671054B2 (en) 2014-10-22 2020-06-02 Fanuc Corporation Numerical control device for performing smooth deceleration and stopping
CN111267080A (en) * 2020-02-18 2020-06-12 上海柴孚机器人有限公司 Method for automatically correcting path of industrial robot
CN116330299A (en) * 2023-05-26 2023-06-27 浙江工业大学 Industrial robot compliant motion control method based on acceleration smoothing
CN116330299B (en) * 2023-05-26 2023-09-01 浙江工业大学 Industrial robot compliant motion control method based on acceleration smoothing

Also Published As

Publication number Publication date
JP3588063B2 (en) 2004-11-10

Similar Documents

Publication Publication Date Title
JPH11175130A (en) Control unit for robot
CN103970139B (en) Robot continuous point position motion planning method
US6330493B1 (en) Control system for synchronously cooperative operation of plurality of robots
JP4917252B2 (en) Arc welding equipment
JP5417392B2 (en) Numerical controller
CN101615038B (en) Method for optimizing speed and controlling smooth movement in high-speed machining center
EP1629933A2 (en) Laser processing apparatus
Wang et al. Local asymmetrical corner trajectory smoothing with bidirectional planning and adjusting algorithm for CNC machining
US11131979B2 (en) Numerical control device and numerical control method
JP2016055404A (en) Locus generation method, locus generation device, robot device, program, and recording medium
GB2027938A (en) Improved off-line teach assist apparatus and on-line control apparatus
JP2002215239A (en) Method and device for controlling travel of vehicle system
JP3588063B2 (en) Robot controller
JP4842656B2 (en) Welding robot controller
JP2002222008A (en) Numerically controlled curved surface processing device
He et al. Real-time time-optimal continuous multi-axis trajectory planning using the trajectory index coordination method
JP3462570B2 (en) How to create a robot operation program
CN113433889B (en) Tool path planning method for five-axis machine tool machining based on three-section type claw curve
WO1999001805A1 (en) Method of conversion of robot teaching program
JP4560191B2 (en) Numerical controller
JPH0628004B2 (en) Control method for multiple robots
JP3236579B2 (en) Numerical control device and curve path interpolation method
Zarifmansour et al. Considering machining tolerances in high speed corner tracking
WO2022138843A1 (en) Numerical control device
JPH02144705A (en) Robot arm control method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040603

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040727

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040811

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070820

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080820

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090820

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100820

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110820

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110820

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120820

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120820

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130820

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees