JPH06131018A - Control method for robot - Google Patents

Control method for robot

Info

Publication number
JPH06131018A
JPH06131018A JP4307992A JP30799292A JPH06131018A JP H06131018 A JPH06131018 A JP H06131018A JP 4307992 A JP4307992 A JP 4307992A JP 30799292 A JP30799292 A JP 30799292A JP H06131018 A JPH06131018 A JP H06131018A
Authority
JP
Japan
Prior art keywords
joint
ring buffer
locus
command
coordinate system
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.)
Withdrawn
Application number
JP4307992A
Other languages
Japanese (ja)
Inventor
Hirobumi Hamada
博文 浜田
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.)
Nachi Fujikoshi Corp
Original Assignee
Nachi Fujikoshi 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 Nachi Fujikoshi Corp filed Critical Nachi Fujikoshi Corp
Priority to JP4307992A priority Critical patent/JPH06131018A/en
Publication of JPH06131018A publication Critical patent/JPH06131018A/en
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To realize a high speed follow-up property to a command value by adopting non-linear control on a locus using a ring buffer. CONSTITUTION:A command value ring buffer has the capacity which can accumulate request command positions theta<1>...thetaimax outputted by a command position arithmetic part extending from '0' to the maximum PMAX frequency portion at every prescribed calculation period required for movement of a distance between smaller distances Ak1 and Ak2 than a distance between middle points Ak and Ak+1 in middle points A1...Am at an equal interval of a locus on a route coordinate system (p) extending from the present point P0 to a target point P1. A non-linear control processing routine on the locus stores one after another a request command value on the ring buffer 6 at every calculation period, calculates an actual command position which can be realized with regard to each joint, and searches in what part on the ring buffer the derived actual command position exists. When an index increment is derived with regard to all the joints, it is determined as the index increment by selecting their minimum value.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は多関節形ロボットのツー
ル先端位置を直交座標系で表現し、直交座標系に定義さ
れた2点を結ぶ直線に沿ってツール先端位置を指示され
たスピードで移動させるよう、アクチュエータを含む関
節駆動系が関節角あるいは関節角速度を指令値として受
け取って関節毎に独立にサーボ系を構成する多関節ロボ
ットの軌跡制御方法に関し、特にアーム先端の軌跡と目
標とする軌跡とのズレ量を最小限におさえることを目的
として常に各関節に対して追従可能な道のりとなるよう
に位置指令を制御することを特徴とするロボットの制御
方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention expresses the tool tip position of an articulated robot in a Cartesian coordinate system, and the tool tip position at a specified speed along a straight line connecting two points defined in the Cartesian coordinate system. The present invention relates to a trajectory control method for a multi-joint robot in which a joint drive system including an actuator receives a joint angle or a joint angular velocity as a command value so as to move and independently configures a servo system for each joint. The present invention relates to a robot control method characterized in that a position command is controlled so as to always follow each joint so as to minimize the amount of deviation from the trajectory.

【0002】[0002]

【従来の技術】一般にロボット制御装置はロボットのア
ーム先端が目標とする軌跡上を移動するように予め各関
節の動作角を時系列的に算出してこの動作角を実現する
ようにサーボ制御しており、移動時間短縮のために位置
ループゲインを上げるとともに各関節毎の非線型サーボ
制御方法を採用することは、既に特開昭64─42713 号公
報で知られている。しかしこの各関節毎の非線型サーボ
制御方法では、各関節の位置ループゲインの不均一化と
低下に起因して高速域になればなるほど目標軌跡とロボ
ットアーム先端軌跡とが大きくずれるという問題点が内
在していた。
2. Description of the Related Art Generally, a robot controller calculates a motion angle of each joint in advance in time series so that the tip of a robot arm moves on a target locus and performs servo control so as to realize this motion angle. However, it is already known in Japanese Patent Laid-Open No. 64-42713 to increase the position loop gain and to employ a non-linear servo control method for each joint in order to shorten the moving time. However, in this non-linear servo control method for each joint, there is a problem that the target trajectory and the robot arm tip trajectory deviate greatly as the speed becomes higher due to the non-uniformity and reduction of the position loop gain of each joint. It was inherent.

