JPH0522921B2 - - Google Patents
Info
- Publication number
- JPH0522921B2 JPH0522921B2 JP59136183A JP13618384A JPH0522921B2 JP H0522921 B2 JPH0522921 B2 JP H0522921B2 JP 59136183 A JP59136183 A JP 59136183A JP 13618384 A JP13618384 A JP 13618384A JP H0522921 B2 JPH0522921 B2 JP H0522921B2
- Authority
- JP
- Japan
- Prior art keywords
- interpolation
- point
- passing
- data
- time interval
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/41—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45083—Manipulators, robot
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Description
【発明の詳細な説明】
(発明の分野)
この発明は、ロボツト制御方法およびその装置
に関するもので、特に、補間制御についての改良
を加えたロボツト制御方法およびその装置に関す
る。DETAILED DESCRIPTION OF THE INVENTION (Field of the Invention) The present invention relates to a robot control method and device thereof, and particularly to a robot control method and device thereof with improvements in interpolation control.
(先行技術の説明)
プレイバツク方式などによつてロボツトを制御
する場合には、離散的なテイーチング点の情報の
みを制御装置内に記憶させているため、再生動作
においては、これらのテイーチング点の位置など
の情報を補間して制御を行なう必要が生ずる。(Description of Prior Art) When controlling a robot using a playback method or the like, only information on discrete teaching points is stored in the control device, so during playback operations, the positions of these teaching points are It becomes necessary to perform control by interpolating information such as
このような補間の方法としては、たとえば周知
の直線補間や円弧補間などがある。これらの補間
法は、演算が比較的簡単であるという特徴を有す
るものの、それぞれの補間法に適応した軌跡(た
とえば直接補間では、直線や曲率半径の大きな曲
線)以外の軌跡に対しては、一般的に滑らかさに
欠けるという欠点を有している。 Examples of such interpolation methods include well-known linear interpolation and circular interpolation. Although these interpolation methods are characterized by relatively simple calculations, they are generally not suitable for trajectories other than those adapted to each interpolation method (for example, in direct interpolation, straight lines or curves with large curvature radii). The disadvantage is that it lacks smoothness.
一方、東京大学の穂坂衛教授等によつて与えら
れた形状設計のアルゴリズムをロボツトの補間制
御に応用した技術が、この発明の発明者によつて
既に提案されている。この技術は、たとえば特開
昭56−52408号の中に記載されており、また、穂
坂のアルゴリズムそのものについては、たとえば
「情報処理」第17巻第12号第1120頁〜第1127頁
(1976年12月)に記載されている。そこで、ここ
では、以下の説明に必要な範囲内で、この技術を
説明する。 On the other hand, the inventor of this invention has already proposed a technique in which a shape design algorithm given by Professor Mamoru Hosaka of the University of Tokyo and others is applied to interpolation control of a robot. This technique is described, for example, in Japanese Patent Application Laid-Open No. 56-52408, and Hosaka's algorithm itself is described in, for example, Information Processing, Vol. 17, No. 12, pp. 1120-1127 (1976). December). Therefore, this technique will be explained here within the scope necessary for the following explanation.
穂坂のアルゴリズムを応用したこの補間法(以
下、「穂坂の補間」と呼ぶ)は、ひとつの補間曲
線を、テイーチング点の数に対応した数だけの部
分曲線(これは「曲線分」と呼ばれる)の集合と
してとらえ、これらの曲線分のうち隣接した曲線
分に対して特定の平均化操作を行なうことによつ
て、さらに滑らかな補間曲線を作り出すという思
想に立脚している。この方法では、まず、第1図
に示したように、テイーチング点の位置ベクトル
R→i(i=1〜m)のうち、隣接する位置ベクト
ルR→i,R→i+1の間を直線補間して、第1段階めの
補間曲線C1を作る。この補間曲線(折れ線)C1
のうち、R→iとR→i+1とを結ぶ曲線分をパラメータ
u(0≦u≦1)によつて、D→i,1(u)とパラメータ
表示する。この記号D→i,1(u)のうちの添字iはi番
目の曲線分(接続要素とも呼ばれる)であること
を示し、添字1は第1段階めの補間による曲線分
であることを示す(以下、同様)。このようにし
て第1段階めの補間曲線を定義した後、漸化式;
D→i,1(u)={∫l udτ・ω(τ)・D→i,k-1(τ)
+∫u pdτ・
ω(τ)・D→i-1,k-1(τ)}÷{∫l udτ・ω(τ)
+
∫u 0・dτ・ω(τ)}(k=1,2,…)…(1)
を繰り返し用いて、第n段階めの曲線分D→i,o(u)を
求め、このD→i,1(u)の集合として、第n段階めの所
望の補間曲線Coを得る。ここで、ω(τ)はウエ
イト関数である。 This interpolation method, which applies Hosaka's algorithm (hereinafter referred to as "Hosaka's interpolation"), divides one interpolated curve into as many subcurves as there are teaching points (these are called "curve segments"). It is based on the idea that a smoother interpolated curve can be created by treating adjacent curve segments as a set of curve segments and performing a specific averaging operation on adjacent curve segments. In this method, first, as shown in Fig. 1, among the position vectors R→ i (i=1 to m) of teaching points, a straight line is drawn between adjacent position vectors R→ i and R→ i+1. Perform interpolation to create the first stage interpolation curve C1 . This interpolation curve (broken line) C 1
Among them, the curved line connecting R→ i and R→ i+1 is expressed as D→ i,1 (u) by the parameter u (0≦u≦1). The subscript i in this symbol D→ i,1 (u) indicates that it is the i-th curve segment (also called a connected element), and the subscript 1 indicates that it is a curve segment resulting from the first stage of interpolation. (The same applies hereafter). After defining the first stage interpolation curve in this way, the recurrence formula; D→ i,1 (u)={∫ l u dτ・ω(τ)・D→ i,k-1 (τ)
+∫ u p dτ・
ω(τ)・D→ i-1,k-1 (τ)}÷{∫ l u dτ・ω(τ)
+
∫ u 0・dτ・ω(τ)} (k=1, 2,...)...(1) is repeatedly used to find the nth stage curve segment D→ i,o (u), and this D→ As a set of i,1 (u), a desired interpolation curve C o of the n-th stage is obtained. Here, ω(τ) is a weight function.
(1)式の意味するところは、第2図によつて、よ
り明確に理解することができよう。すなわち、ま
ず、第2図に示した第(k−1)段階めの補間曲
線Ck-1に属するi番目の接続要素D→i,k-1(u)および
(i+1)番号の接続要素D→i+1,k-1(u)のうち、特定
のu(たとえばu1)に対応する点D→i,k-1(u1),D
→i
+1,k−1(u1)と、この2つの接続要素の境界点R
→
k-1 iとの、それぞれの間に位置する部分Li,Li+1を
取り出す。次に、れらの部分Li,Li+1上のそれぞ
れの点の位置を、ウエイト関数ω(τ)を用いて
加重平均する。そして、このようにして得られた
疑似重心点を、第k段階における曲線分D→i,k(u)の
うちのひとつの点D→i,k(u1)とするのである。パ
ラメータuのそれぞれの値についてこのような操
作を行なうことによつて、D→i,k(u)の全体を得るこ
とができる。 The meaning of equation (1) can be understood more clearly by looking at Figure 2. That is, first, the i-th connected element D belonging to the (k-1)th stage interpolation curve C k-1 shown in FIG. 2 → i,k-1 (u) and (i+1) connected elements Among D→ i+1,k-1 (u), the point D→ i,k-1 (u 1 ), D corresponding to a specific u (for example, u 1 )
→ i
+1,k-1 (u 1 ) and the boundary point R of these two connected elements
→
Extract the parts L i and L i+1 located between k-1 i and k-1 i, respectively. Next, the positions of the respective points on these portions L i and L i+1 are weighted averaged using a weight function ω(τ). Then, the pseudo centroid point obtained in this way is set as one point D→ i,k (u 1 ) of the curve segment D→ i,k (u) at the k-th stage. By performing such an operation for each value of the parameter u, the entire D→ i,k (u) can be obtained.
第3図は、各段階における各曲線分が、どの接
続要素から得られるかを矢印によつて示した図で
ある。ただし、記号(i,n)はD→i,o(u)を示し、
他も同様様である。このうち、たとえば矢印AR
は、D→i,o-1(u)とD→i+1,o-1(u)とから、D→i,o(u)
が得られ
ることを示している。この図からわかるように、
D→i,o(u)は、究極的にはR→i+j(j=0,1,…n
)
から得得られるわけであり、また、(1)式は線形の
漸化式であるから、D→i,o(u)は、次のように、R→i+
j
(j=0,1,…n)の線形結合として書き表わ
すことができる。 FIG. 3 is a diagram showing by arrows which connection element each curve segment at each stage is obtained from. However, the symbol (i, n) indicates D→ i,o (u),
The same is true for others. Among these, for example, arrow AR
From D→ i,o-1 (u) and D→ i+1,o-1 (u), D→ i,o (u)
This shows that it is possible to obtain As you can see from this figure,
D→ i,o (u) ultimately becomes R→ i+j (j=0,1,...n
)
Also, since equation (1) is a linear recurrence equation, D→ i , o (u) becomes R→ i+ as follows.
j
It can be expressed as a linear combination of (j=0, 1,...n).
D→i,o(u)=o
〓j=0
R→i+j・fj,o(u) …(2)
D→i,0(u)=R→i・fp,p(u),fp,p(u)=1 …(3)
ここで係数fj,o(u)は、(1)式を実際に計算するこ
とによつて、uの多項式として表わすことができ
るが、詳細は省略する。 D→ i,o (u)= o 〓 j=0 R→ i+j・f j,o (u) …(2) D→ i,0 (u)=R→ i・f p,p (u ), f p,p (u)=1 ...(3) Here, the coefficient f j,o (u) can be expressed as a polynomial of u by actually calculating equation (1). , details are omitted.
(2)式において重要な点は、第n段階めのそれぞ
れの曲線分は、連続する(n+1)個のテイーチ
ング点R→i+j(j=0,1,2…n)の情報を取り
込んだ形で形成されているということである。し
たがつて、たとえば第3段階めに得得られる補間
曲線C3を実際の制御における補間曲線として用
いる場合には、連続した4個のテイーチング点の
位置情報を取り込んだ補間となつている。 The important point in equation (2) is that each curve segment at the nth stage incorporates information from consecutive (n+1) teaching points R→ i+j (j=0, 1, 2...n). This means that it is formed in an oval shape. Therefore, for example, when the interpolation curve C3 obtained in the third stage is used as an interpolation curve in actual control, the interpolation is performed by incorporating position information of four consecutive teaching points.
このため、穂坂の補間はテイーチング点の連鎖
における大域的な幾何学的性質を慮した補間とな
つており、直線補間や円弧補間と比較して、より
滑らかな補間曲線が得られる。 Therefore, Hosaka's interpolation is an interpolation that takes into account the global geometric properties of the chain of teaching points, and a smoother interpolation curve can be obtained compared to linear interpolation or circular interpolation.
ところが、穂坂の補間にもいくつかの欠点があ
る。そのひとつは、得られた補間曲線が、一般に
はテイーチング点を通らないということである。
このため、得られるべき補間曲線がテイーチング
点のすべてを通るように、計算上のテイーチング
点(「基準点」と呼ばれている)P→iを、次の(4)式
によつて定義する。 However, Hosaka's interpolation also has some drawbacks. One of them is that the resulting interpolated curve generally does not pass through the teaching point.
Therefore, in order to ensure that the interpolation curve to be obtained passes through all of the teaching points, the calculated teaching point (referred to as the "reference point") P → i is defined by the following equation (4). .
R→=o
〓j=0
P→i+j・fj,o(u)
(i=1,2,…) …(4)
そして、この連立方程式を解くことによつて得
られる基準点P→iを基礎にして、上述した補間曲
線を求めなければならない。このような手続すな
わち逆変換が必要であるために、計算ステツプが
増加してしまう。 R→= o 〓 j=0 P→ i+j・f j,o (u) (i=1, 2,…) …(4) Then, the reference point P obtained by solving this simultaneous equation → Based on i , we have to find the interpolation curve mentioned above. The necessity of such a procedure, ie, inverse transformation, increases the number of calculation steps.
また、穂坂の補間におけるパラメータは、各曲
線分のパラメータ表示を行なう目的で導入された
空間パラメータであつて、現実の時刻との対応が
明確ではない。このため、uと時刻との対応を表
わす関数形を各曲線分ごとに決定するというステ
ツプを付加する必要が生ずる。 Moreover, the parameters in Hosaka's interpolation are spatial parameters introduced for the purpose of displaying parameters for each curve, and their correspondence with actual time is not clear. Therefore, it becomes necessary to add a step of determining a functional form representing the correspondence between u and time for each curve segment.
さらに、補間曲線の平滑化を進める目的で、か
なり大きなnに対する第n段階めの補間曲線を用
いると、円から直線への変化のような、幾何学的
性質が急激に変化するような軌跡をテイーチング
してある場合には、その時点よりも前の時間帯に
おける軌跡の記憶が残つているために、ロボツト
への位置の指令値がこの変化に追随し得なくなつ
てしまう。この問題に関しては、たとえば特開昭
57−125406号に記載されているように、軌跡の幾
何学的変が大きい位置では、穂坂の補間を行なう
ための手段を無効化するという方法もある。しか
しながら、このような変化にもある程度追随可能
であり、かつ十分な滑らかさを確保できる補間法
を得ることができれば、このような無効化を多用
しなくも済むことになり、状況によつては、無効
化を要しないことになろう。 Furthermore, if an n-th interpolation curve is used for a fairly large n in order to smooth the interpolation curve, it may be possible to avoid trajectories with sudden changes in geometric properties, such as a change from a circle to a straight line. If the robot has been taught, the memory of the trajectory in the time period before that point remains, so the command value for the position to the robot will no longer be able to follow this change. Regarding this problem, for example,
As described in No. 57-125406, there is also a method of disabling the means for Hosaka interpolation at positions where the geometric variation of the trajectory is large. However, if we can obtain an interpolation method that can follow such changes to some extent and ensure sufficient smoothness, we will not need to use this kind of invalidation frequently, and depending on the situation, , it would not require invalidation.
(発明の目的)
この発明の目的は、比較的簡単であるにもかか
わらず、軌跡の大域的性格を取り込んだ補間制御
を行なうことができ、従来の制御装置の基礎とな
つている種々の補間法の長所を兼ね備えたロボツ
ト制御方法およびその装置を提供することであ
る。(Objective of the Invention) The object of the present invention is to be able to perform interpolation control that incorporates the global characteristics of a trajectory, although it is relatively simple, and to perform various interpolation controls that are the basis of conventional control devices. The object of the present invention is to provide a robot control method and device that have the advantages of the conventional robot control method.
(発明の構成)
この発明のロボツト制御方法は、駆動機構を有
するロボツトの作業点に、所定の順序で所定の離
散的な通過点を通過する運動をなわせるためのロ
ボツト制御方法であつて、時間パラメータを変数
とし、かつ4個以上の未定係数を含んだ位置補間
関数を定義しておくとともに、前記順序において
連続する4個の通過点をXi−1,Xi,Xi+1,
Xi+2としたとき、下記の(a)と(b)との双方の条
件を満足するように前記位置未定係数の値を決定
し、それによつて特定される前記位置補間関数に
よつて、通過点Xi,Xi+1の間の区間における
補間軌跡を決定する。(Structure of the Invention) A robot control method of the present invention is a robot control method for causing a working point of a robot having a drive mechanism to move through predetermined discrete passing points in a predetermined order, the method comprising: A position interpolation function with a time parameter as a variable and four or more undetermined coefficients is defined, and four consecutive passing points in the above order are defined as Xi-1, Xi, Xi+1,
When Xi + 2, the value of the position undetermined coefficient is determined so as to satisfy both conditions (a) and (b) below, and the passing point is determined by the position interpolation function specified thereby. Determine the interpolation trajectory in the section between Xi and Xi+1.
(a) 通過点Xi,Xi+1におけるそれぞれの速度
ベクトルの大きさが、当該通過点Xi,Xi+1
について準備されたそれぞれの前記速度の値に
応じた値となること。(a) The magnitude of each velocity vector at the passing point Xi, Xi+1 is
The value shall correspond to each of the speed values prepared for each of the above-mentioned speeds.
(b) 通過点Xiにおける前記速度ベクトルの方向
が少なくとも通過点Xi−1,Xi,Xi+1の相
対的位置関係に依存する方向となるとともに、
通過点Xi+1における前記速度ベクトルの方
向が少なくとも通過点Xi,Xi+1,Xi+2の
相対的位置関係に依存する方向となること。(b) The direction of the velocity vector at the passing point Xi is a direction that depends on at least the relative positional relationship of the passing points Xi−1, Xi, and Xi+1, and
The direction of the velocity vector at the passing point Xi+1 is a direction that depends at least on the relative positional relationship of the passing points Xi, Xi+1, and Xi+2.
また、この発明のロボツト制御装置は、上記方
法を実現する手段を含んでいる。 Furthermore, the robot control device of the present invention includes means for implementing the above method.
ただし、この明細書で用いる「作業点」という
用語は、ロボツトのツールの先端やエンドエフエ
クタの先端、さらにはレーザ熔断ロボツトなどで
はレーザの焦点位置など、ロボツトが実際に作業
を行なう位置を指すものとして用いる。また、
「通過点」とは、出発点や停止点をも包含した用
語である。 However, the term "work point" used in this specification refers to the position where the robot actually performs the work, such as the tip of the robot's tool, the tip of the end effector, or even the focal point of the laser in the case of a laser melting robot. Use as something. Also,
The term "passing point" includes starting points and stopping points.
(発明の実施例)
(1) 実施例の全体的構成と動作
第4図は、この発明の一実施例であるロボツト
制御装置と、この制御装置を用いて制御されるロ
ボツトとを例示した全体図である。第4図に示し
たロボツトRBは、直角座標型のレーザ熔断ロボ
ツトであるが、この発明のロボツト制御装置は他
の種類のロボツト、たとえば各種の座標型や多関
節型の、溶接ロボツトや組立ロボツトなどの制御
にも用いることができるということを、あらかじ
め指摘しておく。(Embodiments of the Invention) (1) Overall Configuration and Operation of the Embodiment FIG. 4 is an overall diagram illustrating a robot control device which is an embodiment of the present invention and a robot controlled using this control device. It is a diagram. Although the robot RB shown in FIG. 4 is a rectangular coordinate type laser welding robot, the robot control device of the present invention can also be used for other types of robots, such as various coordinate type and articulated welding robots and assembly robots. It should be pointed out in advance that it can also be used to control such things.
第1図において、このロボツトRBは基台1を
有しており、この基台1は、水平方向すなわち図
のX方向に延びた作業台2と、この作業台2の両
側部から、X方向に対して直角に延びた、支持台
3とを備えている。作業台2の上には、X方向に
移動自在な移動台4か載置されており、この移動
台4は、モータM1(図示せず)によつて駆動され
て、X方向に往復運動を行なう。支持台3の上に
は、2本のコラム5が略平行に立設されており、
これらのコラム5の頂部の間には、図のY方向に
延びたビーム6が架設されている。このビーム6
には、鉛直方向すなわち図のZ方向に延びた移動
コラム7が、Y方向に移動自在に取りつけられて
いる。モータM2は、この移動コラム7をY方向
に往復運動させるための動力源である。移動コラ
ム7には、その下端に取りつけられたモータM4
をZ方向に上下させるためのモータM3が設けら
れている。モータM4の下部には、Z方向に延び
たアーム8が、モータM4の回転軸からはずれた
位置に取りつけられており、モータM4の回転に
伴なつて、このアーム8は図のθ方向に回転す
る。また、アーム8の下側部には、レーザトーチ
Tが取りつけられたモータM5が設けられており、
このモータM5が回転することによつて、レーザ
トーチTが図のψ方向に旋回する。これらのモー
タM1〜M5には、それぞれのモータの回転角をエ
ンコードするためのエンコーダE1〜E5(図示せ
ず)が、それぞれ取りつけられている。 In FIG. 1, this robot RB has a base 1, and this base 1 has a workbench 2 extending in the horizontal direction, that is, the X direction in the figure, and a It is provided with a support stand 3 extending at right angles to the support base 3. A moving table 4 that is movable in the X direction is placed on the work table 2, and this moving table 4 is driven by a motor M1 (not shown) to perform reciprocating motion in the X direction. Do the following. Two columns 5 are erected approximately parallel to each other on the support base 3.
A beam 6 extending in the Y direction in the figure is installed between the tops of these columns 5. This beam 6
A moving column 7 extending in the vertical direction, that is, the Z direction in the figure, is attached so as to be movable in the Y direction. The motor M2 is a power source for reciprocating the moving column 7 in the Y direction. The moving column 7 has a motor M4 attached to its lower end.
A motor M3 is provided to move the motor up and down in the Z direction. At the bottom of the motor M4 , an arm 8 extending in the Z direction is attached at a position offset from the rotation axis of the motor M4 . Rotate in the direction. Furthermore, a motor M5 to which a laser torch T is attached is provided on the lower side of the arm 8.
By rotating this motor M5 , the laser torch T turns in the ψ direction in the figure. Encoders E 1 to E 5 (not shown) are attached to these motors M 1 to M 5 , respectively , for encoding the rotation angle of each motor.
レーザ発振装置9は、熔断作業に必要とされる
だけのパワーを有するレーザ光を発振し、レーザ
ガイドパイプ10を通して、このレーザ光をレー
ザトーチTへと与えることができる。制御装置1
1は、このロボツトRBとレーザ発振装置9とを
制御するためのものであつて、この発明の実施例
であるロボツト制御装置である。 The laser oscillation device 9 can oscillate a laser beam having enough power for the welding operation, and can provide this laser beam to the laser torch T through the laser guide pipe 10. Control device 1
Reference numeral 1 denotes a robot control device for controlling the robot RB and the laser oscillation device 9, and is an embodiment of the present invention.
第5図は、前述した制御装置11の中に含まれ
る制御回路20のブロツク図である。この制御回
路20は、主制御回路として、たとえばマイクロ
コンピユータ21を含んでいる。マイクロコンピ
ユータ21は、バス213を介して互いに接続さ
れたCPU211、メモリ212およびI/Oポ
ート214を備えている。また、制御回路20に
は、I/Oポート214を介してマイクロコンピ
ユータ21の内部へと接続された補間回路22が
含まれている。この補間回路22は、後に詳しく
説明するように、テイーチング点の間の補間演算
を行なうための回路である。この補間回路22
は、この図に示したように、専用の回路として設
けてもよく、また、マイクロコンピユータ21内
において、プログラムに基く補間演算を行なわせ
ることによつて、この補間回路22を省略するこ
とも可能である。 FIG. 5 is a block diagram of the control circuit 20 included in the control device 11 described above. This control circuit 20 includes, for example, a microcomputer 21 as a main control circuit. The microcomputer 21 includes a CPU 211, a memory 212, and an I/O port 214 that are connected to each other via a bus 213. The control circuit 20 also includes an interpolation circuit 22 connected to the inside of the microcomputer 21 via an I/O port 214. This interpolation circuit 22 is a circuit for performing interpolation calculations between teaching points, as will be explained in detail later. This interpolation circuit 22
As shown in this figure, the interpolation circuit 22 may be provided as a dedicated circuit, or the interpolation circuit 22 may be omitted by having the microcomputer 21 perform interpolation calculations based on a program. It is.
I/Oポート214にはまた、前述したモータ
M1〜M5とエンコーダE1〜E5とをそれぞれ含んだ
サーボ系S〓1〜S〓5、テイーチングボツクス23、
テイーチングスイツチSWおよびレーザ発振装置
9が接続されている。テイーチングボツクス23
は、テイーチング、テスト、再生の各モードを切
替えるモード切替スイツチや、各種制御条件を入
力する入力スイツチなど(図示せず)を備えてい
る。また、テイーチングスイツチSWを押すこと
によつて、エンコーダE1〜E5からの情報がテイ
ーチング情報として、マイクロコンピユータ21
の中に取り込まれる。 The I/O port 214 also includes the aforementioned motor.
Servo systems S〓 1 to S〓 5 including M 1 to M 5 and encoders E 1 to E 5 , respectively, a teaching box 23,
A teaching switch SW and a laser oscillation device 9 are connected. teaching box 23
The apparatus is equipped with a mode changeover switch for switching between teaching, test, and playback modes, and an input switch for inputting various control conditions (not shown). Also, by pressing the teaching switch SW, the information from the encoders E 1 to E 5 is sent to the microcomputer 21 as teaching information.
be taken into the.
第4図に示したロボツトRBに再生動作を行な
わせるには、まず、ワーク(図示せず)を、移動
第4の上に固定する。その後、テイーチングボツ
クス23を操作することによつて、再生モードと
する。すると、CPU211は、メモリ212に
記憶されているテイーチング情報を順次読み出
し、バス213およびI/Oポート214を介し
て、この情報を補間回路22へと与える。この補
間回路22は、後に詳しく説明するような構成と
動作とを有しており、入力されたテイーチング情
報の補間演算を行なつて得られた補間指令値をモ
ータM1〜M6へと出力する。モータM1〜M6は、
この補間指令値に基づいて回転し、それによつて
レーザトーチTの先端は、ワークに対する相対位
置と相対速度とを変化させながら、所定の軌跡を
描く。CPU211は、これと同時に、レーザ発
振装置9へと出力制御信号を与える。レーザ発振
装置9は、この出力制御信号に基づいて、そのレ
ーザ出力を、所定の出力値に固定するか、または
必要に応じて変化させる。このような動作によつ
て、レーザトーチTからのレーザがワークに照射
され、所望の軌跡に従つたワークの溶断が行なわ
れる。 In order to cause the robot RB shown in FIG. 4 to perform a regeneration operation, first, a workpiece (not shown) is fixed on the movable member 4. Thereafter, by operating the teaching box 23, the reproduction mode is set. Then, the CPU 211 sequentially reads the teaching information stored in the memory 212 and provides this information to the interpolation circuit 22 via the bus 213 and I/O port 214. This interpolation circuit 22 has a configuration and operation that will be explained in detail later, and outputs interpolation command values obtained by performing interpolation calculations on input teaching information to motors M 1 to M 6 . do. Motors M 1 to M 6 are
The laser torch T rotates based on this interpolation command value, thereby causing the tip of the laser torch T to draw a predetermined trajectory while changing its relative position and relative speed with respect to the workpiece. At the same time, the CPU 211 provides an output control signal to the laser oscillation device 9. Based on this output control signal, the laser oscillation device 9 fixes its laser output to a predetermined output value or changes it as necessary. Through such an operation, the workpiece is irradiated with the laser from the laser torch T, and the workpiece is melted along a desired trajectory.
(2) 補間制御の原理
ここで、前述した制御回路20において実行さ
れる補間の原理を具体例に則して説明する。たと
えば、プレイバツク方式のロボツト用制御装置を
孝えた場合、テイーチングによつて、離散的な通
過点としてのテイーチング点の位置情報たとえば
位置ベクトルx→i(i=1,2,…,m:mは整
数)の各成分と、上記テイーチング点を作業点が
通過するときの通過速度の大きさuiとが与えられ
ている。そこで、x→i(1,2,…,m)の連鎖
の間を補間する位置の補間関数を、時刻tの関数
としてx→(t)と書き、この発明の条件を満足するx→
(t)のひとつの例として、各補間区間ごとに成立す
る次の補間関数を考える。(2) Principle of interpolation control Here, the principle of interpolation executed in the control circuit 20 described above will be explained using a specific example. For example, in the case of a playback type robot control device, the position information of the teaching point as a discrete passing point, for example, the position vector x→ i (i=1, 2,..., m: m is (integer) and the magnitude of the passing speed u i when the work point passes the teaching point. Therefore, the interpolation function for the position interpolating between the chains of x→ i (1, 2,..., m) is written as x→(t) as a function of time t, and x→
As an example of (t), consider the following interpolation function that holds for each interpolation interval.
x→(t)=u→i(Ti−t)2t/Ti 2+(X→i+1−X
→i)
(3Ti−2t)・t2/Ti 3+u→i+1(t−Ti)・t2/Ti 2+
X→i
(i=1,2,…m) …(5)
ただし、(5)式において、u→iは、第6図に示す
ように、大きさuiを有し、ベクトルxi-1x――――→i
と
xix――→i+1とのそれぞれの方向の中間の方向を有す
るものとして定義されるベクトルである。すなわ
ち、
u/→i/ui=(X/→i−X/→i-1/‖X/→i−X/
→i-1‖+X/→i+1−X/→i/‖X/→i+1−X/→i
‖)/‖X/→i−X/→i-1/‖X/→i−X/→i-1‖
+X/→i+1−X/→i/‖X/→i+1−X/→i‖‖…(6
)
u/→i+1/ui+1=(X/→i+1−X/→i/‖X/→i+1
−X/→i‖+X/→i+2−X/→i+1/‖X/→i+2−X
/→i+1‖)/‖X/→i+1−X/→i/‖X/→i+1−X
/→i‖+X/→i+2−X/→i+1/‖X/→i+2−X/→
i+1‖‖…(7)
である。ここで記号‖ ‖は、ベクトルのノルム
を示す。 x→(t)=u→ i (T i −t) 2 t/T i 2 +(X→ i +1−X
→ i ) (3Ti−2t)・t 2 /T i 3 +u→ i+1 (t−T i )・t 2 /T i 2 +
X→ i (i=1,2,...m) ...(5) However, in equation (5), u→ i has a size u i as shown in FIG. 6, and the vector x i- 1 x――――→ i
It is a vector defined as having a direction intermediate between the directions of That is, u/→ i /u i = (X/→ i −X/→ i-1 /‖X/→ i −X/
→ i-1 ‖+X/→ i+1 −X/→ i /‖X/→ i+1 −X/→ i
‖)/‖X/→ i −X/→ i-1 /‖X/→ i −X/→ i-1 ‖
+X/→ i+1 −X/→ i /‖X/→ i+1 −X/→ i ‖‖…(6
) u/→ i+1 /u i+1 = (X/→ i+1 −X/→ i /‖X/→ i+1
−X/→ i ‖+X/→ i+2 −X/→ i+1 /‖X/→ i+2 −X
/→ i+1 ‖)/‖X/→ i+1 −X/→ i /‖X/→ i+1 −X
/→ i ‖+X/→ i+2 −X/→ i+1 /‖X/→ i+2 −X/→
i+1 ‖‖…(7). Here, the symbol ‖ ‖ indicates the norm of the vector.
もつとも、i=1すなわち出発点においては、
X→i-1は定義されていないが、この場合のX→i-1は
適当な値として設定しておけばよく。たとえば
X→i-1=X→i−(X→i+1−X→i) …(8)
と設定しておくことができる。この(8)式は、X→i-
1が、X→iに関して、X→i+1の反対側に位置するとい
う条件である。また、Tiは、作業点がx→からx→i+
1に至るまでの所要時間であつて、
Ti=‖xi+1−xi‖/(ui+ui+1/2) …(9)
で与えられる。さらに、(5)式における時刻tは、
作業点がx→iを通過した時刻をt=0として測つ
てあり、したがつてx→i(i=1,2,…,m)
のそれぞれを通過するごとに0へとリセツトされ
る時刻である。もつとも、軌跡全体を通した時刻
taで表現したいときには、
t→ta−i-1
〓j=1
Ti …(10)
と置換えれば良い。 However, at i=1, that is, at the starting point,
Although X→ i-1 is not defined, X→ i-1 in this case can be set as an appropriate value. For example, it can be set as X→ i-1 =X→ i −(X→ i+1 −X→ i )…(8). This equation (8) is
1 is located on the opposite side of X→ i+1 with respect to X→ i . Also, T i is the working point from x→ to x→ i+
1 , and is given by T i =‖x i+1 −x i ‖/(u i +u i+1 /2) (9). Furthermore, the time t in equation (5) is
The time when the work point passes x→ i is measured as t=0, so x→ i (i=1, 2,..., m)
This is the time that is reset to 0 each time the signal passes through each of the points. However, the time throughout the entire trajectory
If you want to express it as t a , you can replace it with t→t a − i-1 〓 j=1 T i …(10).
(5)式のx→(t)が、この発明の基礎となる条件を満
足することは、容易に確認することができる。事
実(5)式において、t=0,Tiとすると、
x→(0)=x→i …(11)
x→(Ti)=x→i+(x→i+1−x→i)=x→i+1…
(12)
となる。また、d/dtx→(t)=v→(t)と置くと、(5)
式よ
り、
v→(t)=u→i(Ti−t)2/Ti 2
+w→i(Ti−t)・t/Ti 2+u→i+1t2/Ti 2…(13)
となる。ただし、
w→i=6/Ti(x→i+1−x→i)
−2(u→i+u→i+1) …(14)
である。したがつて、t=0,Tiとすると、次の
式を得る。 It can be easily confirmed that x→(t) in equation (5) satisfies the conditions underlying this invention. In fact, in equation (5), if t=0, T i , x→(0)=x→ i …(11) x→(T i )=x→ i +(x→ i+1 −x→ i )=x→ i+1 ...
(12) becomes. Also, if we set d/dtx→(t)=v→(t), (5)
From the formula, v→(t)=u→ i (T i -t) 2 /T i 2 +w→ i (T i -t)・t/T i 2 +u→ i+1 t 2 /T i 2 ... (13) becomes. However, w→ i =6/T i (x→ i+1 −x→ i ) −2(u→ i +u→ i+1 ) (14). Therefore, if t=0 and T i , the following equation is obtained.
v→(0)=u→i …(15)
v→(Ti)=u→i+1 …(16)
(6)式からわかるように、u→i,u→i+1はx→i-1〜
x→i+
2の相対関係で定まる量であるから、(5)式で与え
られる補間関数は、この発明の基礎となる条件を
満足する補間関数のひとつの例となつている。 v→(0)=u→ i …(15) v→(T i )=u→ i+1 …(16) As can be seen from equation (6), u→ i and u→ i+1 are x→ i-1 ~
x → i+
Since the quantity is determined by the relative relationship of 2 , the interpolation function given by equation (5) is an example of an interpolation function that satisfies the basic conditions of this invention.
ここで、(5)式の補間関数の性質をさらに詳しく
説明す。まず、(5)式の補間関数は、時刻tについ
ての3次式であるから、tについて整理すれば、
4つの係数が含まれていることになる。したがつ
て、(5)式を別の観点から見れば、tについての3
次の多項式に含まれている4つの係数を、補間区
間の両端のテイーチングを通すための2つの条件
と、両端のテイーチング点における速度の方向を
テイーチング点の位置の相対的関係に依存させる
ための2つの条件とによつて特定したものと考え
ることもできる。 Here, the properties of the interpolation function in equation (5) will be explained in more detail. First, the interpolation function in equation (5) is a cubic equation with respect to time t, so if we rearrange it with respect to t, we get
This means that four coefficients are included. Therefore, if we look at equation (5) from another perspective, 3 for t
The four coefficients included in the following polynomial are used to pass the teaching at both ends of the interpolation interval, and to make the direction of velocity at the teaching points at both ends depend on the relative relationship between the positions of the teaching points. It can also be considered that it is specified based on two conditions.
この例においては、速度v→(t)の方向が、テイー
チング点x→iにおいて、ベクトルxi-1x――――→i
と、ベ
クトルxix――→i+1とのそれぞれの方向の中間の方向
となつていることに注意されたい。このような条
件を課すことによつて、テイーチング点x→iとx→i+
1との間の補間関数が、この区間の外部に隣接す
る2つのテイーチング点x→i-1およびx→i+2のそれ
ぞれの位置情報を取り込んだものとなつているの
である。すなわち、(5)式のような比較的簡単な関
数によつて、作業点が動くべき軌跡の大域的な正
確が反映されているのである。 In this example, the direction of the velocity v→(t) is the vector x i-1 x――――→ i at the teaching point x→ i
Note that the direction is intermediate between the directions of and the vector x i x ---→ i+1 . By imposing such conditions, the teaching points x→ i and x→ i+
The interpolation function between 1 and 1 incorporates the positional information of two teaching points x→ i-1 and x→ i+2 adjacent to each other outside this section. In other words, the global accuracy of the trajectory along which the work point should move is reflected by a relatively simple function such as equation (5).
また、このような条件が存在するために、i=
1,2,3,…,mのそれぞれについて求められ
た(5)式の補間関数をつないで得られる全体的な補
間関数は、それぞれのテイーチング点において
も、位置および速度の意で滑らかな関数となつて
いる。位置が時刻tについての3次関数であると
いうことは、x→(t)の、tについての4回以上の微
係数は常に0→となり、これらにおいても連続性が
存在することになる。 Also, since such a condition exists, i=
The overall interpolation function obtained by connecting the interpolation functions of equation (5) obtained for each of 1, 2, 3, ..., m is a smooth function in terms of position and velocity at each teaching point. It is becoming. The fact that the position is a cubic function with respect to time t means that the differential coefficient of x→(t) with respect to t four times or more is always 0→, and continuity exists in these as well.
さらに、(5)式の補間関数は、多項式の一般的性
質からわかるように、直線部および曲線部のいず
れをもからに正確に表現できることになる。従つ
て、位置および速度の意味で滑らかなx→i〜x→i+3
が一直線上に存在する場合には、直線補間に極め
て近い補間関数が得られる。さらに、ひとつの円
周上にx→i〜x→i+3が存在すれば、円弧補間に極め
て近い補間関数を得ることができる。 Furthermore, as can be seen from the general properties of polynomials, the interpolation function of equation (5) can accurately represent both straight and curved sections. Therefore, x→ i ~x→ i+3 is smooth in the sense of position and velocity.
If it exists on a straight line, an interpolation function that is very close to linear interpolation is obtained. Furthermore, if x→ i to x→ i+3 exist on one circle, an interpolation function extremely close to circular interpolation can be obtained.
このようにして得られた補間軌跡の例を第13
図に示す。この軌跡Fは、隣接するテイーチング
点間で定義された複数の補間関数「…,Fi-1,
Fi,Fi+1,…」の滑らかな連鎖となつている。 The example of the interpolated trajectory obtained in this way is shown in the 13th example.
As shown in the figure. This trajectory F is created using multiple interpolation functions “…, F i-1 ,
F i , F i+1 ,...'' form a smooth chain.
ところで、(5)式の補間関数においては、ui=0
となるようなテイーチング点すなわち出発点や停
止点での振舞が問題となる。そこで、(5)式を時刻
tについて微分し、加速度α→(t)を求めると、
α→(t)=(−2u→i+w→i)
+2(u→i−w→i+u→i+1)t/Ti …(17)
となる。 By the way, in the interpolation function of equation (5), u i =0
The problem is the behavior at the teaching point, that is, the starting point and stopping point. Therefore, by differentiating equation (5) with respect to time t and finding the acceleration α→(t), α→(t)=(-2u→ i +w→ i ) +2(u→ i −w→ i +u→ i +1 ) t/T i ...(17).
この(17)式においてt=0,ui=0とすると、
α→(0)=w→i|ui=0
=6/T(x→i+1−x→i)−2u→i+1 …(18)
となる。つまり、t=0,ui=0すなわち出発点
においても、加速度α→(t)の方向が定義されてお
り、出発点を含む軌跡にも(5)式の補間関数を用い
ることができることを示している。停止点におい
ても、同様に、停止までの動きは完全に定義され
る。 In this equation (17), if t=0 and u i =0, α→(0)=w→ i | ui=0 =6/T(x→ i+1 −x→ i )−2u→ i+ 1 …(18) becomes. In other words, the direction of acceleration α→(t) is defined even at t = 0, u i = 0, that is, the starting point, and the interpolation function of equation (5) can also be used for the trajectory including the starting point. It shows. Similarly, at the stop point, the movement up to the stop is completely defined.
上述した説明では、(5)式を例にとつて、この発
明に用いられる補間の原理を説明したが、もちろ
ん、(5)式以外の関数形を基礎とすることも可能で
ある。たとえば、x→(t)として、tについての4次
以上の高次の多項式や、多項式以外の、少なくと
も4つの係数を含むような時刻tの関数によつて
もこの発明に必要な条件を満足させることができ
る。4次以上の多項式を用いると、加速度をも滑
らかにつなぐような補間関数とすることもでき
る。また、注目としている補間区間x→i〜x→i+1に
隣接したテイーチング点x→i-1,x→i+2のみならず、
さらに遠方のテイーチング点の情報を取り込むこ
ともできよう。 In the above explanation, the principle of interpolation used in the present invention has been explained using equation (5) as an example, but it is of course possible to use a function form other than equation (5) as the basis. For example, as x→(t), the conditions necessary for this invention can also be satisfied by a polynomial of degree 4 or higher with respect to t, or by a function of time t that includes at least four coefficients other than a polynomial. can be done. By using a polynomial of degree 4 or higher, it is possible to create an interpolation function that smoothly connects acceleration. In addition, not only the teaching points x→ i -1 and x→ i+2 adjacent to the interpolation interval x→ i ~ x→ i+1 of interest, but also
It would also be possible to import information from distant teaching points.
このように、この発明の条件に対応する補間関
数は、大域域的性格と滑らかさの点において、前
述した穂坂の補間に匹敵する利点を有しているこ
とになる。また、一方では、穂坂の補間におけ
る、時刻の対応関係の決定や逆変換のような複雑
な手続を要ず、直線補間や円弧補間とあまり変わ
らない簡単な関数形によつて補間制御が可能とな
るわけである。これらの意味において、この発明
における条件を満足する補間法は、これらの従来
の補間法の長所を兼ね備えていることになる。 In this way, the interpolation function that meets the conditions of the present invention has advantages comparable to Hosaka's interpolation described above in terms of global characteristics and smoothness. On the other hand, in Hosaka's interpolation, interpolation control can be performed using a simple function form that is not much different from linear interpolation or circular interpolation, without requiring complicated procedures such as determining time correspondences or inverse conversion. That's why it happens. In this sense, an interpolation method that satisfies the conditions of the present invention has the advantages of these conventional interpolation methods.
(3) 補間制御の具体化
次に、前述した(5)式を補間制御の基礎となる場
合を例にとつて、この発明に用いられる補間制御
の具体化について説明する。この補間制御は、た
とえば第5図の制御回路20の内部において、各
テイーチング点の位置情報x→iと、速度情報uiとに
基づいて(5)式をそのまま演算し、その演算結果に
応じた指令値をロボツトの各モータM1〜M5へと
出力すればよい。この方法ももちろん有用である
が、以下では、より高速に補間演算を行なう方法
を導き、それに従つた制御について説明する。そ
こでまず、(5),(13),(17)式を整理して次の(19)〜
(21)式として再掲しておく。(3) Implementation of interpolation control Next, implementation of the interpolation control used in the present invention will be described, taking as an example the case where the above-mentioned equation (5) is the basis of interpolation control. In this interpolation control, for example , inside the control circuit 20 shown in FIG. It is sufficient to output the command values to each motor M1 to M5 of the robot. Although this method is of course useful, a method for performing interpolation calculations at higher speed will be introduced below, and control according to the method will be explained. Therefore, first, we rearrange equations (5), (13), and (17) to obtain the following (19) ~
We will reproduce it as equation (21).
x→(t)≡x→=x→i+u→i・Ti(1−t/Ti)2・
(t/Ti)+
(x→i+1−x→i)・(3−2t/Ti)・(t/Ti)2
+u→i+ 1
・Ti・(t/Ti−1)・(t/Ti)2 …(19)
v→(t)≡v→=dx/→/dt=u→i+(−2u→i
+w→i)・(t/Ti)
+(u→i−w→i+u→i+1)・(t/Ti)2 …(20)
α→(t)≡α→=dv/→/dt=(−2u→i+w→i
)・1/Ti+2(u→i
−w→i+u→i+1)・t/Ti 2 …(21)
さらに、加速度の時刻tによる微分β→(t)は、
β→(t)≡β→=dα/→/dt
=2(u→i−w→i+u→i+1)・1/Ti 2…(22)
となる。 x→(t)≡x→=x→ i +u→ i・T i (1−t/T i ) 2・
(t/T i )+ (x→ i+1 −x→ i )・(3-2t/T i )・(t/T i ) 2
+u→ i+ 1・T i・(t/T i −1)・(t/T i ) 2 …(19) v→(t)≡v→=dx/→/dt=u→ i +(−2u → i
+w→ i )・(t/T i ) +(u→ i −w→ i +u→ i+1 )・(t/T i ) 2 …(20) α→(t)≡α→=dv/→ /dt=(-2u→ i +w→ i
)・1/T i +2(u→ i −w→ i +u→ i+1 )・t/T i 2 …(21) Furthermore, the differential β→(t) of acceleration with respect to time t is β→(t )≡β→=dα/→/dt =2(u→ i −w→ i +u→ i+1 )・1/T i 2 (22).
つまり、(19)式のx→は、微分方程式(20)〜(22)を
次の初期条件で積分することによつて得られるこ
とになる。 In other words, x→ in equation (19) can be obtained by integrating differential equations (20) to (22) under the following initial conditions.
α→ioi=1/Ti(−2u→i+w→i) …(23)
v→ioi=u→i …(24)
x→ioi=x→i …(25)
ところで、微分方程式(20)〜(22)をそのまま解
いた場合には、(19)式を計算することにほかならな
いことになり、多くの掛算を必要とする。このた
め、ここでは、(19)〜(22)式を加算によつて解く
ように近似することによつて、計算ステツプの減
少を図ることにする。すなわち、微小時間Δtを
導入し、次の式によつて、上記微分方程式を近似
する。 α→ ioi =1/T i (−2u→ i +w→ i ) …(23) v→ ioi =u→ i …(24) x→ ioi =x→ i …(25) By the way, differential equation (20) If ~(22) is solved as is, it will be nothing but calculation of equation (19), which will require many multiplications. Therefore, here, we will attempt to reduce the calculation steps by approximating equations (19) to (22) to be solved by addition. That is, a minute time Δt is introduced and the above differential equation is approximated by the following equation.
x→oew=x→pld+v→pld・Δt …(26)
v→oew=v→pld+α→pld・Δt …(27)
α→oew=α→pld+β→pld・Δt …(28)
β→oew=β→pld=2(u→i−w→i+u→i+1)・
1/Ti 2…(29)
これらにおいて、添字「old」は、前の時刻t
について得られたそれぞれの値を示し、「new」
は、時刻(t+Δt)におけるそれぞれの値を示
す。このような変形を行なうことによつて、Δt
としてたとえば2-10secととつた場合には、
2-10secごとに上記(26)〜(28)式の加算を行
なえば、新たな補間値を近似的に得ることができ
るわけである。特に、この例のように、Δt=2-N
(Nは整数)ととれば、(26)〜(28)式のそれぞ
れの右辺第2項の計算は、v→pldなどをNビツトだ
け下位側にシフトさせるだけですむわけであるか
ら、掛算を必要とせずに、シフト演算と加算のみ
によつて、微分方程式を解くことができる。この
ように、シフト演算と加算のみで微分方程式を解
くことによつて、演算時間は短縮化され、専用の
ハードウエアでこの演算を行なわせることも容易
になる。(26)〜(28)式の加算の繰返しは、
[Ti/Δt]回だけ繰返し(記号[ ]は整数化に関
するガウスの記号を示す)で、その後、次のテイ
ーチング点の情報をとり込んで、新たに加算の繰
返しを始める。このため、累積誤差は、上記の例
では1デシツト以下となり、この近似による誤差
は、実用上、問題とならない。 x→ oew =x→ pld +v→ pld・Δt …(26) v→ oew =v→ pld +α→ pld・Δt …(27) α→ oew =α→ pld +β→ pld・Δt …(28) β→ oew =β→ pld =2(u→ i −w→ i +u→ i+1 )・
1/T i 2 ...(29) In these, the subscript "old" indicates the previous time t
Indicate each value obtained for "new"
indicates each value at time (t+Δt). By performing such transformation, Δt
For example, if we take 2 -10 sec,
If the above equations (26) to (28) are added every 2 -10 seconds, a new interpolated value can be approximately obtained. In particular, as in this example, Δt=2 -N
(N is an integer), the calculation of the second term on the right side of each of equations (26) to (28) can be done by simply shifting v→ pld , etc. by N bits to the lower side. Differential equations can be solved using only shift operations and addition without the need for . In this way, by solving differential equations using only shift operations and additions, the operation time is shortened, and it becomes easy to have dedicated hardware perform this operation. The repetition of addition in equations (26) to (28) is
The process is repeated [T i /Δt] times (the symbol [ ] indicates a Gaussian symbol related to integerization), and then the information of the next teaching point is taken in and a new repetition of addition is started. Therefore, the cumulative error is less than 1 decimal in the above example, and the error caused by this approximation does not pose a problem in practice.
(4) 補間回路22の構成と動作
上述した補間法の具体例に基づく演算は、第5
図中の補間回路22において行なわれる。この補
間回路22の詳細を、第7図にブロツク図として
示す。(4) Configuration and operation of the interpolation circuit 22 The calculation based on the specific example of the interpolation method described above is
This is performed in the interpolation circuit 22 in the figure. The details of this interpolation circuit 22 are shown as a block diagram in FIG.
この補間回路22は、I/Oポート214、バ
ス213を介してCPU211およびメモリ21
2へと接続されたバツフア101〜104を備え
ている。このうち、加速度の時間微分β→の値をバ
ツフアするバツフア101の出力は、加速度α→に
関する加算を行なう加算器105に入力されてお
り、この加算器105の出力は、加速度α→の値を
バツフアするバツフア106へと与えられてい
る。このバツフア106の出力は2つに分岐され
て、そのひとつは上述した加算器105の他の入
力として与えられ、他のひとつは、速度v→に関す
る加算を行なう加算器107へと与えられてい
る。加算器107の出力は、速度v→の値をバツフ
アするバツフア108へと与えられ、このバツフ
ア108の出力は、加算器107の他の入力と、
位置x→について加算を行なう加算器109のひと
つの入力として与えられている。また、このバツ
フア108の出力はライン111を介して、I/
Oポート214へも与えられている。加算器10
9の出力は、位置x→の値をバツフアするバツフア
110へと与えられている。このバツフア110
の出力は2つに分岐されて、そのひとつは加算器
109の他の入力として与えられ、他のひとつは
ライン112を介してI/Oポート214へと与
えられている。 This interpolation circuit 22 connects the CPU 211 and the memory 21 via an I/O port 214 and a bus 213.
2, buffers 101 to 104 are provided. Among these, the output of the buffer 101 that buffers the value of the time differential β→ of acceleration is input to the adder 105 that performs addition regarding the acceleration α→. It is given to the buffer 106 which buffers. The output of this buffer 106 is branched into two parts, one of which is given as the other input to the adder 105 mentioned above, and the other one is given to an adder 107 that performs addition regarding the velocity v→. . The output of the adder 107 is given to a buffer 108 that buffers the value of velocity v→, and the output of this buffer 108 is combined with the other input of the adder 107,
It is given as one input of an adder 109 that performs addition for the position x→. The output of this buffer 108 is also connected to the I/O via line 111.
It is also provided to O port 214. Adder 10
The output of 9 is provided to a buffer 110 which buffers the value of position x→. This batshua 110
The output of is branched into two, one of which is provided as the other input of adder 109 and the other is provided to I/O port 214 via line 112.
上述した加算器105,107,109はそれ
ぞれ、その2つの入力のうち、前段のバツフアで
ある101,106,108の出力としてそれぞ
れ得られる入力を下位側に10ビツトだけシフトさ
せて、残りの入力つまり後段のバツフア106,
108,110のそれぞれの出力と加算するよう
に構成されている。したがつて、前段のバツフア
からの入力をQ1とし、後段のバツフアからの残
りの入力をQ2とすると、これらの加算器によつ
て得られる加算出力Qは、
Q=Q2+Q1×2-10 …(30)
となつている。 The above-mentioned adders 105, 107, and 109 respectively shift the inputs obtained as the outputs of the previous stage buffers 101, 106, and 108 to the lower order side by 10 bits among their two inputs, and use the remaining inputs. In other words, the rear buffer 106,
It is configured to add the respective outputs of 108 and 110. Therefore, if the input from the buffer in the previous stage is Q 1 and the remaining input from the buffer in the latter stage is Q 2 , then the addition output Q obtained by these adders is Q = Q 2 + Q 1 × 2 -10 …(30).
バツフア102〜104はそれぞれ、加速度、
速度および位置に関する初期化を行なうためのも
のであつて、その出力はそれぞれバツフア10
6,108および110へと与えられている。ク
ロツク発生回路113は、バツフア106,10
8および110にクロツク信号φを与えるための
ものであり、I/Oポート214に接続されたク
ロツク用バツフア114と、このクロツク用バツ
フア114の出力およびタイマ116の出力を受
けてクロツク信号φを出力するカウンタ115と
を備えている。 The buffers 102 to 104 are acceleration,
It is for initializing speed and position, and its output is a buffer of 10
6, 108 and 110. The clock generation circuit 113 includes buffers 106 and 10.
8 and 110, and receives the clock buffer 114 connected to the I/O port 214, the output of this clock buffer 114, and the output of the timer 116, and outputs the clock signal φ. A counter 115 is provided.
この補間回路22における、前述した(26)〜
(29)式に基づく補間演算は、次のように行なわ
れる。まず、テイーチングボツクス23(第5
図)を操作することによつて再生モードとする
と、メモリ212の中に記憶されていたテイーチ
ング情報に基づいて、CPU211が、加速度の
時間微分、加速度、速度および位置の、ひとつの
補間区間におけるそれぞれの初期値β→ioi,α→ioi,
v→ioi,およびx→ioi((22)〜(25)式参照)を計
算
し、これらをそれぞれバツフア101〜104に
与える。ただし、β→はひとつの補間区間の中では
定数となつているため、
β→ioi=β→=2
(u→i−w→i+u→i+1)・1/Ti 2…(31)
である。また、これと並行して、微小時間幅Δt
=2-10secの値がメモリ212からクロツク用バ
ツフア114へと与えられる。また、前述した初
期値のうちα→ioi,v→ioi,およびx→ioiは、それ
ぞれ
バツフア106,108および110へと移され
て、この補間回路22は初期化される。一方、
Δtの値はカウンタ115へと与えられる。カウ
ンタ115はタイマ116からのタイマ出力を受
けてカウントし、そのカウント値がΔtを越える
ごとに、キヤリ信号をクロツク信号φとして出力
する。 In this interpolation circuit 22, the above-mentioned (26) to
The interpolation calculation based on equation (29) is performed as follows. First, teach box 23 (5th
When the playback mode is entered by operating the (Fig. The initial value β→ ioi , α→ ioi ,
v→ ioi and x→ ioi (see equations (22) to (25)) are calculated and provided to buffers 101 to 104, respectively. However, since β→ is a constant within one interpolation interval, β→ ioi =β→=2 (u→ i −w→ i +u→ i+1 )・1/T i 2 …(31 ). Also, in parallel with this, the minute time width Δt
=2 -10 sec is provided from memory 212 to clock buffer 114. Further, among the above-mentioned initial values, α→ ioi , v→ ioi , and x→ ioi are transferred to buffers 106, 108, and 110, respectively, and this interpolation circuit 22 is initialized. on the other hand,
The value of Δt is provided to counter 115. Counter 115 receives and counts the timer output from timer 116, and each time the count value exceeds Δt, it outputs a carry signal as clock signal φ.
最初のクロツクサイクルにおいて、バツフア1
06にバツフアされていた加速度の初期値α→ioi
が、加算器105へと出力される。この加算器1
05は、バツフア101からの初期値β→ioiを下位
側に10ビツトだけシフトさせて、このα→ioiと加え
合わせる。バツフア106の出力α→ioiは、加算器
107にも与えられており、この加算器107は
このα→ioiを10ビツトだけ下位側にシフトさて、バ
ツフア108の出力であるv→ioiに加え合わせる。
バツフア108の出力であるv→ioiは、加算器10
9にも与えられ、加算器109は、このv→ioiを下
位側に10ビツトだけシフトさせて、バツフア11
0の出力であるx→ioiと加え合わせる。これらの動
作と並行して、バツフア108,110のそれぞ
れの出力v→ioi,x→ioiはそれぞれ、速度指令値およ
び位置指令値としてI/Oポート214へと出力
されている。これに引き続いて、加算器105,
107,109のそれぞれの加算出力が次段のバ
ツフア106,108,110へとそれぞれ与え
られ、これらのバツフアの内容が更新される。 In the first clock cycle, the buffer 1
Initial value α of acceleration that was buffered to 06 → ioi
is output to adder 105. This adder 1
05 shifts the initial value β→ ioi from the buffer 101 by 10 bits to the lower order side and adds it to this α→ ioi . The output α→ ioi of the buffer 106 is also given to the adder 107, and the adder 107 shifts this α→ ioi by 10 bits to the lower side and adds it to the output of the buffer 108, v→ ioi . .
v → ioi , which is the output of the buffer 108, is the output of the adder 10
9, and the adder 109 shifts this v→ ioi to the lower side by 10 bits and adds it to the buffer 11.
Add x → ioi which is the output of 0. In parallel with these operations, the respective outputs v→ ioi and x→ ioi of the buffers 108 and 110 are outputted to the I/O port 214 as a speed command value and a position command value, respectively. Following this, adder 105,
The respective addition outputs of 107 and 109 are given to the next stage buffers 106, 108 and 110, respectively, and the contents of these buffers are updated.
クロツクφのその後の各サイクルにおいてもこ
れと同様に、加算器105,107,109は、
それぞれ、前段のバツフア101,106,10
8の出力を下位側にシフトさせたものと、後段の
バツフア106,108,110の出力とを加え
合わせて、後段のバツフア106,108,11
へと格納する。そして、バツフア108,110
に格納されているそれぞれの内容は、速度指令値
および位置指令値として出力される。 Similarly, in each subsequent cycle of clock φ, adders 105, 107, 109
Respectively, front stage buffers 101, 106, 10
By adding the output of 8 shifted to the lower side and the output of the subsequent buffers 106, 108, 110, the output of the subsequent buffers 106, 108, 11 is added.
Store it in. And Batsuhua 108,110
The respective contents stored in are output as a speed command value and a position command value.
したがつて、ひとつのクロツクサイクルに着目
すると、バツフア101,106,108,11
0に格納されていた内容をそれぞれ、β→pld(=β→
ioi),α→pld,v→pldで表わし、その加算結果と
して、
加算器105,107,109のそれぞれの後段
の06,108,110に新たに格納する内容を
α→oew,V→oew,x→oewで表わせば、次の式が成立
す
ることになる。 Therefore, if we focus on one clock cycle, the buffers 101, 106, 108, 11
The contents stored in 0 are respectively β→ pld (=β→
ioi ), α→ pld , v→ pld , and as the addition result,
If the contents to be newly stored in 06, 108, and 110 at the subsequent stages of adders 105, 107, and 109 are expressed as α→ oew , V→ oew , and x→ oew , the following equation holds true.
x→oew=x→pld+v→pld・2-10 …(32)
v→oew=v→pld+α→pld・2-10 …(33)
α→oew=α→pld+β→pld・2-10 …(34)
β→pld=β→ioi …(35)
Δt=2-10であることを考慮すれば、これらの式
は前述した(26)〜(29)式にほかならない。し
たがつて、クロツクφの各サイクルごとに、補間
された速度指令値および位置指令値が更新される
ことになる。 x→ oew =x→ pld +v→ pld・2 -10 …(32) v→ oew =v→ pld +α→ pld・2 -10 …(33) α→ oew =α→ pld +β→ pld・2 -10 ...(34) β→ pld =β→ ioi ...(35) Considering that Δt=2 -10 , these equations are none other than the above-mentioned equations (26) to (29). Therefore, the interpolated speed command value and position command value are updated every cycle of the clock φ.
ひとつの補間区間における繰返しが[Ti/Δt]回
行なわれると、この補間回路22はリセツトさ
れ、その後、新たな初期値に基づいた補間演算を
開始する。この動作は、再生終了命令があるまで
くり返され、所望の補間制御が行なわれることに
なる。 When one interpolation interval is repeated [T i /Δt] times, the interpolation circuit 22 is reset and then starts interpolation calculation based on a new initial value. This operation is repeated until a reproduction end command is issued, and desired interpolation control is performed.
(5) 制御回路20の変形例()
ところで、上述した実施例では、補間演算は、
専用のハードウエアである補間回路22において
行なわれており、これによつて、高速速の補間演
算回路が可能となつている。しかしながら、この
補間演算もCPU211の中で行うように構成し、
補間回路22を省略することも可能である。(5) Modification of control circuit 20 () By the way, in the above-mentioned embodiment, the interpolation calculation is as follows.
This is carried out in the interpolation circuit 22, which is dedicated hardware, and thereby enables a high-speed interpolation calculation circuit. However, this interpolation calculation is also configured to be performed within the CPU 211,
It is also possible to omit the interpolation circuit 22.
そこで以下では、CPU211によつて補間演
算を行なう場合の動作を、第8図に示したフロー
チヤートを参照して説明する。 Therefore, below, the operation when the CPU 211 performs interpolation calculation will be explained with reference to the flowchart shown in FIG.
まず、テイーチングボツクス23を操作して再
生モードとすると、CPU211はメモリ212
から、整数Nを読取る(ステツプS1)。次に、補
間区間の番号iを1とし((ステツプS2)、テイ
ーチング情報x→i-1〜x→i+2,ui,ui+1をメモリ21
2から読取る(ステツプS3)。次に、u→i,u→i+1,
Ti,[Ti/2-N],β→ioi,α→ioi,v→ioiおよびx
→ioiを、(6),
(7),(9),(23)〜(25),(31)式を用いて計算す
る(ステツプS4)。補間の繰返しカウント数jを
1とし(ステツプS5)、x→ioi,v→ioiなどの初期値
を用いて、x→pld,v→pldなどの量をそれぞれ定義す
るとともに、x→pldをそれぞれ位置指令値、速度指
令値として出力する(ステツプS6)。 First, when the teaching box 23 is operated to set the playback mode, the CPU 211 is transferred to the memory 212.
The integer N is read from (step S1). Next, the number i of the interpolation section is set to 1 ((step S2)), and the teaching information x→ i-1 ~ x→ i+2 , u i , u i+1 is stored in the memory 21.
Read from step 2 (step S3). Next, u→ i , u→ i+1 ,
T i , [T i /2 -N ], β→ ioi , α→ ioi , v→ ioi and x
→ ioi is calculated using equations (6), (7), (9), (23) to (25), and (31) (step S4). Set the interpolation repetition count number j to 1 (step S5), define the quantities x→ pld , v→ pld, etc. using the initial values of x→ ioi, v→ ioi , etc. , and set x→ pld , respectively. Output as position command value and speed command value (step S6).
CPU211の内部タイマ(図示せず)をt=
0にセツトし(ステツプS7)、ステツプS8で時刻
tを読取る。次のステツプS9においてこの時刻
tがj×Δtより小さいときにはステツプS8に戻
るが、j×Δtより大きいときには、(26)〜
(29)式によつてx→oew,v→oewなどを計算する
(ステツプS10)、Δtをv→pldなどに掛け合わせるに
は、v→i+1などを下位側にNビツトだけシフトさ
せて計算することができる。その後v→oewおよび
x→oewを、速度指令値および位置指令値として出
力する(ステツプS11)。jが[Ti/2-N]よりも大
きいか否かを判断し(ステツプS12)、J<
[Ti/2-N]の場合は、x→oew,v→oewなどによつて
新た
にx→pld,v→pldなどを定義する(ステツプS13)。
そ
の後、j=j+1としてステツプS7へと戻る。
J≧[Ti/2-N]の場合は、iが最終の補間区間であ
るか否か、つまり最終のテイーチング点に至るま
で補間演算を行なつたか否かを判断し(ステツプ
S14)、iが最終値でない場合には、i=i+1
として、ステツプS3へと戻る。iが最終値とな
ると、補間演算は終了する。 Set the internal timer (not shown) of the CPU 211 to t=
It is set to 0 (step S7) and the time t is read in step S8. In the next step S9, if this time t is smaller than j×Δt, the process returns to step S8, but if it is larger than j×Δt, (26) to
Calculate x→ oew , v→ oew , etc. using equation (29) (step S10). To multiply Δt by v→ pld , etc., shift v→ i+1 , etc. by N bits to the lower side. can be calculated. Thereafter, v→ oew and x→ oew are output as a speed command value and a position command value (step S11). It is determined whether j is larger than [T i /2 -N ] (step S12), and J<
In the case of [T i /2 -N ], x→ pld , v→ pld, etc. are newly defined by x→ oew , v→ oew, etc. (step S13).
Thereafter, the process returns to step S7 with j=j+1.
If J≧[T i /2 -N ], it is determined whether i is the final interpolation interval, that is, whether the interpolation operation has been performed until the final teaching point is reached (step
S14), if i is not the final value, i=i+1
Then, the process returns to step S3. When i reaches the final value, the interpolation operation ends.
(6) 制御回路20の変形例()
ところで、(5)式に基づくこのような補間制御は
それのみでも単独で行なうことができるが、他の
補間法と組合わせることも可能である。そのよう
な例として、ここでは、テイーチングにおける出
発点や停止点の付近の動作を滑らかにするような
他の補間法との組合せについて述べる。前述した
ように、(5)式に基づく補間法は、出発点および停
止点においても完全に定義されるから、滑らかな
出発や停止すなわち軟出発、軟停止を目的とした
他の補間法と共用することは必須ではないが、以
下に述べるような組合めを用いると、出発時や停
止時の制御がさらに精密化されることになる。そ
こでまず、新たに定式化された軟出発、軟停止の
原理について説明し、その後、これらと共用され
た形での、この出発の他の変形例を説明する。(6) Modifications of Control Circuit 20 (2) Incidentally, such interpolation control based on equation (5) can be performed alone, but it can also be combined with other interpolation methods. As such an example, a combination with other interpolation methods that smooths the movement near the starting point and stopping point in teaching will be described here. As mentioned above, the interpolation method based on equation (5) is completely defined at the start and stop points, so it can be used in common with other interpolation methods that aim for smooth starts and stops, that is, soft starts and stops. Although it is not essential to do so, using the combination described below will further refine the control at the time of starting and stopping. Therefore, first, the newly formulated principles of soft starting and soft stopping will be explained, and then other variations of this starting point that are used in common with these principles will be explained.
第9図は、このうち、軟出発の原理を説明する
ための図であり、時刻t=0でx→=x→0に停止し
ていた作業点が、x→=x→1を速度u→1で通過すると
いう条件を示している。 FIG. 9 is a diagram for explaining the principle of soft starting, in which the work point that was stopped at x→=x→ 0 at time t=0 changes x→=x→ 1 to speed u → Indicates the condition of passing with 1 .
この軟出発の方法では、作業点の加速度α→(t)
を、所定の位置たとえばx→1からの距離に相関さ
せるように構成する。したがつて、この補間関係
として比例関係を採用した場合には、kを定数と
したとき、次の式を基礎とする。 In this soft starting method, the acceleration of the work point α→(t)
is configured to be correlated to a distance from a predetermined position, for example x→ 1 . Therefore, when a proportional relationship is adopted as this interpolation relationship, the following equation is used as the basis when k is a constant.
α→(t)=dv/→(t)/dt
=k2(−x→+x→i) …(36)
ここでv→(t)は作業点の速度である。次の(37)
式の関係を(36)式に代入すると、tに関する、
位置x→(t)の2階の微分方程式である(37′)式が
得られる。 α→(t)=dv/→(t)/dt=k 2 (−x→+x→ i ) (36) Here, v→(t) is the speed of the working point. Next (37)
Substituting the relationship in equation (36) into equation (36), regarding t,
Equation (37'), which is a second-order differential equation for the position x→(t), is obtained.
v→(t)=d/dtx→(t) …(37)
d2/dt2x→(t)+k2x→(t)=k2x→1 …(37′)
(37′)式は容易に解くことができて、次の
(38),(39)式が得られる。 v→(t)=d/dtx→(t) …(37) d 2 /dt 2 x→(t)+k 2 x→(t)=k 2 x→ 1 …(37′) (37′) Formula can be easily solved and the following equations (38) and (39) are obtained.
x→(t)=
(x→0−x→1)cos kt+x→1 …(38)
v→(t)=
−k(x→0−x→1)sin kt …(39)
ただし、
u→i=−k(x→0−x→1) …(40)
kT=π/2 …(41)
であり、ここでTは、作業点がx→1に至るまでの
移動時間である。軟出発の制御にあたつては、
(38),(39)式をそのまま演算することも可能で
あるが、ここでは、加算の繰返しによつて、微分
方程式を解くというう方法を採用する。そこで、
(37)式と(37′)式とを微小時間幅Δtに対する式
と考え、時刻tにおける作業点の位置と速度とを
それぞれx→pld,v→pldとし、時刻t+Δtにおける
そ
れらをそれぞれx→oew,v→oewとすれば、次の
(42)式および(43)式が得られる。 x→(t)= (x→ 0 −x→ 1 ) cos kt+x→ 1 …(38) v→(t)= −k(x→ 0 −x→ 1 ) sin kt …(39) However, u→ i = -k(x→ 0 -x→ 1 )...(40) kT=π/2...(41) where T is the moving time until the work point reaches x→ 1 . When controlling soft start,
Although it is possible to calculate equations (38) and (39) as they are, here we adopt a method of solving differential equations by repeating addition. Therefore,
Considering equations (37) and (37') as equations for a small time width Δt, the position and velocity of the work point at time t are respectively x→ pld and v→ pld , and they are respectively x → pld at time t+Δt. oew , v → oew , the following equations (42) and (43) are obtained.
x/→oew−x/→pld/Δt=v→pld …(42) v/→oew−v/→pld/Δt =k2・(−x→pld+x→1) …(43) これらの式を整理すると、、次の式を得る。 x/→ oew −x/→ pld /Δt=v→ pld …(42) v/→ oew −v/→ pld /Δt =k 2・(−x→ pld +x→ 1 ) …(43) These equations By rearranging, we get the following formula.
x→oew=
x→pld+v→pld・Δt …(44)
v→oew=
v→pld+k2・
(−x→pld+x→1)・Δt …(45)
ところが、この式をそのまま基礎にすると、
(45)式の右辺においてk2の掛算が必要となつて
くる。このため、
2k′・Δt′=k2・Δt …(46)
Δt>Δt′>Δt/2 …(47)
が成立するように、整数k′および微小時間幅
Δt′を定義すると、(45)式の右辺第2項は、次の
(48)式のように書き換えることができる。 x→ oew = x→ pld +v→ pld・Δt…(44) v→ oew = v→ pld +k 2・(−x→ pld +x→ 1 )・Δt…(45) However, if we use this formula as it is, ,
Multiplication by k 2 becomes necessary on the right side of equation (45). Therefore, if we define the integer k′ and the minute time width Δt′ so that 2 k ′・Δt′=k 2・Δt …(46) Δt>Δt′>Δt/2 …(47) holds, then ( The second term on the right side of equation 45) can be rewritten as shown in equation (48) below.
2k′(−x→pld+x→1)Δt′
=2k′(−x→pld+x→1)・s・Δt …(48)
ただし、
s≡Δt′/Δt …(49)
である。このような変形をすることによつて、k2
の掛算は2k′の掛算に置換され、さらに、2k′の掛
算はk′ビツトだけの、上位側へのシフトによつて
置換えることができることになる。ところが、
s・Δtというフアクタがあるために、今度はs
の掛算という問題が生ずる。これを解決するため
には、速度についての繰返し演算をΔt/sごとに行
なえばよい。つまり、Δt/ssecごとに、2k′(−x→
pld
+x→1)・Δtだけの増加分をv→pldに加算して行け
ば、平均として、Δtあたり、
2k′(−x/→pld+x/→1)・Δt/(Δt/s)×
Δt
=2k′(−x→pld+x→1)・s・Δt …(50)
だけの増加分がv→pldに加算されるから、上記
(48)式の第1辺と等価な加算がなされることに
なる。Δtの掛算は、Δt=2-N(Nは整数)ととる
ことによつて、シフトに置換される。すなわち、
(44)〜(50)式によつて得られる次の(51),
(52)式の加算を、(53)式の初期条件のもので、
位置についてはΔtの時間間隔で、速度について
はΔt/sの時間間隔で、それぞれ繰返せばよい
ことになる。 2 k ′ (−x→ pld +x→ 1 ) Δt′ = 2 k ′ (−x→ pld +x→ 1 )・s・Δt (48) However, s≡Δt′/Δt (49). By performing such transformation, k 2
The multiplication by 2k ' is replaced by the multiplication by 2k', and furthermore, the multiplication by 2k ' can be replaced by a shift of only k' bits to the higher order side. However,
Since there is a factor s・Δt, this time s
The problem of multiplication arises. In order to solve this problem, it is sufficient to repeatedly calculate the speed every Δt/s. In other words, for every Δt/ssec, 2 k ′(−x→
pld +x→ 1 )・Δt is added to v→ pld , and on average, per Δt, 2 k ′(−x/→ pld +x/→ 1 )・Δt/(Δt/s) ×
Since the increment of Δt = 2 k ′ (−x→ pld +x→ 1 )・s・Δt…(50) is added to v→ pld , the addition equivalent to the first side of equation (48) above is It will be done. Multiplication by Δt is replaced by a shift by taking Δt=2 −N (N is an integer). That is,
The following (51) obtained from equations (44) to (50),
The addition of equation (52) is performed using the initial conditions of equation (53),
It is sufficient to repeat the position at a time interval of Δt and the velocity at a time interval of Δt/s.
x→oew=x→pld+v→pld・Δt …(51)
v→oew=v→pld+2k′(−x→pld+x→1)・Δt…(
52)
x→ioi=x→0,v→ioi=0→ …(53)
次に軟停止についての方法を説明する。軟停止
における条件は第10図に示されているように、
x→=x→-1を速度u→-1で通過した作業点を、x→=
x→
0で停止させるということである。この場合も
(36)式と同様に、作業点の加速度α→(t)が、通過
点x→-1からの距離に比例するような、次の(54)
式を基礎とすることができる。 x→ oew =x→ pld +v→ pld・Δt…(51) v→ oew =v→ pld +2 k ′(−x→ pld +x→ 1 )・Δt…(
52) x→ ioi =x→ 0 , v→ ioi =0→ (53) Next, a method for soft stopping will be explained. The conditions for soft stopping are as shown in Figure 10.
The work point that passed through x→=x→ -1 at speed u→ -1 is x→=
x→
This means that it is stopped at 0 . In this case as well, as in equation (36), the following (54) is used such that the acceleration α→(t) of the work point is proportional to the distance from the passing point x→ -1 .
can be based on a formula.
α→(t)=dv/→(t)/dt=k2(−x→+x→-1)…
(54)
v→(t),kなどの意味は、前と同様である。境界
条件が軟出発と異なるため、この微分方程式の解
は、次のようになる。 α→(t)=dv/→(t)/dt=k 2 (−x→+x→ -1 )…
(54) The meanings of v→(t), k, etc. are the same as before. Since the boundary conditions are different from the soft starting point, the solution to this differential equation is as follows.
x→(t)=(x→0−x→-1)sin kt+x→-1 …(55) v→(t)=k(x→0−x→-1)cos kt …(56) ただし、 u→-1=k(x→0−x→-1) …(57) kT=π/2 …(58) である。 x→(t)=(x→ 0 −x→ −1 ) sin kt+x→ −1 …(55) v→(t)=k(x→ 0 −x→ −1 ) cos kt …(56) However, u→ -1 =k(x→ 0 -x→ -1 )...(57) kT=π/2...(58).
これらの式の演算も、軟出発と同様に加算の繰
返しによつて微分方程式を解くという方法に置換
することが可能であつて、前述した(51)〜
(53)式に対応する式として、次の(59)〜(61)
式が得られる。 The calculations of these equations can also be replaced with a method of solving differential equations by repeating addition, similar to the soft starting method, and the above-mentioned (51) ~
The following equations (59) to (61) correspond to equation (53).
The formula is obtained.
x→oew=x→pld+v→pld・Δt …(59)
v→oew=v→pld+2k′
(−x→pld+x→-1)・Δt …(60)
x→ioi=x→-1,v→ioi=u→-1 …(61)
ここでも同様に、速度についての加算の繰返し
は、Δt/sごとに行なわれる。 x→ oew =x→ pld +v→ pld・Δt …(59) v→ oew =v→ pld +2 k ′ (−x→ pld +x→ -1 )・Δt …(60) x→ ioi =x→ -1 , v→ ioi =u→ -1 (61) Similarly, the addition of the velocity is repeated every Δt/s.
次に、ひとつのテイーチング点から出発し、次
のテイーチング点において停止するような場合を
考える。この場合には、第11図に示すように、
作業点がx→=x→1で軟出発した後に、次のテイー
チング点x→=x→2に軟停止させることが必要にな
つてくる。この場合の例として、出発点と停止点
との中間点において、作業点の加速度α→(t)を最小
にし、それから離れるに従つて、加速度α→(t)を増
加させるという方法をとる。したがつて、基本方
程式は、
α→(t)=dv/→(t)/dt=k2・
(−x→+x/→1+x/→2/2) …(62)
である。この方程式の解は次のようになる。 Next, consider a case where the teaching starts from one teaching point and stops at the next teaching point. In this case, as shown in Figure 11,
After a soft start at the working point x→=x→ 1 , it becomes necessary to make a soft stop at the next teaching point x→=x→ 2 . As an example of this case, a method is used in which the acceleration α→(t) of the working point is minimized at an intermediate point between the starting point and the stopping point, and the acceleration α→(t) is increased as the point moves away from the point. Therefore, the basic equation is α→(t)=dv/→(t)/dt=k 2 (−x→+x/→ 1 +x/→ 2 /2) (62). The solution to this equation is:
x→(t)=x/→1−x/→2/2・
cos kt+x/→1x/→2/2 …(63)
v→(t)=−kx1−x2/2・sin kt …(64)
前と同様に、加算の繰返しのための式は、次の
ようになる。 x→(t)=x/→ 1 −x/→ 2/2・cos kt+x/→ 1 x/→ 2/2 …(63) v→(t)=−kx 1 −x 2/2・sin kt …(64) As before, the formula for repeated addition is:
x→oew=x→pld+v→pld・Δt …(65)
v→oew=v→pld+2k′
(−x→pld+x/→1+x/→2/2)Δt …(66)
x→ioi=x→1,v→ioi=0→ …(67)
ここでもやはり、速度にいての加算の繰返し
は、Δt/sごとに行なわれる。尚、この場合には、
最大速度は−kx/→1−x/→2/2である。 x→ oew =x→ pld +v→ pld・Δt…(65) v→ oew =v→ pld +2 k ′ (−x→ pld +x/→ 1 +x/→ 2 /2) Δt…(66) x→ ioi =x→ 1 , v→ ioi =0→ (67) Again, the repetition of addition in velocity is performed every Δt/s. In this case, the maximum speed is -kx/→ 1 -x/→ 2 /2.
第12図は、上述した軟出発、軟停止の制御
と、(5)式による補間制御とを組合わせて行なうこ
とができる補間回路30を示す図である。この補
間回路30は、第7図に示した補間回路22に対
応するものであつて、その中に含まれる回路要素
などのうち、第7図に示したものと同一のは同じ
参照番号を付してある。また、制御装置の構成要
素のうち、この補間回路30以外の部分について
は、第5図に示した構成と同様であるため、重複
説明は省略する。 FIG. 12 is a diagram showing an interpolation circuit 30 that can perform the above-described soft start and soft stop control in combination with interpolation control using equation (5). This interpolation circuit 30 corresponds to the interpolation circuit 22 shown in FIG. 7, and among the circuit elements included therein, those that are the same as those shown in FIG. 7 are given the same reference numbers. It has been done. Further, among the components of the control device, the parts other than the interpolation circuit 30 are the same as the configuration shown in FIG. 5, and therefore, redundant explanation will be omitted.
第12図の補間回路30と、第7図の補間回路
22との相違点は次の通りである。まず、クロツ
ク発生回路としては、Δt(=2-10sec)ごとにクロ
ツク信号φ1を発生する第1のクロツク発生回路
314と、Δt/s(=2-10/s sec)ごとにクロツ
ク信号φ2を発生する第2のクロツク発生回路3
15とを備えている。第1のクロツク発生回路3
14は、メモリ212からΔtの値を受け取つて
バツフアする第1のクロツク用バツフア316
と、タイマ320およびこの第1のクロツク用バ
ツフア316のそれぞれの出力を受けて第1のク
ロツク信号φを出力する第1のカウンタ317と
を備ている。また、第2のクロツク発生回路31
5も同様に、メモリ212からΔt/sの値を受け取
つてバツフアする第2のクロツク用バツフア31
8と、タイマ320およびこの第2のクロツク用
バツフア318のそれぞれの出力を受けて第2の
クロツク信号φ2を出力する第2のカウンタ31
9とを備えている。これらのクロツク発生回路
は、それぞれΔt,Δt/sの時間ごとに、第1と第2
のカウンタ317,319のキヤリ信号を、それ
ぞれクロツク信号φ1,φ2として出力する。した
がつて、第1のクロツク信号φ1は、第7図のク
ロツクφと同じものである。この第1のクロツク
信号φ1は、バツフア106および110へは直
接に与えられているが、バツフア108へは、マ
ルチプレクサ321を介して与えられている。第
2のクロツク信号φ2はマルチプレクサ321の
他の入力として与えられており、このマルチプレ
クサ321は、CPU211からの切替信号SW1
によつてクロツク信号φ1,φ2のうちのいずれか
一方を選択し、これをバツフア108へと与え
る。 The differences between the interpolation circuit 30 in FIG. 12 and the interpolation circuit 22 in FIG. 7 are as follows. First, as a clock generation circuit, a first clock generation circuit 314 generates a clock signal φ 1 every Δt (=2 -10 sec), and a first clock generation circuit 314 generates a clock signal φ 1 every Δt/s (=2 -10 /s sec). Second clock generation circuit 3 that generates φ2
15. First clock generation circuit 3
14 is a first clock buffer 316 that receives and buffers the value of Δt from the memory 212;
and a first counter 317 which receives the respective outputs of the timer 320 and the first clock buffer 316 and outputs a first clock signal φ. In addition, the second clock generation circuit 31
5 also includes a second clock buffer 31 that receives the value of Δt/s from the memory 212 and buffers it.
8, and a second counter 31 which receives the respective outputs of the timer 320 and the second clock buffer 318 and outputs a second clock signal φ 2 .
9. These clock generation circuits output the carry signals of the first and second counters 317 and 319 as clock signals φ 1 and φ 2 at intervals of Δt and Δt/s, respectively. Therefore, the first clock signal φ 1 is the same as the clock φ of FIG. This first clock signal φ 1 is applied directly to buffers 106 and 110, but is applied to buffer 108 via multiplexer 321. The second clock signal φ 2 is given as another input to the multiplexer 321, which receives the switching signal SW 1 from the CPU 211.
selects one of the clock signals φ 1 and φ 2 and applies it to the buffer 108.
バツフア110の出力は、加算器109および
I/Oポート214のほかに、減算器323の一
方の入力としても与えられている。また、I/O
ポート214に接続されたバツフア322の出力
がこの減算器323の他の入力として与えられて
いる。減算器323の出力は、入力する信号を
k′ビツトだけ上位側にシフトさせて出力するシフ
タ324を介して、マルチプレクサ325の1つ
の入力として与えられている。このマルチプレク
サ325は、バツフア106の出力を他の入力と
して受けており、CPU211からの切替信号Sw2
によつて2つの入力のうちのいずれかを選択し、
これを加算器107へと与えている。他の構成
は、第7図の補間回路22と同様である。 The output of buffer 110 is provided as one input of subtracter 323 in addition to adder 109 and I/O port 214. Also, I/O
The output of buffer 322 connected to port 214 is provided as another input of this subtracter 323. The output of the subtracter 323 is the input signal
It is provided as one input of a multiplexer 325 via a shifter 324 which shifts the signal to the higher order side by k' bits and outputs the result. This multiplexer 325 receives the output of the buffer 106 as another input, and receives the switching signal Sw 2 from the CPU 211.
select one of the two inputs by
This is given to adder 107. The other configuration is similar to the interpolation circuit 22 in FIG. 7.
第12図の補間回路30を用いて、軟出発→(5)
式に基づく補間→軟停止、の順序で制御を行なう
場合についてその動作を説明する。まず軟出発に
おいては、切替信号Sw1によつてマルチプレクサ
321が第2のクロツク発生回路315からの入
力を選択する。すると、バツフア108には、第
2のクロツク信号φ2が入力されることになる。
また、切替信号Sw2によつて、マルチプレクサ3
25がシフタ324からの入力を選択する。した
がつて、加算器105やバツフア106などは、
この回路の動作とは無関係になつてくる。速度の
初期期値v→ioiとして0→が、また、位置の初期値x
→i
oiとして最初のテイーチング点の位置x→0が、
CPU211からバツフア103,104へとそ
れぞれ入力される((53)式参照)。バツフア32
2には、次のテイーチング点の位置x→1がCPU2
11から入力される。 Using the interpolation circuit 30 in Fig. 12, soft start → (5)
The operation will be described in the case where control is performed in the order of interpolation based on the formula → soft stop. First, in the soft start, the multiplexer 321 selects the input from the second clock generation circuit 315 in response to the switching signal Sw1 . Then, the second clock signal φ 2 is input to the buffer 108.
Moreover , the multiplexer 3
25 selects the input from shifter 324. Therefore, the adder 105, buffer 106, etc.
It becomes unrelated to the operation of this circuit. Initial value of velocity v→ ioi is 0→, and initial value of position x
→ i
As oi , the position of the first teaching point x → 0 is
The signals are input from the CPU 211 to buffers 103 and 104, respectively (see equation (53)). Batsuhua 32
2, the next teaching point position x → 1 is CPU2
It is input from 11.
次に、v→ioiとx→ioiはそれぞれ、バツフア108
,
110へと移される。クロツク信号φ2が与えら
れると、バツフア108はその中に格納していた
v→ioiを加算器107へと与える。これと同時に、
vioiは加算器109へも与えられる。一方、バツ
フア110の中に格納されていたx→ioiは、加算器
109に与えられて、v→ioiを10ビツトだけ下位側
へシフトした信号と加算される。したがつて、加
算器109では(x→ioi+v→ioi×Δt)の加算が行
な
われる。 Next, v → ioi and x → ioi are each a buffer of 108
,
110. When clock signal φ 2 is applied, buffer 108 provides v→ ioi stored therein to adder 107. At the same time,
v ioi is also given to adder 109. On the other hand, x→ ioi stored in buffer 110 is supplied to adder 109 and added to a signal obtained by shifting v→ ioi by 10 bits to the lower side. Therefore, the adder 109 performs the addition of (x→ ioi +v→ ioi ×Δt).
バツフア110の出力であるx→ioiは、減算器3
23にも与えられる。減算器323は、このx→ioi
を、バツフア322の出力であるx→1から差し引
いて、(−x→ioi+x→1)をシフタ324に与える。
シフタ324はこの信号をk′ビツトだけ上位側に
シフトしてマルチプレクサ325に与える。この
ため、加算器107の他の入力は2k′×(−x→ioi+
x→1)となる。加算器107はこの入力を下位側
に10ビツトだけシフトさせて、バツフア108の
出力であるv→ioiと加え合わせる。したがつて加算
器107の出力は、v→ioi+2k′×(−x→ioi+x→
1)・
Δtとなる。バツフア108は、第2のクロツク
ク信号φ2の次のサイクルにおいて、この加算器
107の出力をv→pldとしてバツフアする。第2の
クロツク信号φ2の各サイクルにおいて、加算器
107とバツフア108とは、同様の動を繰返
す。このため、バツフア108,110にそれぞ
れ格納されている値をそれぞれv→pld,x→pldとすれ
ば、加算器107は(52)式の演算を行なつてv→
oewを求め、これをバツフア108へと与えるこ
とになる。このv→oewは、次のサイクルにおいて
v→pldとして取扱われる。加算器109とバツフア
110もまた同様に、第1のクロツク信号φ1の
サイクルに従つて(51)式の演算を繰返す。 x → ioi , which is the output of the buffer 110, is the subtracter 3
23 is also given. The subtracter 323 calculates this x→ ioi
is subtracted from x→ 1 , which is the output of buffer 322, and (−x→ ioi +x→ 1 ) is provided to shifter 324.
Shifter 324 shifts this signal upward by k' bits and supplies it to multiplexer 325. Therefore, the other input of the adder 107 is 2 k ′×(−x→ ioi +
x → 1 ). Adder 107 shifts this input by 10 bits to the lower order side and adds it to the output of buffer 108, v→ ioi . Therefore, the output of the adder 107 is v→ ioi +2 k ′×(−x→ ioi +x→
1 )・
Δt. Buffer 108 buffers the output of adder 107 as v→ pld in the next cycle of second clock signal φ 2 . In each cycle of the second clock signal φ 2 , adder 107 and buffer 108 repeat similar operations. Therefore, if the values stored in the buffers 108 and 110 are respectively v→ pld and x→ pld , then the adder 107 performs the calculation of equation (52) and
oew is obtained and given to the buffer 108. This v→ oew is treated as v→ pld in the next cycle. Adder 109 and buffer 110 similarly repeat the operation of equation (51) in accordance with the cycle of first clock signal φ1 .
クロツク信号としてφ1とφ2の2つの信号を用
いているため、(51)式と(52)式のそれぞれの
演算のサイクルは互いに異なつたものとなつてい
る。このため、たとえばφ1<φ2の場合には、速
度についての繰返しが位置についての繰返しより
も遅くなり、それだけ加算回数が減ることになる
が、(52)式に関連して既に説明したように、繰
返しごとの増加分を多くとつているため、現実に
バツフア108,110からそれぞれ出力される
速度指令値および位置指令値は、その時点におけ
る指令値として適当なものとなつている。 Since two signals φ 1 and φ 2 are used as clock signals, the calculation cycles of equations (51) and (52) are different from each other. For this reason, for example, when φ 1 < φ 2 , the iterations for velocity will be slower than the iterations for position, and the number of additions will be reduced accordingly. However, as already explained in relation to equation (52), In addition, since a large amount of increment is provided for each repetition, the speed command value and position command value actually output from the buffers 108 and 110 are appropriate as command values at that time.
次に、軟出発の制御を終わり、(5)式に基づく制
御に移るときには、切替信号Sw1,Sw2によつ
て、マルチプレクサ321が第1のクロツク発生
回路314側を選択し、マルチプレクサ325が
バツフア106の出力側を選択するように設定す
る。すると、第12図の補間回路30は、第7図
の補間回路22と実質的に同じ構成となり、(5)式
に基づく補間演算が行なわれる。 Next, when the soft start control is finished and control is started based on equation (5), the multiplexer 321 selects the first clock generation circuit 314 side by the switching signals Sw 1 and Sw 2 , and the multiplexer 325 selects the first clock generation circuit 314 side. The output side of the buffer 106 is set to be selected. Then, the interpolation circuit 30 of FIG. 12 has substantially the same configuration as the interpolation circuit 22 of FIG. 7, and performs interpolation calculation based on equation (5).
軟停止を行なう場合には、切替信号Sw1,Sw2
によつて、マルチプレクサ321,325を、上
述した軟出発と同じ状態にする。バツフア10
3,104に与えられる初期値はそれぞれu→-1,
x→-1であり、バツフア322にはx→-1が与えられ
る((59)〜(61)式参照)。その後の動作は軟出
発の場合と同様である。 When performing a soft stop, the switching signals Sw 1 and Sw 2
This causes multiplexers 321 and 325 to be in the same state as the soft start described above. Batsuhua 10
The initial values given to 3 and 104 are u→ -1 and
x→ -1 , and x→ -1 is given to the buffer 322 (see equations (59) to (61)). The subsequent operation is the same as in the case of soft start.
さらに、軟出発と軟停止とを連続して行ないた
い場合には、初期値として(67)式の値をバツフ
ア103,104へそれぞれ与え、バツフア32
2にはx/→1+x/→2/2を与えればよい。この場合
この
回路の動作も、上述のものと同様である。 Furthermore, if you want to perform soft starting and soft stopping in succession, give the values of equation (67) as initial values to buffers 103 and 104, respectively.
2 should be given x/→ 1 +x/→ 2 /2. In this case, the operation of this circuit is also similar to that described above.
以上説明した各実施例・変形例は、主として(5)
式に基づいた制御であるが、(5)式はこの発明のひ
とつの好ましい実施例の基礎にすぎず、他の補間
関数を用いることができることは、前に指摘した
通りである。また、補間関数をそのまま計算せ
ず、この補間関数を解とする微分方程式を基礎と
することによつて、繰返し演算が可能となり、加
算による高速の演算制御が可能となるが、補間関
数を他の方法で計算することも、この発明の範囲
に含まれる。さらに繰返し時間を2-N(Nは整数)
secととることによつて、シフト動作と加算だけ
で上記微分方程式を解くことができ、さらに高速
な演算制御が得られるが、この発明の補間制御は
このような繰返し時間の導入を必須とするもので
はない。この発明では、この発明の基礎となる補
間法を単独で用いてもよく、上述したような軟出
発・軟停止、さらには、直線補間、円弧補間、穂
坂の補間など、他の任意の補間法と共用して用い
ることをも内包している。 Each of the embodiments and modifications explained above is mainly based on (5)
Although the control is based on equation (5), it was previously pointed out that equation (5) is only the basis for one preferred embodiment of the invention and that other interpolation functions can be used. In addition, by not calculating the interpolation function as it is, but by basing it on a differential equation whose solution is this interpolation function, it becomes possible to perform repeated calculations, and high-speed calculation control using addition is possible. It is also within the scope of the present invention to calculate using the method described below. Further repeat time is 2 -N (N is an integer)
By taking sec, the above differential equation can be solved with only shift operations and addition, and even faster calculation control can be obtained, but the interpolation control of this invention requires the introduction of such a repetition time. It's not a thing. In this invention, the interpolation method that is the basis of this invention may be used alone, and any other arbitrary interpolation method such as soft start/soft stop as described above, linear interpolation, circular interpolation, Hosaka interpolation, etc. It also includes being used in common with.
また、この発明の制御方法および制御装置はプ
レイバツク方式のロボツトに限らず、数値制御ロ
ボツトなどの他の種類のロボツトの制御にも用い
ることができる。テイーチング点など、作業点が
通過すべき位置における速度の方向の選択は、上
記実施例において例示した方向に限らず、たとえ
ばテイーチング点x→iにおいて、xi-1x――――→i
の方向
とxix――→i+1の方向とに異なつた重みをつけて平均
化した方向であつてもよい。作業点に描かせるべ
き軌跡の曲率が、出発点から停止点へ向うに従つ
て単調に増大したり減少したりするような軌跡
(たとえば螺旋形)などの場合には、このような
選択も有効である。 Further, the control method and control device of the present invention can be used not only for controlling playback type robots but also for controlling other types of robots such as numerically controlled robots. Selection of the direction of velocity at a position such as a teaching point where a work point should pass is not limited to the direction exemplified in the above embodiment; for example, at a teaching point x→ i , x i-1 x――――→ i
The direction may be a direction obtained by giving different weights to the direction of x i x ---→ i+1 and averaging them. This selection is also effective in cases where the curvature of the trajectory to be drawn at the work point monotonically increases or decreases from the starting point to the stopping point (for example, a spiral). It is.
(発明の効果)
このように、この発明によれば、比較的簡単で
あるにもかかわらず、軌跡の大域的性格を取り込
んだ補間制御を行なうことができ、従来の制御装
置の基礎となつている補間法の長所を兼ね備えた
ロボツト制御方法およびその装置を得ることがで
きる。特特に、この発明では補間軌道上での加減
速を禁じていないため、隣接する通過点の間で高
速変化が必要な場合にも補間軌跡に沿つて滑らか
な加減速が可能である。このため、ロボツトに急
激な運動を与えることもなく、ロボツトの機構部
に対する負担も少ない。(Effects of the Invention) As described above, according to the present invention, although it is relatively simple, it is possible to perform interpolation control that incorporates the global characteristics of the trajectory, and it has become the basis of conventional control devices. Therefore, it is possible to obtain a robot control method and apparatus that have the advantages of the interpolation method. In particular, since the present invention does not prohibit acceleration/deceleration on the interpolated trajectory, smooth acceleration/deceleration can be performed along the interpolated trajectory even when high-speed changes are required between adjacent passing points. Therefore, the robot is not subjected to sudden movements, and there is less burden on the mechanical parts of the robot.
第1図ないし第3図は、穂坂の補間を説明する
ための図である。第4図はこの発明の実施例であ
るロボツト制御装置を用いたシステムの全体図で
ある。第5図は第4図のロボツト制御装置に含ま
れる制御回路の全体的構成を示す図である。第6
図はこの発明の実施例に用いられる補間法の原理
を説明するための図であ。第7図はこの発明の実
施例に含まれる補間回路の例を示すブロツク図で
ある。第8図はこの発明の変形例を説明するため
のフロー図である。第9図ないし第11図は、こ
の発明の他の変形例において共用される軟出発・
軟停止の方法を説明するための図である。第12
図は軟出発・軟停止の方法と組合わせて用いられ
たこの発明の他の変形例に含まれる補間回路を示
すブロツク図、第13図はこの発明の実施例によ
つて得られる補間軌跡を例示する説明図である。
11……制御装置、20……制御回路、21…
…マイクロコンピユータ、22,30……補間回
路、101〜104,106,108,110,
322……バツフア、105,107,109…
…加算器、321,325……マルチプレクサ、
323……減算器、324……シフタ。
1 to 3 are diagrams for explaining Hosaka's interpolation. FIG. 4 is an overall diagram of a system using a robot control device according to an embodiment of the present invention. FIG. 5 is a diagram showing the overall configuration of a control circuit included in the robot control device of FIG. 4. 6th
The figure is a diagram for explaining the principle of the interpolation method used in the embodiment of the present invention. FIG. 7 is a block diagram showing an example of an interpolation circuit included in an embodiment of the present invention. FIG. 8 is a flow diagram for explaining a modification of the present invention. FIGS. 9 to 11 show soft starting points commonly used in other modifications of the present invention.
It is a figure for explaining the method of a soft stop. 12th
The figure is a block diagram showing an interpolation circuit included in another modification of the present invention used in combination with the soft start/soft stop method, and FIG. 13 shows the interpolation trajectory obtained by the embodiment of the present invention. It is an explanatory diagram to illustrate. 11...control device, 20...control circuit, 21...
... Microcomputer, 22, 30 ... Interpolation circuit, 101 to 104, 106, 108, 110,
322...Batsuhua, 105, 107, 109...
... Adder, 321, 325 ... Multiplexer,
323...Subtractor, 324...Shifter.
Claims (1)
の順序で所定の離散的な通過点を通過する運動を
行なわせるためのロボツト制御方法であつて、 前記通過点のそれぞれの位置を表現する位置デ
ータと、前記通過点のそれぞれにおいて前記作業
点が有すべき速度の大きさを表現する速度データ
とを準備するステツプと、 前記位置データと前記速度データとに基づい
て、所定の時間間隔ごとの値を有し、かつ前記通
過点における前記作業点の運動を補間する補間デ
ータを求めるステツプと、 前記補間データに基づいて前記駆動機構を駆動
するステツプとを含み、 前記補間データを求めるステツプは、 時間パラメータを変数とし、かつ4個以上の未
定係数を含んだ位置補間関数を定義するステツプ
と、 前記順序において連続する4個の通過点をXi
−1,Xi,Xi+1,Xi+2としたとき、 (a) 通過点Xi,Xi+1におけるそれぞれの速度
ベクトルの大きさが、当該通過点Xi,Xi+1
について準備されたそれぞれの前記速度の値に
応じた値となる条件と、 (b) 通過点Xiにおける前記速度ベクトルの方向
が少なくとも通過点Xi−1,Xi,Xi+1の相
対的位置関係に依存する方向となるとともに、
通過点Xi+1における前記速度ベクトルの方
向が少なくとも通過点Xi,Xi+1,Xi+2の
相対的位置関係に依存する方向となる条件と、 をの双方の条件を満足するように前記未定係数の
値を決定し、それによつて特定される前記位置補
間関数によつて、通過点Xi,Xi+1の間の区間
における補間軌跡を決定するステツプと、 を含むことを特徴とする、ロボツト制御方法。 2 前記位置補間関数は、時間パラメータに関す
る3次以上の多項式として表現されてなる、特許
請求の範囲第1項記載のロボツト制御方法。 3 前記多項式で表現された前記位置補間関数
は、時間パラメータに関する微分方程式を満足
し、かつ前記補間データは、前記微分方程式に基
づいて決定される、特許請求の範囲第2項記載の
ロボツト制御方法。 4 前記所定の時間間隔は、Nを整数としたとき
2-N秒であり、前記微分方程式は、前記所定の時
間間隔ごとにその値が更新される繰返し演算式に
よつて近似されており、前記繰返し演算式は、前
記所定の時間間隔と被乗算数との乗算と、前記乗
算による乗算結果と被加算数との加算とを含み、
かつ前記繰返し演算式の演算は、前記被乗算数を
Nビツトだけで下位側にシフトさせて前記被加算
数と加算する演算によつて達成される、特許請求
の範囲第3項記載のロボツト制御方法。 5 前記所定の順序に沿つて隣接する2つの通過
点のうち少なくとも一方に対する前記速度データ
の値が0である場合には、前記隣接する2つの通
過点の間を補間する補間データは、前記作業点の
加速度が所定の位置から距離に相関して変化する
ように演算される、特許請求の範囲第1項ないし
第4項のいずれかに記載のロボツト制御方法。 6 前記隣接する2の通過点の間を補間する前記
補間データは、前記相関を記述する微分方程式に
基づいて演算され、前記相関を記述する前記微分
方程式は、前記所定の時間間隔と、前記所定の時
間間隔とは異なる他の時間間隔とによる、それぞ
れの繰返し演算の組合せによつて解かれ、かつ前
記繰返し演算は、シフト演算と加算とによつて達
成される、特許請求の範囲第5項記載のロボツト
制御方法。 7 駆動機構を有するロボツトの作業点に、所定
の順序で所定の離散的な通過点を通過する運動を
行なわせるためのロボツト制御装置であつて、 前記通過点のそれぞれの位置を表現する位置デ
ータと、前記通過点のそれぞれにおいて前記作業
点が有すべき速度の大きさを表現する速度データ
とを記憶する記憶手段と、 前記記憶手段から、前記位置データと前記速度
データとを読出す読出手段と、 前記読出手段から読出された前記位置データと
前記速度データとを入力して、所定の時間間隔ご
との値を有し、かつ前記通過点の間における前記
作業点の運動をを補間する補間データを発生する
補間データ発生手段と、 前記補間データ発生手段で発生された前記補間
データを前記駆動機構に出力して前記駆動機構を
駆動させる出力手段とを備え、 前記補間データ発生手段は、 時間パラメータを変数とし、かつ4個以上の未
定係数を含んだ位置補間関数を保持する手段と、 前記順序において連続する4個の通過点をXi
−1,Xi,Xi+1,Xi+2としたとき、 (a) 通過点Xi,Xi+1におけるそれぞれの速度
ベクトルの大きさが、当該通過点Xi,Xi+1
について準備されたそれぞれの前記速度の値に
応じた値となる条件と、 (b) 通過点Xiにおける前記速度ベクトルの方向
が少なくとも通過点Xi−1,Xi,Xi+1の相
対的位置関係に依存する方向となるとともに、
通過点Xi+1における前記速度ベクトルの方
向が少なくとも通過点Xi,Xi+1,Xi+2の
相対的位置関係に依存する方向となる条件と、 をの双方の条件を満足するように前記未定係数
の値を決定し、それによつて特定される前記位
置補間関数によつて、通過点Xi,Xi+1の間
の区間における補間軌跡を決定する手段と、 を含むことを特徴とする、ロボツト制御装置。 8 前記位置補間関数は、時間パラメータに関す
る3次以上の多項式として表現されてなる、特許
請求の範囲第7項記載のロボツト制御装置。 9 前記多項式で表現された前記位置補間関数
は、時間パラメータに関する微分方程式を満足
し、前記補間データ演算手段は、前記微分方程式
に基づいて前記補間データの演算を行なう微分方
程式演算手段を含む、特許請求の範囲第8項記載
のロボツト制御装置。 10 前記所定の時間間隔は、Nを整数としたと
き2-N秒であり、前記微分方程式演算手段は、前
記所定の時間間隔ごとに出力値が更新される繰返
し演算手段を含み、前記繰返し演算手段は、前記
所定の時間間隔と被乗算数との乗算と、前記乗算
による乗算結果と被加算数との加算とを行う乗加
算手段を含み、前記乗加算手段は、前記被乗算数
をNビツトだけ下位側にシフトさせて前記被加算
数とする演算手段である、特許請求の範囲第9項
記載のロボツト制御装置。 11 前記補間データ発生手段はさらに、前記所
定の順序に沿つて隣接する2つの通過点のうち少
なくとも一方に対する前記速度データの値が0で
ある場合には、前記隣接する2つの通過点の間を
補間する補間データを前記作業点の加速度が所定
の位置からの距離に相関して変化するように演算
する第2の補間データ演算手段を含む、特許請求
の範囲第7項ないし第10項のいずれかに記載の
ロボツト制御装置。 12 前記第2の補間データ演算手段は、前記相
関を記述する微分方程式に基づいて演算を行なう
第2の微分方程式演算手段を含み、前記第2の微
分方程式演算手段は、前記所定の時間間隔と、前
記所定の時間間隔とは異なる他の時間間隔とによ
る、それぞれの繰返し演算を組合わせて行なう異
時間繰返し演算手段を含み、かつ前記異時間繰返
し演算手段は、シフト演算と加算とを行なう手段
を含む、特許請求の範囲第11項記載のロボツト
制御装置。[Scope of Claims] 1. A robot control method for causing a working point of a robot having a drive mechanism to move through predetermined discrete passing points in a predetermined order, comprising the steps of: preparing position data representing a position and speed data representing a magnitude of speed that the work point should have at each of the passing points; the step of obtaining interpolation data that has a value for each time interval and that interpolates the movement of the work point at the passing point; and the step of driving the drive mechanism based on the interpolation data, and the step of driving the drive mechanism based on the interpolation data. The step of calculating is the step of defining a position interpolation function that uses the time parameter as a variable and includes four or more undetermined coefficients, and the step of defining four consecutive passing points in the above order as Xi
-1, Xi, Xi+1, Xi+2, (a) The magnitude of each velocity vector at the passing point Xi, Xi+1 is the corresponding passing point Xi, Xi+1
(b) the direction of the velocity vector at the passing point Xi depends on at least the relative positional relationship of the passing points Xi−1, Xi, and Xi+1; Along with the direction,
The value of the undetermined coefficient is determined so as to satisfy both the condition that the direction of the velocity vector at the passing point Xi+1 is at least dependent on the relative positional relationship of the passing points Xi, Xi+1, and Xi+2, and the following conditions. , a step of determining an interpolation trajectory in the section between passing points Xi and Xi+1 using the position interpolation function specified thereby. 2. The robot control method according to claim 1, wherein the position interpolation function is expressed as a polynomial of degree 3 or higher regarding a time parameter. 3. The robot control method according to claim 2, wherein the position interpolation function expressed by the polynomial satisfies a differential equation regarding a time parameter, and the interpolation data is determined based on the differential equation. . 4 The predetermined time interval is when N is an integer.
2 -N seconds, the differential equation is approximated by an iterative expression whose value is updated at each predetermined time interval, and the iterative expression is including multiplication with a number and addition of the multiplication result of the multiplication and the augend,
and the robot control according to claim 3, wherein the calculation of the iterative calculation formula is achieved by a calculation of shifting the multiplicand by only N bits to the lower side and adding it to the augend. Method. 5 If the value of the speed data for at least one of the two adjacent passing points along the predetermined order is 0, the interpolation data for interpolating between the two adjacent passing points is A robot control method according to any one of claims 1 to 4, wherein the acceleration of a point is calculated so as to change in correlation with the distance from a predetermined position. 6. The interpolation data for interpolating between the two adjacent passing points is calculated based on a differential equation that describes the correlation, and the differential equation that describes the correlation is based on the predetermined time interval and the predetermined time interval. and another time interval different from the time interval of , and the iterative operation is achieved by a shift operation and an addition. The robot control method described. 7. A robot control device for causing a working point of a robot having a drive mechanism to move through predetermined discrete passing points in a predetermined order, comprising position data representing the position of each of the passing points. and a storage means for storing speed data representing the magnitude of the speed that the work point should have at each of the passing points; and a reading means for reading out the position data and the speed data from the storage means. and interpolation for inputting the position data and the speed data read from the reading means, having values for each predetermined time interval, and interpolating the movement of the work point between the passing points. interpolation data generation means for generating data; and output means for outputting the interpolation data generated by the interpolation data generation means to the drive mechanism to drive the drive mechanism, and the interpolation data generation means: Means for holding a position interpolation function with parameters as variables and including four or more undetermined coefficients;
-1, Xi, Xi+1, Xi+2, (a) The magnitude of each velocity vector at the passing point Xi, Xi+1 is the corresponding passing point Xi, Xi+1
(b) the direction of the velocity vector at the passing point Xi depends on at least the relative positional relationship of the passing points Xi−1, Xi, and Xi+1; Along with the direction,
The value of the undetermined coefficient is determined so as to satisfy both the condition that the direction of the velocity vector at the passing point Xi+1 is at least dependent on the relative positional relationship of the passing points Xi, Xi+1, and Xi+2, and the following conditions. , means for determining an interpolation trajectory in the section between passing points Xi and Xi+1 using the position interpolation function specified thereby. 8. The robot control device according to claim 7, wherein the position interpolation function is expressed as a third-order or higher-order polynomial regarding a time parameter. 9. The position interpolation function expressed by the polynomial satisfies a differential equation regarding a time parameter, and the interpolation data calculation means includes a differential equation calculation means for calculating the interpolation data based on the differential equation. A robot control device according to claim 8. 10 The predetermined time interval is 2 -N seconds, where N is an integer, and the differential equation calculation means includes iterative calculation means whose output value is updated at every predetermined time interval, The means includes multiplication and addition means for multiplying the predetermined time interval by the multiplicand and adding the result of the multiplication and the augend, and the multiplication and addition means multiplies the multiplicand by N. 10. The robot control device according to claim 9, wherein the arithmetic means shifts the augend by bits to the lower side. 11 The interpolation data generation means further comprises, when the value of the speed data for at least one of the two adjacent passing points along the predetermined order is 0, the interpolation data generating means Any one of claims 7 to 10, comprising a second interpolation data calculation means for calculating interpolation data to be interpolated so that the acceleration of the work point changes in correlation with the distance from a predetermined position. The robot control device described in . 12 The second interpolated data calculation means includes a second differential equation calculation means that performs calculations based on a differential equation describing the correlation, and the second differential equation calculation means is configured to perform calculations based on the predetermined time interval and , further comprising intertemporal iterative operation means for performing a combination of respective iterative operations at other time intervals different from the predetermined time interval, and the intertemporal iterative operation means performs a shift operation and an addition. A robot control device according to claim 11, comprising:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13618384A JPS6115207A (en) | 1984-06-29 | 1984-06-29 | Robot control method and device |
US06/744,601 US4689756A (en) | 1984-06-29 | 1985-06-14 | Robot interpolation control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13618384A JPS6115207A (en) | 1984-06-29 | 1984-06-29 | Robot control method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6115207A JPS6115207A (en) | 1986-01-23 |
JPH0522921B2 true JPH0522921B2 (en) | 1993-03-31 |
Family
ID=15169281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13618384A Granted JPS6115207A (en) | 1984-06-29 | 1984-06-29 | Robot control method and device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6115207A (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01255010A (en) * | 1988-04-05 | 1989-10-11 | Mitsubishi Electric Corp | Curve interpolating device |
JPH0236406A (en) * | 1988-07-26 | 1990-02-06 | Toyoda Mach Works Ltd | Nc device having spline interpolation function |
JPH0341272U (en) * | 1989-08-31 | 1991-04-19 | ||
JP5380672B2 (en) * | 2007-02-20 | 2014-01-08 | 国立大学法人 名古屋工業大学 | Motion planner, control system, and multi-axis servo system |
JP5954078B2 (en) | 2012-09-25 | 2016-07-20 | ブラザー工業株式会社 | Printing device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57178689A (en) * | 1981-04-03 | 1982-11-02 | Cincinnati Milling Machine Co | Device for dynamically controlling central point of working section of robot arm so as to slip out of predetermined course |
JPS5858609A (en) * | 1981-10-05 | 1983-04-07 | Hitachi Ltd | Industrial robot trajectory interpolation method |
-
1984
- 1984-06-29 JP JP13618384A patent/JPS6115207A/en active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57178689A (en) * | 1981-04-03 | 1982-11-02 | Cincinnati Milling Machine Co | Device for dynamically controlling central point of working section of robot arm so as to slip out of predetermined course |
JPS5858609A (en) * | 1981-10-05 | 1983-04-07 | Hitachi Ltd | Industrial robot trajectory interpolation method |
Also Published As
Publication number | Publication date |
---|---|
JPS6115207A (en) | 1986-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4689756A (en) | Robot interpolation control method | |
JP7203058B2 (en) | Method for generating input to mechanical system and robot including multiple robot joints | |
JP3830475B2 (en) | Control device | |
JP3485639B2 (en) | Path planning method and system in rectangular coordinate space | |
CN109551485B (en) | Motion control method, device and system and storage medium | |
US4449196A (en) | Data processing system for multi-precision arithmetic | |
Bazaz et al. | Minimum time on-line joint trajectory generator based on low order spline method for industrial manipulators | |
JP2001296912A (en) | Motor speed / acceleration determination method, acceleration / deceleration generation method, acceleration / deceleration control method, acceleration / deceleration control device, and motor control device | |
WO1997008596A1 (en) | Curve interpolation method for carrying out speed control operation when robot makes connecting action | |
JP2015051469A (en) | Robot controller, robot apparatus, robot control method, program and recording medium | |
KR101207248B1 (en) | Industrial robot and method for controlling the movement of an industrial robot | |
US5373439A (en) | Method for controlling the traveling path of a robot during acceleration and deceleration | |
JP2506760B2 (en) | Robot controller | |
JPH0522921B2 (en) | ||
Pelaez et al. | Input shaping reference commands for trajectory following Cartesian machines | |
JP2003241811A (en) | Method and apparatus for planning path of industrial robot | |
Van Aken et al. | On-line robot trajectory control in joint coordinates by means of imposed acceleration profiles | |
JP2643683B2 (en) | Robot control method | |
JP2007000954A (en) | Robot teaching device and method | |
JP2628297B2 (en) | Robot control method and device | |
JPS5822410A (en) | Numerical control system | |
JP6046994B2 (en) | Control device | |
JP3586110B2 (en) | Trajectory control device | |
JPH0695294B2 (en) | Trajectory interpolation method for industrial robot | |
Ward | Smooth trajectory generation for 5-axis CNC machine tools |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |