JPS6115446B2 - - Google Patents

Info

Publication number
JPS6115446B2
JPS6115446B2 JP4606079A JP4606079A JPS6115446B2 JP S6115446 B2 JPS6115446 B2 JP S6115446B2 JP 4606079 A JP4606079 A JP 4606079A JP 4606079 A JP4606079 A JP 4606079A JP S6115446 B2 JPS6115446 B2 JP S6115446B2
Authority
JP
Japan
Prior art keywords
point
amount
change
coordinate system
axis
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
Application number
JP4606079A
Other languages
Japanese (ja)
Other versions
JPS55138112A (en
Inventor
Kazuhiko Yoshinaga
Kazuo Kikuchi
Shigeo Shinoda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyo Electric Manufacturing Ltd
Original Assignee
Toyo Electric Manufacturing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyo Electric Manufacturing Ltd filed Critical Toyo Electric Manufacturing Ltd
Priority to JP4606079A priority Critical patent/JPS55138112A/en
Publication of JPS55138112A publication Critical patent/JPS55138112A/en
Publication of JPS6115446B2 publication Critical patent/JPS6115446B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

本発明は、X−Y座標系に沿つてマーキングヘ
ツドの移動制御が行われる自動製図機やX−Y座
標系およびY−Z座標系に沿つてツールホルダの
移動制御が行われる数値制御工作機械等の輪郭制
御における三次補間方式に関するものである。 一般に、自動製図機や数値制御工作機械等にお
ける輪郭制御は、直線・円弧あるいは任意の関数
曲線を用いて、マーキング部材やツール等が画く
時々刻々の軌跡を補間することにより行われるの
で、それらの軌跡が複雑を関数形になればなるほ
ど、制御速度が遅くなるという不都合が生ずるこ
とになる。 したがつて、従来の自動製図機や数値制御工作
機械等においては、マーキング部材やツール等が
画く軌跡が複雑な関数形の場合は、精度の許され
る範囲で、複雑な関数曲線を用いることなく、直
線または円弧で前記軌跡を近似分割することによ
り、この軌跡を直線または円弧データに変換し、
これらデータに基づいてデイジタル制御による補
間を行うようにしている。しかしながら、このよ
うな方式においても、なおかつ、軌跡から得られ
る直線または円弧データの数がぼう大なものとな
り、特に軌跡上の微小間隔をもつた多数の点列間
の補間を行う際は、これまた、制御速度が遅くな
るという欠点を免れなかつた。 本発明は、従来の自動製図機や数値制御工作機
械等におけるマーキング部材やツール等の軌跡の
補間方式にみられるこのような欠点を除くためな
されたもので、与えられた点列を滑らかな曲線で
結ぶ方式の一つである三次補間に対し、弦の高さ
(chord height)を照合するなどして直線分割を
行うといつた従来の方式を用いることなく、その
代わりにマイクロコンピユータを用い、このマイ
クロコンピユータによる1回のパルス配分の実行
時間を、マーキングヘツドがツールホルダ等の移
動の最高速度に適合させることにより、高速制御
を可能にした新規な方式を提供するものである。 本発明における三次補間方式の基本的な考え方
は、前回与えられた点Pi-1から今回与えられた
点Piまでの間を補間するに際し、次回に与えら
れる点Pi+1および前々回与えられた点Pi-2をも
考慮し、補間する三次曲線の形を、起点Pi-1
おける接線の方向が点Pi-2から点Piに至る線分
の方向と一致し、且つ、終点Piにおける接線の
方向が点Pi-1から点Pi+1に至る線分の方向と一
致する形として補間しようとするものである。 以下、図面に基づき本発明の詳細を説明する。 第1図は基準となるX−X座標系に対し位置付
けられた3点、すなわち前回与えられた点Pi-
、今回与えられここまでを今回補間する点Pi
および次回与えられる点Pi+1を通る三次曲線の
例示図である。いま、この図において、点Pi-1
を原点とし、この原点Pi-1と点Piを結ぶ直線を
ξ軸、原点Pi-1を通りこのξ軸に直角な直線を
η軸とした場合、三次曲線は、このξ−η座標
系に関し原点を通るので、 η=aξ+bξ+cξ ……(1) なる三次式で表わされる。この(1)式における各係
数a,bおよびcは、つぎのようにして求められ
る。 すなわち、第2図に示すように、第1図のX−
X座標系を平行移動させて、その原点をξ−η座
標系のそれすなわち三次曲線が通る第1の点P
i-1に一致させる(この第1の点Pi-1の座標は、
X−Yおよびξ−ηの両座標系に関し、いずれも
〔o,o〕となる。)とともに、この三次曲線の
X−Y座標系の第3象限内の線上すなわち第1の
点Pi-1の手前に、X−Y座標系に関し、(Bx,
By)なる座標値を有するもう一つの点Pi-2をと
り、X−Y座標系に関し、三次曲線が通る第2
および第3の点PiおよびPi+1の座標をそれぞれ
(x1,y1)および(x2,y2)、X軸とξ軸(Y軸と
η軸)のなす角をθとすれれば、(1)式におけるξ
およびηに関し、つぎの各式が得られる。 ξ=Bxcosθ+Bysinθ ξ=0 ξ=x1cosθ+y1sinθ ξ=x2cosθ+y2sinθ η=−Bxsinθ+Bycosθ η=0 η=0 η=−x2sinθ+y2cosθ これらの式におけるξおよびηはξ−η座
標系に関する点Pi-2の座標値、ξおよびη
は同じくξ−η座標系に関する点Pi-1の座標
値、ξおよびηは同じくξ−η座標系に関す
る点Piの座標値、ξおよびηは同じくξ−
η座標系に関する点Pi+1の座標値であつて、こ
れらの座標値は(1)式における各係数a,bおよび
cを算出するために求めるものである。 (1)式におけるaは、点Pi-1におけるベクトル
i-1で示される正切成分の方向であり、点Pi-2
から点Piに至る方向と同一として、次の式で表
わされる。 a=η−η/ξ−ξ また、点PiにおけるベクトルViで示される正切
成分の方向をa1とすれば、この方向は点Pi-1から
点Pi+1に至る方向と同一として、次の式で表わ
される。 a1=η−η/ξ−ξ 更に、点Piにおいてはη=0であることか
ら、(1)式にξを代入し aξ+bξ +cξ =η=0,ξ≠0 故に、 a+bξ+cξ =0 ……(2) また、点Piにおける正切成分の方向は(1)式を
微分してこれにξを代入ししたものであるから a+2bξ+3cξ =a1 ……(3) なる式が成立するので、(1)式における他の係数b
およびcは、これら(2)および(3)式から、つぎのよ
うに求められる。 b=−a−2a/ξ 一般に、第1図のようなX−Y座標系とξ−η
座標系の間には、第3図に示すように、X軸とξ
軸(Y軸とη軸)のなす角をθとした場合、 なる関係式が成立つ。 また、このようなX−Y座標系とξ−η座標系
の関係は、第4図に示すように、ξ軸上にスカラ
量1の単位ベクトルをとり、それに対応するη軸
方向の変化量を△ηとした場合、これらとこれ
らに対応するX−Y座標系における変化量△X1
および△Y1の間にも成立ち、 なる関係式が得られる。同様にして(△X1,△
Y1)を原点としたξ軸方向の次段の単位ベクトル
およびそれに対応するη軸方向の変化量△η
これらに対応するX−Y座標系における変化量△
X2および△Y2の間にも、 なる関係式が成立つ。 したがつて、j番目のξ軸方向の単位ベクトル
およびそれに対応するη軸方向の変化量△ηjと
これらに対応するX−Y座標系における変化量△
Xjおよび△Yjの関係は(4)式と同様な なる式で表わされる。 この(5)式における△ηjは、(1)式のξに(j+
1)およびjを代入したものの差分値であるか
ら、 △ηj=ηj+1−ηj =(a+b+c)+(2b+3c)j+3cj2 となる。いま、この式における(a+b+c)を
b,(2b+3c)を,3cをmで置換え、jおよび
j2を漸化式で書き直すと、 となる。この式におけるf(j−1)は、つぎの
式で表わされる。 この(6)式の意味を明確にするため、△η,△
η,△ηおよび△ηに関し、具体的に表現
すると、つぎのようになる。 △η=k++o+f(o)=k++m (f(o)=m) △η=k+2+2m+f(1)=k+2+
4m (f(1)=f(o)+2(o)+m=2m) △η=k+3+2(2m)+f(2)=k+3
+9m (f(2)=f(1)+2(m)+m=5m) △η=k+4+2(3m)+f(3)=k+4
+16m (f(3)=f(2)+2(2m)+m=10m) このような(6)式を(5)式に代入することにより、 なる式が得られる。これら(7)式および(8)式の各項
は、cosθ,ksinθ,sinθ,msinθ,sinθ+
kcosθ,cosθおよびmcosθの定数または積算
(アキユムレート)の関係にあるので、そのつど
cosθやsinθを乗算する必要がなく、演算処理時
間が短くなることは明らかである。 また、第1図における第1の点Pi−1から第
2の点Piに至るまでのX−Y座標系における変
化量を△Xおよび△Yとすれば、cosθおよびsin
θは、そそれぞれつぎの式から求められる。 このようにして、ξ軸上の単位ベクトルから、
△Xjおよび△Yjを得ると、これらに前回に残つ
た端数axj−1およびayj−1をそれぞれ加算し
て、X軸方向への移動成分△X′jおよび△Y′jと
し、これらを整数パルス分NおよびMと、端数分
αxjおよびαyjとに分離する。 △Xj+αXj−1=△X′j=N+αXj ……(11) △Yj+αyi−1=△Y′j=M+αyj ……(12) このようにして、代数演算的に容易にパルス配
分を行うことができる。 つぎに、簡単な数値例を基に、第5図を参照し
て、このようなパルス配分が行われる模様を説明
する。 図において、j−1番目のX−Y座標系におけ
る変化量がそれぞれ △Xj−1=2.3(これらの数値における有効桁
数は適宜定まる) △Yj−1=3.6 また、j番目の同じくX−Y座標系における変化
量が、それぞれ △Xj=0.8 △Yj=2.1 更に、j−2番目に至るまでに、同じくX−Y座
標系に関し、既にパルス配分された数値の端数
(小数点以下の値)のレジスタの値が、それぞれ
αxj−2=0.2 αyj−2=0.1であるとすれば、
j−1番目における移動成分はそれぞれ △X′j−1=△Xj−1+αxj−2=2.5 △Y′j−1=△Yj−1+αyj−2=3.7 となる。したがつて、この点においては、Y軸に
関するパルスの方がX軸に関するそれよりも先に
出力されて、各々のパルス数はそれぞれ3および
2となる。 その結果、このj−1番目における端数レジス
タの値は、それぞれ αxj−1=0.5 αyj−1=0.7 となる。 同様にして、j番目における移動成分すなわち
パルス配分量は、それぞれ △X′j=△Xj+αxj−1=1.3 △Y′j=△Yj+αyj−1=2.8 となる。したがつてこの点においてもY軸に関す
るパルスの方がX軸に関するそれよりも先に出力
されて、各々のパルス数はそれぞれ2および1と
なる。その結果、このj番目における端数レジス
タの値は、それぞれ αxj=0.3 αyj=0.8 となる。 本発明におけるこのようなパルス配分のタイミ
ングは、例えばつぎのように行われる。 すなわち、自動製図機や数値制御工作機械等に
おけるマーキングヘツドやツールホルダ等を、X
軸およびY軸に沿つて、V=24(m/min)=
24000/60(mm/sec)なる速度で駆動するとと
もに、 1パルスによる駆動距離を0.01mmに設定する。そ
のことにより、パルス間隔は、 △T=1/400×100=25(μsec) となり、25μsecで1回のパルスを出力すればよ
いことになる。このようなものにおいて、1命令
実行時間200nsecのマイクロコンピユータを用い
れば、25000/200すなわち125のプログラム実
行ステツ プで、繰り返し演算すればよいことになる。 前記のようなパルス配分に当つては、前記(7)お
よび(8)式に関しては、△Xjの算出で15ステツ
プ、△Yjの算出で同じく15ステツプ、また
(11)および(12)式における端数αxおよびα
yの演算に関しては、それぞれ6ステツプずつ、
計12ステツプ、更に速度の決定に関しては、30ス
テツプ程度であり、全体として100ステツプ以内
であるから、前記マイクロコンピユータによる実
行が充分可能となる。したがつて、従来、このよ
うな直線分割方式による補間が、8m/min〜12
m/minの速度で行われていたのに対し、本発明
によれば、24m/minといつた高速度の補間を行
うことができる。 第6図は前記のような諸元を利用して実際にパ
ルス配分を行う装置の構成を原理的に示したもの
で、第9図はコンピユータのプログラムのフロー
チヤートを示し、図中、点線で囲つた部分が前記
マイクロコンピユータの実行範囲を示す。図にお
いて、1は入力データを解読して、(1)式における
各係数a,bおよびc,(6)式におけるk,およ
びm、ならびに(9)および(10)式で示されるcosθお
よびsinθから、(7)および(8)式における8個の演
算要素cosθ,ksinθ,sinθ,msinθ,sin
θ,kcosθ,cosθおよびmcosθをそれぞれ算
出して、その結果をマイクロコンピユータに入力
する演算器で、これら演算要素の算出は、通常、
ミニコンピユータで行われ、第9図のフローチヤ
ートでは11〜16のブロツクで演算する。2はこの
演算器1から入力された8個の演算要素を基に、
(7)および(8)式で示される△Xjおよび△Yjを計算
する計算器で、その計算内容はフローチヤート上
ではブロツク21で示されており、例えば△Xj
に関しては、
The present invention is applicable to automatic drafting machines in which movement of a marking head is controlled along an X-Y coordinate system, and numerically controlled machine tools in which movement of a tool holder is controlled along an X-Y coordinate system and a Y-Z coordinate system. The present invention relates to a cubic interpolation method in contour control such as the following. In general, contour control in automatic drafting machines, numerically controlled machine tools, etc. is performed by interpolating the moment-to-moment trajectories drawn by marking members, tools, etc. using straight lines, circular arcs, or arbitrary function curves. The more complex the trajectory becomes, the more the control speed becomes slow. Therefore, in conventional automatic drafting machines and numerically controlled machine tools, etc., when the trajectory drawn by a marking member or tool has a complex function shape, it is possible to draw it without using a complex function curve as long as the accuracy allows. , converting this trajectory into straight line or circular arc data by approximately dividing the trajectory by straight lines or circular arcs,
Interpolation is performed by digital control based on these data. However, even with this method, the number of straight line or circular arc data obtained from the trajectory becomes enormous, especially when interpolating between a large number of point sequences with minute intervals on the trajectory. In addition, the control speed is slow. The present invention was made in order to eliminate such drawbacks found in the interpolation method of the trajectory of marking members, tools, etc. in conventional automatic drafting machines and numerically controlled machine tools. For cubic interpolation, which is one of the methods for connecting with The present invention provides a novel method that enables high-speed control by adapting the execution time of one pulse distribution by the microcomputer to the maximum speed of movement of the marking head and the tool holder. The basic idea of the cubic interpolation method in the present invention is that when interpolating between the previously given point P i-1 and the currently given point P i , the next given point P i+1 and the point P The shape of the cubic curve to be interpolated is determined by taking into account the point P i -2 that was , the direction of the tangent at the end point P i matches the direction of the line segment from point P i-1 to point P i+1 . The details of the present invention will be explained below based on the drawings. Figure 1 shows three points positioned with respect to the reference XX coordinate system, namely the previously given point P i-
1 , Point P i given this time and interpolated so far this time
and is an exemplary diagram of a cubic curve passing through the next given point P i+1 . Now, in this figure, point P i-1
If the origin is taken as the ξ-axis, and the straight line connecting this origin P i-1 and point P i is taken as the ξ-axis, and the straight line passing through the origin P i-1 and perpendicular to this ξ-axis is taken as the η-axis, then the cubic curve is this ξ-η Since it passes through the origin of the coordinate system, it is expressed by the following cubic equation: η=aξ+bξ 2 +cξ 3 (1). The coefficients a, b, and c in equation (1) are obtained as follows. That is, as shown in FIG. 2,
Translate the X coordinate system in parallel, and set its origin to the first point P of the ξ-η coordinate system, that is, the first point P through which the cubic curve passes.
i-1 (the coordinates of this first point P i-1 are
Regarding both the X-Y and ξ-η coordinate systems, both become [o, o]. ), and on the line in the third quadrant of the X-Y coordinate system of this cubic curve, that is, in front of the first point P i-1 , with respect to the X-Y coordinate system, (Bx,
By) Take another point P i-2 with coordinate values, and with respect to the X-Y coordinate system, take the second point P i-2 through which the cubic curve passes.
The coordinates of the third points P i and P i+1 are (x 1 , y 1 ) and (x 2 , y 2 ), respectively, and the angle between the X axis and the ξ axis (Y axis and η axis) is θ. If so, ξ in equation (1)
Regarding η and η, the following equations are obtained. ξ 1 =Bxcosθ+Bysinθ ξ 2 =0 ξ 3 =x 1 cosθ+y 1 sinθ ξ 4 =x 2 cosθ+y 2 sinθ η 1 =−Bxsinθ+Bycosθ η 2 =0 η 3 =0 η 4 =−x 2 sinθ+y 2 cosθ In these equations ξ 1 and η 1 are the coordinate values of point P i-2 with respect to the ξ-η coordinate system, ξ 2 and η 2
are also the coordinate values of point P i-1 with respect to the ξ-η coordinate system, ξ 3 and η 3 are also the coordinate values of point P i with respect to the ξ-η coordinate system, and ξ 4 and η 4 are also the coordinate values of point P i-1 with respect to the ξ-η coordinate system.
These are the coordinate values of point P i+1 regarding the η coordinate system, and these coordinate values are obtained in order to calculate each coefficient a, b, and c in equation (1). In equation (1), a is the direction of the right component indicated by vector V i-1 at point P i-1 , and point P i-2
It is expressed by the following equation, assuming that the direction is the same as that from to point P i . a=η 3 −η 13 −ξ 1 Also, if the direction of the right component indicated by the vector V i at the point P i is a 1 , this direction is from the point P i-1 to the point P i+1 It is expressed by the following formula, assuming that the direction is the same as the direction leading to . a 1 = η 4 −η 24 −ξ 2Furthermore , since η 3 =0 at point P i , substitute ξ 3 into equation (1) and get aξ 3 + bξ 2 3 + cξ 3 3 = η 3 = 0, ξ 3 ≠ 0 Therefore, a + bξ 3 + cξ 2 3 = 0 ...(2) Also, the direction of the right component at point P i is obtained by differentiating equation (1) and substituting ξ 3 into it. Therefore, the formula a+2bξ 3 +3cξ 2 3 =a 1 ...(3) holds, so the other coefficient b in formula (1)
and c are obtained from these equations (2) and (3) as follows. b=-a 1 -2a/ξ 3 In general, the X-Y coordinate system as shown in Figure 1 and ξ-η
Between the coordinate systems, as shown in Figure 3, there are
If the angle between the axes (Y axis and η axis) is θ, then The following relational expression holds true. Furthermore, as shown in Figure 4, the relationship between the X-Y coordinate system and the ξ-η coordinate system is such that a unit vector of scalar amount 1 is taken on the ξ-axis, and the corresponding change in the η-axis direction is When △η is 1 , these and the amount of change in the X-Y coordinate system corresponding to these △X 1
Also holds between and △Y 1 , The following relational expression is obtained. Similarly, (△X 1 , △
The next unit vector in the ξ-axis direction with Y 1 ) as the origin, the corresponding amount of change in the η-axis direction △η 2 , and the corresponding amount of change in the X-Y coordinate system △
Also between X 2 and △Y 2 , The following relational expression holds true. Therefore, the j-th unit vector in the ξ-axis direction, the corresponding amount of change in the η-axis direction △ηj, and the corresponding amount of change in the X-Y coordinate system △
The relationship between Xj and △Yj is similar to equation (4). It is expressed by the following formula. △ηj in equation (5) is expressed as (j+
1) and by substituting j, Δηj=ηj+1−ηj=(a+b+c)+(2b+3c)j+3cj 2 . Now, in this formula, replace (a+b+c) with b, (2b+3c) with m, and replace 3c with m, and j and
If we rewrite j 2 as a recurrence formula, we get becomes. f(j-1) in this equation is expressed by the following equation. In order to clarify the meaning of this equation (6), △η 1 , △
Concretely expressing η 2 , Δη 3 and Δη 4 is as follows. △η 1 =k++o+f(o)=k++m (f(o)=m) △η 2 =k+2+2m+f(1)=k+2+
4m (f(1)=f(o)+2(o)+m=2m) △η 3 =k+3+2(2m)+f(2)=k+3
+9m (f(2)=f(1)+2(m)+m=5m) △η 4 =k+4+2(3m)+f(3)=k+4
+16m (f(3)=f(2)+2(2m)+m=10m) By substituting equation (6) like this into equation (5), The following formula is obtained. Each term in these equations (7) and (8) is cosθ, ksinθ, sinθ, msinθ, sinθ+
Since kcosθ, cosθ and mcosθ are in a constant or cumulative relationship, each
It is clear that there is no need to multiply by cos θ or sin θ, and the calculation processing time is shortened. Furthermore, if the amount of change in the X-Y coordinate system from the first point P i -1 to the second point P i in FIG. 1 is △X and △Y, cos θ and sin
Each of θ can be obtained from the following equations. In this way, from the unit vector on the ξ axis,
After obtaining △Xj and △Yj, add the fractions axj−1 and ayj−1 that remained from the previous time to these to obtain the movement components △X′j and △Y′j in the X-axis direction, and convert these into integers. It is separated into pulse portions N and M and fractional portions αxj and αyj. △Xj+αXj−1=△X′j=N+αXj……(11) △Yj+αyi−1=△Y′j=M+αyj……(12) In this way, pulse distribution can be easily performed algebraically. . Next, the manner in which such pulse distribution is performed will be explained based on a simple numerical example and with reference to FIG. In the figure, the amount of change in the j-1st X-Y coordinate system is △Xj-1 = 2.3 (the number of significant digits in these numbers is determined as appropriate), △Yj-1 = 3.6, and the same X-Y coordinate system as the j-th The amount of change in the Y coordinate system is △Xj = 0.8 △Yj = 2.1 Furthermore, up to j-2nd, the fraction (value after the decimal point) of the numerical value that has already been distributed in the X-Y coordinate system If the values of the registers are αxj−2=0.2 αyj−2=0.1, respectively,
The moving components at the j-1st position are △X′j-1=△Xj-1+αxj-2=2.5 and △Y′j-1=△Yj-1+αyj-2=3.7. Therefore, at this point, the pulses related to the Y-axis are output before those related to the X-axis, and the number of pulses in each is 3 and 2, respectively. As a result, the values of the j-1th fraction register are αxj-1=0.5 αyj-1=0.7, respectively. Similarly, the j-th moving component, ie, the pulse distribution amount, is ΔX′j=ΔXj+αxj−1=1.3 and ΔY′j=ΔYj+αyj−1=2.8, respectively. Therefore, at this point as well, the pulses related to the Y-axis are outputted earlier than those related to the X-axis, and the number of pulses is 2 and 1, respectively. As a result, the values of the j-th fraction register are αxj=0.3 αyj=0.8, respectively. The timing of such pulse distribution in the present invention is performed, for example, as follows. In other words, marking heads and tool holders in automatic drafting machines, numerically controlled machine tools, etc.
Along the axis and Y axis, V = 24 (m/min) =
It is driven at a speed of 24000/60 (mm/sec), and the driving distance per pulse is set to 0.01 mm. As a result, the pulse interval becomes ΔT=1/400×100=25 (μsec), and it is sufficient to output one pulse every 25 μsec. In such a case, if a microcomputer with a one-instruction execution time of 200 nsec is used, calculations can be repeated in 25000/200, or 125, program execution steps. Regarding the above-mentioned pulse distribution, regarding equations (7) and (8), 15 steps are required for calculating △Xj, 15 steps are required for calculating △Yj, and 15 steps are required for calculating △Yj. Fractions αx and α
Regarding the calculation of y, there are 6 steps each.
There are 12 steps in total, and there are about 30 steps for determining the speed, and the total number of steps is within 100, so it can be easily executed by the microcomputer. Therefore, conventionally, interpolation using such a straight line division method has been performed at speeds of 8 m/min to 12 m/min.
While interpolation was performed at a speed of m/min, according to the present invention, interpolation can be performed at a high speed of 24 m/min. Figure 6 shows the principle of the configuration of a device that actually performs pulse distribution using the above-mentioned specifications, and Figure 9 shows a flowchart of a computer program. The enclosed area indicates the execution range of the microcomputer. In the figure, 1 decodes the input data and calculates each coefficient a, b, and c in equation (1), k and m in equation (6), and cosθ and sinθ shown in equations (9) and (10). From, the eight operational elements cosθ, ksinθ, sinθ, msinθ, sin
A computing unit that calculates θ, kcosθ, cosθ, and mcosθ, respectively, and inputs the results to a microcomputer.The calculation of these computing elements is usually done by
It is performed on a minicomputer, and in the flowchart of FIG. 9, calculations are performed using blocks 11 to 16. 2 is based on the 8 calculation elements input from this calculation unit 1,
This is a calculator that calculates △Xj and △Yj shown by equations (7) and (8), and the calculation contents are shown in block 21 on the flowchart. For example, △Xj
about,

【式】および[expression] and

【式】の積 算(アキユムレート)レジスタ、f(j−1)
sinθのG(msinθ)レジスタ(msinθの階数積
算〔アキユムレート〕レジスタを意味する。)、な
らびにcosθおよびksinθの定数レジスタから、
また△Yjに関しては、同じく、
Accumulation (accumulation rate) register of [formula], f(j-1)
From the G (msinθ) register of sinθ (meaning the rank accumulation register of msinθ) and the constant registers of cosθ and ksinθ,
Similarly, regarding △Yj,

【式】および[expression] and

【式】の積 算(アキユムレート)レジスタ、f(j−1)
cosθのG(mcosθ)レジスタ、ならびにsinθ
およびkcosθの定数レジスタから構成されてい
る。計算器2のこれらレジスタにより、フローチ
ヤート上ではブロツク21で計算された△Xjお
よび△Yjの値は、3で示される算定器に入力さ
れ、この算定器3において、フローチヤート上で
はブロツク31,32で示すように、(11)およ
び(12)式で示されるように、△X′jおよび△Y′j
に対応するパルス値NおよびMならびにその時点
における端数αxjおよびαyjが算定される。算定
器3において算定されたパルス値NおよびM(N
およびMはOの場合もある。)は、4で示される
出力器に入力され、この出力器4において、マイ
クロコンピユータのプログラム実行ステツプに同
期させながら、DDA方式に則つてパルス配分さ
れ、その出力信号が5で示される駆動装置に送ら
れることにより、マーキングヘツドやツールホル
ダ等の適正な駆動が行われる。このようなパルス
配分の状況を6で示される第1の指令器で監視
し、N,Mのパルス配分が終了するとその信号が
第2の指令器7に送られる。これらの指令器6,
7はフローチヤート上ではブロツク61,71で
示されている。指令器7ではξ方向の単位ベクト
ルの和
Accumulation (accumulation rate) register of [formula], f(j-1)
G (mcosθ) register of cosθ and sinθ
and kcosθ constant registers. With these registers of the calculator 2, the values of △Xj and △Yj calculated in block 21 on the flowchart are inputted to the calculator shown as 3. 32, as shown in equations (11) and (12), △X′j and △Y′j
The pulse values N and M corresponding to , and the fractions αxj and αyj at that point in time are calculated. The pulse values N and M(N
and M may also be O. ) is input to the output device 4, which distributes pulses according to the DDA method while synchronizing with the program execution step of the microcomputer, and the output signal is sent to the drive device 5. By being fed, the marking head, tool holder, etc. are properly driven. The status of such pulse distribution is monitored by a first command unit 6, and when the N and M pulse distributions are completed, the signal is sent to the second command unit 7. These command units 6,
7 is shown as blocks 61 and 71 on the flowchart. The command unit 7 calculates the sum of unit vectors in the ξ direction.

【式】がξに達する迄jを1ずつ進め てξ方向の単位ベクトルにつき計算器2に繰り返
えし計算させる。
j is incremented by 1 until [Formula] reaches ξ 3 , and the calculator 2 repeatedly calculates each unit vector in the ξ direction.

【式】がξに達すると演算 器1の出力を一且停止し、次に通るべき点迄の演
算を行うため演算器1にiを1つずつ進めた点の
データを読み込ませた上で、上記の演算が繰り返
えされる。 なお、第6図および第9図の装置およびフロー
チヤートには示してないが、第7図および第8図
に基づき、このような三次補間のパルス配分にお
ける実行ステツプ数について、補足説明を加える
と、つぎの通りである。第1図のξ軸に沿つた第
1の点Pi-1と第2の点Piの距離をξとし、か
つこれら第1の点Pi-1と第2の点Piにおける微
係数に関し、 ξα=u ξα=w とおけば、(1)式は、 η=u(ξ/ξ)−(2u+w)(ξ/ξ+(
u+w) (ξ/ξのように書き直れる。この式において、 ξ/ξ=τとおけば、 η=uτ−(2u+w)τ+(u+w)τ
……(13) となる。この(13)式で示される関数の極限値
は、dη/dτ=0の場合のτの値、すなわち で示される。 この(14)式で示されるτの値が、いずれもO
<τ<1の範囲であれば、第1図の三次曲線
は、第7図aのように、またτの値が一方が1<
τの範囲であれば、同図bのように、更にτの値
の一方がτ<oの範囲であれば、同図cのように
なる。いま、0<τ<1なるτを得たとき、その
τを(13)式に代入すれば、点Pi-1から点Pi
での間のηの最大値ηnaxを得ることができる。
この時の第1の点Pi-1と第2の点Piの間におけ
る三次曲線を、第8図に示すように、直線で細
分割しながら、Pi-1→(A)→Piと移動するこ
とは、Pi-1→(ロ)→(ニ)Piの直線に沿つて、同様な
直線分割を行ないながら、移動するのと等価的で
あり、その移動距離は、窮局的に、Pi-1→(イ)→
(ハ)→(ホ)→Piの直線の長さと等しくなる。したが
つて、この第1の点Pi-1と第2の点Piの間にお
ける三次曲線のη座標の最大値をηnaxとすれ
ば、パルス配分における実行ステツプ数は、 L=(ξ+2ηmax)(cosθ+sinθ)
……(15) なる式で求められる。このLにより、マーキング
ヘツドやツールホルダ等の駆動の際の最高速度や
加減速に用いられるステツプ数を適正に定めるこ
とができる。 以上、X−Y座標系を基準に説明したが、数値
制御工作機械のように、Y−Z座標系に関しても
制御が行われる場合は、このY−Z座標系を基準
にすればよい。 本発明は、このように、与えられた点列を滑ら
かな曲線で結ぶ方式の一つであるいわゆる三次補
間に対し、弦の高さ(chord height)を照合する
などして直線分割を行うといつた従来の方式を用
いることなく、その代りにマイクロコンピユータ
を用い、このマイクロコンピユータによる1回の
パルス配分の実行時間を、自動製図機や数値制御
工作機械等におけるマーキングヘツドがツールホ
ルダ等の移動の最高速度に適合させることによ
り、高速制御を可能にしたもので、従来の方式に
みられる欠点を完全に除くことでき、その効果は
きわめて大きい。
When [formula] reaches ξ 3 , the output of the calculator 1 is temporarily stopped, and in order to perform calculations up to the next point to be passed, the data of the point where i is advanced one by one is read into the calculator 1. Then, the above operation is repeated. Although not shown in the apparatus and flowcharts of FIGS. 6 and 9, we would like to add a supplementary explanation regarding the number of execution steps in pulse distribution for cubic interpolation based on FIGS. 7 and 8. , as follows. The distance between the first point P i-1 and the second point P i along the ξ axis in FIG . Regarding the coefficients, if we set ξ 3 α= u ξ 3 α 1 =w, equation ( 1 ) becomes
u+w) (ξ/ξ 3 ) It can be rewritten as 3 . In this formula, if we set ξ/ξ 3 = τ, then η = u τ - (2u + w) τ 2 + (u + w) τ 3
...(13) becomes. The limit value of the function expressed by equation (13) is the value of τ when dη/dτ=0, that is, It is indicated by. The value of τ shown in equation (14) is all O
<τ<1, the cubic curve in Figure 1 will look like Figure 7a, and if one of the values of τ is 1 <
If τ is within the range, the result will be as shown in b in the same figure, and if one of the values of τ is in the range of τ<o, then the result will be as shown in c in the same figure. Now, when we obtain τ such that 0<τ<1, by substituting that τ into equation (13), we can obtain the maximum value η nax of η between point P i-1 and point P i .
At this time, the cubic curve between the first point P i-1 and the second point P i is subdivided by straight lines as shown in FIG. Moving with i is equivalent to moving along the straight line P i-1 → (b) → (d) P i while performing the same straight line division, and the moving distance is Locally, P i-1 →(i)→
It is equal to the length of the straight line (c)→(e)→P i . Therefore, if the maximum value of the η coordinate of the cubic curve between the first point P i-1 and the second point P i is η nax , the number of execution steps in pulse distribution is L=(ξ 3 +2ηmax) (cosθ+sinθ)
...(15) It is obtained by the formula. By this L, the maximum speed and the number of steps used for acceleration and deceleration when driving the marking head, tool holder, etc. can be appropriately determined. The above description has been made based on the X-Y coordinate system, but if control is also performed on the Y-Z coordinate system, such as in a numerically controlled machine tool, this Y-Z coordinate system may be used as the reference. In this way, the present invention solves the so-called cubic interpolation, which is a method of connecting a given point sequence with a smooth curve, by performing straight line division by checking the chord height, etc. Instead of using the conventional method, a microcomputer is used instead, and the execution time of one pulse distribution by this microcomputer can be reduced by the marking head of automatic drafting machines, numerically controlled machine tools, etc., and the movement of tool holders, etc. By adapting it to the maximum speed of

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は基準となるX−Y座標系に対し位置付
けられた3点Pi-1,PiおよびPi+1を通る三次曲
線の例示図、第2図は第1図に示される三次曲線
の方程式η=aξ+bξ+cξにおける各係
数a,bおよびcを求めるための図、第3図は第
1図におけるX−Y座標系とξ−η座標系の関係
を示す図、第4図は第3図におけるξ−η座標系
に関しξ軸方向にとつた単位ベクトルおよびそれ
に対応するη軸方向の変化量とこれに対応するX
−Y座標系における変化量の関係を示す図、第5
図は三次補間におけるパルスス配分の模様を示す
図、第6図はマイクロコンピユータを用いてパル
ス配分を行う装置の構成を原理的に示す図、第7
図および第8図はパルス配分における実行ステツ
プ数を求めるための図、第9図はコンピユータの
プログラムのフローチヤートである。 1…演算器、2…計算器、3…算定器、4…出
力器、5…駆動装置、6,7…指令器。
Figure 1 is an example of a cubic curve passing through three points P i-1 , P i and P i+1 positioned with respect to the reference X-Y coordinate system, and Figure 2 is an illustration of the cubic curve shown in Figure 1. Figure 3 is a diagram showing the relationship between the X- Y coordinate system and the ξ-η coordinate system in Figure 1 . The figure shows the unit vector taken in the ξ-axis direction, the corresponding amount of change in the η-axis direction, and the corresponding X
- Diagram showing the relationship between the amount of change in the Y coordinate system, fifth
The figure shows the pattern of pulse distribution in cubic interpolation, Figure 6 shows the principle of the configuration of a device that performs pulse distribution using a microcomputer, and Figure 7
8 and 8 are diagrams for determining the number of execution steps in pulse distribution, and FIG. 9 is a flowchart of a computer program. DESCRIPTION OF SYMBOLS 1... Arithmetic unit, 2... Calculator, 3... Calculator, 4... Output device, 5... Drive device, 6, 7... Command device.

Claims (1)

【特許請求の範囲】[Claims] 1 基準となる互いに直交する二つの座標軸に沿
つて制御が行われる移動部材が図く軌跡の輪郭制
御において、この部材の移動制御に関し入力指令
として与えられる前記二つの座標軸に関する座標
値と一致する点の列を滑らかに結ぶための補間曲
線として、前記二つの座標軸の平面内で補間すべ
き相隣る2点を結ぶ直線の方向をξ軸として回転
した直交軸(ξ−η軸)に関しη=aξ+bξ
+cξなる式で表わされる三次曲線を用い、ξ
軸上に連続してスカラ量1の単位ベクトルをと
り、この単位ベクトルの変化量に対応するη軸成
分の変化量を算出し、これら単位ベクトルおよび
η軸成分の変化量を前記二つの座標軸のそれぞれ
の成分の変化量に換算し、これら二つの座標軸の
それぞれの成分の変化量をパルス配分して実時間
に前記移動部材の位置制御を行うようにしたこと
を特徴とする三次補間方式。
1. In the contour control of the locus of a moving member that is controlled along two reference coordinate axes that are orthogonal to each other, a point that coincides with the coordinate values regarding the two coordinate axes that are given as input commands regarding the movement control of this member. As an interpolation curve to smoothly connect the rows of , η= aξ+bξ 2
+cξ Using a cubic curve expressed by the formula 3 , ξ
Continuously take a unit vector with a scalar amount of 1 on the axis, calculate the amount of change in the η-axis component that corresponds to the amount of change in this unit vector, and calculate the amount of change in these unit vectors and the η-axis component between the two coordinate axes. A cubic interpolation method characterized in that the position control of the movable member is performed in real time by converting the amount of change in each component into the amount of change in each component of these two coordinate axes and distributing the amount of change in each component in pulses.
JP4606079A 1979-04-17 1979-04-17 Tertiary interpolation system Granted JPS55138112A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4606079A JPS55138112A (en) 1979-04-17 1979-04-17 Tertiary interpolation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4606079A JPS55138112A (en) 1979-04-17 1979-04-17 Tertiary interpolation system

Publications (2)

Publication Number Publication Date
JPS55138112A JPS55138112A (en) 1980-10-28
JPS6115446B2 true JPS6115446B2 (en) 1986-04-24

Family

ID=12736461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4606079A Granted JPS55138112A (en) 1979-04-17 1979-04-17 Tertiary interpolation system

Country Status (1)

Country Link
JP (1) JPS55138112A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6387467U (en) * 1986-11-26 1988-06-07
JPH0426842Y2 (en) * 1987-09-30 1992-06-26
JPH074677A (en) * 1992-12-01 1995-01-10 Noboru Maruyama Hot water supply apparatus

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS583002A (en) * 1981-06-30 1983-01-08 Fujitsu Ltd Control system of robot
JPS647207A (en) * 1987-06-30 1989-01-11 Fanuc Ltd Spline interpolating system
JPS6481012A (en) * 1987-09-22 1989-03-27 Fanuc Ltd Numerical controller

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6387467U (en) * 1986-11-26 1988-06-07
JPH0426842Y2 (en) * 1987-09-30 1992-06-26
JPH074677A (en) * 1992-12-01 1995-01-10 Noboru Maruyama Hot water supply apparatus

Also Published As

Publication number Publication date
JPS55138112A (en) 1980-10-28

Similar Documents

Publication Publication Date Title
EP0130570B1 (en) Method and apparatus for controlling a robot hand along a predetermined path
EP0299403B1 (en) Method and apparatus for moving a tool along a curved path
US4031369A (en) Interpolation and control apparatus and method for a numerical control system
EP0312544B1 (en) Iterative spline function controlled positioning mechanism
US4683543A (en) Time-based interpolation control of a robot
US3720814A (en) Direct numerical control system
EP0770941A1 (en) Method and device for interpolating free-form surface
GB1525839A (en) Apparatus for controlling movements of a machine element relative to a workpiece
EP0077177B1 (en) Numerical control method and arrangement
JPS6115446B2 (en)
US4814998A (en) Digitizing method
EP0476381B1 (en) Route interpolation method for robot
US3866027A (en) Digital tool size compensation for numerical control
US4493032A (en) Method and apparatus for positioning using circular interpolation
JP2793804B2 (en) Pulse distribution method
JP2790643B2 (en) Numerical control unit
EP0071378A1 (en) Numerical control method and apparatus
US3731175A (en) Servo system for velocity and position control
JPH06170763A (en) Polishing method using control of force
Moon et al. Time optimal trajectories for cooperative multi-robot systems
JPS62282304A (en) Interpolation method for orbit in automatic machine
EP0037720A2 (en) A method of machining using numerical data
JPH03245209A (en) Teaching method and control method for continuous route of robot
EP0412163B1 (en) Digitizing method
JPS62115505A (en) Automatic setting device for teaching point of industrial robot