【0003】[0003]

【発明が解決しようとする課題】このような問題を解決
するために、関節毎の非線型サーボ制御に代わって出願
人は未公開の特願平4 ─75634 号で、アーム先端軌跡上
での非線型制御を採用する方法を提案した。これは非線
型制御をアーム先端軌跡上で施すことにより常に位置サ
ーボループ系に対してどの関節にとってみても実現可能
な目標軌跡上の位置を指令位置として出力することによ
って、どのような速度域に於いても各関節の位置ループ
ゲインを減少させることもなく、高い軌跡精度を実現で
きるというものとなった。
In order to solve such a problem, in place of the non-linear servo control for each joint, the applicant of the present invention has disclosed an unpublished Japanese Patent Application No. 4-75634 in which the arm tip trajectory A method of adopting nonlinear control is proposed. This is because, by performing non-linear control on the locus of the arm tip, the position on the target locus that can be realized for any joint to the position servo loop system is always output as the command position, and in what speed range Even in this case, high trajectory accuracy can be realized without reducing the position loop gain of each joint.

【0004】本発明の課題はこの制御方式を具現化し
た、軌跡上の非線型制御と云う新しいロボット制御方法
を採用することにより、どのような速度域に於いても各
関節の位置ループゲインを不均一に減少せしめることな
く常に実現可能な道のり上の指令位置を出力することが
でき、指令値への高追従性即ち直線補間動作であれば高
軌跡精度を実現することが可能なロボットの制御方法を
提供することにある。
The object of the present invention is to realize a position loop gain of each joint in any speed range by adopting a new robot control method called a non-linear control on a trajectory, which embodies this control method. A robot control that can output a commanded position on the road that can always be realized without reducing unevenly and that can achieve high trajectory accuracy if it follows the commanded value, that is, if it is a linear interpolation operation. To provide a method.

【0005】[0005]

【課題を解決するための手段】このため本発明は、特許
請求の範囲記載のロボットの制御方法を提供することに
よって上述した課題を解決した。
Therefore, the present invention has solved the above-mentioned problems by providing a robot control method described in the claims.

【0006】[0006]

【実施例】以下添付した図1乃至図6に基づきこの発明
を詳細に説明する。図6は本発明の一実施例ロボットの
制御方法に使用する例示的な2つのアームを有する多関
節ロボットの説明図を示す。図6に示すロボットの関節
角を図のようにθ1 ,θ2と定め、第1アームの回転中
心を原点とする第1の座標系(x1,x2) を定義する。ロボ
ットの関節座標系に独立な第2の座標系を定義し、現在
位置および目標位置によって決める軌跡を前記第2の座
標系上に与え、アクチュエータを含む関節駆動系は、現
在点P0 及び目標点P1 によって決める軌跡を前記第2
の経路座標系p上に与え、指令された移動速度vからあ
らかじめ決められた指令周期毎に指令する目標点P1
での経路座標系p上の軌跡の等間隔の中間点A1...m
を求め、角関節駆動用サーボアンプは関節角θ1 ,θ2
あるいは関節角速度を指令値として受け取って関節毎に
独立にサーボ系を構成するようされているものとする。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described in detail below with reference to the attached FIGS. FIG. 6 is an explanatory view of an exemplary articulated robot having two arms used in the control method of the robot according to the embodiment of the present invention. The joint angles of the robot shown in FIG. 6 are defined as θ 1 and θ 2 as shown in the figure, and a first coordinate system (x 1 , x 2 ) whose origin is the rotation center of the first arm is defined. A second coordinate system independent of the joint coordinate system of the robot is defined, a trajectory determined by the current position and the target position is given on the second coordinate system, and the joint drive system including the actuator is configured to detect the current point P 0 and the target point. The trajectory determined by the point P 1 is the second
On the path coordinate system p, the intermediate points A 1 ... of the loci on the path coordinate system p from the commanded moving speed v to the target point P 1 commanded at each predetermined command cycle . A m
The servo amplifier for driving the angular joint determines the joint angles θ 1 and θ 2
Alternatively, it is assumed that the joint angular velocity is received as a command value and the servo system is configured independently for each joint.

