JPH0934522A - Robot control method - Google Patents

Robot control method

Info

Publication number
JPH0934522A
JPH0934522A JP20184695A JP20184695A JPH0934522A JP H0934522 A JPH0934522 A JP H0934522A JP 20184695 A JP20184695 A JP 20184695A JP 20184695 A JP20184695 A JP 20184695A JP H0934522 A JPH0934522 A JP H0934522A
Authority
JP
Japan
Prior art keywords
axis
output
processing cycle
control system
servo control
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
JP20184695A
Other languages
Japanese (ja)
Other versions
JP3499977B2 (en
Inventor
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 JP20184695A priority Critical patent/JP3499977B2/en
Publication of JPH0934522A publication Critical patent/JPH0934522A/en
Application granted granted Critical
Publication of JP3499977B2 publication Critical patent/JP3499977B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To trace a proper moving path of a robot with a prescribed limit speed without waste of time by periodically inputting the shift value of every shaft to describe the interpolation points generated in an interpolation control mode, periodically carrying out the processing related to the limit speed of every shaft, and periodically outputting the shift value of every shaft to the servo control system of every shaft in order to keep the limit speed of every shaft. SOLUTION: The shift value of every shaft that is outputted to a servo control system in every processing cycle is defined as an un-outputted component with no conflict with the limit speed of every shaft (1), with observance of the cooperation conditions to all shafts (2) and with observation of the limit speed of every shaft (3). Such shift value of every shaft is outputted with preference in the subsequent processing cycles. If the shift value is directly sent to the servo control system while the increment of θi exceeds the limit value M by δi in a section P1P2, the conflict is caused with the limit speed of a shaft (i). Under such conditions, the limit value M is outputted as the shift value of the shaft (i) in a processing cycle where the shift value of the section P1P2 is received. As a result, the shift target point of P1 is not set at P2 but at Q2 and both δi and δj are treated in the subsequent processing cycles.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は産業用ロボット(以
下、単に「ロボット」と言う。)の制御方法に関し、更
に詳しく言えば、制限速度を守りながら適正な移動経路
を時間的な無駄なく辿ることが出来るようにしたロボッ
トの制御方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for controlling an industrial robot (hereinafter, simply referred to as "robot"), and more specifically, it follows a proper moving route without wasting time while keeping a speed limit. The present invention relates to a control method of a robot that is capable of performing.

【0002】[0002]

【従来技術】ロボットが教示されたプログラムを実行す
る際には、教示された軌跡と速度を守りながら動作する
ような制御を行なう必要がある。しかし、ロボットの各
軸の移動速度(旋回軸であれば旋回の角速度、直動軸で
あれば直動速度)にはその軸を駆動するモータの最大回
転速度から来る制限がある。従って、教示された軌跡と
速度の双方を守りながら動作させることが不可能な場合
が起こり得る。
2. Description of the Related Art When a robot executes a taught program, it is necessary to perform control so that the robot operates while keeping the taught locus and speed. However, there is a limit to the moving speed of each axis of the robot (the angular speed of turning in the case of a turning axis, the linear moving speed in the case of a direct-acting axis), which comes from the maximum rotation speed of the motor that drives the axis. Therefore, there may be a case where it is impossible to operate while protecting both the taught trajectory and speed.

【0003】このような場合、従来方式では、経路計画
時に補間計算を経て指定される各軸の移動量について、
その軸に制限速度を越えた速度を要求しないように制限
を加えていた。その結果、移動量の制限を受けた軸につ
いては、教示された経路を実現する為に必要な移動量が
その軸を制御するサーボへ渡されず、経路精度の悪化が
避けられなかった。
In such a case, in the conventional method, the movement amount of each axis designated through interpolation calculation at the time of route planning
The axis was limited so as not to require a speed exceeding the speed limit. As a result, with respect to the axis whose movement amount is limited, the movement amount necessary for realizing the taught route is not passed to the servo controlling the axis, and the deterioration of the route accuracy cannot be avoided.

【0004】一般に、オーバライドが低く指定されてい
る時にはモータに高速回転は要求されないから、このよ
うな現象が発生する可能性は殆どない。即ち、比較的高
いオーバライドを指定して再生運転を行なった場合に、
経路精度が大きく悪化し、干渉事故を起こしたりするケ
ースが多い。
Generally, when the override is specified to be low, the motor is not required to rotate at a high speed, so that such a phenomenon is unlikely to occur. That is, when a relatively high override is specified and the regeneration operation is performed,
There are many cases in which the route accuracy is greatly deteriorated and an interference accident occurs.

【0005】そこで従来は、比較的低いオーバライドの
指定から始めて少しづつオーバライドを上げながら試行
的な再生運転(テストラン)を繰り返し、許容範囲を越
える経路悪化が起らないことを確かめるという作業が必
要であった。
Therefore, conventionally, it is necessary to start a comparatively low override, repeat the trial regeneration operation (test run) while gradually increasing the override, and make sure that the route does not deteriorate beyond the allowable range. Met.

【0006】経路悪化を回避する方法には、オーバライ
ドを下げるやり方の他にプログラムで指定される速度を
書き換える方法もあるが、いずれの場合も、速度制限が
必要でない経路部分についてもロボットの動作速度が低
下し、サイクルタイムが長くなってしまう。また、経路
悪化を起こす経路部分(例えば、コーナ部分)につい経
路を変更する方法もあるが、その為の再教示作業がユー
ザに要求されることになる。
As a method of avoiding the deterioration of the route, there is a method of rewriting the speed designated by a program in addition to the method of reducing the override. In either case, the operation speed of the robot is also applied to the path portion which does not need the speed limitation. Will decrease and cycle time will become longer. There is also a method of changing the route for a route portion (for example, a corner portion) that causes deterioration of the route, but a re-teaching work for that is required for the user.

【0007】[0007]

【発明が解決しようとする課題】そこで本発明の目的
は、各軸の速度制限に抵触する部分についてのみ修正さ
れた移動経路をとり、その部分の通過後には教示経路に
速やかに復帰させるような経路移動を可能にするロボッ
トの制御方法を提供することにある。
SUMMARY OF THE INVENTION Therefore, an object of the present invention is to take a corrected movement path only for a portion that violates the speed limit of each axis and to quickly return to the teaching path after passing through that portion. It is to provide a control method of a robot that enables path movement.

【0008】更に具体的に言えば、本発明は、高いオー
バライド(例;100%)によるプログラム実行時にい
ずれかの軸に速度制限条件に対する抵触が起こるような
プログラムに対しても、その抵触が発生する部分につい
て低いオーバライドで教示した時とほぼ同等の軌跡が実
現されるような制御方法を提供することを意図してい
る。また、本発明は、高いオーバライドでプログラムを
実行した時にいずれかの軸に速度制限条件に対する抵触
が生じる可能性があるプログラムに関しても、ロボット
の能力の範囲内でサイクルタイムを短縮するとともに、
ユーザに指令速度の下方修正や経路変更の為の煩雑な再
教示作業を要求せずに済むようにすることを目指すもの
である。
More specifically, according to the present invention, even when a program is executed due to a high override (eg, 100%), a conflict with a speed limit condition occurs on any axis, the conflict occurs. It is intended to provide a control method in which a locus approximately the same as when taught with a low override for a portion to be realized is realized. Further, the present invention shortens the cycle time within the range of the robot capability, even for a program in which any axis may conflict with the speed limiting condition when the program is executed with a high override,
The object is to avoid requiring the user to perform a complicated re-teaching work for the downward correction of the command speed or the route change.

【0009】[0009]

【課題を解決するための手段】本発明は、ロボット制御
装置内において、経路計画に従った補間制御によって生
成される補間点を記述する各軸の移動量を入力として周
期的に実行される各軸の速度制限に関連した処理に新規
な考え方を導入することによって、上記技術課題を解決
したものである。即ち、本発明によれば、速度制限に関
連した処理の中で、各処理周期毎にサーボ制御系へ出力
される各軸の移動量が、(1)各軸の速度制限に抵触し
ないこと、(2)全軸協調条件を守ること、更に、
(3)速度制限の為に未出力分にまわされた移動量は次
回以降の処理周期において優先的に出力すること、とい
う基本方針に従って決定される。
According to the present invention, in a robot controller, a movement amount of each axis describing an interpolation point generated by an interpolation control according to a path plan is cyclically executed as an input. The above technical problem is solved by introducing a new idea into the processing related to the speed limitation of the shaft. That is, according to the present invention, in the processing related to speed limitation, the movement amount of each axis output to the servo control system in each processing cycle (1) does not conflict with the speed limitation of each axis, (2) Observe all-axis coordinated conditions,
(3) The movement amount that has been rotated to the non-output portion due to the speed limitation is determined according to the basic policy that the movement amount is preferentially output in the subsequent processing cycles.

【0010】より具体的に言えば、各処理周期毎の出力
移動量の決定プロセスの中で、次のような処理が行なわ
れる。 (1)もし、前回の処理周期までに前記サーボ制御系へ
出力されずに残った各軸の移動量の残量成分が今回の処
理周期について存在しない場合には、今回の処理周期で
新たに入力された移動量の全部または一部を各軸の速度
制限に抵触しない範囲で最大限前記サーボ制御系への出
力に含ませるようにするとともに、今回の処理周期で出
力されない成分を次回の周期の処理の為に保持し、 (2)前回の処理周期までに前記サーボ制御系へ出力さ
れずに残った各軸の移動量の残量成分が今回の処理周期
について存在する場合には、その残量成分の全部または
一部を各軸の速度制限に抵触しない範囲で今回の処理周
期における前記サーボ制御系への出力に最大限含ませる
ようにするとともに、(2−1)今回の処理周期で前記
サーボ制御系へ出力されない残量成分があればこれを次
回の周期の処理の為に保持し、(2−2)今回の処理周
期で前記サーボ制御系へ出力されない残量成分が存在せ
ず、且つ、今回の処理周期で新たに入力された移動量の
少なくとも一部を前記各軸の速度制限に抵触しない条件
で今回の処理周期での前記サーボ制御系への出力に更に
含ませることが可能である場合には、今回の処理周期で
新たに入力された移動量の全部または一部を今回の処理
周期での前記サーボ制御系への出力に更に含ませるとと
もに、今回の処理周期で出力されない成分を次回の周期
の処理の為に保持するようにする。
More specifically, the following process is performed in the process of determining the output movement amount for each processing cycle. (1) If the remaining amount component of the movement amount of each axis that has not been output to the servo control system up to the previous processing cycle does not exist for this processing cycle, a new one is added in this processing cycle. All or part of the input movement amount should be included in the output to the servo control system as much as possible within the range that does not conflict with the speed limit of each axis, and the components that are not output in this processing cycle should be included in the next cycle. (2) If there is a remaining amount component of the movement amount of each axis that has not been output to the servo control system up to the previous processing cycle for this processing cycle, All or part of the remaining amount component should be included in the output to the servo control system in the current processing cycle to the maximum extent within the range that does not conflict with the speed limit of each axis, and (2-1) Current processing cycle Output to the servo control system If there is a residual component that does not exist, it is retained for the processing of the next cycle, and (2-2) there is no residual component that is not output to the servo control system in the current processing cycle, and When it is possible to further include at least a part of the movement amount newly input in the processing cycle in the output to the servo control system in the current processing cycle under the condition that it does not conflict with the speed limit of each axis. In addition to including all or part of the movement amount newly input in this processing cycle in the output to the servo control system in this processing cycle, the components not output in this processing cycle are It is retained for processing the cycle.

【0011】また、減速制御への滑らかな移行を考慮す
る為には、上記(2−2)の部分に工夫を加えて次のよ
うな処理内容とする。 (1)もし、前回の処理周期までに前記サーボ制御系へ
出力されずに残った各軸の移動量の残量成分が今回の処
理周期について存在しない場合には、今回の処理周期で
新たに入力された移動量の全部または一部を各軸の速度
制限に抵触しない範囲で最大限前記サーボ制御系への出
力に含ませるようにするとともに、今回の処理周期で出
力されない成分を次回の周期の処理の為に保持し、 (2)前回の処理周期までに前記サーボ制御系へ出力さ
れずに残った各軸の移動量の残量成分が今回の処理周期
について存在する場合には、その残量成分の全部または
一部を各軸の速度制限に抵触しない範囲で今回の処理周
期における前記サーボ制御系への出力に最大限含ませる
ようにするとともに、(2−1)今回の処理周期で前記
サーボ制御系へ出力されない残量成分があればこれを次
回の周期の処理の為に保持し、(2−2)今回の処理周
期で前記サーボ制御系へ出力されない残量成分が存在せ
ず、且つ、今回の処理周期で新たに入力された移動量の
全部を前記各軸の速度制限に抵触しない条件で今回の処
理周期での前記サーボ制御系への出力に更に含ませるこ
とは不可能であるが今回の処理周期で新たに入力された
移動量の一部であればそれが可能である場合には、今回
の処理周期で新たに入力された移動量の前記一部を今回
の処理周期での前記サーボ制御系への出力に更に含ませ
るとともに、今回の処理周期で出力されない成分を次回
の周期の処理の為に保持し、(2−3)また、今回の処
理周期で前記サーボ制御系へ出力されない残量成分が存
在せず、且つ、今回の処理周期で新たに入力された移動
量の全部を前記各軸の速度制限に抵触しない条件で今回
の処理周期での前記サーボ制御系への出力に更に含ませ
ることが可能である場合には、前回の処理周期において
入力された各軸の移動量の内、前回の処理周期で前記サ
ーボ制御系へ出力された比率に応じて、今回の処理周期
で新たに入力された移動量の全部または一部を今回の処
理周期における前記サーボ制御系への出力に含ませると
ともに、今回の処理周期で前記サーボ制御系へ出力され
ない成分があればそれを次回の周期の処理の為に保持す
る。
In order to consider the smooth transition to the deceleration control, the contents of the above process (2-2) are modified so that the following processing contents are obtained. (1) If the remaining amount component of the movement amount of each axis that has not been output to the servo control system up to the previous processing cycle does not exist for this processing cycle, a new one is added in this processing cycle. All or part of the input movement amount should be included in the output to the servo control system as much as possible within the range that does not conflict with the speed limit of each axis, and the components that are not output in this processing cycle should be included in the next cycle. (2) If there is a remaining amount component of the movement amount of each axis that has not been output to the servo control system up to the previous processing cycle for this processing cycle, All or part of the remaining amount component should be included in the output to the servo control system in the current processing cycle to the maximum extent within the range that does not conflict with the speed limit of each axis, and (2-1) Current processing cycle Output to the servo control system If there is a residual component that does not exist, it is retained for the processing of the next cycle, and (2-2) there is no residual component that is not output to the servo control system in the current processing cycle, and It is impossible to further include all the movement amount newly input in the processing cycle in the output to the servo control system in the current processing cycle under the condition that the speed limit of each axis is not in conflict with this. If it is possible if a part of the movement amount newly input in the processing cycle is possible, the part of the movement amount newly input in the current processing cycle is set to the servo in the current processing cycle. In addition to being included in the output to the control system, the components that are not output in the current processing cycle are retained for the processing in the next cycle, and (2-3) are not output to the servo control system in the current processing cycle. There is no residual component, and it is newly added in this processing cycle. If it is possible to further include all of the applied movement amount in the output to the servo control system in the current processing cycle under the condition that the speed limit of each axis is not violated, in the previous processing cycle, According to the ratio of the input movement amount of each axis to the servo control system in the previous processing cycle, all or part of the movement amount newly input in the current processing cycle is processed in this time. It is included in the output to the servo control system in the cycle, and if there is a component that is not output to the servo control system in the current processing cycle, it is held for the processing in the next cycle.

【0012】[0012]

【作用】本発明では、ロボット制御装置内において、経
路計画に従った補間制御によって生成される補間点を記
述する各軸の移動量を入力として周期的に実行される各
軸の速度制限に関連した処理に新規な考え方が導入され
る。即ち、本発明によれば、速度制限に関連した処理の
中で、各処理周期毎にサーボ制御系へ出力される各軸の
移動量は、(1)各軸の速度制限に抵触せずに、(2)
全軸協調条件を守りつつ、更に、(3)速度制限の為に
未出力分にまわされた移動量については次回以降の処理
周期において優先的に出力するように決定される。
According to the present invention, the robot controller is related to the speed limitation of each axis which is periodically executed with the movement amount of each axis describing the interpolation point generated by the interpolation control according to the route plan as an input. A new way of thinking is introduced into the processing. That is, according to the present invention, in the processing related to the speed limitation, the movement amount of each axis output to the servo control system in each processing cycle is (1) without violating the speed limitation of each axis. , (2)
It is decided to preferentially output (3) the movement amount that has been sent to the unoutputted portion due to speed limitation while maintaining the all-axis cooperation condition.

【0013】本発明によれば、いずれかの軸について速
度制限に抵触するような移動指令が補間制御時に作成さ
れた場合には、速度制限に抵触しない範囲の最高速度で
全軸協調による移動が行なわれ、且つ、移動しきれずに
残された成分については、次回以降の補間時に優先的に
消化される。従って、ロボットの軌跡が教示経路からは
ずれる範囲は速度制限に抵触した経路区間の周辺に限定
され、且つ、そのずれは速やかに回復される。
According to the present invention, when a movement command that conflicts with the speed limit for any axis is created during interpolation control, movement by all-axis cooperation can be performed at the maximum speed in the range that does not conflict with the speed limit. The components that have been performed and left without being completely moved are preferentially digested at the next and subsequent interpolations. Therefore, the range in which the locus of the robot deviates from the taught route is limited to the vicinity of the route section that violates the speed limit, and the deviation is quickly recovered.

【0014】また、いずれかの軸についても速度制限に
抵触しないような移動指令が補間制御時に継続的に作成
される場合には(速度制限に抵触する移動指令が補間制
御時に作成された場合には、それに伴う未処理分が消化
された後)、その移動指令が満たしている加速度制限、
加々速度制限と同等の加速度、加々速度で移動が行なわ
れ、高い軌跡精度が維持される。
Further, in the case where a movement command that does not conflict with the speed limit is continuously created for any of the axes during the interpolation control (when a movement command that conflicts with the speed limit is created during the interpolation control, Is the acceleration limit that the movement command satisfies,
Movement is performed at an acceleration and jerk that are equivalent to jerk limitation, and high trajectory accuracy is maintained.

【0015】なお、減速時には減速の滑らかさを壊さな
いようにする為に、隣合う処理周期でサーボ制御系に出
力される移動量が急変しないような措置をとることが好
ましい。その為には、前回の処理周期から未出力分が繰
り越されており、且つ、この繰り越し分と今回の入力分
を一括して出力しても速度制限に抵触しない場合に、今
回の入力分の一部を次回の処理に繰り越すようにすれば
良い。
In order to prevent the smoothness of deceleration from being broken during deceleration, it is preferable to take measures so that the movement amount output to the servo control system does not suddenly change in adjacent processing cycles. Therefore, if the unoutput portion has been carried over from the previous processing cycle, and if the carried over portion and the input portion of this time are output collectively, the speed limit will not be violated. A part of it may be carried over to the next processing.

【0016】[0016]

【発明の実施の形態】図1は、ロボットの制御に用いら
れる一般的なシステム構成の概略をブロック図で示した
ものである。同図に示されているように、先ずロボット
制御装置のメインCPUによって動作プログラムが読み
込まれ、解釈(デコーディング)される。これによっ
て、教示経路、指令速度、各教示点における位置決め度
が指定される。もし、オーバライドを100%未満に指
定する入力があれば、指令速度はプログラム自体で指定
された値に指定されたオーバライド値を乗じたものとさ
れる。
DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a block diagram showing an outline of a general system configuration used for controlling a robot. As shown in the figure, the operation program is first read and interpreted (decoded) by the main CPU of the robot controller. As a result, the teaching path, the command speed, and the degree of positioning at each teaching point are designated. If there is an input that specifies the override to be less than 100%, the command speed is set to the value specified by the program itself multiplied by the specified override value.

【0017】続く経路計画においては、指定された事項
(教示経路、指令速度、各教示点における位置決め度
等)に基づいて、加減速制御の時定数の決定を含む具体
的な経路計画が立てられる。そして、この経路計画に基
づいて各軸毎に補間点が生成され(補間点の生成)、各
軸の速度制限(通常はモータの回転速度の制限で決ま
る。以下同様。)に関する条件がチェックされる。も
し、速度制限条件に抵触する場合にはなんらかの修正措
置を施してから、各軸のサーボへ渡される(各軸の速度
制限)。
In the subsequent path planning, a specific path planning including determination of the time constant of acceleration / deceleration control is made based on the designated items (teaching path, command speed, positioning degree at each teaching point, etc.). . Then, an interpolation point is generated for each axis based on this path plan (generation of interpolation point), and a condition regarding the speed limit of each axis (normally determined by the limit of the rotation speed of the motor. The same applies below) is checked. It If it violates the speed limit condition, some corrective measures are taken and the result is passed to the servo of each axis (speed limit of each axis).

【0018】ハードウェアの担当について言えば、プロ
グラムの解釈から補間点の生成まではロボット制御装置
のメインCPU(場合によっては、各軸用のサブCPU
を援用)が受持ち、各軸のサーボCPUが共有RAMを
介して補間点を受取り、各軸のモータのサーボ制御を実
行するとういう方式が一般的である。
As for the charge of the hardware, from the interpretation of the program to the generation of the interpolation points, the main CPU of the robot controller (sub CPU for each axis in some cases)
In general, the servo CPU of each axis receives the interpolation point via the shared RAM and executes the servo control of the motor of each axis.

【0019】本発明は、上記ブロックの中で「各軸の速
度制限」のブロック内で行なわれるソフトウェア処理に
工夫を施すことで、所期の目的を達成する。以下、この
ソフトウェア処理の内容について説明する。「各軸の速
度制限」のブロックへの周期的な入力とこれに応じた出
力は次の内容を持っている。 ●入力;補間制御時の各軸移動量 ●出力;各軸の速度制限を満たす各軸移動量。即ち、各
軸の速度制限を満たすべく、必要に応じて補間制御時の
各軸移動量を修正したもの。
The present invention achieves the intended object by devising software processing performed in the block of "speed limitation of each axis" in the above blocks. The contents of this software processing will be described below. The cyclic input to the "Speed limit of each axis" block and the corresponding output have the following contents. ● Input; Travel distance of each axis during interpolation control ● Output: Travel distance of each axis that satisfies the speed limit of each axis. That is, the amount of movement of each axis during interpolation control is modified as necessary to satisfy the speed limit of each axis.

【0020】上記出力を本発明の思想に即した形で得る
為に、次のルールに従った処理を考える。ここで、入力
は周期的に受け取られるものであり、各回の入力は各軸
についての移動量(1セット)を含んでいる。そして、
下記ルールに記すように、各回の入力毎に実行される処
理では未出力とされ、次回以降の入力時の処理による出
力に回される成分が生じて来るので、次の記号を導入し
ておく。
In order to obtain the above-mentioned output in a form conforming to the idea of the present invention, consider the processing according to the following rules. Here, the input is received periodically, and each input includes the movement amount (1 set) for each axis. And
As described in the rules below, the following symbols are introduced because components that are not output in the process executed for each input and are output to the output in the process after the next input occur. .

【0021】[記号] k;ロボットの軸番号を表わす指標で、k=1,2・・
N(Nはロボットの軸数)である。
[Symbol] k: An index representing the axis number of the robot, k = 1, 2 ...
N (N is the number of axes of the robot).

【0022】mk ;今回新しく受け取った第k軸の移動
量。 nk ;前回受け取った第k軸の移動量。
Mk: The amount of movement of the kth axis newly received this time. nk: The amount of movement of the kth axis received last time.

【0023】rk ;今回の処理に繰り越された第k軸の
移動量。即ち、前回までに受け取った第k軸の移動量の
内、前回の処理までに出力が完了していない移動量。な
お、初回入力に関しては、全軸についてrk =0とす
る。 Mk ;速度制限に抵触しな範囲で許容される第k軸の移
動量の最大値。 α;残量rk の内、今回の処理で出力可能な成分の占め
る比率。ここでは各回の処理は全軸協調の条件が守られ
るようになされるので、αは全軸に共通した値とされる
(0≦α≦1)。即ち、後述するように、速度制限条件
に関して最も余裕の無い軸を基準異してαが定められ
る。 β;今回新しく受け取った移動量mk の内、今回の処理
で出力可能な成分の占める比率。αの場合と同様の理由
で、このβも全軸に共通した値とされる(0≦β≦
1)。
Rk: Amount of movement of the k-th axis carried over in this processing. That is, of the movement amount of the k-th axis received up to the previous time, the movement amount that has not been output by the previous process. Regarding the first input, rk = 0 for all axes. Mk: The maximum value of the movement amount of the k-th axis that is allowed within the range that does not conflict with the speed limit α: Proportion of components that can be output in this processing in the remaining amount rk. Here, since the processing of each time is performed so that the condition of cooperation of all axes is observed, α is set to a value common to all axes (0 ≦ α ≦ 1). That is, as will be described later, α is set differently with respect to the axis having the least margin with respect to the speed limiting condition. β: Proportion of the components that can be output in this processing, out of the movement amount mk newly received this time. For the same reason as in the case of α, β is also a value common to all axes (0 ≦ β ≦
1).

【0024】γ;前回受け取った第k軸の移動量nk の
内、前回出力された成分の比率。
Γ: Ratio of the component output last time, out of the movement amount nk of the k-th axis received last time.

【0025】[ルールの概要] 1.未出力の繰越移動量無し、即ち、全軸についてrk
=0の場合; ルール1−1=今回入力分の移動量mk に関し、速度制
限に抵触している軸が無ければそのままmk を出力する
(β=1)。 ルール1−2=もし、速度制限に抵触している軸が有れ
ば、全軸協調して速度制限を守れる成分の移動量βmk
を出力し、残りの成分を記憶する。
[Outline of Rules] 1. There is no carry-over movement amount that has not been output, that is, rk for all axes
= 0; Rule 1-1 = With respect to the moving amount mk of the current input, if there is no axis that is in conflict with the speed limit, mk is output as it is (β = 1). Rule 1-2 = If there is an axis that is in conflict with the speed limit, the movement amount βmk of the component that can protect the speed limit by cooperating with all axes
Is output and the remaining components are stored.

【0026】2.前回までの処理で未出力のまま残され
た成分が残されている場合、即ち各軸についてrk ≠0
の場合;この場合には、前回から繰り越された各軸の未
出力分rk を下記のルールで優先的に出力させる。 ルール2−1=もし、いずれかの軸でrk >Mk であれ
ば、全軸協調出来る最大限の範囲でrk の内の一部αr
k を各軸の出力とする。今回の処理でも未出力とされた
残量成分と、今回受け取った移動量mk の全部を繰り越
し分として記憶する。 ルール2−2=すべての軸でrk <Mk である場合に
は、各軸のrk を100%出力に含ませる。そして、r
k +mk とMk の大小関係に応じて、次のように処理す
る。
2. When the components that have not been output in the previous processing remain, that is, rk ≠ 0 for each axis
In this case, in this case, the unoutputted amount rk of each axis carried over from the previous time is preferentially output according to the following rule. Rule 2-1 = If rk> Mk in any axis, a part αr of rk in the maximum range where all axes can cooperate
Let k be the output of each axis. In this processing, the remaining amount component that has not been output and the entire movement amount mk received this time are stored as the carryover amount. Rule 2-2 = If rk <Mk for all axes, then include rk for each axis in 100% output. And r
The following processing is performed according to the magnitude relation between k + mk and Mk.

【0027】(1)いずれかの軸でrk +mk >Mk と
なる場合、即ち、繰り越された残量分と今回受取分の移
動量の和rk +mk の全部を全軸協調で出力しようとす
ると速度制限に抵触してしまう場合には、rk の全部と
mk の一部βmk (0<β<1)を合わせたものを全軸
協調で出力する。
(1) When rk + mk> Mk on any of the axes, that is, if all the sum rk + mk of the carried amount of the remaining amount and the moving amount of the present reception are output by all-axis cooperation, the speed is output. When the restriction is violated, a combination of all rk and a part of mk βmk (0 <β <1) is output in all-axis cooperation.

【0028】(2)全軸についてrk +mk ≦Mk とな
る場合、即ち、繰り越された残量分と今回受取分の移動
量の和rk +mk の全部を全軸協調で出力することが一
応可能である場合には、前回からの繰り越し分の全部r
k と、今回受け取った移動量の一部γmk を併せたもの
を今回の出力とする。ここで、γは上記した通り、前回
受け取った第k軸の移動量nk の内、前回出力出来た比
率を表わす。
(2) When rk + mk ≤ Mk for all axes, that is, it is possible to output all of the sum rk + mk of the amount of remaining carry-over and the amount of movement of this time received in cooperation with all axes. In some cases, the total amount r carried over from the previous time
The output of this time is a combination of k and a part of the movement amount γmk received this time. Here, as described above, γ represents the ratio of the previously output amount n k of the movement amount nk of the k-th axis that was previously output.

【0029】ここで、rk +mk の全部を全軸協調で出
力することも一応可能であるにも拘らずそうしないの
は、今回の処理で出力される移動量と次回出力される移
動量の間の差が過大になることを回避する為である。
Here, although it is possible to output all of rk + mk in cooperation with all axes, what is not done is between the movement amount output in this processing and the movement amount output next time. This is for avoiding an excessive difference in.

【0030】前回受け取った移動量nk の一部が残量r
k に含まれ(即ち、γ<1)、且つ、速度制限の観点か
らはrk +mk の全部を全軸協調で出力することが可能
な状況が発生し易いのは、ロボットが定速(教示速度)
移動から減速態勢へ移行した直後である。従って、この
措置は定速(教示速度)移動から減速態勢への移行が滑
らかに行なわれるようにする上で意味がある。
A part of the movement amount nk received last time is the remaining amount r.
It is likely that a situation where the robot is output at a constant speed (teaching speed) is included in k (that is, γ <1), and from the viewpoint of speed limitation, all of rk + mk can be output by all-axis cooperation. )
Immediately after the transition from movement to deceleration. Therefore, this measure is meaningful in that the transition from the constant speed (teaching speed) movement to the deceleration state is smoothly performed.

【0031】以上が、「各軸の速度制限」(図1参照)
における処理に関するルールの概要である。次に、上記
ルールに従った処理手順について図2のフローチャート
(速度制限関連処理)を参照して説明する。なお、各軸
の最大速度に対応した最大移動量Mk をはじめとするパ
ラメータの入力、各軸の残量値rk とITP毎に受け取
る移動量を記憶する2N個のバッファメモリの設定等、
必要な準備は完了しているものとする。先ず、rk とm
k を記憶する2N個のバッファメモリを初期化し、rk
=mk=0とする(ステップS1)。続くステップS2
で今回分の移動量の移動量mkを受け取ったならば、未
出力の残量rk について、各軸の最大移動量Mk との大
小関係をチェックする(ステップS3)。
The above is the "speed limitation of each axis" (see FIG. 1).
It is an outline of the rule regarding the processing in. Next, a processing procedure according to the above rule will be described with reference to the flowchart of FIG. 2 (speed limit related processing). Input of parameters including the maximum movement amount Mk corresponding to the maximum speed of each axis, setting of 2N buffer memories for storing the remaining amount value rk of each axis and the movement amount received for each ITP, etc.
Required preparations have been completed. First, rk and m
Initialize the 2N buffer memories that store k, rk
= Mk = 0 (step S1). Subsequent step S2
When the moving amount mk of the moving amount for this time is received, the magnitude relationship between the unoutput remaining amount rk and the maximum moving amount Mk of each axis is checked (step S3).

【0032】もし、ステップS3においていずれかのk
についてrk >Mk が成立(速度制限に抵触)している
場合には、ステップS4〜ステップS6の処理を実行す
る。このようなケースが生じるのは、いずれかの軸につ
いて前回(場合によってはそれ以前)受け取った移動量
が最大移動量の2倍を越えている場合である。先ず、各
軸についてαk rk =Mk を満たすαk を計算し、αk
の最小値αを求め(ステップS4)、次いで、αrk を
出力する(ステップS5)。そして、残量値を表わすバ
ッファ値を(1−α)rk +mk に更新した上で(ステ
ップS6)、ステップS2へ戻り、次回分の移動量を受
け取る。
If in step S3 any k
If rk> Mk is satisfied (inconsistent with the speed limit), the processing of steps S4 to S6 is executed. Such a case occurs when the movement amount received last time (possibly before that) for any axis exceeds twice the maximum movement amount. First, αk that satisfies αk rk = Mk is calculated for each axis, and αk
Is calculated (step S4), and then αrk is output (step S5). Then, after updating the buffer value representing the remaining amount value to (1-α) rk + mk (step S6), the process returns to step S2 to receive the movement amount for the next time.

【0033】もし、ステップS3においてすべてのkに
ついてrk ≦Mk が成立(速度制限の範囲内)している
場合には、ステップS7へ進む。いずれかの軸について
前回受け取った移動量が最大移動量の1倍と2倍の間で
あれば、通常このケースに当てはまる。
If rk ≤ Mk is satisfied (within the speed limit range) for all k in step S3, the process proceeds to step S7. This case is usually the case if the previously received displacement for any axis is between 1 and 2 times the maximum displacement.

【0034】ステップS7では、残量rk と今回の受取
移動量mk の和について最大移動量Mk との大小関係を
チェックする。もし、いずれかの軸についてrk +mk
>Mk となる場合には、ステップS8〜ステップS10
の処理を実行する。先ず、各軸についてβk mk =Mk
を満たすβk を計算し、βk の最小値βを求め(ステッ
プS8)、次いで、rk +βmk を出力する(ステップ
S9)。そして、残量値を表わすバッファ値を(1−
β)mk に更新した上で(ステップS10)、ステップ
S2へ戻り、次回分の移動量を受け取る。
In step S7, the magnitude relation between the maximum amount of movement Mk and the sum of the remaining amount rk and the current received amount of movement mk is checked. If either axis rk + mk
When> Mk, steps S8 to S10
Execute the processing of First, for each axis βk mk = Mk
Βk that satisfies the above is calculated, the minimum value β of βk is obtained (step S8), and then rk + βmk is output (step S9). Then, the buffer value representing the remaining amount value is set to (1-
After updating to β) mk (step S10), the process returns to step S2 to receive the movement amount for the next time.

【0035】一方、もしステップS7においてすべての
kについてrk +mk ≦Mk が成立(速度制限の範囲
内)している場合には、ステップS11へ進む。このよ
うなケースは、通常、定速(教示速度)移動から減速制
御へ移行した後に生じる。特に、ロボットが終点あるい
は他の高い位置決め割合が教示された点に接近する段階
では速度が0へ近づくような減速制御が行なわれるか
ら、毎回受け取る移動量は0へ近づくように徐々に減少
する。特に、終点直前においては次回分の受取がない状
態となる。そこで、次のような処理をステップS11〜
ステップS14の処理を実行する。先ず、ステップS1
1で今回の移動量mk の受け取りが、終点直前の最終回
のものであるかをチェックする。もし、そうであれば
(ステップS11でイエス)、最終回の出力として、r
k +mk を出力し(ステップS12)、処理を終了す
る。なお、この段階までには減速制御が行なわれている
から、rk ≠0であることは殆ど有り得ず、実際にはm
k が出力されることになる。
On the other hand, if rk + mk ≤Mk is satisfied for all k in step S7 (within the speed limit range), the process proceeds to step S11. Such a case usually occurs after shifting from constant speed (teaching speed) movement to deceleration control. In particular, when the robot approaches the end point or another point where a high positioning ratio is taught, deceleration control is performed so that the speed approaches zero, so the amount of movement received each time gradually decreases to approach zero. In particular, just before the end point, there will be no next receipt. Therefore, the following processing is performed in steps S11 to S11.
The process of step S14 is executed. First, step S1
At 1, it is checked whether the current amount of movement mk received is the final one just before the end point. If so (Yes in step S11), r is output as the final output.
k + mk is output (step S12), and the process ends. Since deceleration control has been performed up to this stage, it is almost impossible that rk ≠ 0.
k will be output.

【0036】ステップS11でノーであれば、続くステ
ップS12でrk +γmk を出力する。記号の定義の項
で述べたように、mk に係る係数γは、前回受け取った
第k軸の移動量の内、前回出力された成分の比率を表わ
している。従って、十分に減速がなされた後では、γ=
1であり、また、rk も0となっているから、実際に出
力されるのはmk である。
If NO in step S11, rk + γmk is output in the following step S12. As described in the section of definition of symbol, the coefficient γ related to mk represents the ratio of the previously output component in the previously received movement amount of the k-th axis. Therefore, after sufficient deceleration, γ =
Since it is 1 and rk is also 0, mk is actually output.

【0037】これに対して、定速(教示速度)移動から
減速制御への移行直後には、前回受け取った移動量nk
の一部が残量rk に含まれ、且つ、速度制限の観点から
はrk +mk の全部を全軸協調で出力することが可能な
状況が発生し易い。このような段階でもしrk +mk の
全部を出力してしまうと、更に小さな移動量を受け取る
次回の出力が今回の出力と比べて急減することになる。
On the other hand, immediately after shifting from the constant speed (teach speed) movement to the deceleration control, the previously received movement amount nk
It is likely that there will be a situation in which a part of the above is included in the remaining amount rk, and from the viewpoint of speed limitation, all of rk + mk can be output by all-axis cooperation. If all of rk + mk is output even at such a stage, the next output that receives a smaller movement amount will decrease sharply compared to the current output.

【0038】ステップ12の処理において、前回の出力
状況を係数γに反映させてmk の出力を定めるようにし
たことで、このような事態が回避される。続くステップ
S13で、残量値を表わすバッファ値を(1−γ)mk
に更新した上で、ステップS2へ戻り、次回分の移動量
を受け取る。
In the processing of step 12, such a situation can be avoided by reflecting the previous output situation in the coefficient γ and determining the output of mk. In a succeeding step S13, the buffer value representing the remaining amount value is set to (1-γ) mk
Then, the process returns to step S2 to receive the movement amount for the next time.

【0039】以上述べた処理をロボットのプログラム再
生運転開始から終了まで繰り返すことで、サイクルタイ
ムの長期化を伴うことなく、速度制限を守りつつ、経路
悪化を最小限に抑えたロボット移動が実現される。
By repeating the above-mentioned processing from the start to the end of the program reproduction operation of the robot, the robot movement can be realized while keeping the speed limit and minimizing the deterioration of the route without prolonging the cycle time. It

【0040】最後に、いくつかのケースについて実現さ
れる軸空間上におけるロボットの経路を図3〜図5を参
照して簡単に説明する。説明の都合上、ロボットを第i
軸と第j軸で代表させ、横軸に第i軸の位置、縦軸に第
j軸の位置をとり、数回分の処理に対応した経路を表わ
したチャートを用いる。第i軸、第j軸共通の最大移動
量は等しいものとし、これをMi =Mj =Mとする。ま
た、各図においてP0,P1 ,P2 ・・・は、補間制御
時に作成された補間点位置(i−j軸空間上の位置)を
表わし、Q1 ,Q2 ・・・は、各ケースで、速度制限関
連処理を受けた為に新たに生成される補間点位置(サー
ボに渡される位置)を表すものとする。
Finally, the path of the robot in the axial space realized for some cases will be briefly described with reference to FIGS. For convenience of explanation, the robot is set to the i-th
The chart is represented by the axis and the j-th axis, the horizontal axis represents the i-th axis position and the vertical axis represents the j-th axis position, and a chart representing a path corresponding to several times of processing is used. It is assumed that the maximum amount of movement common to the i-th axis and the j-th axis is equal, and that this is Mi = Mj = M. Further, in each figure, P0, P1, P2, ... Represent interpolation point positions (positions in the i-j axis space) created during interpolation control, and Q1, Q2 ,. It represents an interpolation point position (position passed to the servo) that is newly generated due to the restriction-related processing.

【0041】[ケース1(図3)]図3に示した経路チ
ャートでは、区間P0 P1 ,P1 P2 ,P2 P3 ・・・
のいずれにおいても、θi ,θj の増分が制限値Mを越
えていない。これは、いずれの処理周期においても速度
制限に抵触する移動量が入力されなかったケースを表わ
している。この場合には、補間制御時に作成された補間
位置がそのままサーボに渡され、P0 →P1 →P2 →P
3 ・・・の移動経路が実現される。
[Case 1 (FIG. 3)] In the route chart shown in FIG. 3, sections P0 P1, P1 P2, P2 P3 ...
In both cases, the increments of θi and θj do not exceed the limit value M. This represents a case where the movement amount that conflicts with the speed limit was not input in any processing cycle. In this case, the interpolation position created during interpolation control is passed to the servo as it is, and P0 → P1 → P2 → P
3 ... The moving route is realized.

【0042】[ケース2(図4)]図4に示した経路チ
ャートでは、区間P0 P1 ,P2 P3 では、θi ,θj
の増分が制限値Mを越えていないが、区間P1 P2 でθ
i の増分が制限値Mをδi上回っている。但し、δi <
Mである。即ち、区間P1 P2 の移動量をそのままサー
ボへ渡すとi軸に関する速度制限に抵触する。この場合
には、区間P1 P2の移動量を受け取った処理周期で
は、i軸の移動量としてMを出力する。
[Case 2 (FIG. 4)] In the route chart shown in FIG. 4, θi and θj in sections P0 P1 and P2 P3 are shown.
The increment of does not exceed the limit value M, but in the interval P1 P2 θ
The increment of i exceeds the limit value M by δi. However, δi <
It is M. That is, if the movement amount of the section P1 P2 is passed to the servo as it is, it violates the speed limitation on the i-axis. In this case, M is output as the amount of movement of the i-axis in the processing cycle in which the amount of movement of the sections P1 and P2 is received.

【0043】そして、α=M/(M+δi )として、j
軸の移動量として(入力された移動量di ×α)を出力
す。その結果、P1 の次の移動目標点はP2 でなく、Q
2 となり、δi とδj が未出力成分として次回以降の処
理に回される。
Then, with α = M / (M + δi), j
As the movement amount of the axis, (input movement amount di x α) is output. As a result, the next movement target point of P1 is not P2 but Q
2, and δi and δj are sent to the subsequent processing as unoutput components.

【0044】次回の処理では、δi とδj が優先的に出
力成分とされるが、δi とδj の全部を出力しても速度
制限に抵触しないので、更に区間P2 P3 の移動量の出
力を考える。ここでは、区間P2 P3 の移動量を100
%出力しようとするとi軸で速度制限に抵触するので、
速度制限の許す最大限の比率β(0<β<1)を乗じた
移動量を出力へ回す。この比率は、i軸、j軸共通(一
般には、全軸)に適用される。その結果、Q1 の次の移
動目標点はP2 ,P3 のいずれでもなく、線分P2 P3
上の点Q3 となり、εi とεj が未出力成分として次回
以降の処理に回される。
In the next process, δi and δj are preferentially selected as the output components, but even if all δi and δj are output, it does not conflict with the speed limit. Therefore, the output of the movement amount in the section P2 P3 is further considered. . Here, the movement amount of section P2 P3 is 100
If you try to output%, it will violate the speed limit on the i-axis, so
The moving amount multiplied by the maximum ratio β (0 <β <1) allowed by the speed limit is sent to the output. This ratio is applied to both i-axis and j-axis (generally all axes). As a result, the next movement target point of Q1 is neither P2 nor P3, and the line segment P2 P3
The point becomes the upper point Q3, and εi and εj are sent to the subsequent processes as unoutput components.

【0045】同様にして、更に次の周期の処理では、ε
i とεj が優先的に出力成分とされその全部が出力に回
される。そして今度は、区間P3 P4 の移動量を100
%出力しても速度制限に抵触しない(ξだけ余裕があ
る;ξ>0)。この場合、区間P3 P4 の移動量を10
0%出力に回せば、Q3 の次の移動目標点はP4 とな
る。しかし、ここで一気に未出力分を解消すべく最大限
の移動量を出力してしまうと、次回の移動量が急減する
おそれが生じる。
Similarly, in the processing of the next cycle, ε
i and ε j are given priority as output components, and all of them are sent to the output. And this time, the movement amount of section P3 P4 is 100
% Output does not conflict with the speed limit (only ξ has a margin; ξ> 0). In this case, the movement amount of section P3 P4 is 10
If the output is turned to 0%, the next movement target point of Q3 will be P4. However, if the maximum movement amount is output in order to eliminate the unoutputted amount at once, the next movement amount may decrease sharply.

【0046】そこで、前回の出力比率βを援用し、i軸
の移動量がεi +β×(P3 P4 間のi軸移動量)とな
るP3 P4 上の点Q4 を移動目標点とすることが好まし
い。なお、未出力分の解消を早める為に、βの代わりに
(1+β)/2とすることも出来る。もし、区間P3 P
4 以降で継続的に小さな移動量入力が繰り返されれば、
やがて未出力分は解消し、補間制御時に作成された移動
指令通りの経路に戻る。
Therefore, it is preferable to use the previous output ratio β and set the point Q4 on P3 P4 at which the amount of movement of the i-axis becomes ε i + β × (the amount of i-axis movement between P3 and P4) as the movement target point. . Note that (1 + β) / 2 can be used instead of β in order to speed up the elimination of the unoutputted portion. If section P3 P
If a small movement amount is continuously input after 4
Eventually, the non-output portion is eliminated, and the route returns to the route according to the movement command created during the interpolation control.

【0047】[ケース3(図5)]図5に示した経路チ
ャートでは、区間P0 P1 ,P2 P3 では、θi ,θj
の増分が制限値Mを越えていないが、区間P1 P2 でθ
i の増分が制限値Mの2倍2Mをφi 上回っている。但
し、φi <Mである。これは、区間P1 P2 の移動量を
受け取った処理周期において速度制限に抵触し、且つ、
1回の処理周期では消化し切れないケースを表わしてい
る。
[Case 3 (FIG. 5)] In the route chart shown in FIG. 5, in sections P0 P1, P2 P3, θi, θj.
The increment of does not exceed the limit value M, but in the interval P1 P2 θ
The increment of i is twice the limit value M and exceeds 2M by φi. However, φi <M. This violates the speed limit in the processing cycle when the movement amount of the section P1 P2 is received, and
This shows a case where the digestion cannot be completed in one processing cycle.

【0048】この場合には、区間P1 P2 の移動量を受
け取った処理周期で、i軸の移動量としてMが出力され
る。また、α=M/(2M+φi )として、j軸の移動
量としては(入力された移動量×α)が出力される。そ
の結果、P1 の次の移動目標点はQ2 となる。そして区
間Q2 P2 間の各軸の移動量が未出力成分として次回以
降の処理に回される。
In this case, M is output as the amount of movement of the i-axis in the processing cycle in which the amount of movement of the sections P1 and P2 is received. Further, as α = M / (2M + φi), (moved amount of input × α) is output as the moved amount of the j-axis. As a result, the next movement target point of P1 becomes Q2. Then, the movement amount of each axis between the sections Q2 and P2 is sent to the subsequent processing as a non-output component.

【0049】次回の処理では、前回から繰り越された未
出力分が優先的に出力成分とされるが、それを全部出力
するとi軸について速度制限に抵触するので、i軸の出
力は前回と同じMとする。こうして次の移動目標点はQ
3 となる。そして、次回に繰り越される未出力成分は、
i軸についてφi +Δi 、φj +Δj となる。なお、φ
j はφi に対応するj軸の移動量成分で、図示は省略し
た。
In the next processing, the non-output portion carried over from the previous time is preferentially set as the output component, but if all of it is output, it violates the speed limit for the i-axis, so the output of the i-axis is the same as the previous time. Let M. In this way, the next movement target point is Q
It becomes 3. And the non-output component carried over next time is
For the i-axis, φi + Δi and φj + Δj. Note that φ
j is a movement amount component of the j axis corresponding to φi, and is not shown.

【0050】更に次の周期の処理では、新たに区間P3
P4 (P4 は不図示)の移動量が入力されているが、φ
i +Δi とφj +Δj を優先的に出力成分に含ませる。
新たに区間P3 P4 の移動量については、ケース2で説
明したものと同様であり、その一部または全部が更に出
力に加えられる。
In the processing of the next cycle, a section P3 is newly added.
The movement amount of P4 (P4 is not shown) is input, but φ
i + Δi and φj + Δj are preferentially included in the output component.
The movement amount of the section P3 P4 is the same as that described in Case 2, and a part or all of it is further added to the output.

【0051】以上説明した3つのケースからも理解され
るように、本発明の制御方法を適用した場合、各処理周
期における出力について全軸協調の条件が遵守され、且
つ、速度制限によって未出力分が発生しても、次回以降
に優先的に消化され、本来の経路に復帰してゆく。従っ
て、未出力の移動量がパイルアップされて大きな軌跡精
度の低下を招くことが回避される。また、本来の経路へ
の復帰を急ぐあまり、減速の滑らかさを阻害するような
移動指令がサーボに渡されないようにする方策(例え
ば、ケース2の説明参照)をとることも可能となってい
る。
As can be understood from the three cases described above, when the control method of the present invention is applied, the conditions of all-axis cooperation are adhered to for the output in each processing cycle, and the unoutputted portion is left due to the speed limitation. Even if occurs, it will be preferentially digested after the next time, and it will return to the original route. Therefore, it is possible to prevent the unoutputted moving amount from being piled up and causing a large decrease in trajectory accuracy. It is also possible to take a measure (for example, refer to the description of Case 2) so that a movement command that impedes the smoothness of deceleration is not passed to the servo because the return to the original route is too quick. .

【0052】[0052]

【発明の効果】本発明によれば、各軸の速度制限に抵触
する部分についてのみ修正された移動経路をとり、その
部分の通過後には教示経路に速やかに復帰させるような
制御が可能となる。従って、高いオーバライド(例;1
00%)によるプログラム実行時にはいずれかの軸に速
度制限条件に対する抵触が起こるようなプログラムに対
しても、その抵触が発生する部分については低いオーバ
ライドで教示した時とほぼ同等の軌跡が実現される。そ
の結果、指令速度の下方修正作業や経路変更の為の煩雑
な再教示作業がユーザに要求されなくなる。
According to the present invention, it is possible to perform control such that a corrected movement path is taken only for a portion that violates the speed limit of each axis, and that the teaching path is quickly returned after passing through the portion. . Therefore, high override (eg; 1
(00%) Even when a program in which a conflict with the speed limit condition occurs on any axis during program execution, the locus where the conflict occurs is almost the same as when taught with a low override. . As a result, the user is not required to perform the downward correction work of the command speed or the complicated re-teaching work for changing the route.

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

【図1】ロボットの制御に用いられる一般的なシステム
構成の概略をブロック図で示したものである。
FIG. 1 is a block diagram showing an outline of a general system configuration used for controlling a robot.

【図2】本発明の実施形態で実行される速度制限関連処
理の概要を記したフローチャートである。
FIG. 2 is a flow chart outlining speed limit related processing executed in an embodiment of the present invention.

【図3】ケース1について、補間制御時に作成される軸
空間上におけるロボットの経路と、サーボに渡される軸
空間上におけるロボットの経路の関係を説明する経路チ
ャートである。
FIG. 3 is a path chart for explaining the relationship between the path of the robot in the axis space created during interpolation control and the path of the robot in the axis space passed to the servo for Case 1.

【図4】ケース2について、補間制御時に作成される軸
空間上におけるロボットの経路と、サーボに渡される軸
空間上におけるロボットの経路の関係を説明する経路チ
ャートである。
FIG. 4 is a path chart for explaining the relationship between the path of the robot in the axis space created during interpolation control and the path of the robot in the axis space passed to the servo for Case 2.

【図5】ケース3について、補間制御時に作成される軸
空間上におけるロボットの経路と、サーボに渡される軸
空間上におけるロボットの経路の関係を説明する経路チ
ャートである。
FIG. 5 is a path chart for explaining the relationship between the path of the robot in the axis space created during interpolation control and the path of the robot in the axis space passed to the servo for Case 3;

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

P0 ,P1 ,P2 ・・・ 補間制御時に作成された補間
点位置 Q1 ,Q2 ,Q3 ・・・ 各ケース1〜3で、速度制限
関連処理によって新たに生成される補間点位置 M 各軸の速度制限に対応した最大移動量
P0, P1, P2 ... Interpolation point position created during interpolation control Q1, Q2, Q3 ... In each case 1 to 3, interpolation point position newly generated by speed limit related processing M Speed of each axis Maximum movement corresponding to the limit

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 ロボット制御装置内におけるソフトウェ
ア処理によって、経路移動を含む動作を記述したプログ
ラムに基づいて経路計画を立て、該経路計画に従った補
間制御によって補間点を生成し、 該補間制御時に生成された補間点を記述する各軸の移動
量を周期的な入力として、各軸の速度制限に関連した処
理を周期的に実行し、各軸の速度制限が守られるように
各軸の移動量を周期的に各軸のサーボ制御系へ出力する
ようにしたロボットの制御方法において、 前記各軸の速度制限に関連した処理は、前記サーボ制御
系へ出力する移動量を、各軸の速度制限に抵触せず且つ
全軸協調条件を守るように各処理周期毎に決定するプロ
セスを含み、 前記各処理周期毎のプロセスの中で、 (1)もし、前回の処理周期までに前記サーボ制御系へ
出力されずに残った各軸の移動量の残量成分が今回の処
理周期について存在しない場合には、 今回の処理周期で新たに入力された移動量の全部または
一部を各軸の速度制限に抵触しない範囲で最大限前記サ
ーボ制御系への出力に含ませるようにするとともに、今
回の処理周期で出力されない成分を次回の周期の処理の
為に保持し、 (2)前回の処理周期までに前記サーボ制御系へ出力さ
れずに残った各軸の移動量の残量成分が今回の処理周期
について存在する場合には、 その残量成分の全部または一部を各軸の速度制限に抵触
しない範囲で今回の処理周期における前記サーボ制御系
への出力に最大限含ませるようにするとともに、(2−
1)今回の処理周期で前記サーボ制御系へ出力されない
残量成分があればこれを次回の周期の処理の為に保持
し、(2−2)今回の処理周期で前記サーボ制御系へ出
力されない残量成分が存在せず、且つ、今回の処理周期
で新たに入力された移動量の少なくとも一部を前記各軸
の速度制限に抵触しない条件で今回の処理周期での前記
サーボ制御系への出力に更に含ませることが可能である
場合には、 今回の処理周期で新たに入力された移動量の全部または
一部を今回の処理周期での前記サーボ制御系への出力に
更に含ませるとともに、今回の処理周期で出力されない
成分を次回の周期の処理の為に保持するようにした、 前記ロボットの制御方法。
1. A software controller in a robot controller creates a route plan based on a program describing an operation including a route movement, generates interpolation points by interpolation control according to the route plan, and executes the interpolation control at the time of the interpolation control. Using the movement amount of each axis that describes the generated interpolation point as a periodic input, the processing related to the speed limit of each axis is executed periodically, and the movement of each axis is performed so that the speed limit of each axis is observed. In a robot control method in which an amount is periodically output to a servo control system of each axis, a process related to speed limitation of each axis is a movement amount output to the servo control system, a speed of each axis. The process includes a process of determining each processing cycle so as not to violate the restriction and keep the all-axis cooperative condition. (1) If the servo control is performed by the previous processing cycle, To the system If the remaining component of the movement amount of each axis that has not been applied is not present for this processing cycle, all or part of the movement amount newly input in this processing cycle is limited to the speed of each axis. (2) Until the previous processing cycle, hold the components that are not output in the current processing cycle for processing in the next cycle, and include them in the output to the servo control system to the maximum extent within the range where If there is a remaining amount component of the movement amount of each axis that was not output to the servo control system in this processing cycle, all or part of the remaining amount component conflicts with the speed limit of each axis. Within the range not included, the output to the servo control system in this processing cycle is included as much as possible, and (2-
1) If there is a remaining amount component that is not output to the servo control system in the current processing cycle, this is retained for processing in the next cycle, and (2-2) is not output to the servo control system in the current processing cycle. Under the condition that there is no remaining amount component and at least part of the movement amount newly input in this processing cycle does not conflict with the speed limit of each axis, the servo control system in this processing cycle If it is possible to further include in the output, all or part of the movement amount newly input in this processing cycle should be further included in the output to the servo control system in this processing cycle. The robot control method, wherein a component that is not output in the current processing cycle is retained for processing in the next cycle.
【請求項2】 ロボット制御装置内におけるソフトウェ
ア処理によって、経路移動を含む動作を記述したプログ
ラムに基づいて経路計画を立て、該経路計画に従った補
間制御によって補間点を生成し、 該補間制御時に生成された補間点を記述する各軸の移動
量を周期的な入力として、各軸の速度制限に関連した処
理を周期的に実行し、各軸の速度制限が守られるように
各軸の移動量を周期的に各軸のサーボ制御系へ出力する
ようにしたロボットの制御方法において、 前記各軸の速度制限に関連した処理は、前記サーボ制御
系へ出力する移動量を、各軸の速度制限に抵触せず且つ
全軸協調条件を守るように各処理周期毎に決定するプロ
セスを含み、 前記各処理周期毎のプロセスの中で、 (1)もし、前回の処理周期までに前記サーボ制御系へ
出力されずに残った各軸の移動量の残量成分が今回の処
理周期について存在しない場合には、今回の処理周期で
新たに入力された移動量の全部または一部を各軸の速度
制限に抵触しない範囲で最大限前記サーボ制御系への出
力に含ませるようにするとともに、今回の処理周期で出
力されない成分を次回の周期の処理の為に保持し、 (2)前回の処理周期までに前記サーボ制御系へ出力さ
れずに残った各軸の移動量の残量成分が今回の処理周期
について存在する場合には、その残量成分の全部または
一部を各軸の速度制限に抵触しない範囲で今回の処理周
期における前記サーボ制御系への出力に最大限含ませる
ようにするとともに、(2−1)今回の処理周期で前記
サーボ制御系へ出力されない残量成分があればこれを次
回の周期の処理の為に保持し、(2−2)今回の処理周
期で前記サーボ制御系へ出力されない残量成分が存在せ
ず、且つ、今回の処理周期で新たに入力された移動量の
全部を前記各軸の速度制限に抵触しない条件で今回の処
理周期での前記サーボ制御系への出力に更に含ませるこ
とは不可能であるが今回の処理周期で新たに入力された
移動量の一部であればそれが可能である場合には、 今回の処理周期で新たに入力された移動量の前記一部を
今回の処理周期での前記サーボ制御系への出力に更に含
ませるとともに、今回の処理周期で出力されない成分を
次回の周期の処理の為に保持し、(2−3)また、今回
の処理周期で前記サーボ制御系へ出力されない残量成分
が存在せず、且つ、今回の処理周期で新たに入力された
移動量の全部を前記各軸の速度制限に抵触しない条件で
今回の処理周期での前記サーボ制御系への出力に更に含
ませることが可能である場合には、 前回の処理周期において入力された各軸の移動量の内、
前回の処理周期で前記サーボ制御系へ出力された比率に
応じて、今回の処理周期で新たに入力された移動量の全
部または一部を今回の処理周期における前記サーボ制御
系への出力に含ませるとともに、今回の処理周期で前記
サーボ制御系へ出力されない成分があればそれを次回の
周期の処理の為に保持するようにした、前記ロボットの
制御方法。
2. A software controller in a robot controller makes a route plan based on a program describing an operation including a route movement, generates interpolation points by interpolation control according to the route plan, and executes the interpolation control at the time of the interpolation control. Using the movement amount of each axis that describes the generated interpolation point as a periodic input, the processing related to the speed limit of each axis is executed periodically, and the movement of each axis is performed so that the speed limit of each axis is observed. In a robot control method in which an amount is periodically output to a servo control system of each axis, a process related to speed limitation of each axis is a movement amount output to the servo control system, a speed of each axis. The process includes a process of determining each processing cycle so as not to violate the restriction and keep the all-axis cooperative condition. (1) If the servo control is performed by the previous processing cycle, To the system If the remaining amount component of the movement amount of each axis that has not been applied is not present for this processing cycle, all or part of the movement amount newly input in this processing cycle is limited to the speed of each axis. (2) Until the previous processing cycle, hold the components that are not output in the current processing cycle for processing in the next cycle, and include them in the output to the servo control system to the maximum extent within the range where If there is a remaining amount component of the movement amount of each axis that was not output to the servo control system for this processing cycle, all or part of the remaining amount component conflicts with the speed limit of each axis. Within the range not to be included, the output to the servo control system in the current processing cycle is maximally included, and (2-1) if there is a residual component that is not output to the servo control system in the current processing cycle, For processing the next cycle (2-2) There is no residual amount component that is not output to the servo control system in the current processing cycle, and the entire movement amount newly input in the current processing cycle is the speed of each axis. It is impossible to further include in the output to the servo control system in this processing cycle under the condition that the restriction is not violated, but if it is a part of the movement amount newly input in this processing cycle, it is If possible, the part of the movement amount newly input in the current processing cycle is further included in the output to the servo control system in the current processing cycle, and is not output in the current processing cycle. The component is retained for the processing of the next cycle, and (2-3), there is no residual component which is not output to the servo control system in the current processing cycle, and is newly input in the current processing cycle. The entire amount of traveled is violated by the speed limit of each axis. If the stomach condition it is possible further to include in the output to the servo control system in the current processing cycle, of the amount of movement of each axis is entered in the last processing cycle,
Depending on the ratio output to the servo control system in the previous processing cycle, all or part of the movement amount newly input in the current processing cycle is included in the output to the servo control system in the current processing cycle. The robot control method described above, wherein if there is a component that is not output to the servo control system in the current processing cycle, that component is held for processing in the next cycle.
JP20184695A 1995-07-17 1995-07-17 Robot control method Expired - Fee Related JP3499977B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20184695A JP3499977B2 (en) 1995-07-17 1995-07-17 Robot control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20184695A JP3499977B2 (en) 1995-07-17 1995-07-17 Robot control method

Publications (2)

Publication Number Publication Date
JPH0934522A true JPH0934522A (en) 1997-02-07
JP3499977B2 JP3499977B2 (en) 2004-02-23

Family

ID=16447865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20184695A Expired - Fee Related JP3499977B2 (en) 1995-07-17 1995-07-17 Robot control method

Country Status (1)

Country Link
JP (1) JP3499977B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016207088A (en) * 2015-04-27 2016-12-08 株式会社キーエンス Extension unit, programmable logic controller, and control method therefor
CN111399451A (en) * 2020-03-17 2020-07-10 广东博智林机器人有限公司 Conflict resolution method, device and storage medium based on scheduling system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016207088A (en) * 2015-04-27 2016-12-08 株式会社キーエンス Extension unit, programmable logic controller, and control method therefor
CN111399451A (en) * 2020-03-17 2020-07-10 广东博智林机器人有限公司 Conflict resolution method, device and storage medium based on scheduling system

Also Published As

Publication number Publication date
JP3499977B2 (en) 2004-02-23

Similar Documents

Publication Publication Date Title
GB2584677A (en) Method and apparatus for trajectory-planning
US5872894A (en) Robot control apparatus and method eliminating any influence of motion in a preceding path and a recording medium storing the same
JP3499977B2 (en) Robot control method
EP0930554A1 (en) Method of conversion of robot teaching program
CN115113585B (en) Method, device and storage medium for fine interpolation based on N-order B spline
US5673379A (en) Scan line generator for area fill of extensible polygons
CN115922684A (en) Singular point processing method, device, equipment and medium for six-axis robot
Huang et al. Acceleration-based FIR filters for trajectory interpolation with different kinematic constraints and target velocities for NC systems
US5347461A (en) Tool travel path creating method
JP2001154719A (en) Method for interpolating free curve
JPH0732279A (en) Robot position teaching method
JP3545486B2 (en) Avoidance of sudden movement in attitude control of coaxial wrist robot
JPH06100931B2 (en) Method for creating change program in control information creation device for industrial robot
JP2735271B2 (en) Programmable controller
JPH11237910A (en) Robot control method and controller
JPH08194513A (en) Wrist form decision method for attitude control operation of coaxial wrist robot
JPH0780785A (en) Control method of robot
JP2000347715A (en) Numerical controller
JPH02140802A (en) Self correction type fuzzy control method
JPH1039913A (en) Nc data preparing method and nc device
JPH0997106A (en) Teaching data production method
JPH09179613A (en) Automatic welding equipment
JPH02245802A (en) System for distributing shift command to servo motor
Popov et al. Algorithms for combined and supervisor robot and manipulator control
JPH01169607A (en) Programmable controller

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031111

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

Free format text: PAYMENT UNTIL: 20071205

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081205

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091205

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees