JPH1148176A - Robot position teach device - Google Patents

Robot position teach device

Info

Publication number
JPH1148176A
JPH1148176A JP22727597A JP22727597A JPH1148176A JP H1148176 A JPH1148176 A JP H1148176A JP 22727597 A JP22727597 A JP 22727597A JP 22727597 A JP22727597 A JP 22727597A JP H1148176 A JPH1148176 A JP H1148176A
Authority
JP
Japan
Prior art keywords
point
teaching
robot
error
teach
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.)
Pending
Application number
JP22727597A
Other languages
Japanese (ja)
Inventor
Atsushi Hagiwara
萩原  淳
Hidenori Tomizaki
秀徳 富崎
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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP22727597A priority Critical patent/JPH1148176A/en
Publication of JPH1148176A publication Critical patent/JPH1148176A/en
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a device whereby a deviation between an action locus after expected teach and a teach locus can be set within a permissible value, even by providing a difference of each shaft servo delay and friction and the other non-linear factor. SOLUTION: A device is provided with a teach point read means 1 reading a previously taught teach point, each shaft angle read means 2 reading each shaft angle at each sampling time when a robot is actually operated, and a control point position arithmetic means 3 able to calculate a position of a robot control point in each sampling time from each shaft angle of each sampling time. Further, the device is provided with an error arithmetic means 4 calculating an error between an actual action locus of the robot obtained from the control point position arithmetic means and a teach locus, expected teach point arithmetic means 5 calculating an expected teach point so as to generate an actual action locus of the robot along a teach locus from the error obtained by the error arithmetic means and the teach locus, and a teach point re-memory means 6 re-storing the expected teach point in a non-volatile memory to be classified from the former teach point.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明はロボットに動作位置
を教示するロボット位置教示装置に関し、特にロボット
に直線補間させる時やコーナ点を含む教示を行う場合
に、所望の動作軌跡からの誤差をできるだけ少なくする
ロボット位置教示装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a robot position teaching apparatus for teaching an operating position to a robot, and more particularly, to an error from a desired operating locus when performing linear interpolation or teaching including a corner point. The present invention relates to a robot position teaching device for reducing the number of robots.

【0002】[0002]

【従来の技術】従来では、教示軌跡と実際の動作軌跡が
ずれる場合には、その対策の一つの方法として、オペレ
ータが予め軌跡のずれを見込んで教示点の追加や位置変
更を行っていたが、その作業はオペレータの感覚で決め
られるので、軌跡のずれを的確に解消することができな
かった。また、人手による作業であるので、試行錯誤に
時間がかかり多大な労力が必要であるという問題があっ
た。これらを解決するために、例えばコーナ部の見込み
教示点の一つの演算方法として、コーナ部を形成するコ
ーナ点とその前後の2点及び前記コーナ点前後での加減
速時定数及び前記コーナ部での教示速度、前記コーナ点
のなす角から見込み点を計算式によって算出するという
方法がとられていた(特開平7−32279)。詳細を
図に基ずいて説明する。
2. Description of the Related Art Conventionally, when a teaching trajectory deviates from an actual operation trajectory, as one method of countermeasures, an operator adds a teaching point or changes a position in advance in anticipation of a deviation of the trajectory. However, since the operation is determined by the operator's feeling, the deviation of the trajectory could not be exactly eliminated. In addition, since the operation is performed manually, there is a problem that it takes time for trial and error and requires a great deal of labor. In order to solve these, for example, as one calculation method of a prospective teaching point of a corner portion, a corner point forming a corner portion, two points before and after the corner point, an acceleration / deceleration time constant before and after the corner point, and the corner portion (Tokukaihei 7-32279). Details will be described with reference to the drawings.

【0003】図6は従来のロボット位置教示方式の原理
を説明する図である。図において教示点等読み取り手段
21は、不揮発性メモリ24に予め格納された教示点
L,N及びP を読みとる。また、教示点等読み取り手段
21は、不揮発性メモリ24に同様に格納されている加
減速時定数Tと教示速度Vpを読みとる。見込み点等演
算手段22は、教示点等読み取り手段21が読みとった
教示点L,N及びP、加減速時定数T及び教示速度Vp
を用いて、コーナ部分での加減速開始点Mと加減速終了
点O、及びロボットの実際の動作軌跡がコーナ部分に沿
ったものとなるようにコーナ点Nに代えて内部的に教示
する見込み点N’を演算する。教示点再記憶手段23
は、見込み点等演算手段22が求めた加減速開始点M、
加減速終了点O及び見込み点N’を教示点として再記憶
し、不揮発性メモリ25に格納する。次に、見込み点
N’の求め方について図7を用いて説明する。まず、M
N間及びNO間の距離lを求めるが、この距離はl=
(1/2)・Vp・Tで表される。次に、見込み点N’
の角度γを求める。△MNN’において、 ∠N=(π+β)/2、 ∠N’=(π−γ)/2、 ∠M=(γ−β)/2 が成立する。また、正弦定理より次式が成立する。 d1/sin{(γ−β)/2}=l/sin{(π−
γ)/2} 一方、N,N’間の距離d1は、次式で表せる。 d1=(1/4)・Vp・T・sin(γ/2)=(l
/2)・sin(γ/2) これらの式よりd1を消去すると、sin(γ)=4・
sin{(γ−β)/2}が求められる。上式より、γ
はβにより決まることが分かる。一般的には、tan
(γ/2)=tとおくと、tに関する3次方程式を解く
ことにより求められる。γが求まると、見込み点N’の
位置を∠Nを2分割する線上に決定することができる。
FIG. 6 is a diagram for explaining the principle of a conventional robot position teaching system. In the figure, a teaching point etc. reading means 21 reads teaching points L, N and P stored in a nonvolatile memory 24 in advance. The teaching point etc. reading means 21 reads the acceleration / deceleration time constant T and the teaching speed Vp stored in the nonvolatile memory 24 in the same manner. The expected point etc. calculating means 22 includes the teaching points L, N and P read by the teaching point etc. reading means 21, the acceleration / deceleration time constant T and the teaching speed Vp.
Is expected to be taught internally instead of the corner point N so that the actual motion trajectory of the robot follows the corner part, using acceleration and deceleration start point M and acceleration / deceleration end point O at the corner part. The point N 'is calculated. Teaching point re-storage means 23
Is the acceleration / deceleration start point M obtained by the expected point etc. calculating means 22,
The acceleration / deceleration end point O and the expected point N ′ are stored again as teaching points and stored in the nonvolatile memory 25. Next, a method of obtaining the prospective point N 'will be described with reference to FIG. First, M
The distance 1 between N and NO is obtained, and this distance is 1 =
It is represented by (1/2) · Vp · T. Next, the expected point N '
Is obtained. In ΔMNN ′, ΔN = (π + β) / 2, ΔN ′ = (π−γ) / 2, ΔM = (γ−β) / 2. Further, the following equation is established from the sine theorem. d1 / sin {(γ-β) / 2} = l / sin {(π−
γ) / 2} On the other hand, the distance d1 between N and N ′ can be expressed by the following equation. d1 = (1 /) · Vp · T · sin (γ / 2) = (l
/ 2) · sin (γ / 2) When d1 is eliminated from these equations, sin (γ) = 4 ·
sin {(γ-β) / 2} is obtained. From the above equation, γ
Is determined by β. Generally, tan
If (γ / 2) = t, it is obtained by solving a cubic equation related to t. Once γ is determined, the position of the prospective point N ′ can be determined on a line that divides ∠N into two.

【0004】[0004]

【発明が解決しようとする課題】ところが、従来の方法
では、実際のロボットの動作軌跡からではなく、教示速
度や加減速時定数、コーナ部角度だけからロボットの動
作軌跡を推測し、それにより見込み教示点を算出してい
たため、ロボット各軸のサーボ遅れの差や摩擦その他の
非線形な要因による実際のロボット動作軌跡のずれに対
しては、何ら効果を発揮させることができず、その結
果、見込み教示後も実際の動作軌跡が当初の教示軌跡か
ら、大きくずれるという問題があった。また、誤差とし
て、コーナ点だけしか考慮していないため、コーナ点以
外の部分、特に点MN間や点NO間では教示速度の大き
さによっては、図3(A)に示すように、実際の動作軌
跡が教示軌跡からずれることがある。それにより、箱形
のワークの内部の教示などでは、ロボットアームまたは
ジグとワークが干渉してしまうという問題があった。そ
こで本発明は、各軸サーボ遅れの差や摩擦その他の非線
形な要因があっても、見込み教示後の動作軌跡と教示軌
跡のずれを許容値以内にすることができる装置を提供す
ることを目的とする。
However, in the conventional method, the robot motion trajectory is estimated from only the teaching speed, the acceleration / deceleration time constant, and the corner angle, not from the actual robot motion trajectory. Since the teaching point was calculated, it could not exert any effect on the actual robot motion trajectory deviation due to the difference in servo delay of each robot axis, friction or other non-linear factors. Even after teaching, there is a problem in that the actual movement locus deviates greatly from the original teaching locus. Further, since only the corner point is considered as an error, depending on the magnitude of the teaching speed between the points other than the corner point, particularly between the points MN and NO, as shown in FIG. The motion locus may deviate from the teaching locus. Accordingly, there is a problem that the robot arm or the jig interferes with the work when teaching inside the box-shaped work. Therefore, an object of the present invention is to provide a device that can keep the deviation between the motion trajectory after the prospective teaching and the teaching trajectory within an allowable value even when there is a difference between the servo delays of each axis, friction, and other nonlinear factors. And

【0005】[0005]

【課題を解決するための手段】本発明では上記課題を解
決するために、予め教示された教示点を読みとる教示点
読み取り手段、ロボットを実際に動作させたときのサン
プリング時間毎の各軸角度を読みとる各軸角度読み取り
手段、前記サンプリング時間毎の各軸角度からサンプリ
ング時間毎のロボット制御点の位置を算出することので
きる制御点位置演算手段、前記制御点位置演算手段によ
り求められたロボットの実際の動作軌跡と教示軌跡の誤
差を計算する誤差演算手段、前記誤差演算手段により求
まった誤差と教示軌跡から前記ロボットの実際の動作軌
跡が教示軌跡に沿ったものとなるように見込み教示点を
算出する見込み教示点演算手段と、前記見込み教示点を
前記不揮発性メモリ内にもとの教示点と区別して再記憶
する教示点再記憶手段とを設けるものである。上記手段
により、前記教示点読み込み手段は、予め教示された点
を読みとり、前記各軸角度読み取り手段及び前記制御点
位置演算手段により、ロボットを前記教示点で動作させ
た時のサンプリング時間毎の制御点の実際の動作軌跡を
求め、前記動作軌跡と教示軌跡の誤差を前記誤差演算手
段で求め、前記見込み教示点演算手段により、教示点の
追加や変更などの見込み教示点算出を行い、前記教示点
再記憶手段で内部的に再記憶される。この操作を誤差が
所定の許容値以下になるまで繰り返すことにより、各軸
サーボ遅れの差や摩擦その他の非線形な要因があって
も、見込み教示後の動作軌跡と教示軌跡のずれは許容値
以内にすることができる。さらに、サンプリング時間毎
の制御点位置の誤差を監視しているため、コーナ点部以
外の教示軌跡とのずれも非常に小さくでき、箱形のワー
クの内部での干渉問題も解決できる。
According to the present invention, in order to solve the above-mentioned problems, a teaching point reading means for reading a teaching point taught in advance, and an angle of each axis for each sampling time when the robot is actually operated. Each axis angle reading means for reading, a control point position calculating means capable of calculating a position of a robot control point for each sampling time from each axis angle for each sampling time, and a robot actual position obtained by the control point position calculating means. Error calculating means for calculating an error between the motion trajectory and the teaching trajectory, and calculating a prospective teaching point from the error obtained by the error calculating means and the teaching trajectory so that the actual motion trajectory of the robot follows the teaching trajectory. Teaching point calculating means for performing teaching point re-storing for re-storing the teaching point in the nonvolatile memory separately from the original teaching point in the nonvolatile memory It is intended to provide a stage. With the above-mentioned means, the teaching point reading means reads a point taught in advance, and the control for each sampling time when the robot is operated at the teaching point is performed by the axis angle reading means and the control point position calculating means. The actual motion locus of the point is obtained, the error between the motion locus and the teaching locus is obtained by the error calculating means, and the expected teaching point calculation such as adding or changing the teaching point is performed by the prospective teaching point calculating means. The data is internally re-stored by the point re-storage means. By repeating this operation until the error becomes equal to or less than the predetermined allowable value, the deviation between the motion trajectory after the expected teaching and the teaching trajectory is within the allowable value, even if there is a difference in servo delay of each axis, friction, or other nonlinear factors. Can be Further, since the error of the control point position is monitored for each sampling time, the deviation from the teaching trajectory other than the corner points can be made very small, and the problem of interference inside the box-shaped work can be solved.

【0006】[0006]

【発明の実施の形態】以下、本発明の一実施例を図に基
づいて説明する。図1は本発明の原理を示すブロック図
である。図において、1は教示点読み取り手段、2は各
軸角度読み取り手段、3は2からの情報をもとにサンプ
リング時間毎の制御点の位置を演算する制御点位置演算
手段、4は教示点読み取り手段1と制御点位置演算手段
3の情報から誤差を計算する誤差演算手段、5は誤差演
算手段4と教示点読み取り手段1のデータをもとに追加
又は変更する見込み教示点を演算する見込み教示点演算
手段、6は算出されたいくつかの見込み教示点を再び記
憶する教示点再記憶手段である。また、7aは最初の教
示点の位置及び、見込み教示点演算手段で算出した見込
み教示点の位置を教示点再記憶手段6により格納する不
揮発性メモリである。7bは実際にロボットを動作させ
たときのサンプリング時間毎の各軸角度を格納する不揮
発性メモリである。次に、コーナ部の教示を例にとっ
て、見込み教示点の求め方について図2及び図4を用い
て説明する。図2において、予め教示点A,C,Eが教
示されているものとし、図4の処理フローに従って実行
される。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing the principle of the present invention. In the figure, 1 is a teaching point reading means, 2 is each axis angle reading means, 3 is a control point position calculating means for calculating the position of a control point for each sampling time based on information from 2, and 4 is a teaching point reading means Error calculating means for calculating an error from the information of the means 1 and the control point position calculating means 3; and 5, a prospective teaching for calculating a prospective teaching point to be added or changed based on the data of the error calculating means 4 and the teaching point reading means 1. The point calculating means 6 is a teaching point re-storing means for storing again some calculated expected teaching points. Reference numeral 7a denotes a non-volatile memory which stores the position of the first teaching point and the position of the prospective teaching point calculated by the prospective teaching point calculation means by the teaching point re-storage means 6. Reference numeral 7b denotes a non-volatile memory for storing each axis angle for each sampling time when the robot is actually operated. Next, a method of obtaining a prospective teaching point will be described with reference to FIGS. In FIG. 2, it is assumed that teaching points A, C, and E have been taught in advance, and the processing is executed according to the processing flow of FIG.

【0007】(STEP1):点AC間及びコーナ部の
誤差に着目する。 (I) 教示点A,C,Eに沿ってロボットを実際に動
作させる。このときのサンプリング時間毎の各軸角度を
不揮発性メモリ7bに格納しておく。
(STEP 1): Attention is paid to errors between points AC and at corners. (I) The robot is actually operated along the teaching points A, C, and E. Each axis angle for each sampling time at this time is stored in the nonvolatile memory 7b.

【0008】(II) 動作終了後、不揮発性メモリ7b
よりサンプリング時間毎の各軸角度を各軸角度読み取り
手段2により読みとり、制御点位置演算手段3でサンプ
リング時間毎の制御点位置を算出する。
(II) After the operation is completed, the nonvolatile memory 7b
Further, each axis angle for each sampling time is read by each axis angle reading means 2, and the control point position calculating means 3 calculates a control point position for each sampling time.

【0009】(III ) 算出されたサンプリング時間毎
の制御点位置と教示軌跡の誤差を誤差演算手段4により
求める。以下(III −I)〜(III −III )が処理手順
である。なお、以降の処理は、すべての点を点A,C,
Eを含む平面Σ上に投影し、その平面上に2次元の座標
X−Yを設定して行い、平面Σに垂直な方向に関して
は、後述するものとする。以下に示す全ての点は平面Σ
上に投影後の2次元座標X−Yで表現する。
(III) The error between the calculated control point position and the teaching locus for each sampling time is obtained by the error calculating means 4. The following (III-I) to (III-III) are processing procedures. In the following processing, all points are set to points A, C,
The projection is performed on a plane 含 む including E, two-dimensional coordinates XY are set on the plane, and a direction perpendicular to the plane Σ will be described later. All points shown below are plane Σ
It is expressed by two-dimensional coordinates XY after projection on the top.

【0010】(III −I): 教示点読み取り手段1に
より読み取られた、教示点A,Cの座標値から、点Aと
点Cを結ぶ直線の方程式を計算し、f(AC)としてお
く。それぞれの座標値を点A(XA,YA) 点C(X
C,YC)とすると、f(AC)は式(1)のようにな
る。 f(AC):Y=(YC−YA)/(XC−XA)*(X−XA)+YA…(1 )
(III-I): From the coordinate values of the teaching points A and C read by the teaching point reading means 1, an equation of a straight line connecting the points A and C is calculated and set as f (AC). Point A (XA, YA) and point C (X
C, YC), f (AC) is as shown in equation (1). f (AC): Y = (YC-YA) / (XC-XA) * (X-XA) + YA (1)