【0007】図1に軌跡上の非線型制御を含んだ関節毎
に独立したサーボ系全体のブロック図を示す。1は指令
位置を演算し決定する指令位置演算部、3は位置ループ
・速度ループ・電流ループからなるサーボアンプユニッ
ト、4がACサーボモータ、そして5が位置検出器であ
る。軌跡上の非線型制御を実施する非線型制御処理部2
は、指令位置演算部1とサーボアンプユニット3との間
にあり、指令位置演算部1が出力した指令位置(以下要
求指令位置という)を入力としこれに軌跡上非線型処理
を加えてサーボアンプユニット3へ出力する(以下実指
令位置という)ものである。
FIG. 1 shows a block diagram of the whole servo system independent for each joint including non-linear control on the locus. Reference numeral 1 is a command position calculation unit that calculates and determines a command position, 3 is a servo amplifier unit including a position loop, a velocity loop, and a current loop, 4 is an AC servomotor, and 5 is a position detector. Non-linear control processing unit 2 for performing non-linear control on a locus
Is between the command position calculation unit 1 and the servo amplifier unit 3, and the command position output from the command position calculation unit 1 (hereinafter referred to as “request command position”) is input to the servo amplifier by adding non-linear processing on the locus. It is output to the unit 3 (hereinafter referred to as actual command position).

【0008】図2は軌跡上の非線型制御処理部2の詳細
構成を表わしたブロック図で、まず各関節の許容角加速
度から軌跡の移動方向の最大加速度をあらかじめ求め、
最大加速度から軌跡の移動方向の実現可能な速度を求
め、前記計算した軌跡上の中間点が前記最大加速度の制
限によって達成可能かどうかを判定される。図中のεi
は指令値偏差(要求指令位置から実指令位置を差引いた
もの)、vi は指令位置が単位時間当りに進んでよい距
離即ち指令値速度(添字iは関節番号を意味し、vi
該番号の関節に対する指令値速度を示す)、αi は関節
番号iの関節に対する単位時間当りに指令値速度vi
変化してもよい量即ち指令値加速度である。ここで前記
中間点間の距離を移動するに必要な一定計算周期毎に、
非線型処理ルーチンはc回スキャンを実行するものとす
る。
FIG. 2 is a block diagram showing a detailed configuration of the non-linear control processing unit 2 on the locus. First, the maximum acceleration in the moving direction of the locus is obtained in advance from the allowable angular acceleration of each joint.
A feasible speed in the moving direction of the trajectory is obtained from the maximum acceleration, and it is determined whether or not the calculated midpoint on the trajectory can be achieved by the limitation of the maximum acceleration. Ε i in the figure
Is the command value deviation (required command position minus the actual command position), v i is the distance over which the command position can advance per unit time, that is, command value speed (subscript i means joint number, and v i is indicating a command value speed for number of joints), alpha i is a good amount or command value acceleration also command value speed v i per unit time of the joints and changes in joint number i. Here, for each constant calculation cycle required to move the distance between the intermediate points,
The non-linear processing routine is assumed to execute c scans.

【0009】各軸毎にまずはステップ21で指令値偏差
εi を算出し、制御切換部であるステップ22で、これ
と前記許容角加速度である線型非線型切換点の値αi
2と比較する。εi ≦(αi /c2 )であればステッ
プ23に移りそこで線型処理をし、εi >(αi
2 )であればステップ27に移り非線型処理を行う。
これらの処理は、図3に示す如く減衰時に指令値偏差ε
i がαi /c2 に達した時に非線型制御から線型制御に
切り換えることによってよりスムーズな位置決めを可能
にするためである。線型処理または非線型処理によって
得られた指令値速度vi にステップ25で加速制限を加
えたあと、更にステップ26で積分処理を加えることに
よって実指令位置が決定され、ステップ28に入力され
る。
First, in step 21, the command value deviation ε i is calculated for each axis, and in step 22 which is the control switching section, this and the value α i / of the linear non-linear switching point which is the allowable angular acceleration are calculated.
Compare with c 2 . If ε i ≤ (α i / c 2 ), the process proceeds to step 23, where linear processing is performed, and ε i > (α i /
If c 2 ), the process proceeds to step 27 and nonlinear processing is performed.
As shown in FIG. 3, these processes are performed by the command value deviation ε during damping.
This is to enable smoother positioning by switching from the non-linear control to the linear control when i reaches α i / c 2 . The actual command position is determined by applying an acceleration limit to the command value speed v i obtained by the linear process or the non-linear process in step 25 and then adding the integration process in step 26, and the actual command position is input to step 28.

