JP4085208B2 - Robot control method - Google Patents
Robot control method Download PDFInfo
- Publication number
- JP4085208B2 JP4085208B2 JP19878997A JP19878997A JP4085208B2 JP 4085208 B2 JP4085208 B2 JP 4085208B2 JP 19878997 A JP19878997 A JP 19878997A JP 19878997 A JP19878997 A JP 19878997A JP 4085208 B2 JP4085208 B2 JP 4085208B2
- Authority
- JP
- Japan
- Prior art keywords
- point
- teaching
- flange
- control
- control point
- 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
Images
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ロボットの手首フランジに装着された工具の先端部の制御点の移動経路(軌道)として入力された教示点から、前記制御部の目標経路を生成するロボットの経路補間方法に関するもので、詳しくは、移動経路に屈曲したコーナー部分が存在する場合に、コーナー部分を加減速なしで高速に通過可能にするための改良に関するものである。
【0002】
【従来の技術】
近年、ロボットがいろいろな作業現場で活用されている。このようなロボットは、例えば、多関節のアームの先端部の手首フランジに作業用の工具を装着し、工具の先端部を、作業内容に即して、所望の移動経路(軌道)で移動させる。
従って、作業の品質向上、信頼性向上を図るためには、工具の先端部の移動動作の精度と安定性の追求が重要課題とされている。
前記工具の先端部(制御点)の移動経路は、複数の教示点により予め与え、一つの教示点から次の教示点までの間を単純に直線運動させる場合には、教示点を結ぶ直線経路を教示点間の補間演算により求める。
しかし、複数の教示点で示した移動経路の途中に屈曲したコーナー部分が存在する場合、直線経路と同様の取り扱いでコーナー部分を通過させようとすると、アームの各関節部分等に過大な衝撃がかかるという問題が生じる。
そこで、従来では、複数の教示点で示した移動経路の途中に屈曲したコーナー部分が存在する場合、コーナー部分に近づくと減速してコーナー点で一旦停止させ、進行方向を変えた後に加速させて通常の移動速度に戻したり、あるいは、コーナー部分を形成している二つの直線経路上の加減速が必要となる範囲を滑らかな円弧等の曲線経路に置き換えることで、コーナー部分通過時における衝撃の作用を抑える経路補間方法が提案されている。
【0003】
【発明が解決しようとする課題】
しかし、前述した従来の経路補間方法では、コーナー部分の通過時に加減速と一旦停止を実行する方法の場合は、制御点の移動速度がコーナー部分付近で大きく変化するため、例えば、ロボットによる作業がシール材を塗布するシーリングの場合、シール材の付着量がコーナー部分付近で増えるなど、作業品質にばらつきが生じ易いという問題が生じる。また、移動経路を曲線に置き換える方法の場合は、当初に要求された角張った教示経路を忠実に再現することができず、移動精度の低下等の問題が生じる。
そこで、本発明の目的は上記課題を解消することにあり、ロボットの制御点の移動経路に屈曲したコーナー部分が存在する場合に、ロボットの各関節軸への衝撃を抑えながら、かつ、制御点の動作は直線動作のままで、コーナー部分を加減速なしで高速に通過させることのできるロボットの経路補間方法を提供することである。
【0004】
【課題を解決するための手段】
請求項1記載のロボットの制御方法の発明は、フランジ駆動軸によって回転する手首フランジと、前記フランジ駆動軸の中心軸線からオフセット距離を持つように前記手首フランジに設けられた工具と、を備えたロボットにおいて、前記工具先端部の制御点は、始点(P1)、角部(P2)、終点(P3)の教示点で表される角部を含む移動経路をたどるとともに、前記制御点が前記角部P2を通過する前後において、前記手首フランジが回転することにより、前記フランジ駆動軸の中心軸線と前記教示点がなす教示平面との交点は、前記角部(P2)を通り、かつ前記制御点の移動経路に対して外側に膨らんだ移動経路をたどることを特徴としている。
【0005】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。
図1乃至図7は本発明に係るロボットの経路補間方法の一実施形態を示したもので、図1は本発明に係る経路補間方法の一実施形態により作業するロボットの全体概略図、図2は図1に示したロボットの手首フランジの上面図、図3は図1に示したロボットの手首フランジの側面図、図4は本発明に係る経路補間方法の一実施形態における補間演算処理の手順を示すフローチャート、図5は図4に示した処理において、制御点がコーナー点に到達するまでのフランジ駆動軸の中心軸線と教示平面との交点と、制御点との移動動作説明図、図6は図4に示した処理において、制御点がコーナー点通過後のフランジ駆動軸の中心軸線と教示平面との交点と、制御点との移動動作説明図、図7は図4に示した処理によって制御点が教示点P1から教示点P2を経て教示点P3に到達するまでのフランジ駆動軸の中心軸線と教示平面との交点と、制御点との移動動作説明図である。
まず、本発明の一実施形態の経路補間方法により動作するロボット1について、図1乃至図3に基づいて説明する。
前記ロボット1は、いわゆる多関節ロボットで、工具3が装着される手首フランジ5のフランジ面6が、前記工具3の先端部の制御点8の移動経路9を示唆する教示点群のなす教示平面11に対して平行に設定されている。また、このロボット1では、前記手首フランジ5がフランジ駆動軸13によって回転可能に支持されており、前記フランジ駆動軸13の中心軸線C1が前記教示平面11に直交している。
また、前記工具3は、図3に示すように、前記制御点8が前記フランジ駆動軸13の中心軸線C1に対してオフセット距離R1を持つように前記フランジ面6に装備されている。
そして、ロボット1には、前記制御点8の移動経路の補間演算処理や、補間演算処理結果に基づいて各関節部に動作信号を出力する制御装置(図示略)が備えられている。
前記制御装置は、前記制御点8を教示平面11上へ投影した点を制御点Pc、前記フランジ駆動軸13の中心軸線C1と教示平面11との交点(即ち、手首フランジ5の回転中心Pfを教示平面11上に投影した点)をPf0とするとき、交点Pf0がほぼ教示点を結んだ線上に位置し、かつ、前記交点Pf0から制御点Pcへの方向がほぼ前記制御点Pcの移動方向となるように、予め3点の教示点P1,P2,P3を与え、前記制御点Pcが教示点P1,P2,P3で示した移動経路9を直線動作により進むように経路補間を行う。
3点の教示点P1,P2,P3の示す移動経路9が、図1に示すように、教示点P1を出発点として直線動作で教示点P3まで進む時、教示点P2をコーナー点とする直交2直線の軌道となる場合、前記制御装置は、図4に示す手順で、コーナー部分に対する経路補間処理を行う。なお、図4に示した処理は、基本制御クロック毎に実施される。
まず、制御点Pcが教示点P1から教示点P2に向かっている途中なのか、あるいは既に教示点P2を通過して教示点P3に向かっている途中なのかを判別する(S101)。
そして、前記S101で、制御点Pcが教示点P1から教示点P2に向かっている途中と判別された場合には、まず、通常の逆変換(=逆運動学の解を求めて直交座標をロボットの各軸座標に変換すること)処理を行う直前まで、直線補間処理を行う(S201)。
次いで、次の(1)式に基づいて制御点Pcから手首フランジ5の回転中心Pfを求めると共に、求めた手首フランジ5の回転中心Pfから直線P1P2へ下した垂線の交点Pf0を求める(S202)。
Pf=Pc*E-1 …(1)
前記(1)式において、Eはエンドエフェクタである。
次いで、既にコーナー部の補間処理中か否かを、制御フラグに基づいて判別する(S203)。
前記S203で、コーナー部の補間処理中でないと判断された場合は、前記交点Pf0から教示点P2までの距離が基準距離L1よりも小さいか否かを判別し(S211)、交点Pf0から教示点P2までの距離が基準距離L1よりも大きい場合には、先にS201で算出した制御点Pcを補間した制御点位置Pc0として所定の逆変換処理を行い(S401)、さらに算出したロボットの各軸角度をモータ現在パルスに変換してサーボ部に払い出して処理を終了する(S402)。
前述のS211で、交点Pf0から教示点P2までの距離が基準距離L1よりも小さいと判断された場合は、図5に示すように、交点Pf0を交点P4、そして該交点P4から教示点P2までの距離をLe、直線P2P3上で教示点P2から距離Leの点を点P5とし、交点P4,教示点P2,点P5通る円C2の中心点Opと半径R2とを求め、コーナー部の補間処理中の制御フラグをセットして、前述したS401に移行する(S212)。
前述のS203で、コーナー部の補間処理中と判断された場合は、次の(A)〜(D)の処理を順に行う(S221)。
(A) まず、図5に示すように、制御点Pcを中心とした半径R1の円C1を求める。図5では、制御点Pcが教示点P2に重なった状態を示している。
(B) そして、円C1と前記円C2との交点が、手首フランジ5の回転中心Pfの位置となるように、以下の演算を実行する。
まず、図5に示すように、制御点Pcと教示点P1とを結んだ線分PcP1と、制御点Pcと円C2の中心点Opとを結んだ線分PcOpのなす角度αを、次の(2)〜(4)式に基づいて求める(内積)。
l=P1−Pc/|P1Pc| …(2)
m=Op−Pc/|OpPc| …(3)
α=cos-1(lxmx+lymy+lzmz) …(4)
さらに、制御点Pcと中心点Opとの距離をL2として、それぞれの円C1,C2の半径R1,R2と前記距離L2とを次の(5)式に代入して、円C1,C2相互の交点Qと制御点Pcとを結んだ線分QPcと、制御点Pcと中心点Opとを結んだ線分OpPcとの成す角度βを求める。
β=cos-1(R12+L22−R22/2*R1*L2) …(5)
(C) 次いで、線分QPcと線分P1P2との成す角度γを次の(6)式により求める。
γ=β−α …(6)
(D)次いで、前記(6)式で求めた角度γを次の(7)式に代入して、補間した制御点位置Pc0を算出する。
Pc0=Pc*rot(z,γ) …(7)
上記の(7)式は、制御点PcをTz回りに角度γ(又は−γ)だけ回転させている。
以上のS221の処理が済んだら、前述したS401及びS402を順に実行して処理を終了する。
以上のS201以降の処理は、制御点Pcが教示点P2に到達するまで繰り返される。また、S221以降の処理は、最初にS212によってコーナー部処理中の制御フラグがセットされたら、それ以後、制御点Pcが教示点P2に到達するまで繰り返される。
また、前記S101で、制御点Pcが教示点P2から教示点P3に向かっている途中と判別された場合には、まず、通常の逆変換(=逆運動学の解を求めて直交座標をロボットの各軸座標に変換すること)処理を行う直前まで、直線補間処理を行う(S301)。
次いで、前述の(1)式に基づいて制御点Pcから手首フランジ5の回転中心Pfを求めると共に、求めた手首フランジ5の回転中心Pfから直線P2P3へ下した垂線の交点Pf0を求める(S302)。
次いで、既にコーナー部の補間処理中か否かを、制御フラグに基づいて判別する(S303)。
前記S303で、コーナー部の補間処理中でないと判断された場合は、前述のS401に移行して、先にS301で算出した制御点Pcを補間した制御点位置Pc0として所定の逆変換処理を行い、さらに算出したロボットの各軸角度をモータ現在パルスに変換してサーボ部に払い出して処理を終了する(S402)。
前述のS303で、コーナー部の補間処理中と判断された場合は、次の(A)〜(D)の処理を順に行う(S321)。
(A) まず、図6に示すように、制御点Pcを中心とした半径R1の円C1を求める。
(B) そして、円C1と前記円C2との交点Qが、手首フランジ5の回転中心Pfの位置となるように、以下の演算を行う。
まず、図6に示すように、制御点Pcと教示点P3とを結んだ線分PcP3と、制御点Pcと円C2の中心点Opとを結んだ線分PcOpのなす角度αを、次の(8)〜(10)式に基づいて求める(内積)。
l=P3−Pc/|P3Pc| …(8)
m=Op−Pc/|OpPc| …(9)
α=π−cos-1(lxmx+lymy+lzmz) …(10)
さらに、制御点Pcと中心点Opとの距離をL2として、それぞれの円C1,C2の半径R1,R2と前記距離L2とを次の(11)式に代入して、円C1,C2相互の交点Qと制御点Pcとを結んだ線分QPcと、制御点Pcと中心点Opとを結んだ線分OpPcとの成す角度βを求める。
β=cos-1(R12+L22−R22/2*R1*L2) …(11)
(C) 次いで、線分QPcと線分P2P3との成す角度γを次の(12)式により求める。
γ=α−β …(12)
(D)次いで、前記(6)式で求めた角度γを次の(13)式に代入して、補間した制御点位置Pc0を算出する。
Pc0=Pc*rot(z,γ) …(13)
上記の(13)式は、制御点PcをTz回りに角度γ(又は−γ)だけ回転させている。
以上のS321の処理が済んだら、交点Pf0から点P5までの距離が最短か否かを判断し(S322)、最短でない場合は、前述したS401及びS402を順に実行して処理を終了する。
前記S322において、交点Pf0から点P5までの距離が最短であると判断された場合には、前述したコーナー部処理中の制御フラグをリセットし(S323)、その後に、前述したS401及びS402を順に実行して処理を終了する。
以上のS321以降の処理は、交点Pf0から点P5までの距離が最短となってコーナー部処理中の制御フラグがリセットされるまで繰り返され、それ以後、教示点P3に向かう間は、再度、通常の直線補間制御が行われる。
以上の補間処理によって、前記制御点Pcが教示点P1から教示点P3へ到達するまでの制御点Pcの軌跡を経時的に、連続描画したのが、図7である。
以上の説明から明らかなように、本発明の一実施形態の経路補間方法は、3点の教示点P1,P2,P3を与え、教示点P1から教示点P2への移動動作中に、前記フランジ駆動軸13の中心軸線C1と教示平面11との交点が教示点P2から基準距離L1の点よりも教示点P2に近づいた場合に、前記フランジ駆動軸13の中心軸線C1と教示平面11との交点をP4、教示点P2から交点P4までの距離をLe、教示点P2から教示点P3へ向かう直線上で教示点P2から距離Leの点をP5として、以後、制御点8が教示点P2から教示点P3へ向かう直線上の点P5を通過するまで、前記フランジ駆動軸13の中心軸線C1と教示平面11との交点が前記交点P4,教示点P2,点P5通る円弧上を移動するように、前記手首フランジ5を回転駆動させて、制御点8が教示した経路上を直線動作するように経路補間するもので、3点の教示点P1,P2,P3で与えられたロボットの制御点8の移動経路9が、教示点P2がコーナー部分となる折れ線経路の場合、教示点P1から教示点P2への移動動作中に、前記フランジ駆動軸13の中心軸線C1と教示平面11との交点が教示点P2から基準距離L1の点よりも教示点P2に近づくと、以後、制御点8が教示点P2から教示点P3へ向かう直線上の点P5を通過するまでは、前記フランジ駆動軸13の中心軸線C1と教示平面11との交点が前記交点P4,教示点P2,点P5通る円弧上を移動するように、前記手首フランジ5を回転駆動させて、制御点8は教示した経路上を直線動作させる。
そのため、接続点自体は、教示点によって与えられた直線経路を忠実にトレースすることができる。
そして、関節部である手首フランジ5は、滑らかな回転動作となるため、コーナー部分の通過時に、ロボットの基本軸(位置を司るベースの3軸)に対して急峻な速度変動が発生しない。そのため、ロボットの各関節軸等の大きな衝撃荷重が作用せず、衝撃荷重の作用に起因する振動の発生を抑えて、コーナー点を直線動作で通過させることができる。
【0006】
【発明の効果】
本発明のロボットの経路補間方法によれば、上記構成によれば、3点の教示点P1,P2,P3で与えられたロボットの制御点の移動経路が、教示点P2がコーナー部分となる折れ線経路の場合、教示点P1から教示点P2への移動動作中に、前記フランジ駆動軸の中心軸線と教示平面との交点が教示点P2から基準距離L1の点よりも教示点P2に近づくと、以後、制御点が教示点P2から教示点P3へ向かう直線上の点P5を通過するまでは、前記フランジ駆動軸の中心軸線と教示平面との交点が前記交点P4,教示点P2,点P5通る円弧上を移動するように、前記手首フランジを回転駆動させて、制御点は教示した経路上を直線動作させる。
そのため、接続点自体は、教示点によって与えられた直線経路を忠実にトレースすることができる。
そして、関節部である手首フランジは、滑らかな回転動作となるため、コーナー部分の通過時に、ロボットの基本軸(位置を司るベースの3軸)に対して急峻な速度変動が発生しない。そのため、ロボットの各関節軸等の大きな衝撃荷重が作用せず、衝撃荷重の作用に起因する振動の発生を抑えて、コーナー点を直線動作で通過させることができる。
従って、ロボットの各関節軸への衝撃を抑えながら、かつ、制御点の動作は直線動作のままで、コーナー部分を加減速なしで高速に通過させることができる。
【図面の簡単な説明】
【図1】本発明に係る経路補間方法の一実施形態により作業するロボットの全体概略図である。
【図2】図1に示したロボットの手首フランジの上面図である。
【図3】図1に示したロボットの手首フランジの側面図である。
【図4】本発明に係る経路補間方法の一実施形態における補間演算処理の手順を示すフローチャートである。
【図5】図4に示した処理において、制御点がコーナー点に到達するまでのフランジ駆動軸の中心軸線と教示平面との交点と、制御点との移動動作説明図である。
【図6】図4に示した処理において、制御点がコーナー点通過後のフランジ駆動軸の中心軸線と教示平面との交点と、制御点との移動動作説明図である。
【図7】図4に示した処理によって制御点が教示点P1から教示点P2を経て教示点P3に到達するまでのフランジ駆動軸の中心軸線と教示平面との交点と、制御点との移動動作説明図である。
【符号の説明】
1 ロボット
3 工具
5 手首フランジ
6 フランジ面
8,Pc 制御点
9 移動経路
11 教示平面
13 フランジ駆動軸[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a robot path interpolation method for generating a target path of a control unit from teaching points input as a movement path (trajectory) of a control point of a tip portion of a tool mounted on a wrist flange of the robot. Specifically, the present invention relates to an improvement for allowing a corner portion to pass at high speed without acceleration / deceleration when a bent corner portion exists in a moving path.
[0002]
[Prior art]
In recent years, robots are used in various work sites. Such a robot, for example, attaches a working tool to the wrist flange at the tip of an articulated arm, and moves the tip of the tool along a desired movement path (orbit) according to the work content. .
Therefore, in order to improve work quality and reliability, it is important to pursue the accuracy and stability of the moving operation of the tip of the tool.
The movement path of the tip (control point) of the tool is given in advance by a plurality of teaching points, and when the tool is simply linearly moved from one teaching point to the next teaching point, a linear path connecting the teaching points. Is obtained by interpolation between teaching points.
However, if there is a bent corner part in the middle of the movement path indicated by multiple teaching points, if you try to pass the corner part with the same handling as the straight line path, excessive impact will be applied to each joint part of the arm, etc. Such a problem arises.
Therefore, in the past, when there is a bent corner part in the middle of the movement path indicated by a plurality of teaching points, the vehicle decelerates when approaching the corner part, temporarily stops at the corner point, accelerates after changing the traveling direction. By returning to the normal movement speed or replacing the area where acceleration / deceleration on the two linear paths forming the corner part is necessary with a curved path such as a smooth circular arc, A path interpolation method that suppresses the action has been proposed.
[0003]
[Problems to be solved by the invention]
However, in the conventional path interpolation method described above, in the method of executing acceleration / deceleration and temporary stop when passing through the corner portion, the movement speed of the control point greatly changes near the corner portion. In the case of sealing with a sealing material applied, there is a problem in that work quality tends to vary, such as the amount of adhesion of the sealing material increasing near the corner portion. In addition, in the case of the method of replacing the movement route with a curve, the angular teaching route that was originally requested cannot be faithfully reproduced, causing problems such as a reduction in movement accuracy.
Accordingly, an object of the present invention is to eliminate the above-mentioned problem, and when there is a bent corner portion in the movement path of the robot control point, while suppressing the impact on each joint axis of the robot, the control point This is to provide a robot path interpolation method that allows a corner portion to pass at high speed without acceleration / deceleration while maintaining a linear motion.
[0004]
[Means for Solving the Problems]
The invention of the robot control method according to
[0005]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
1 to 7 show an embodiment of a robot path interpolation method according to the present invention. FIG. 1 is an overall schematic diagram of a robot working according to an embodiment of the path interpolation method according to the present invention. 1 is a top view of the wrist flange of the robot shown in FIG. 1, FIG. 3 is a side view of the wrist flange of the robot shown in FIG. 1, and FIG. 4 is a procedure of interpolation calculation processing in one embodiment of the path interpolation method according to the present invention. FIG. 5 is a flowchart illustrating the movement of the control point between the intersection of the center axis of the flange drive shaft and the teaching plane until the control point reaches the corner point in the processing shown in FIG. 4, and FIG. 4 is an explanatory diagram of the movement operation between the control point and the intersection of the center axis of the flange drive shaft after passing the corner point and the teaching plane in the process shown in FIG. 4, and FIG. Control point is taught from teaching point P1 An intersection between the center axis and teachings plane of the flange drive shaft until it reaches the teaching point P3 through the point P2, which is a moving operation explanatory diagram of the control points.
First, a
The
Further, as shown in FIG. 3, the tool 3 is mounted on the flange surface 6 so that the control point 8 has an offset distance R <b> 1 with respect to the central axis C <b> 1 of the
The
The control device sets a point obtained by projecting the control point 8 onto the
As shown in FIG. 1, when the moving
First, it is determined whether the control point Pc is on the way from the teaching point P1 toward the teaching point P2 or is already on the way to the teaching point P3 after passing the teaching point P2 (S101).
If it is determined in S101 that the control point Pc is on the way from the teaching point P1 to the teaching point P2, first, a normal inverse transformation (= inverse kinematics solution is obtained to obtain the orthogonal coordinates from the robot. The linear interpolation process is performed until immediately before the process is performed (S201).
Next, the rotation center Pf of the wrist flange 5 is obtained from the control point Pc based on the following equation (1), and the intersecting point Pf 0 of the perpendicular drawn from the obtained rotation center Pf of the wrist flange 5 to the straight line P1P2 is obtained (S202). ).
Pf = Pc * E −1 (1)
In the formula (1), E is an end effector.
Next, it is determined based on the control flag whether or not the corner portion interpolation processing is already in progress (S203).
In the S203, if it is found not to be in the interpolation processing of the corner section, it is determined whether or not the distance from the intersection point Pf 0 to the teaching point P2 is smaller than the reference distance L1 (S211), from the intersection point Pf 0 When the distance to the teaching point P2 is larger than the reference distance L1, a predetermined inverse conversion process is performed as the control point position Pc 0 obtained by interpolating the control point Pc previously calculated in S201 (S401), and the calculated robot Each shaft angle is converted into a motor current pulse and delivered to the servo unit, and the process is terminated (S402).
In S211 described above, if the distance from the intersection Pf 0 to the teaching point P2 is determined to be smaller than the reference distance L1, as shown in FIG. 5, the teaching point intersection Pf 0 from the intersection P4, and intersection point P4 The distance to P2 is Le, the point Le5 from the teaching point P2 on the straight line P2P3 is the point P5, the center point Op and the radius R2 of the circle C2 passing through the intersection point P4, the teaching point P2, and the point P5 are obtained. The control flag during the interpolation processing is set, and the process proceeds to S401 described above (S212).
If it is determined in S203 described above that the corner portion is being interpolated, the following processes (A) to (D) are performed in order (S221).
(A) First, as shown in FIG. 5, a circle C1 having a radius R1 around the control point Pc is obtained. FIG. 5 shows a state where the control point Pc overlaps with the teaching point P2.
(B) Then, the following calculation is executed so that the intersection of the circle C1 and the circle C2 is the position of the rotation center Pf of the wrist flange 5.
First, as shown in FIG. 5, an angle α formed by a line segment PcP1 connecting the control point Pc and the teaching point P1 and a line segment PcOp connecting the control point Pc and the center point Op of the circle C2 is expressed as follows. It calculates | requires based on (2)-(4) Formula (inner product).
l = P1-Pc / | P1Pc | (2)
m = Op-Pc / | OpPc | (3)
α = cos -1 (l x m x + l y m y + l z m z) ... (4)
Furthermore, the distance between the control point Pc and the center point Op is L2, and the radii R1, R2 of the respective circles C1, C2 and the distance L2 are substituted into the following equation (5), so that the mutual relation between the circles C1, C2 An angle β formed by a line segment QPc connecting the intersection point Q and the control point Pc and a line segment OpPc connecting the control point Pc and the center point Op is obtained.
β = cos -1 (R1 2 + L2 2 -R2 2/2 * R1 * L2) ... (5)
(C) Next, an angle γ formed by the line segment QPc and the line segment P1P2 is obtained by the following equation (6).
γ = β−α (6)
(D) Next, the interpolated control point position Pc 0 is calculated by substituting the angle γ determined by the above equation (6) into the following equation (7).
Pc 0 = Pc * rot (z, γ) (7)
In the above equation (7), the control point Pc is rotated around the Tz by the angle γ (or −γ).
When the above-described processing of S221 is completed, the above-described S401 and S402 are executed in sequence to end the processing.
The processes after S201 are repeated until the control point Pc reaches the teaching point P2. Further, the processing after S221 is repeated until the control point Pc reaches the teaching point P2 after the control flag during corner processing is first set in S212.
If it is determined in S101 that the control point Pc is in the middle of the teaching point P2 toward the teaching point P3, first, normal inverse transformation (= reverse kinematics solution is obtained to obtain the orthogonal coordinates from the robot. The linear interpolation process is performed until immediately before the process is performed (S301).
Next, the rotation center Pf of the wrist flange 5 is obtained from the control point Pc based on the above-described equation (1), and the intersection point Pf 0 of the perpendicular drawn from the obtained rotation center Pf of the wrist flange 5 to the straight line P2P3 is obtained (S302). ).
Next, it is determined based on the control flag whether or not the corner portion interpolation processing is already in progress (S303).
In the S303, if it is found not to be in the interpolation processing of the corner section, the process proceeds to S401 described above, the predetermined inverse transform control points Pc calculated in S301 above as a control point position Pc 0 interpolated Then, each calculated robot shaft angle is converted into a motor current pulse and delivered to the servo unit, and the process is terminated (S402).
If it is determined in S303 described above that the corner portion interpolation process is being performed, the following processes (A) to (D) are sequentially performed (S321).
(A) First, as shown in FIG. 6, a circle C1 having a radius R1 around the control point Pc is obtained.
(B) Then, the following calculation is performed so that the intersection point Q between the circle C1 and the circle C2 is the position of the rotation center Pf of the wrist flange 5.
First, as shown in FIG. 6, an angle α formed by a line segment PcP3 connecting the control point Pc and the teaching point P3 and a line segment PcOp connecting the control point Pc and the center point Op of the circle C2 is expressed as follows. Obtained based on equations (8) to (10) (inner product).
l = P3-Pc / | P3Pc | (8)
m = Op-Pc / | OpPc | (9)
α = π-cos -1 (l x m x + l y m y + l z m z) ... (10)
Further, the distance between the control point Pc and the center point Op is L2, and the radii R1, R2 of the respective circles C1, C2 and the distance L2 are substituted into the following equation (11), and the mutual relation between the circles C1, C2 is calculated. An angle β formed by a line segment QPc connecting the intersection point Q and the control point Pc and a line segment OpPc connecting the control point Pc and the center point Op is obtained.
β = cos -1 (R1 2 + L2 2 -R2 2/2 * R1 * L2) ... (11)
(C) Next, an angle γ formed by the line segment QPc and the line segment P2P3 is obtained by the following equation (12).
γ = α−β (12)
(D) Next, the interpolated control point position Pc 0 is calculated by substituting the angle γ obtained by the equation (6) into the following equation (13).
Pc 0 = Pc * rot (z, γ) (13)
In the above equation (13), the control point Pc is rotated around the Tz by an angle γ (or −γ).
After the process of S321 is completed, it is determined whether or not the distance from the intersection Pf0 to the point P5 is the shortest (S322). If not the shortest, the above-described S401 and S402 are executed in sequence to end the process.
If it is determined in S322 that the distance from the intersection Pf0 to the point P5 is the shortest, the control flag during the corner processing described above is reset (S323), and then the above-described S401 and S402 are sequentially performed. Execute to finish the process.
The above-described processing after S321 is repeated until the distance from the intersection Pf0 to the point P5 becomes the shortest and the control flag during corner processing is reset. The linear interpolation control is performed.
FIG. 7 shows the locus of the control point Pc continuously drawn over time until the control point Pc reaches the teaching point P3 from the teaching point P1 by the above interpolation processing.
As is apparent from the above description, the path interpolation method of one embodiment of the present invention provides three teaching points P1, P2, and P3, and the flange is moved during the movement operation from the teaching point P1 to the teaching point P2. When the intersection between the center axis C1 of the
Therefore, the connection point itself can faithfully trace the straight path given by the teaching point.
And since the wrist flange 5 which is a joint part becomes a smooth rotation operation, when passing through the corner portion, a steep speed fluctuation does not occur with respect to the basic axis of the robot (the three axes of the base which controls the position). Therefore, a large impact load such as each joint axis of the robot does not act, and it is possible to suppress the generation of vibration due to the effect of the impact load and pass the corner point in a linear motion.
[0006]
【The invention's effect】
According to the robot path interpolation method of the present invention, according to the above configuration, the movement path of the robot control point given by the three teaching points P1, P2, and P3 is a polygonal line where the teaching point P2 is a corner portion. In the case of the path, during the movement operation from the teaching point P1 to the teaching point P2, when the intersection of the center axis of the flange drive shaft and the teaching plane approaches the teaching point P2 from the teaching point P2 than the point of the reference distance L1, Thereafter, until the control point passes the point P5 on the straight line from the teaching point P2 to the teaching point P3, the intersection of the center axis of the flange drive shaft and the teaching plane passes through the intersection P4, the teaching point P2, and the point P5. The wrist flange is rotationally driven so as to move on the arc, and the control point moves linearly on the taught path.
Therefore, the connection point itself can faithfully trace the straight path given by the teaching point.
Since the wrist flange, which is a joint portion, has a smooth rotational motion, no steep speed fluctuation occurs with respect to the basic axis of the robot (the three axes of the base that controls the position) when passing through the corner portion. Therefore, a large impact load such as each joint axis of the robot does not act, and it is possible to suppress the generation of vibration due to the effect of the impact load and pass the corner point in a linear motion.
Therefore, it is possible to pass the corner portion at high speed without acceleration / deceleration while suppressing the impact on each joint axis of the robot and maintaining the operation of the control point as a linear operation.
[Brief description of the drawings]
FIG. 1 is an overall schematic diagram of a robot working according to an embodiment of a path interpolation method according to the present invention.
2 is a top view of a wrist flange of the robot shown in FIG. 1. FIG.
3 is a side view of a wrist flange of the robot shown in FIG. 1. FIG.
FIG. 4 is a flowchart showing a procedure of an interpolation calculation process in an embodiment of a path interpolation method according to the present invention.
FIG. 5 is an explanatory diagram of the movement operation between the control point and the intersection between the center axis of the flange drive shaft and the teaching plane until the control point reaches the corner point in the process shown in FIG. 4;
6 is an explanatory view of the movement operation between the control point and the intersection of the center axis of the flange drive shaft and the teaching plane after the control point passes the corner point in the process shown in FIG. 4;
7 shows the movement of the control point between the intersection of the center axis of the flange drive shaft and the teaching plane until the control point reaches the teaching point P3 from the teaching point P1 through the teaching point P2 by the processing shown in FIG. It is operation | movement explanatory drawing.
[Explanation of symbols]
DESCRIPTION OF
Claims (1)
前記工具先端部の制御点は、始点(P1)、角部(P2)、終点(P3)の教示点で表される角部を含む移動経路をたどるとともに、前記制御点が前記角部P2を通過する前後において、前記手首フランジが回転することにより、前記フランジ駆動軸の中心軸線と前記教示点がなす教示平面との交点は、
前記角部(P2)を通り、
かつ前記制御点の移動経路に対して外側に膨らんだ移動経路をたどる、
ことを特徴するロボットの制御方法。In a robot comprising a wrist flange rotated by a flange drive shaft, and a tool provided on the wrist flange so as to have an offset distance from a center axis of the flange drive shaft,
The control point of the tool tip follows a movement path including corners represented by teaching points of a start point (P1) , a corner (P2) , and an end point (P3) , and the control point follows the corner P2. As the wrist flange rotates before and after passing, the intersection between the center axis of the flange drive shaft and the teaching plane formed by the teaching point is
Ri through the angle portion (P2),
And following a movement path bulging outward with respect to the movement path of the control point,
A robot control method characterized by the above.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19878997A JP4085208B2 (en) | 1997-07-24 | 1997-07-24 | Robot control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19878997A JP4085208B2 (en) | 1997-07-24 | 1997-07-24 | Robot control method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH1139021A JPH1139021A (en) | 1999-02-12 |
| JP4085208B2 true JP4085208B2 (en) | 2008-05-14 |
Family
ID=16396943
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19878997A Expired - Fee Related JP4085208B2 (en) | 1997-07-24 | 1997-07-24 | Robot control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4085208B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SE515374C2 (en) * | 1999-10-29 | 2001-07-23 | Abb Flexible Automation As | Method and apparatus for determining an object's coordinates and orientation in a reference coordinate system |
| JP6006277B2 (en) | 2014-11-06 | 2016-10-12 | ファナック株式会社 | Program correcting apparatus and program correcting method for industrial robot |
| JP7199073B2 (en) * | 2017-10-20 | 2023-01-05 | 株式会社キーレックス | Teaching data creation system for vertical articulated robots |
| CN114234968B (en) * | 2021-12-17 | 2023-12-05 | 江西洪都航空工业集团有限责任公司 | An autonomous navigation method for mobile robots based on the A-star algorithm |
-
1997
- 1997-07-24 JP JP19878997A patent/JP4085208B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH1139021A (en) | 1999-02-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6845295B2 (en) | Method of controlling a robot through a singularity | |
| US7248012B2 (en) | Teaching data preparing method for articulated robot | |
| JPH079606B2 (en) | Robot controller | |
| JP2006187803A (en) | Robot system | |
| JPWO2002066210A1 (en) | Robot controller | |
| JP3207409B2 (en) | Robot tool attitude control method | |
| JPH04111006A (en) | Path interpolating method for robot | |
| JP4085208B2 (en) | Robot control method | |
| JP7584930B2 (en) | ROBOT SYSTEM, CONTROL METHOD, PROGRAM, AND RECORDING MEDIUM | |
| JP7108893B2 (en) | Robot control method | |
| JP3710075B2 (en) | Weaving control device for welding robot | |
| JP3444313B2 (en) | Industrial robot controller | |
| JPH0830978B2 (en) | Teaching / reproducing method for industrial robots | |
| JPS62154006A (en) | Robot controller | |
| JP3078202B2 (en) | Painting posture control method for articulated robot | |
| JPH02308311A (en) | Interpolation speed commanding method for multijoint robot | |
| JPH07295615A (en) | Drive control method for articulated robot | |
| JPH08328637A (en) | Robot controller | |
| JP2827381B2 (en) | Robot teaching point change device | |
| JPS6125210A (en) | Industrial joint robot | |
| JP3194829B2 (en) | Robot motion program generation device | |
| JP2576176B2 (en) | Robot control method | |
| JP2521782B2 (en) | Control method for industrial robot | |
| JP3297170B2 (en) | Robot with rotating device | |
| JPH07295651A (en) | Acceleration and deceleration controller for robot |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040618 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060324 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060522 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060607 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060726 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070117 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070308 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070801 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070920 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071129 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080123 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080205 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110228 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120229 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120229 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130228 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140228 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150228 Year of fee payment: 7 |
|
| LAPS | Cancellation because of no payment of annual fees |