【0011】(III −II): 制御点位置演算手段3で
求めたサンプリング時間毎の制御点の位置のうちで、教
示点Cにもっとも近い点を算出し、点Gとする。(図2
の(1)参照)なお、点Gは固定値ではなく、以下ST
EP毎に変化する点である。サンプリングk回目の制御
点位置を点R(k)=(XR(k),YR(k))とす
ると、点Cとの距離disG (k)は式(3)のように
なる(kはサンプリング回数 : k=1,2,3,
…)。 disG (k)={(XC−XR(k))2 +(YC−YR(k))2 1/2 … (2) disG (k)の値が最も小さい点を点Gとする。
(III-II): Among the control point positions for each sampling time obtained by the control point position calculating means 3, the point closest to the teaching point C is calculated and set as a point G. (Figure 2
Note that point G is not a fixed value,
This is a point that changes for each EP. Assuming that the control point position at the k-th sampling point is point R (k) = (XR (k), YR (k)), the distance dis G (k) from point C is as shown in Expression (3) (where k is Number of samplings: k = 1, 2, 3,
…). dis G (k) = {(XC-XR (k)) 2 + (YC-YR (k)) 2 } 1/2 (2) A point having the smallest value of dis G (k) is defined as a point G. .

【0012】(III −III ): 点A、点G間に存在す
るサンプリング毎の制御点位置R(k)の誤差da
(k)は、f(AC)に下ろした垂線距離とする。 da(k)=|(YC−YA)*(XR(k)−XA)−(XC−XA)*(Y R(k)−YA)|/{(YC−YA)2 +(XC−XA)2 1/2 …(3)
(III-III): error da of control point position R (k) for each sampling existing between points A and G
(K) is the perpendicular distance lowered to f (AC). da (k) = | (YC-YA) * (XR (k) -XA)-(XC-XA) * (YR (k) -YA) | / {(YC-YA) 2 + (XC-XA ) 21/2 … (3)

【0013】(IV) f(AC)上の拘束点Bとコーナ
点Cの変更後の点C’を求める。 以下(IV−I)〜(IV−II)が処理手順(図2の(1)
参照)
(IV) Find a changed point C 'of the constraint point B and the corner point C on f (AC). Hereinafter, (IV-I) to (IV-II) are processing procedures ((1) in FIG. 2).
reference)

【0014】(IV−I): 誤差da(k)が許容値d
min より小さいものの中で、点Gに最も近い点を点R(k
B)とし、点R(kB) からf(AC)に下ろした垂線の足
の点を点Bとする。ここで、dmin は直線ACから軌跡
がずれるときに許容できる最大値以下の値を設定してお
く。点R(kB) の座標を(XB’,YB’)とし、点B
の座標を(XB,YB)とすると、 XB={(XB’+XA)*q1−YA+YB’}/(2*q1)…(4) YB={(XB’−XA)*q1+YA+YB’}/2 …(5) となる。ここで、q1=(YC−YA)/(XC−X
A)である。
(IV-I): Error da (k) is tolerance d
The point closest to the point G among points smaller than min is defined as a point R (k
B), and the point of the perpendicular leg lowered from the point R (kB) to f (AC) is the point B. Here, d min is set to a value equal to or less than the maximum allowable value when the trajectory deviates from the straight line AC. Let the coordinates of point R (kB) be (XB ', YB') and point B
Let XB = {(XB '+ XA) * q1-YA + YB'} / (2 * q1) (4) YB = {(XB'-XA) * q1 + YA + YB '} / 2 ... (5) Here, q1 = (YC-YA) / (XC-X
A).

【0015】(IV−II): f(AC)上に、点Cに関
して点Bと対象な点C’を設定する。点C’の座標を
(XC’,YC’)とすると、 XC’=2*XC−XB …(6) YC’=2*YC−YB …(7)
(IV-II): A point B and a target point C 'are set for the point C on f (AC). Assuming that the coordinates of the point C ′ are (XC ′, YC ′), XC ′ = 2 * XC−XB (6) YC ′ = 2 * YC−YB (7)

【0016】(STEP2): 点CE間の誤差に着目
する。(V)ここで、新たな教示点C’を含む不揮発性
メモリ7aに格納されている再教示点A,B,C’,E
に沿ってロボットを実際に動作させる。
(STEP 2): Pay attention to the error between the points CE. (V) Here, the re-taught points A, B, C ', E stored in the non-volatile memory 7a including the new taught point C'
The robot is actually operated along.

【0017】(VI) 以下(VI−I)〜(VI−III )が
点CE間の誤差演算処理である。
(VI) The following (VI-I) to (VI-III) are error calculation processes between the points CE.

【0018】(VI−I)教示点読み取り手段1により読
み取られた、教示点A,C,E点の座標置から、点Cと
点Eを結ぶ直線の方程式を計算し、f(CE)としてお
く。 f(CE):Y=(YE−YC)/(XE−XC)*(X−XC)+YC…(8 )
(VI-I) From the coordinates of the teaching points A, C, and E read by the teaching point reading means 1, an equation of a straight line connecting the points C and E is calculated, and the equation is calculated as f (CE). deep. f (CE): Y = (YE-YC) / (XE-XC) * (X-XC) + YC (8)

【0019】(VI−II)再び点Cに最も近い点Gを求め
直す。計算方法は(III −II)と同様である。
(VI-II) The point G closest to the point C is determined again. The calculation method is the same as (III-II).

【0020】(VI−III )点GE間に存在するサンプリ
ング毎の制御点位置R(k)の誤差de(k)は、f
(CE)に下ろした垂線距離とする。 de(k)=|(YE−YC)*(XR(k)−XA)−(XE−XC)*(Y R(k)−YA)|/{(YE−YC)2 +(XE−XC)2 1/2 …(9)
(VI-III) The error de (k) of the control point position R (k) for each sampling existing between the points GE is f
It is the perpendicular distance dropped to (CE). de (k) = | (YE-YC) * (XR (k) -XA)-(XE-XC) * (YR (k) -YA) | / {(YE-YC) 2 + (XE-XC ) 21/2 … (9)

【0021】(VII )f(CE)との誤差de(k)が
一番大きい点を求め点R(kD )とする。点R(kD
を通りf(AC)に並行な直線とf(CE)との交点D
を求める。(図2の(2)参照) 点R(kD )の座標を(XD’,YD’)、点Dの座標
を(XD,YD)、点R(kD )を通りf(AC)に並
行な直線をf(D)とすると、 f(D):Y=(YC−YA)/(XC−XA)*(X−XD’)+YD’…( 10) XD=(q1*XD’−q2*XC−YD’+YC)/(q1−q2)…(11 ) YD=(q1*q2*XD’−q1*q2*XC−q2*YD’+q1*YC) /(q1−q2)…(12) となる。ここで、q2=(YE−YC)/(XE−X
C)である。
(VII) A point having the largest error de (k) from f (CE) is determined as a point R (k D ). Point R (k D )
D, the intersection of a straight line passing through and parallel to f (AC) and f (CE)
Ask for. (See (2) in FIG. 2) The coordinates of the point R (k D ) are (XD ′, YD ′), the coordinates of the point D are (XD, YD), and the point R (k D ) is passed to f (AC). Assuming that a parallel straight line is f (D), f (D): Y = (YC−YA) / (XC−XA) * (X−XD ′) + YD ′ (10) XD = (q1 * XD′−) q2 * XC-YD '+ YC) / (q1-q2) (11) YD = (q1 * q2 * XD'-q1 * q2 * XC-q2 * YD' + q1 * YC) / (q1-q2) 12) Here, q2 = (YE-YC) / (XE-X
C).

【0022】(STEP3): 点C’の変更に着目す
る。 (VIII)再び、見込み教示点として、教示点再記憶手段
6によって、不揮発性メモリ7a内に格納されている、
再教示点A,B,C’,D,Eに沿ってロボットを実際
に動作させる。
(STEP 3): Attention is paid to the change of the point C ′. (VIII) Again stored as a prospective teaching point in the non-volatile memory 7a by the teaching point restoring means 6.
The robot is actually operated along the reteaching points A, B, C ', D, and E.

【0023】(IX)コーナ点C中心、設定値dlim を半
径とする円とf(AC)、f(CE)との交点をそれぞ
れ、点B0、点D0とする。(図2の(4)参照) 設定値dlim は、コーナ点の許容誤差を考慮した値で、
予め設定しておくパラメータ値である。
(IX) The intersections of the center of the corner point C and the circle having the radius of the set value d lim and f (AC) and f (CE) are defined as points B0 and D0, respectively. (Refer to (4) in FIG. 2) The set value d lim is a value in consideration of the allowable error of the corner point.
This is a parameter value set in advance.

【0024】(X)点Cと点D0の間でf(CE)に対
して点C’側の誤差de(k)の一番大きい点R
(kW )を通り、直線ACに平行な直線を求め、その直
線とf(CE)との交点を点Wとする。ベクトルR(k
W )Wを計算し、同じベクトルだけ点C’を移動させ
る。(図2の(3)参照) 点R(kW )を(XW’,YW’)、点Wを(XW,Y
W)、点R(kW )を通り、f(AC)に平行な直線を
f(W)とすると、 f(W):Y=(YC−YA)/(XC−XA)*(X−XW’)+YW’…( 13) XW=(q1*XW’−q2*XC−YW’+YC)/(q1−q2)…(14 ) YW=(q1*q2*XW’−q1*q2*XC−q2*YW’+q1*YC) /(q1−q2)…(15) となる。
(X) Between the point C and the point D0, the point R having the largest error de (k) on the point C 'side with respect to f (CE).
(K W) passes through, ask for a straight line parallel to the straight line AC, to the intersection of the straight line and the f (CE) and the point W. Vector R (k
W ) Calculate W and move point C 'by the same vector. (In FIG. 2 (3) refer) to point R (k W) (XW ' , YW'), a point W (XW, Y
W), through the point R (k W), when the straight line parallel to f (AC) and f (W), f (W ): Y = (YC-YA) / (XC-XA) * (X- XW ') + YW' ... (13) XW = (q1 * XW'-q2 * XC-YW '+ YC) / (q1-q2) ... (14) YW = (q1 * q2 * XW'-q1 * q2 * XC −q2 * YW ′ + q1 * YC) / (q1-q2) (15)

【0025】(XI)点CとD0の間のf(CE)に対し
て点C’側の誤差が許容値dmin 以下になるまで、上記
STEP3を繰り返し行う。誤差が許容値以下になった
ら、STEP4に進む。
(XI) The above STEP3 is repeated until the error on the point C 'side with respect to f (CE) between the points C and D0 becomes equal to or smaller than the allowable value dmin . When the error becomes equal to or less than the allowable value, the process proceeds to STEP4.

【0026】(STEP4): 点Aと点B0間及び点
D0と点E間の誤差に着目する。 (XII )誤差演算手段4により求めた誤差のうちで、コ
ーナ部以外の部分のうち最も誤差の大きい点を点Aと点
B0間で1つ、点D0と点E間で1つ見つける。このと
き点A、点B0間で誤差da(k)が最大の点を点R
(k1 )、点D0と点E間で誤差de(k)が最大の点
を点R(k2 )とし、以下(i)(ii)(iii )(iv)
の判断に従って処理を進める。
(STEP 4): Attention is paid to errors between the point A and the point B0 and between the point D0 and the point E. (XII) Among the errors obtained by the error calculating means 4, one point having the largest error is found between the points A and B0 and one between the points D0 and E among the parts other than the corners. At this time, the point having the largest error da (k) between the point A and the point B0 is defined as the point R
(K 1 ), a point having the maximum error de (k) between the points D 0 and E is defined as a point R (k 2 ), and the following points (i), (ii), (iii), and (iv)
The process proceeds according to the judgment of.

【0027】(i)誤差da(k)とde(k)が両方
とも許容値dmin 以下の場合:以上で処理を終了する。
(I) When both the errors da (k) and de (k) are equal to or smaller than the permissible value d min : The processing is completed when the errors da (k) and de (k) are equal to or smaller than the allowable value d min .

【0028】(ii)誤差da(k)のみ許容値dmin
下の場合:f(CE)に関して点R(k2 )と対象な点
D2を求める。点R(k2 )の座標を(Xk2 ,Y
2 )、点R(k2 )からf(CE)に下ろした垂線の
足の点を点D2’(XD2’,YD2’)とし、点D2
の座標を(XD2,YD2)とすると、 XD2’={(Xk2 +XA)*q1−YA+Yk2 }/(2*q1)…(16 ) YD2’={(Xk2 −XA)*q1+YA+Yk2 }/2…(17) XD2=2*XD2’−Xk2 …(18) YD2=2*YD2’−Yk2 …(19) この時、見込み教示点はA,B,C’,D,D2,Eと
なる。
(Ii) When only the error da (k) is equal to or less than the allowable value d min : A point R (k 2 ) and a target point D2 are obtained for f (CE). The coordinates of the point R (k 2 ) are represented by (Xk 2 , Y
k 2 ), the point of the perpendicular foot lowered from point R (k 2 ) to f (CE) is point D 2 ′ (XD 2 ′, YD 2 ′), and point D 2
When the coordinates (XD2, YD2), XD2 ' = {(Xk 2 + XA) * q1-YA + Yk 2} / (2 * q1) ... (16) YD2' = {(Xk 2 -XA) * q1 + YA + Yk 2} / 2 ... (17) XD2 = 2 * XD2'-Xk 2 ... (18) YD2 = 2 * YD2'-Yk 2 ... (19) when this prospect teaching points A, B, C ', D , D2, E.

【0029】(iii )誤差de(k)のみ許容値dmin
以下の場合:f(AC)に関して点R(k1 )と対象な
点B2を求める。点R(k1 )の座標を(Xk1 ,Yk
1 )、点R(k1 )からf(AC)に下ろした垂線の足
の点を点B2’(XB2’,YB2’)とし、点B2の
座標を(XB2,YB2)とすると、 XB2’={(Xk1 +XA)*q1−YA+Yk1 }/(2*q1)…(20 ) YB2’={(Xk1 −XA)*q1+YA+Yk1 }/2 …(21) XB2=2*XD2’−Xk1 …(22) YB2=2*YD2’−Yk1 …(23) この時、見込み教示点はA,B2,B,C’,D,Eと
なる。
(Iii) Only the error de (k) is an allowable value d min
In the following case, a point R (k 1 ) and a target point B2 are obtained for f (AC). The coordinates of the point R (k 1 ) are represented by (Xk 1 , Yk
1 ), let the point of the perpendicular foot lowered from point R (k 1 ) to f (AC) be point B2 ′ (XB2 ′, YB2 ′) and the coordinate of point B2 be (XB2, YB2), XB2 ′ = {(Xk 1 + XA) * q1-YA + Yk 1} / (2 * q1) ... (20) YB2 '= {(Xk 1 -XA) * q1 + YA + Yk 1} / 2 ... (21) XB2 = 2 * XD2'- Xk 1 (22) YB2 = 2 * YD2′−Yk 1 (23) At this time, the expected teaching points are A, B2, B, C ′, D, and E.

【0030】(iv)誤差da(k)とde(k)が両方
とも許容値dmin より大きい場合:f(AC)に関して
点R(k1 )と対象な点を求め、点B2とする。f(C
E)に関して点R(k2 )と対象な点を求め、点D2と
する。この時、見込み教示点はA,B2,B,C’,
D,D2,Eとなる。ここで、点B2は点AB間にあ
り、点D2は点DE間にあるものとしているが、もし、
点B2が点BC間にある時は点Bと点B2の順番は逆に
なり、点D2が点CD間にある時は点Dと点D2の順番
は逆になる。また、点B2と点D2はそれぞれ前後の教
示点との距離の短い方が、設定値dislim 以下の場合
には追加しないが、その場合にでも、それぞれの最接近
点が点Bや点Dの場合にのみ、点Bや点Dを誤差da
(k)、de(k)だけ移動する。なお、dis
lim は、教示速度や動作指令の払い出しクロック時間な
どによって決まる値である。STEP4実行後も誤差が
許容値dmin より大きい場合は、許容値以下になるまで
STEP4を繰り返し実行する。以上で図3(B)に示
すような平面Σ上での所望の軌跡が得られた。教示点を
含む平面Σに対して垂直な方向の誤差を問題にしない場
合は、ここまでの処理で終了しても良い。
(Iv) When the errors da (k) and de (k) are both larger than the permissible value d min : A point R (k 1 ) and a target point are obtained for f (AC) and set as a point B2. f (C
With respect to E), a point R (k 2 ) and a target point are obtained and set as a point D2. At this time, the expected teaching points are A, B2, B, C ',
D, D2, and E. Here, it is assumed that the point B2 is between the points AB and the point D2 is between the points DE.
When the point B2 is between the points BC, the order of the points B and B2 is reversed, and when the point D2 is between the points CD, the order of the points D and D2 is reversed. The points B2 and D2 are not added if the distance between the front and rear teaching points is shorter than the set value dis lim. However, even in that case, the points of closest approach are the points B and D. Only in the case of the point B and the point D
(K), move by de (k). In addition, dis
lim is a value determined by the teaching speed, the operation command payout clock time, and the like. If the error is still larger than the permissible value d min even after execution of STEP 4, STEP 4 is repeatedly executed until the error becomes equal to or less than the permissible value. Thus, a desired trajectory on the plane よ う な as shown in FIG. 3B is obtained. If the error in the direction perpendicular to the plane を including the teaching point does not matter, the processing up to this point may be ended.

【0031】(STEP5): 平面Σに対して垂直な
方向の誤差に着目する。平面Σに対して垂直な方向をZ
方向と定義する。(XIII)再び、見込み教示点として、
教示点再記憶手段6によって、不揮発性メモリ7a内に
格納されている、再教示点A,B2,B,C’,D,D
2,Eに沿ってロボットを実際に動作させる。
(STEP 5): Attention is paid to an error in a direction perpendicular to the plane Σ. The direction perpendicular to plane is Z
Defined as direction. (XIII) Again, as a potential teaching point,
The re-taught points A, B2, B, C ', D, D stored in the nonvolatile memory 7a by the taught point re-storing means 6.
2. The robot is actually operated along E.

【0032】(XIV )当初の教示点A,C,Eを含む平
面Σは、教示点A,C,Eの座標をそれぞれ(XA,Y
A,ZA)、(XC,YC,ZC)、(XE,YE,Z
E)とし、平面Σの方程式を s1・X+s2・Y+s3・Z+s4=0…(24) とすると、次のように求めることができる。 (s1,s2,s3)=〔AC〕 *〔CE〕(*は外積を表す)…(25) 〔AC〕はここでは点Aから点Cへのベクトル、〔C
E〕はここでは点Cから点Eへのベクトルを示す。s4
の値は式(24)に点A,C,Eのいずれかを代入する
ことにより求まる。これまでの処理で求められるサンプ
リング毎の制御点の座標をR(k)=(Xk,Yk,Z
k)とし、平面Σまでの最短距離をdz(k)とする
と、 dz(k)=|s1*Xk+s2*Yk+s3*Zk+s4|/{(s12 +s 22 +s32 )}1/2 …(26) と求めることが出来る。Z方向の誤差dz(k)が最大
の点を求め点R(kZ )とする。点R(kZ )に最も近
い教示点を、点B2,B,D,D2の中から見つける。
全く同じ距離の点が2個以上あった場合は、点C’に近
いほうの点を見つける。見つけられた点を点R(kZ
の誤差分dz(kZ )だけ移動する。誤差がZ方向の許
容値dzmin 以下になるまでこの操作を繰り返す。
(XIV) The plane 含 む including the initial teaching points A, C, and E has coordinates (XA, Y) of the teaching points A, C, and E, respectively.
A, ZA), (XC, YC, ZC), (XE, YE, Z
E), and the equation of the plane Σ is given by s1 · X + s2 · Y + s3 · Z + s4 = 0 (24), and can be obtained as follows. (S1, s2, s3) = [AC] * [CE] (* indicates a cross product) (25) [AC] is a vector from point A to point C, [C
E] indicates a vector from point C to point E here. s4
Is obtained by substituting any of the points A, C, and E into the equation (24). R (k) = (Xk, Yk, Z)
k) and the shortest distance to the plane Σ is dz (k): dz (k) = | s1 * Xk + s2 * Yk + s3 * Zk + s4 | / {(s1 2 + s 2 2 + s 3 2 )} 1/2 (26) ). A point at which the error dz (k) in the Z direction is the maximum is determined as a point R (k Z ). The teaching point closest to the point R (k Z ) is found from the points B2, B, D, and D2.
If there are two or more points at exactly the same distance, a point closer to the point C 'is found. Find the found point as point R (k Z )
Is moved by dz (k Z ). This operation is repeated until the error becomes equal to or less than the allowable value dz min in the Z direction.

【0033】次に、教示点が2点で教示軌跡が直線であ
る場合について説明する。教示軌跡が直線のみの場合も
コーナ部の教示と同様に、各軸角度読み取り手段及び制
御点位置演算手段により求まったサンプリング毎の制御
点位置から教示直線に下ろした垂線距離を誤差d(k)
とする。ちなみに、直線のみの教示の場合は、はじめか
ら3次元で考える。(kはサンプリング回数) 教示点間で最も誤差の大きい点を求め、その点と教示さ
れた直線に関して対象な点を求め、新たな見込み教示点
とする。誤差が許容値dmin 以下になるまで繰り返し実
行する。このとき、教示点どうしの距離が設定値dis
lim 以下の時は、教示点の追加は行わず、誤差最大の点
から最も近い教示点をその誤差分だけ移動させるように
する。以上、直線および直線で構成される軌跡について
述べたが、教示軌跡が円弧や自由曲線の場合も、それぞ
れが短い直線の連続であるとみなすことによって、同様
の方法で見込み教示することが可能である。また、見込
み教示処理後、ロボット動作中に一時停止もしくは非常
停止がかけられた場合も、元の教示点と見込み教示点を
区別して格納しているので、ホールドで停止する際や再
動作時には見込み教示点ではなく元の教示点から指令を
作りなおすことにより、ワークその他への干渉を回避で
き、復帰処理が可能である。以上が本発明の一実施例で
あるが、誤差演算方法や、見込み教示点演算方法は、こ
の方法に限らず、これ以外の算出方法を適用することも
可能である。また、請求項3に記載したように、ロボッ
トを数回動作させるかわりに多軸のロボットモデルを内
部に持っておき、一回目の動作軌跡からパラメータを同
定し、そのモデルを使って、数回見込み教示点を追加、
変更することにより(図9)、より短時間で最適な見込
み教示点を算出することができる。
Next, a case where the number of teaching points is two and the teaching trajectory is a straight line will be described. In the case where the teaching trajectory is only a straight line, similarly to the teaching of the corner portion, the perpendicular distance from the control point position for each sampling obtained by each axis angle reading means and the control point position calculating means to the teaching straight line is an error d (k).
And By the way, in the case of teaching only a straight line, three-dimensional is considered from the beginning. (K is the number of samplings) A point having the largest error between the teaching points is obtained, and a target point with respect to the point and the taught straight line is obtained as a new prospective teaching point. The process is repeatedly performed until the error becomes equal to or smaller than the allowable value d min . At this time, the distance between the teaching points is equal to the set value dis.
When the distance is equal to or less than lim , the teaching point is not added, and the teaching point closest to the point with the largest error is moved by that error. As described above, the trajectory constituted by the straight line and the straight line has been described. However, in the case where the teaching trajectory is an arc or a free curve, it is possible to perform the prospective teaching by the same method by regarding each of them as a continuation of a short straight line. is there. Also, even if a temporary stop or emergency stop is applied during the robot operation after the prospective teaching process, the original teaching point and the prospective teaching point are stored separately, so when stopping by holding or re-operation, By re-creating the command from the original teaching point instead of the teaching point, interference with the work or the like can be avoided, and the return process can be performed. The above is one embodiment of the present invention, but the error calculation method and the expected teaching point calculation method are not limited to this method, and other calculation methods can be applied. Also, as described in claim 3, instead of operating the robot several times, a multi-axis robot model is held inside, parameters are identified from the first motion trajectory, and the model is used several times using the model. Add potential teaching points,
By making the change (FIG. 9), the optimal prospective teaching point can be calculated in a shorter time.

【0034】図5はロボット制御装置の概略のブロック
図である。ロボット制御装置にはプロセッサボード31
があり、プロセッサボード31にはプロセッサ31a、
ROM31b、RAM31c及び不揮発性メモリ7a,
7bがある。プロセッサ31aはROM31bに従っ
て、ロボット制御装置30全体を制御する。RAM31
cには各種のデータが格納されている。不揮発性メモリ
7a、7bには、ロボット100の動作プログラムや本
発明に係わるロボット位置教示のためのプログラムがR
OM31bからロードされている。また、7aには教示
点位置のデータが格納され、7bにはロボットを実際に
動作させたときのサンプリング時間毎の各軸角度が格納
される。図1で示した教示点読みとり手段1、各軸角度
読みとり手段2、制御点位置演算手段3、誤差演算手段
4、見込み点演算手段5、教示点再記憶手段6は、プロ
セッサ31aが不揮発性メモリ内のプログラムを読みと
って実行するソフトウェアによる機能である。プロセッ
サボード31はバス37に結合されている。ディジタル
サーボ制御回路32はバス37に結合され、プロセッサ
ボード31からの指令によって、サーボアンプ33を経
由して、サーボモータ51、52、53、54、55及
び56を駆動する。これらのサーボモータはロボット1
00に内蔵され、ロボット100の各軸を動作させる。
シリアルポート34はバス37に結合され、教示操作盤
57やその他のRS232C機器58と接続されてい
る。教示操作盤57はロボットへの教示点入力に使用さ
れる。大容量メモリ35にはティーチングデータ等が格
納される。I/O36をへて外部とのデータ及び信号等
の入出力が行われる。また、制御点位置演算手段3、誤
差演算手段4等の処理を制御装置30とパソコンをシリ
アル通信で結び、パソコン側で実行してもよい。
FIG. 5 is a schematic block diagram of the robot control device. Processor board 31 for robot controller
The processor board 31 has a processor 31a,
ROM 31b, RAM 31c and nonvolatile memory 7a,
7b. The processor 31a controls the entire robot controller 30 according to the ROM 31b. RAM 31
Various data are stored in c. In the non-volatile memories 7a and 7b, an operation program of the robot 100 and a program for teaching the robot position according to the present invention are stored in the nonvolatile memories 7a and 7b.
Loaded from OM31b. 7a stores the data of the teaching point position, and 7b stores the angle of each axis for each sampling time when the robot is actually operated. The teaching point reading means 1, each axis angle reading means 2, the control point position calculating means 3, the error calculating means 4, the expected point calculating means 5, and the teaching point re-storing means 6 shown in FIG. This is a function of software that reads and executes the programs inside. Processor board 31 is coupled to bus 37. The digital servo control circuit 32 is connected to the bus 37 and drives the servomotors 51, 52, 53, 54, 55 and 56 via the servo amplifier 33 in accordance with a command from the processor board 31. These servo motors are
00 to operate each axis of the robot 100.
The serial port 34 is connected to a bus 37 and is connected to a teaching operation panel 57 and other RS232C devices 58. The teaching operation panel 57 is used for inputting teaching points to the robot. The large-capacity memory 35 stores teaching data and the like. Input and output of data and signals with the outside via the I / O 36 are performed. Further, the processing of the control point position calculating means 3, the error calculating means 4, etc. may be executed on the personal computer side by connecting the control device 30 and the personal computer by serial communication.

【0035】[0035]

【発明の効果】以上述べたように、本発明によれば、ロ
ボットが実際に動作する際、各軸サーボ遅れの差や摩擦
その他の非線形な要因がある場合も、最適な見込み教示
点を算出することができるため、ロボットの動作軌跡の
ずれを許容誤差以内にすることができる。これによって
従来オペレータが経験と感覚で行っていた見込み教示を
自動的に処理できるようになるため、オペレータの負荷
軽減、作業時間の短縮が可能になる。
As described above, according to the present invention, when the robot actually operates, even if there is a difference between the servo delays of each axis, friction, and other non-linear factors, the optimum expected teaching point is calculated. Therefore, the deviation of the motion trajectory of the robot can be kept within an allowable error. As a result, it is possible to automatically process prospective teaching that has conventionally been performed by the operator with experience and feeling, so that the load on the operator and the working time can be reduced.

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

【図1】 本発明の原理を示すブロック図。FIG. 1 is a block diagram showing the principle of the present invention.

【図2】 コーナ部を含む教示点の見込み教示点の算出
方法の説明図。
FIG. 2 is an explanatory diagram of a calculation method of a prospective teaching point of a teaching point including a corner portion.

【図3】 本発明によるコーナ部でのロボットの軌跡に
ついての説明図であり、(A)は従来の軌跡を、(B)
は本発明による軌跡を表している。
3A and 3B are explanatory diagrams of a locus of a robot at a corner portion according to the present invention, wherein FIG.
Represents a trajectory according to the present invention.

【図4】 本発明の処理手順を示す図。FIG. 4 is a diagram showing a processing procedure of the present invention.

【図5】 ロボット制御装置の概略ブロック図。FIG. 5 is a schematic block diagram of a robot control device.

【図6】 従来の方式の原理を示すブロック図。FIG. 6 is a block diagram showing the principle of a conventional system.

【図7】 従来の見込み点の算出方法の説明図。FIG. 7 is an explanatory diagram of a conventional method of calculating a prospective point.

【図8】 本発明の他の実施例を示すブロック図。FIG. 8 is a block diagram showing another embodiment of the present invention.

【図9】 本発明の他の実施例の処理手順を説明する
図。
FIG. 9 is a diagram illustrating a processing procedure according to another embodiment of the present invention.

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

1 教示点読み取り手段 2 各軸角度読み取り手段 3 制御点位置演算手段 4 誤差演算手段 5 見込み教示点演算手段 6 教示点再記憶手段 7a、7b 不揮発性メモリ 21 教示点等読み取り手段 22 見込み点等演算手段 23 教示点再記憶手段 24 不揮発性メモリ 31 プロセッサボード 31a プロセッサ 31b ROM 31c RAM 32 ディジタルサーボ制御回路 33 サーボアンプ 34 シリアルポート 35 大容量メモリ 36 I/O 37 バス 51〜56 サーボモータ 57 教示操作盤 58 RS232C機器 REFERENCE SIGNS LIST 1 teaching point reading means 2 each axis angle reading means 3 control point position calculating means 4 error calculating means 5 prospective teaching point calculating means 6 teaching point re-storing means 7a, 7b nonvolatile memory 21 teaching point etc. reading means 22 Means 23 Teaching point re-storing means 24 Non-volatile memory 31 Processor board 31a Processor 31b ROM 31c RAM 32 Digital servo control circuit 33 Servo amplifier 34 Serial port 35 Large capacity memory 36 I / O 37 Bus 51-56 Servo motor 57 Teaching operation panel 58 RS232C device

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 ロボットに動作位置を教示するロボット
位置教示装置において、 予め教示された教示点を読みとる教示点読み取り手段
と、 ロボットを実際に動作させたときのサンプリング時間毎
の各軸角度を読みとる各軸角度読み取り手段と、 前記サンプリング時間毎の各軸角度からサンプリング時
間毎のロボット制御点の位置を算出することのできる制
御点位置演算手段と、 前記制御点位置演算手段により求められたロボットの実
際の動作軌跡と教示軌跡の誤差を計算する誤差演算手段
と、 前記誤差演算手段により求まった誤差と教示軌跡から前
記ロボットの実際の動作軌跡が教示軌跡に沿ったものと
なるように見込み教示点を算出する見込み教示点演算手
段と、 前記見込み教示点を前記不揮発性メモリ内にもとの教示
点と区別して再記憶する教示点再記憶手段と、を設けた
ことを特徴とするロボット位置教示装置。
1. A robot position teaching device for teaching an operation position to a robot, a teaching point reading means for reading a teaching point taught in advance, and reading each axis angle for each sampling time when the robot is actually operated. Each axis angle reading means, a control point position calculating means capable of calculating the position of the robot control point for each sampling time from each axis angle for each sampling time, and a robot position calculated by the control point position calculating means. Error calculating means for calculating an error between the actual motion trajectory and the teaching trajectory; and an estimated teaching point such that the actual motion trajectory of the robot is based on the teaching trajectory from the error and the teaching trajectory obtained by the error calculating means. And calculating the expected teaching point in the nonvolatile memory separately from the original teaching point in the nonvolatile memory. And a teaching point re-storing means.
【請求項2】 予め誤差の許容値を設定しておき、その
値以下に誤差がおさまるまで、繰り返しロボットを動作
させる手段を設けた請求項1記載のロボット位置教示装
置。
2. The robot position teaching device according to claim 1, further comprising means for presetting an allowable value of the error and repeatedly operating the robot until the error falls below the allowable value.
【請求項3】 多軸のロボットモデルを有し、前記ロボ
ットを一回動作させるだけで、最適な見込み教示点を算
出することができる、前記多軸ロボットモデルを設けた
ことを特徴とする請求項1または2記載のロボット位置
教示装置。
3. A multi-axis robot model comprising a multi-axis robot model, wherein said multi-axis robot model is capable of calculating an optimum prospective teaching point only by operating said robot once. Item 3. The robot position teaching device according to item 1 or 2.
【請求項4】 前記各軸角度読み取り手段は、サンプリ
ング時間毎の各軸のモータの位置フィードバックパルス
を読み取るものである請求項1乃至3記載のロボット位
置教示装置。
4. The robot position teaching device according to claim 1, wherein said axis angle reading means reads a position feedback pulse of a motor of each axis for each sampling time.
【請求項5】 前記制御点位置演算手段は、ロボットの
制御点位置を測定する3D位置センサからのデータ出力
を読み取り、内部の座標系に変換するものである請求項
1乃至4記載のロボット位置教示装置。
5. The robot position according to claim 1, wherein said control point position calculation means reads a data output from a 3D position sensor for measuring a control point position of the robot and converts the data output into an internal coordinate system. Teaching device.
JP22727597A 1997-08-08 1997-08-08 Robot position teach device Pending JPH1148176A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22727597A JPH1148176A (en) 1997-08-08 1997-08-08 Robot position teach device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22727597A JPH1148176A (en) 1997-08-08 1997-08-08 Robot position teach device

Publications (1)

Publication Number Publication Date
JPH1148176A true JPH1148176A (en) 1999-02-23

Family

ID=16858274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22727597A Pending JPH1148176A (en) 1997-08-08 1997-08-08 Robot position teach device

Country Status (1)

Country Link
JP (1) JPH1148176A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011062793A (en) * 2009-09-18 2011-03-31 Denso Wave Inc Control device for robot
CN111857052A (en) * 2019-04-25 2020-10-30 发那科株式会社 Machine learning device, numerical control system, and machine learning method
US10953543B2 (en) 2018-03-22 2021-03-23 Fanuc Corporation Operation program setting apparatus for robot, robot, and method of controlling robot
WO2022176761A1 (en) * 2021-02-18 2022-08-25 三菱電機株式会社 Control device, robot system, learning device, control method, and program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011062793A (en) * 2009-09-18 2011-03-31 Denso Wave Inc Control device for robot
US10953543B2 (en) 2018-03-22 2021-03-23 Fanuc Corporation Operation program setting apparatus for robot, robot, and method of controlling robot
CN111857052A (en) * 2019-04-25 2020-10-30 发那科株式会社 Machine learning device, numerical control system, and machine learning method
JP2020181403A (en) * 2019-04-25 2020-11-05 ファナック株式会社 Machine learning device, numeric control system and machine learning method
US11640557B2 (en) 2019-04-25 2023-05-02 Fanuc Corporation Machine learning device, numerical control system, and machine learning method
CN111857052B (en) * 2019-04-25 2024-03-22 发那科株式会社 Machine learning device, numerical control system, and machine learning method
WO2022176761A1 (en) * 2021-02-18 2022-08-25 三菱電機株式会社 Control device, robot system, learning device, control method, and program

Similar Documents

Publication Publication Date Title
Tajima et al. Accurate interpolation of machining tool-paths based on FIR filtering
EP1936458B1 (en) Device, method, program and recording medium for robot offline programming
JP4847428B2 (en) Machining simulation apparatus and program thereof
JPS61173311A (en) Method and apparatus for controlling manipulator
JPH02198783A (en) Correction method for positioning industrial robot
JP4269150B2 (en) Robot controller
JP2005128686A (en) Numerical control apparatus
JPH1148176A (en) Robot position teach device
US6999844B2 (en) Numerical controller
WO2022138843A1 (en) Numerical control device
US4922431A (en) Method and apparatus of tool control in arbitrary plane operations
JPH0732279A (en) Robot position teaching method
Yang et al. On-line Cartesian trajectory control of mechanisms along complex curves
JPH09190211A (en) System for controlling route of numerically controlled device
JPH08106311A (en) Numerical controller
WO2023058243A1 (en) Control device and computer-readable recording medium storing program
JPH06110534A (en) Position control method for machine tool
JP2827268B2 (en) Creating teaching data for multiple robots
JP4560191B2 (en) Numerical controller
WO2021230237A1 (en) Processing path creation device
JP2001154719A (en) Method for interpolating free curve
JP2003337607A (en) Method for controlling speed of numerical control apparatus
US20210149379A1 (en) Program analysis device
WO2022264338A1 (en) Control device, interference checking device, and control system
JP2002312006A (en) Control device and control system

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20040708

Free format text: JAPANESE INTERMEDIATE CODE: A621

A977 Report on retrieval

Effective date: 20060810

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060817

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061207