【0010】フローチャート上での一連の処理を説明す
ると上記の如くとなるが、出願人はこれを実際に実現さ
せるひとつの方策として、「指令値リングバッファ」な
るものを発明した。その構造の概念図を図4に示す。こ
れは図6で現在点P0 から目標点P1 までの経路座標系
p上の軌跡の等間隔の中間点A1...m における中間点
間Ak とAk+1 との間の距離より、小さい距離Ak1とA
k2との間の距離、を移動するに必要な一定計算周期毎に
指令位置演算部1が出力してきた要求指令位置θ1 ,θ
2 ,..θimax(imax=最大関節数) を、0から最大PMAX
回数分まで、蓄積できるキャパシティを有する。
The series of processes on the flow chart will be described as above, but the Applicant has invented a "command value ring buffer" as one measure for actually realizing this. A conceptual diagram of the structure is shown in FIG. Between which a middle point between the A k and A k + 1 at equidistant midpoint A 1 ... A m of the trajectory on the path coordinate system p of the current point P 0 in Fig. 6 to the target point P 1 Distances A k1 and A smaller than
The required command position θ 1 , θ output from the command position calculation unit 1 at every constant calculation cycle required to move the distance to k2.
2 , .. θ imax (imax = maximum number of joints) from 0 to maximum P MAX
It has the capacity to accumulate up to the number of times.

【0011】軌跡上の非線型制御処理ルーチンは前記一
定計算周期ごとに、次々とリングバッファ6上に要求指
令値を格納していき(以下格納される場所をインデク
ス:0〜Pmax という)、各関節について図2の処理を
施し実現できる実指令位置を算出し、求まった実指令位
置がリングバッファ上のどこに在るかを探索する。探索
の際はリングバッファ上のとなりあったインデクスの位
置データを単純補間することによって、当該関節が進行
しても良いインデクスの増分として導き出すのである。
こうして全ての関節について進行しても良いインデクス
増分が求まったら、これらの最小値を選択しこれを今回
のインデクス増分と決定する。ここで最小値を選択する
ことで軌跡上の非線型制御が成り立つ。インデクス増分
が決定されたら、となりあったインデクスの位置データ
を単純補間することによって実指令位置を導き出しこれ
をサーボアンプユニット3へ出力する。こうして再生運
転中は要求指令位置インデクスがリングバッファ上を一
定速度で進行しそのあとを追いかけるように実指令位置
インデクスが進行していくといった具合である。
The non-linear control processing routine on the locus stores request command values in the ring buffer 6 one after another at every constant calculation cycle (the storage location is hereinafter referred to as index: 0 to P max ). The actual command position that can be realized is calculated by performing the process of FIG. 2 for each joint, and the position of the obtained actual command position on the ring buffer is searched. At the time of the search, the position data of the indexes that are adjacent to each other on the ring buffer are simply interpolated to derive the increment of the index that the joint may advance.
When the index increments that can proceed for all joints are obtained in this way, these minimum values are selected and this is determined as the current index increment. Non-linear control on the locus is established by selecting the minimum value here. When the index increment is determined, the actual command position is derived by simply interpolating the position data of the adjacent indexes, and this is output to the servo amplifier unit 3. In this way, during the reproduction operation, the required command position index advances on the ring buffer at a constant speed, and the actual command position index advances so as to chase after that.

【0012】以下、本発明を実施例について具体的に説
明する。図2のブロック図を指令値リングバッファを用
いた実際のアルゴリズムに書き降ろしたものが図5のフ
ローチャートである。制御切換部7で線型/非線型の判
別を行ない、線型であれば線型処理部8に移り、そこで
実指令位置は要求指令位置がリングバッファ上を進んだ
距離と同じ分進行することを許される。即ちステップ1
4に進みインデクス増分ΔPi は、ΔP i =1インデクス
として、インデクス決定部12に出力される。一方非線
型であったならば、非線型処理部9に進み、まず進んで
もよい速度viを算出し、そして加速制限部10で、加
速制限を施こす。ここで使用する加速制限値αi は当該
関節の実際の能力値にでき得る限り近い値でなければな
らない。
The present invention will be specifically described below with reference to examples. FIG. 5 is a flowchart in which the block diagram of FIG. 2 is written down into an actual algorithm using a command value ring buffer. The control switching unit 7 discriminates between linear and non-linear, and if it is linear, it moves to the linear processing unit 8, where the actual command position is allowed to advance by the same amount as the distance that the request command position has traveled on the ring buffer. . That is, step 1
In step 4, the index increment ΔP i is output to the index determination unit 12 as ΔP i = 1 index. On the other hand, if it is non-linear, the process proceeds to the non-linear processing unit 9, the speed v i that may proceed first is calculated, and the acceleration limiting unit 10 imposes acceleration limitation. The acceleration limit value α i used here should be as close as possible to the actual ability value of the joint.

【0013】vi が決定したら前回の実指令位置ACTUAL
i からvi だけ進んだ新しい実指令位置となるべきデー
タがリングバッファ上のどのあたりにあるかを探索す
る。フローチャート上で、PDは要求指令位置が格納さ
れているインデクス、PAは実指令位置決定に際し使用
するその直前のインデクス、またRing i (N) はインデ
クスN番地に格納されている当該関節の位置データであ
る。探索の結果(PA+J-1)番地と(PA+J)番地との間に所望
の位置データがあったとしたならば、前後の位置データ
を単純補間することでインデクスを求める。このように
してインデクス増分ΔPi を求めるのが、インデクス増
分決定部11である。
When v i is determined, the previous actual command position ACTUAL
The position on the ring buffer where the data to be the new actual command position advanced from i to v i is searched for. In the flowchart, PD is an index in which the requested command position is stored, PA is an index immediately before that used in determining the actual command position, and R ing i (N) is the position of the joint stored in address N of the index. The data. If there is desired position data between the addresses (PA + J-1) and (PA + J) as a result of the search, the index is obtained by simply interpolating the preceding and following position data. The index increment determination unit 11 determines the index increment ΔP i in this way.

【0014】詳説すると、新しく実指令位置となるべき
位置データは、ACTUALi から速度vi だけ変化した位置
にある。引数をJとすると、vi の符号は、格納されて
いるRing i (PA+J)とACTUALi との大小関係で決まる
故、δi =Sign (Ring i (PA+J)-ACTUAL i )・vi
とすれば新しい実指令位置はACTUALi + δi と表わせ
る。求めるものはこの値ではなく、この値がどこにある
のかそのインデクス値である。今ACTUALi + δi がR
ing i (PA+J-1)とRing i (PA+J)との間にあることが探
索の結果わかったとする。図5は引数Jによるループを
考えれば、導き出されるべきインデクス増分ΔPi は、
ΔPi =(J-1) +[ACTUAL i + δi - Ring i (PA+J-
1)]/[ Ring i (PA+J)- Ring i (PA+J-1)]という単純
補間計算によって得られた増分を加え合わせることによ
って求まる。
More specifically, the position data that should be the new actual command position is the position that has changed from ACTUAL i by the speed v i . If the argument is J, the sign of v i is determined by the magnitude relationship between the stored R ing i (PA + J) and ACTUAL i , so δ i = S ign (R ing i (PA + J)- ACTUAL i ) ・ v i
Then, the new actual command position can be expressed as ACTUAL i + δ i . What you want is not this value, but the index value of where this value is. Now ACTUAL i + δ i is R
It is assumed that the search has revealed that it is between ing i (PA + J-1) and R ing i (PA + J). Considering the loop with the argument J in FIG. 5, the index increment ΔP i to be derived is
ΔP i = (J-1) + [ACTUAL i + δ i - R ing i (PA + J-
1)] / [ Ring i (PA + J) -Ring i (PA + J-1)] is obtained by adding the increments obtained by the simple interpolation calculation.

【0015】全ての関節について上記の処理を繰り返し
たあと、インデクス決定部12で、ΔPi の最小値を求
めこれをΔPminとする。ΔPminが求まれば新しい実指令
位置インデクスPAも処理部12によって求まる。最小
値ΔPminを採用し、これによって決まるPAで以って全
軸の実指令位置を算出することで軌跡上の非線型制御が
実現できるわけである。新インデクスPA及びΔPminが
求まればあとは実指令位置算出部13によりRing i (P
A)とRing i (PA+J)を[1- ΔPmin+int( ΔPmin)]対[ Δ
Pmin-int( ΔPmin)]に単純補間して実指令位置ACTUAL i
を算出することができる。このようにして求まった実指
令位置ACTUAL iは全ての関節について実現可能な位置で
あり、またもちろん目標とする軌跡上の位置である。そ
して位置ループゲインが変化するものでは決してないこ
とは当然である。求まった実指令位置ACTUAL iをサーボ
アンプ部3へ出力する。以上の処理を一定計算周期ごと
に繰り返す。(Pmax +1) 回目以降の処理はリングバッフ
ァ上のインデクス0から順次上書きする。
After repeating the above process for all joints, the index determination unit 12 finds the minimum value of ΔP i and sets it as ΔP min. When ΔPmin is obtained, the processing unit 12 also obtains a new actual command position index PA. Non-linear control on the locus can be realized by adopting the minimum value ΔPmin and calculating the actual commanded positions of all axes with PA determined by this. Once the new index PA and ΔPmin have been obtained, the actual command position calculation unit 13 then uses R ing i (P
A) and R ing i (PA + J) are [1- ΔPmin + int (ΔPmin)] vs [Δ
Pmin-int (ΔPmin)] and simply interpolate the actual command position ACTUAL i
Can be calculated. The actual command position ACTUAL i obtained in this way is a position that can be realized for all joints, and, of course, is a position on the target locus. And it goes without saying that the position loop gain never changes. The obtained actual command position ACTUAL i is output to the servo amplifier unit 3. The above processing is repeated at regular calculation intervals. In the (P max +1) and subsequent processes, the index 0 on the ring buffer is sequentially overwritten.

【0016】[0016]

【発明の効果】以上に説明したように、本発明はリング
バッファを用いた軌跡上の非線型制御と云う新しいロボ
ット制御方法を採用することにより、リングバッファ上
の加減速可能な次の中間点データを選択し出力するよう
にし、どのような速度域に於いても各関節の位置ループ
ゲインを不均一に減少せしめることなく常に実現可能な
道のり上の指令位置を出力することができるため、指令
値への高追従性即ち直線補間動作であれば高軌跡精度を
実現することが可能となった。
As described above, according to the present invention, by adopting a new robot control method called a non-linear control on a trajectory using a ring buffer, it is possible to accelerate or decelerate the next intermediate point on the ring buffer. By selecting and outputting data, it is possible to output the command position on the road that can always be realized without unevenly reducing the position loop gain of each joint in any speed range. It is possible to realize high locus accuracy with high value followability, that is, linear interpolation operation.

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

【図1】本発明の実施例方法の軌跡上の非線型制御を含
んだ各関節毎に独立したサーボ系全体のブロック図。
FIG. 1 is a block diagram of an entire servo system that is independent for each joint and that includes non-linear control on a locus according to an embodiment method of the present invention.

【図2】図1の軌跡上の非線型制御処理部2の詳細構成
を表わしたブロック図。
FIG. 2 is a block diagram showing a detailed configuration of a nonlinear control processing unit 2 on the locus of FIG.

【図3】図2の非線型制御処理部2が減衰時に指令値偏
差εi がαi /c2 に達した時に非線型制御から線型制
御に切り換える制御を説明するグラフ。
FIG. 3 is a graph for explaining control in which the nonlinear control processing unit 2 in FIG. 2 switches from nonlinear control to linear control when the command value deviation ε i reaches α i / c 2 during damping.

【図4】本発明の指令値リングバッファの構造の概念
図。
FIG. 4 is a conceptual diagram of the structure of a command value ring buffer of the present invention.

【図5】図2のブロック図を図4の指令値リングバッフ
ァを用いた実際のアルゴリズムに書き降ろしたフローチ
ャート。
5 is a flowchart in which the block diagram of FIG. 2 is written into an actual algorithm using the command value ring buffer of FIG.

【図6】本発明の実施例に使用する例示的2つのアーム
の多関節ロボットの説明図。
FIG. 6 is an illustration of an exemplary two-arm articulated robot used in embodiments of the present invention.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 ロボットのツール先端位置を直交座標系
で表現し、直交座標系に定義された2点を結ぶ直線に沿
ってツール先端位置を指示されたスピードで移動させる
よう、アクチュエータを含む関節駆動系が関節角及び関
節角速度を指令値として受け取って関節毎に独立にサー
ボ系を構成する多関節ロボットの関節座標系に独立な第
2の座標系を定義し、現在位置および目標位置によって
決める軌跡を前記第2の座標系上に与え、指令された移
動速度からあらかじめ決められた周期毎に指令する目標
位置までの前記第2の座標系上の軌跡の等間隔の中間点
を計算し、前記各関節の許容角加速度から前記軌跡の移
動方向の最大加速度をあらかじめ求め、前記最大加速度
から前記軌跡の移動方向の実現可能な速度を求め、前記
計算した軌跡上の中間点が前記最大加速度の制限によっ
て達成可能かどうかを判定し、そして、可能でなければ
直前に指令した中間点に対して加減速可能な次の中間点
に変更して新たな中間点とする、ロボットの軌跡制御方
法において、前記計算した軌跡上の中間点間の距離より
小さい距離を移動するに必要な一定計算周期毎に指令さ
れた要求指令位置θ1 ,θ2 ,..θimax(imax=最大関節
数) を、0から最大PMAX 回数分まで、蓄積できるキャ
パシティを有する指令値リングバッファを設け、前記リ
ングバッファ上の前記加減速可能な次の中間点データを
選択し出力することを特徴とするロボットの制御方法。
1. A joint including an actuator for expressing a tool tip position of a robot in a rectangular coordinate system and moving the tool tip position at a designated speed along a straight line connecting two points defined in the rectangular coordinate system. The drive system receives the joint angle and the joint angular velocity as command values, and defines a second coordinate system independent of the joint coordinate system of the multi-joint robot that independently configures the servo system for each joint, and determines it according to the current position and the target position. A locus is given on the second coordinate system, and intermediate points at equal intervals of the locus on the second coordinate system from a commanded moving speed to a target position commanded in each predetermined cycle are calculated, The maximum acceleration in the moving direction of the locus is obtained in advance from the allowable angular acceleration of each joint, the feasible speed in the moving direction of the locus is obtained from the maximum acceleration, and It is determined whether the intermediate point can be achieved by the limitation of the maximum acceleration, and if it is not possible, it is changed to the next intermediate point that can accelerate or decelerate the intermediate point commanded immediately before, and the new intermediate point is set. In the robot trajectory control method, the required command positions θ 1 , θ 2 , .. θ imax (commanded at each constant calculation cycle required to move a distance smaller than the calculated distance between the intermediate points on the trajectory. imax = maximum number of joints) is provided with a command value ring buffer having a capacity capable of accumulating 0 to the maximum number of P MAX times, and the next intermediate point data that can be accelerated / decelerated on the ring buffer is selected and output. A robot control method characterized by the above.
【請求項2】 前記リングバッファ上の前記加減速可能
な次の中間点データを選択し出力する軌跡上の非線型制
御処理ルーチンは、前記一定計算周期ごとに次々と前記
リングバッファ上の格納される場所に前記要求指令値
を、インデクス:0〜Pmax として格納していき、各関
節について前記実現できる実指令位置を算出し、求まっ
た実指令位置がリングバッファ上のどこに在るかを探索
し、探索の際は前記リングバッファ上のとなりあったイ
ンデクスの位置データを単純補間することによって、当
該関節が進行しても良いインデクスの増分として導き出
し、全ての関節について進行しても良いインデクス増分
が求まったら、これらの最小値を選択しこれを今回のイ
ンデクス増分と決定し、となりあったインデクスの位置
データを単純補間することによって実指令位置を導き出
しこれをサーボアンプユニットへ出力することを特徴と
する請求項1記載のロボットの制御方法。
2. A non-linear control processing routine on a locus for selecting and outputting the next intermediate point data capable of acceleration / deceleration on the ring buffer is stored on the ring buffer one after another at every constant calculation cycle. The required command value is stored as an index: 0 to Pmax in a location to calculate the actual command position that can be realized for each joint, and search for where the obtained actual command position is on the ring buffer. However, at the time of search, by simply interpolating the position data of the indexes that are adjacent to each other on the ring buffer, it is derived as an increment of the index that the joint may advance, and the index increment that may advance for all the joints. When is obtained, select these minimum values, determine this as the index increment of this time, and simply interpolate the position data of the adjacent indexes. The method of claim 1, wherein the robot it derives the actual command position and outputs to the servo amplifier unit by the.
JP4307992A 1992-10-22 1992-10-22 Control method for robot Withdrawn JPH06131018A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4307992A JPH06131018A (en) 1992-10-22 1992-10-22 Control method for robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4307992A JPH06131018A (en) 1992-10-22 1992-10-22 Control method for robot

Publications (1)

Publication Number Publication Date
JPH06131018A true JPH06131018A (en) 1994-05-13

Family

ID=17975607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4307992A Withdrawn JPH06131018A (en) 1992-10-22 1992-10-22 Control method for robot

Country Status (1)

Country Link
JP (1) JPH06131018A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097736A (en) * 2011-11-04 2013-05-20 Fanuc Ltd Numerical controller for controlling speed by command route speed condition

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097736A (en) * 2011-11-04 2013-05-20 Fanuc Ltd Numerical controller for controlling speed by command route speed condition
US9274517B2 (en) 2011-11-04 2016-03-01 Fanuc Corporation Numerical controller for speed control according to instructed path speed condition

Similar Documents

Publication Publication Date Title
US8290611B2 (en) Blending algorithm for trajectory planning
US4617502A (en) Method and apparatus for controlling a robot hand along a predetermined path
US5373221A (en) Method and system for estimating robot tool center point speed
JPH06131018A (en) Control method for robot
JP3204042B2 (en) Robot trajectory generator
US5327523A (en) Robot controlling method and apparatus
JP2737725B2 (en) Robot control device and method
CN113858213B (en) Robot dynamic track planning method for target synchronization
JPS5858609A (en) Locus interpolating method of industrial robot
KR20230056225A (en) Obstacle avoidance and path tracking method considering the kinetic dynamics of a differential driving robot
JPH1133954A (en) Acceleration and deceleration control method for robot
JPH05324044A (en) Locus control system for robot
JPH0247702A (en) High speed operation control method for robot
JPH05297916A (en) Track control method for robot
JPH0830978B2 (en) Teaching / reproducing method for industrial robots
JPH05241628A (en) Locus control method for robot
JPH09244725A (en) Method and device for track interpolation, and controller
JP2703099B2 (en) Conveyor tracking method for industrial robots
JP3512651B2 (en) Robot control device and control method
JP2007007779A (en) Robot control device
JPH06230818A (en) Servo controller
Gang et al. A Fast Approach for Time Optimal and Smooth Trajectory Planning of Robot Manipulators [J]
JP2638467B2 (en) Robot controller
JPS6037009A (en) Controller of articulated robot
JP2601433B2 (en) Interpolation control method and apparatus for industrial robot

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000104