[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH07104825A - Controller for robot - Google Patents

Controller for robot

Info

Publication number
JPH07104825A
JPH07104825A JP26956193A JP26956193A JPH07104825A JP H07104825 A JPH07104825 A JP H07104825A JP 26956193 A JP26956193 A JP 26956193A JP 26956193 A JP26956193 A JP 26956193A JP H07104825 A JPH07104825 A JP H07104825A
Authority
JP
Japan
Prior art keywords
speed
axis
maximum
moving
ratio
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
JP26956193A
Other languages
Japanese (ja)
Inventor
Yoshiji Yamamoto
吉二 山本
Katsuhiro Komuro
克弘 小室
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.)
Toyoda Koki KK
Original Assignee
Toyoda Koki KK
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 Toyoda Koki KK filed Critical Toyoda Koki KK
Priority to JP26956193A priority Critical patent/JPH07104825A/en
Publication of JPH07104825A publication Critical patent/JPH07104825A/en
Pending legal-status Critical Current

Links

Landscapes

  • Control Of Velocity Or Acceleration (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

PURPOSE:To decrease the cycle time by enabling move on the operational locus of a straight line or a circular arc at maximum speed to be changed corresponding to a posture. CONSTITUTION:The rotating speed of each axis is calculated from the moving speed on the operational locus at that time at an interpolating point, and the rotating speed ratio of each axis to the maximum rotating speed is calculated (232). When the axis with the maximum rotating speed ratio is decided and the rotating speed ratio of that axis is larger than an upper limit value, the moving speed at the next interpolating point is decelerated just by a prescribed value (234-236) but when the rotating speed ratio is smaller than a lower limit value, the moving speed is accelerated just by a prescribed value (238-240). At the next interpolating point, the rotating angle of each axis is calculated based on the corrected moving speed and according to that rotating angle, each axis is controlled. Since one axis is rotated at the allowable maximum rotating speed at least, high-speed positioning is made possible.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、ロボットのハンドの位
置決めにおいて、高速位置決めを可能としたロボットの
制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a robot controller capable of high-speed positioning when positioning a robot hand.

【0002】[0002]

【従来の技術】従来、ロボットの直線補間、円弧補間等
における移動制御では、動作軌跡上の移動速度を指令す
ることが行われている。そして、このように指令された
動作軌跡上の移動速度が得られるように各軸の回転速度
が決定され、各軸にはその回転速度で制御される。この
時、動作軌跡上の最大移動速度は、ロボットがどのよう
な姿勢をとっても全軸の回転速度がモータの能力から決
定される最大回転速度を超えないような値として決定さ
れている。
2. Description of the Related Art Conventionally, in movement control in linear interpolation, circular interpolation, etc. of a robot, a movement speed on an operation locus is commanded. Then, the rotation speed of each axis is determined so that the commanded movement speed on the operation locus is obtained, and each axis is controlled by the rotation speed. At this time, the maximum movement speed on the motion locus is determined as a value such that the rotation speed of all axes does not exceed the maximum rotation speed determined by the ability of the motor regardless of the posture of the robot.

【0003】[0003]

【発明が解決しようとする課題】このように、最大移動
速度は動作軌跡上の速度で与えられているため、動作軌
跡上の移動速度が最大値をとっても、ロボットの姿勢に
よっては各軸の回転速度は最大値をとっていない。即
ち、ロボットの最大能力を活用していないことになる。
As described above, since the maximum moving speed is given by the speed on the motion locus, even if the moving speed on the motion locus has the maximum value, the rotation of each axis depends on the posture of the robot. The speed is not maximum. That is, the maximum capacity of the robot is not utilized.

【0004】本発明は上記の課題を解決するために成さ
れたものであり、その目的は、直線、円弧等の動作軌跡
上の移動を姿勢によって変化し得る可能最大速度で行え
るようにすることである。そして、このようにすること
で、ロボットに最大能力を発揮させサイクルタイムを減
少させることである。
The present invention has been made to solve the above problems, and an object thereof is to enable movement on a motion locus such as a straight line and an arc at a maximum possible speed that can be changed depending on the posture. Is. By doing so, the robot is allowed to exert its maximum ability and the cycle time is reduced.

【0005】[0005]

【課題を解決するための手段】本発明は、直線、円弧等
の動作軌跡に従って与えられた教示点にロボットのハン
ドを位置決めするロボットの制御装置において、ハンド
を動作軌跡に沿っての移動を可能最大速度で行うモード
とする可能最大速度移動指令手段と、動作軌跡上の補間
点において、動作軌跡上の指令された移動速度でハンド
を移動させるための各軸の回転速度の各軸の最大回転速
度に対する回転速度比を演算する回転速度比演算手段
と、回転速度比の上限値と下限値とを設定する設定手段
と、回転速度比が最大となる最大回転速度軸を決定する
軸決定手段と、補間点において、最大回転速度軸の回転
速度比が上限値より大きくなった場合には、次の補間点
における移動速度を所定値だけ減少させ、最大回転速度
軸の回転速度比が下限値より小さくなった場合には、移
動速度を所定値だけ増加させる移動速度制御手段と、移
動速度制御手段により決定された移動速度に基づいて、
次の補間点を決定し、決定された各軸の回転角に基づい
て各軸を制御する角度制御手段とを有することを特徴と
する。
According to the present invention, a robot controller for positioning a robot hand at a given teaching point according to a motion locus such as a straight line or a circular arc can move the hand along the motion locus. The maximum possible speed movement command means to set the mode to the maximum speed and the maximum rotation of each axis of the rotation speed of each axis to move the hand at the commanded movement speed on the operation trajectory at the interpolation point on the operation trajectory. Rotational speed ratio computing means for computing a rotational speed ratio with respect to speed, setting means for setting an upper limit value and a lower limit value of the rotational speed ratio, and axis determining means for determining a maximum rotational speed axis at which the rotational speed ratio is maximum. When the rotation speed ratio of the maximum rotation speed axis becomes larger than the upper limit value at the interpolation point, the moving speed at the next interpolation point is decreased by a predetermined value, and the rotation speed ratio of the maximum rotation speed axis decreases. If it becomes smaller than the value, a movement speed control means for increasing the moving speed by a predetermined value, based on the moving speed determined by the movement speed control means,
Angle control means for determining the next interpolation point and controlling each axis based on the determined rotation angle of each axis.

【0006】[0006]

【作用及び発明の効果】直線、円弧補間等による所定の
動作軌跡上の移動制御を可能最大速度で行うモードとす
ることが指定されることにより、本発明の速度制御が実
行される。ある補間点において、その時の動作軌跡上の
移動速度から各軸の回転速度が演算され、各軸の最大回
転速度に対する回転速度比が演算される。そして、回転
速度比が最大である軸が決定され、その軸の回転速度比
が上限値より大きい場合には、次の補間点における動作
軌跡上の移動速度が所定値だけ減少され、回転速度比が
下限値より小さい場合には、動作軌跡上の移動速度を所
定値だけ増加させる。そして、補正された移動速度に基
づいて、次の補間点を決定し、決定された各軸の回転角
に基づいて各軸の角度が制御される。
The function and effect of the invention The speed control of the present invention is executed by designating the mode in which the movement control on the predetermined motion locus by the straight line, the circular interpolation or the like is performed at the maximum possible speed. At a certain interpolation point, the rotation speed of each axis is calculated from the moving speed on the operation locus at that time, and the rotation speed ratio to the maximum rotation speed of each axis is calculated. Then, the axis having the maximum rotation speed ratio is determined, and when the rotation speed ratio of the axis is larger than the upper limit value, the moving speed on the operation locus at the next interpolation point is reduced by a predetermined value, and the rotation speed ratio If is smaller than the lower limit value, the moving speed on the motion locus is increased by a predetermined value. Then, the next interpolation point is determined based on the corrected moving speed, and the angle of each axis is controlled based on the determined rotation angle of each axis.

【0007】このように、ハンドは指令された直線、円
弧等の動作軌跡上を移動するが、移動速度は、指令され
た一定の移動速度と異なり変動するが、各軸の速度に関
する能力を十分に発揮した可能最大移動速度で移動する
ことになる。よって、ロボットに最大能力を発揮させサ
イクルタイムを減少させることができる。この制御は、
高速位置決め等に用いることができる。
As described above, the hand moves on the operation locus such as the instructed straight line or arc, and the moving speed varies unlike the instructed constant moving speed, but the ability concerning the speed of each axis is sufficient. It will move at the maximum possible moving speed that was demonstrated. Therefore, it is possible to maximize the ability of the robot and reduce the cycle time. This control is
It can be used for high-speed positioning and the like.

【0008】[0008]

【実施例】以下本発明を具体的な実施例に基づいて説明
する。図1は6軸多関節ロボットの機構を示した機構図
である。10がロボット本体であり、フロアに本体10
を固定するベース13が配設され、ベース13上にはコ
ラム12が固設されており、コラム12はボディ14を
回転自在に配設している。ボディ14はアッパーアーム
15を回動自在に軸支し、アッパーアーム15は、フォ
アアーム16を回動自在に軸支している。ボディ14、
アッパーアーム15、フォアアーム16は、それぞれ、
サーボモータSm1,Sm2,Sm3(図2参照)によって、
軸a,b,cの回りに回転駆動される。この回転角はエ
ンコーダE1,E2,E3によって検出される。フォア
アーム16の先端部にはツイストリスト17がd軸の周
りに回転可能に軸支され、ツイストリスト17にはベン
ドリスト9がe軸の周りに回動自在に軸支されている。
ベンドリスト9には先端にフランジ18aを有するスイ
ベルリスト18がf軸の回りに回転可能に軸支されてい
る。また、フランジ18aにはハンド19が取り付けら
れている。d軸、e軸、f軸はサーボモータSm4、Sm
5、Sm6によって駆動され、その回転角はエンコーダE
4,E5,E6によって検出される。ハンド19の開閉
動作は工具駆動回路23により制御される。
EXAMPLES The present invention will be described below based on specific examples. FIG. 1 is a mechanism diagram showing the mechanism of a 6-axis articulated robot. 10 is the robot body, and the body 10 is on the floor
A base 13 for fixing the column 12 is disposed, a column 12 is fixedly mounted on the base 13, and a body 14 is rotatably disposed in the column 12. The body 14 rotatably supports the upper arm 15, and the upper arm 15 rotatably supports the forearm 16. Body 14,
The upper arm 15 and the forearm 16 are respectively
Servo motors Sm1, Sm2, Sm3 (see Fig. 2)
It is driven to rotate about axes a, b and c. This rotation angle is detected by the encoders E1, E2, E3. A twist wrist 17 is rotatably supported on the tip of the forearm 16 about the d axis, and a bend list 9 is rotatably supported on the twist wrist 17 about the e axis.
A swivel wrist 18 having a flange 18a at its tip is pivotally supported on the bend wrist 9 so as to be rotatable around the f-axis. A hand 19 is attached to the flange 18a. Servomotors Sm4, Sm for d-axis, e-axis, and f-axis
5, driven by Sm6, its rotation angle is encoder E
4, E5, E6. The opening / closing operation of the hand 19 is controlled by the tool driving circuit 23.

【0009】図2は、本発明のロボットの制御装置の電
気的構成を示したブロックダイヤグラムである。CPU
20には、メモリ25、サーボモータを駆動するための
サーボCPU22a〜22f、動作開始指令、ジョグ運
転の指令、教示点の指示等を行う操作盤26が接続され
ている。ロボットに取付けられた各軸a〜f駆動用のサ
ーボモータSm1〜Sm6は、それぞれサーボCPU22a
〜22fによって駆動される。
FIG. 2 is a block diagram showing the electrical construction of the robot controller of the present invention. CPU
A memory 25, servo CPUs 22a to 22f for driving a servo motor, an operation panel 26 for issuing an operation start instruction, a jog operation instruction, a teaching point instruction, and the like are connected to the memory 20. The servo motors Sm1 to Sm6 for driving the axes a to f attached to the robot are respectively the servo CPU 22a.
Driven by ~ 22f.

【0010】サーボCPU22a〜22fのそれぞれ
は、CPU20から出力される各軸の角度指令値θ1
θ6 、慣性モーメントDi 、重力トルクTi に基づい
て、サーボモータSm1〜Sm6の出力トルクを制御する。
各駆動軸に連結されたエンコーダE1〜E6の出力する
検出角度α1 〜α6 はCPU20及びサーボCPU22
a〜22fに入力しており、CPU20による各軸の慣
性モーメント及び重力トルクの演算及びサーボCPU2
2a〜22fによる位置フィードバック制御、速度フィ
ードバック制御、電流フィードバック制御に用いられ
る。
Each of the servo CPUs 22a to 22f outputs an angle command value θ 1 to θ 1 for each axis output from the CPU 20.
The output torque of the servomotors Sm1 to Sm6 is controlled based on θ 6 , the moment of inertia D i , and the gravity torque T i .
The detection angles α 1 to α 6 output by the encoders E1 to E6 connected to the respective drive shafts are the CPU 20 and the servo CPU 22.
a to 22f, the CPU 20 calculates the moment of inertia and gravity torque of each axis, and the servo CPU 2
It is used for position feedback control, speed feedback control, and current feedback control by 2a to 22f.

【0011】メモリ25にはロボットを教示点データに
従って動作させるためのプログラムが記憶されたPA領
域とハンド19の位置と姿勢を表す教示点データを記憶
するPDA領域と加速度(減速度)の指令値及び目標速
度を記憶するSDA領域、回転速度の上限値Th と下限
値Tl とを記憶するITA領域、補間演算により求めら
れた補間点における各軸の角度指令値θ1 〜θ6 を記憶
するINA領域とエンコーダE1〜E6から出力された
検出角度α1 〜α6 を記憶するANG領域とが形成され
ている。
In the memory 25, a PA area in which a program for operating the robot in accordance with the teaching point data is stored, a PDA area in which teaching point data representing the position and orientation of the hand 19 is stored, and an acceleration (deceleration) command value. And an SDA area for storing the target speed, an ITA area for storing the upper limit value Th and the lower limit value Tl of the rotation speed, and an INA for storing the angle command values θ 1 to θ 6 of each axis at the interpolation points obtained by the interpolation calculation. An area and an ANG area for storing the detected angles α 1 to α 6 output from the encoders E1 to E6 are formed.

【0012】次に、本装置の作動について説明する。図
6はRAM25のPA領域に記憶されている動作プログ
ラムである。この動作プログラムにより、ロボットのハ
ンドの先端は図7に示すように移動する。行番号1は、
停止位置(開始位置)から目標速度へ移行する加速過程
及び目標速度から停止位置(目標位置)へ移行する減速
過程における加速度及び減速度(機械の出力し得る最大
加速度Aに対する割合100c%(図6では100c=
100%))を指令する命令語である。行番号2は、目
標速度(機械の出力し得る最大速度Vに対する割合10
0b%(図6では100b=100%))である。行番
号3はハンド先端を機械原点に位置決めする命令語であ
り、行番号4は可能最大速度移動モードで教示点P2へ
位置決めするMOVESP命令語、行番号5は教示点P
1に直線補間により位置決めするMOVE命令であり、
行番号6はハンドを閉じて物品を把持するための命令語
である。行番号7は教示点P2へ直線補間により位置決
めするMOVE命令語であり、行番号8は行番号4と同
じく可能最大速度移動モードで教示点P3へ位置決めす
るMOVESP命令語であり、行番号9は行番号5と同
様に教示点P4に直線補間により位置決めするMOVE
命令であり、行番号10はハンドを開いて物品を放置す
るための命令語である。行番号11は行番号7と同様に
直線補間により教示点P3へ位置決めするMOVE命令
語であり、行番号12は行番号3と同様にハンド先端を
機械原点に位置決めする命令語である。
Next, the operation of this apparatus will be described. FIG. 6 shows an operation program stored in the PA area of the RAM 25. By this operation program, the tip of the robot hand moves as shown in FIG. Line number 1
Acceleration and deceleration in the acceleration process of moving from the stop position (start position) to the target speed and in the deceleration process of moving from the target speed to the stop position (target position) (ratio to the maximum acceleration A that can be output by the machine 100 c% (Fig. 6 Then 100c =
It is a command word that commands 100%)). Line number 2 indicates the target speed (ratio 10 to the maximum speed V that can be output by the machine).
0b% (100b = 100% in FIG. 6). Line number 3 is a command word for positioning the hand tip at the machine origin, line number 4 is a MOVESP command word for positioning to teaching point P2 in the maximum possible speed movement mode, and line number 5 is a teaching point P.
It is a MOVE command for positioning by linear interpolation to 1.
Line number 6 is a command for closing the hand and gripping the article. Line number 7 is a MOVE command word for positioning to teaching point P2 by linear interpolation, line number 8 is a MOVESP command word for positioning to teaching point P3 in the maximum possible speed movement mode as in line number 4, and line number 9 is MOVE to position at teaching point P4 by linear interpolation in the same way as line number 5
It is a command, and line number 10 is a command for opening the hand and leaving the article. The line number 11 is a MOVE command word for positioning to the teaching point P3 by linear interpolation similarly to the line number 7, and the line number 12 is a command word for positioning the hand tip to the machine origin, similarly to the line number 3.

【0013】図6の動作プログラムにより、ロボット
は、図7に示すように、原点からP2点を経由してP1
点で停止し、その後、ハンド19を閉じて物体を把持
し、P2点、P3を経由してP4点に移動して、ハンド
19を開いて、物体を放置し、P3点を経由して原点に
移動することが可能である。図7において、P1〜P4
点が教示点である。
As shown in FIG. 7, the operation program of FIG. 6 causes the robot to move from the origin to P1 via point P2.
Stop at the point, then close the hand 19 to grasp the object, move to the point P4 via the points P2 and P3, open the hand 19, leave the object, and leave the origin via the point P3. It is possible to move to. In FIG. 7, P1 to P4
The points are teaching points.

【0014】図3は、CPU20による動作プログラム
を解読するための主プログラムのフローチャートであ
る。ステップ100において、MOVE命令語が解読さ
れると、ステップ102において、現在位置から指定さ
れた教示点までハンド19を移動させるための補間演算
が実行される。そして、補間演算により求められた各軸
の角度指令値θ1 〜θ6 はサーボCPU22a〜22f
に出力される。又、ステップ104において、MOVE
SP命令語が解読されると、ステップ106において、
後述する可能最大速度移動モードによる処理が実行され
る。
FIG. 3 is a flow chart of a main program for decoding the operation program by the CPU 20. When the MOVE command is decoded in step 100, an interpolation calculation for moving the hand 19 from the current position to the designated teaching point is executed in step 102. Then, the angle command values θ 1 to θ 6 of the respective axes obtained by the interpolation calculation are the servo CPUs 22a to 22f.
Is output to. Also, in step 104, MOVE
When the SP command is decoded, in step 106,
The processing in the possible maximum speed movement mode described later is executed.

【0015】ステップ108でHAND OFF命令語
が解読されると、ステップ110において、工具駆動回
路23にハンド19を開く指令を与える。又、ステップ
112でHAND ON命令語が解読されると、ステッ
プ114において、工具駆動回路23にハンド19を閉
じる指令を与える。
When the HAND OFF command is decoded in step 108, a command for opening the hand 19 is given to the tool driving circuit 23 in step 110. When the HAND ON command is decoded in step 112, the tool drive circuit 23 is instructed to close the hand 19 in step 114.

【0016】ステップ116においてACCEL 又はSPEED
命令語であると判定された場合には、ステップ118に
おいて加速度の指令値c、目標速度の指令値bがRAM
25のSDA領域に設定される。
In step 116, ACCEL or SPEED
If it is determined that the command word is the command word, the acceleration command value c and the target speed command value b are stored in the RAM in step 118.
25 SDA areas.

【0017】ステップ102及び106における教示点
間の補間演算は、良く知られたように、回転主軸法等を
用いて行うことができる(例えば、特開昭62−154
006号)。
As is well known, the interpolation calculation between the teaching points in steps 102 and 106 can be performed by using the rotating spindle method or the like (for example, Japanese Patent Laid-Open No. 62-154).
No. 006).

【0018】次に、可能最大速度移動モードによる移動
命令(MOVESP)の処理手順について図4を参照し
て説明する。図4のプログラムはMOVESP命令語が
与えられた時に、ステップ200か処理を開始し、その
後はMOVESP命令語で指定された教示点まで移動が
完了するまで、補間周期ΔT毎にステップ208から繰
り返し実行される。MOVESP命令語で指定された教
示点までの移動が完了すると、図3のメインプログラム
に戻る。
Next, the processing procedure of the move command (MOVESP) in the maximum possible speed move mode will be described with reference to FIG. When the MOVESP command is given, the program of FIG. 4 starts the process from step 200, and thereafter repeatedly executes from step 208 every interpolation cycle ΔT until the movement to the teaching point designated by the MOVESP command is completed. To be done. When the movement to the teaching point designated by the MOVESP command is completed, the process returns to the main program shown in FIG.

【0019】次に、ステップ200において、ワールド
座標系で表記された教示データとして与えられた開始点
の位置及び姿勢と次の位置決め目標点の位置及び姿勢か
ら回転主軸の方向ベクトルが演算され、ステップ202
において、その回転主軸回りの回転角Θが演算される。
次に、ステップ204において、その時の移動速度Vm
が0か否か、即ち、停止状態か否かが判定される。停止
状態であれば、ステップ206において、動作軌跡上の
移動速度Vm が次式によりその時の指令された加速度A
m を用いて単位量だけ増加される。
Next, in step 200, the direction vector of the rotary spindle is calculated from the position and orientation of the starting point and the position and orientation of the next positioning target point given as teaching data expressed in the world coordinate system, and in step 200 202
At, the rotation angle Θ around the rotation main axis is calculated.
Next, in step 204, the moving speed Vm at that time
Is 0, that is, it is determined whether or not it is in a stopped state. If it is in the stopped state, in step 206, the moving speed Vm on the operation locus is the acceleration A commanded at that time by the following equation.
It is increased by a unit amount using m.

【0020】[0020]

【数1】Vm =Vm +Am ・ΔT 尚、移動命令語が連続して与えられている場合には、前
の移動命令語で指定された教示点に対する減速、位置決
めを行わずに、連続した動作として処理することが必要
である。よって、この場合にはステップ206の加速処
理は行われない。
[Formula 1] Vm = Vm + Am.ΔT If the movement command words are continuously given, continuous movement is performed without decelerating or positioning the teaching point designated by the previous movement command word. It is necessary to process as. Therefore, in this case, the acceleration process of step 206 is not performed.

【0021】次に、ステップ208では、動作軌跡上の
区間開始教示点からの補間距離ΔLが次式により更新さ
れる。
Next, at step 208, the interpolation distance ΔL from the section start teaching point on the motion locus is updated by the following equation.

【数2】ΔL=ΔL+Vm ・ΔT Vm ・ΔTは1補間周期における動作軌跡上の移動距離
を表す。
## EQU2 ## ΔL = ΔL + VmΔT VmΔT represents the movement distance on the operation locus in one interpolation cycle.

【0022】次に、ステップ210では、そのMOVE
SP命令語で与えられた目標位置に対する動作軌跡上の
残存距離Rが次式で演算される。
Next, in step 210, the MOVE is executed.
The remaining distance R on the motion locus with respect to the target position given by the SP command is calculated by the following equation.

【数3】R=L−ΔL 但し、Lはその移動命令語で移動すべき動作軌跡上の区
間距離である。次に、ステップ212において、補間距
離ΔLが区間距離Lより大きいか否かが判定され、大き
い場合には、補間点が目標位置を越えることになるの
で、ステップ214で補間距離ΔLを区間距離Lに等し
くする。
## EQU00003 ## R = L-.DELTA.L However, L is the section distance on the motion locus to be moved by the movement command. Next, in step 212, it is judged whether or not the interpolation distance ΔL is larger than the section distance L, and if it is larger, the interpolation point exceeds the target position, so in step 214, the interpolation distance ΔL is set to the section distance L. Equal to.

【0023】次に、ステップ216で回転主軸の回りの
補間角ΔΘが次式で演算される。
Next, at step 216, the interpolation angle ΔΘ around the rotation main axis is calculated by the following equation.

【数4】ΔΘ=Θ・ΔL/L 即ち、補間点の動作軌跡上の長さの比と回転主軸の回り
の角度の比とを等しくする。
## EQU00004 ## .DELTA..THETA. =. THETA..DELTA.L / L That is, the ratio of the length of the interpolation point on the operation locus is made equal to the ratio of the angle around the rotation main axis.

【0024】次に、ステップ218において、この補間
角ΔΘ及び補間比ΔL/Lを用いて開始点の位置及び姿
勢を補間点における位置及び姿勢に変換するための姿勢
変換行列R(4×4の同次座標行列)が演算される。そ
して、ステップ220において、開始点の位置及び姿勢
を表す同次座標行列に姿勢変換行列を作用させて、補間
点における位置及び姿勢を表す同次座標行列が演算され
る。次に、ステップ222において、その補間点におけ
るワールド座標系で表記された位置及び姿勢の同次座標
行列からジョイント座標系での値、即ち、各軸の回転角
(θ1 〜θ6 )が演算され、この値はRAM25のIN
A領域に記憶される。
Next, in step 218, the posture conversion matrix R (4 × 4 of 4 × 4) for converting the position and posture of the start point into the position and posture at the interpolation point using the interpolation angle ΔΘ and the interpolation ratio ΔL / L. A homogeneous coordinate matrix) is calculated. Then, in step 220, the attitude transformation matrix is applied to the homogeneous coordinate matrix representing the position and orientation of the start point to calculate the homogeneous coordinate matrix representing the position and orientation at the interpolation point. Next, in step 222, the value in the joint coordinate system, that is, the rotation angle (θ 1 to θ 6 ) of each axis is calculated from the homogeneous coordinate matrix of the position and orientation expressed in the world coordinate system at the interpolation point. This value is the IN of RAM25
It is stored in the area A.

【0025】次に、ステップ224において、各軸の回
転角θi がサーボCPU22a〜22fに出力される。
これにより、ロボットの各軸が補間周期ΔTの間で、目
標の回転角まで回転することになり、ハンド先端は動作
軌跡上を補間点まで移動速度Vm で移動することにな
る。
Next, at step 224, the rotation angle θ i of each axis is output to the servo CPUs 22a-22f.
As a result, each axis of the robot rotates to the target rotation angle during the interpolation cycle ΔT, and the tip of the hand moves to the interpolation point on the movement locus at the moving speed Vm.

【0026】本プログラムを実行させているMOVES
P命令語の次の命令語がMOVE系の命令語であれば、
目標位置への位置決めは行われない。よって、ステップ
226において、連続経路か否かが判定され、連続経路
でなければステップ228で補間距離ΔLが区間距離L
に等しいか否かが判定される。等しくなければ、ステッ
プ230において、残存距離Rと停止必要距離(Vm2
2Am)の大きさが比較される。停止必要距離はその時の
速度Vm から指令された減速度で減速して目標位置で停
止させるに必要な距離である。残存距離Rが停止距離以
上の場合には、未だ、減速する必要がないので、ステッ
プ232以下の可能最大速度移動モードによる速度制御
が実行される。尚、ステップ226で連続経路と判定さ
れた場合にも目標位置に対して位置決めする必要がない
ので、連続してステップ232以下の可能最大速度移動
モードによる制御が実行される。
MOVES executing this program
If the instruction word next to the P instruction word is a move type instruction word,
Positioning to the target position is not performed. Therefore, in step 226, it is determined whether or not the route is a continuous route, and if it is not a continuous route, the interpolation distance ΔL is the section distance L in step 228.
Is determined. If they are not equal, in step 230, the remaining distance R and the required stop distance (Vm 2 /
2 Am) size is compared. The required stop distance is the distance required to decelerate at a deceleration commanded from the speed Vm at that time and stop at the target position. When the remaining distance R is equal to or greater than the stop distance, it is not necessary to decelerate yet, so the speed control in the maximum possible speed movement mode from step 232 is executed. Even if it is determined in step 226 that the route is the continuous route, it is not necessary to position the target position, so that the control in the maximum possible speed movement mode of step 232 and subsequent steps is continuously executed.

【0027】又、ステップ230で残存距離Rが停止必
要距離より小さい場合には目標位置に対して位置決めす
るための減速処理を行うために、ステップ246におい
て、次式により移動速度Vm の減算が実行される。
If the remaining distance R is smaller than the required stop distance in step 230, the moving speed Vm is subtracted by the following equation in step 246 in order to perform deceleration processing for positioning with respect to the target position. To be done.

【数5】Vm =Vm −Am ・ΔT## EQU5 ## Vm = Vm-Am..DELTA.T

【0028】一方、ステップ228で補間距離ΔLが区
間距離Lに等しい場合には、動作軌跡が連続経路でな
く、補間点が目標教示点に達したことを意味しているの
で、ステップ248において、本MOVESP命令語の
実行が完了し、移動速度Vm を0として、図3のメイン
プログラムに戻る。
On the other hand, if the interpolation distance ΔL is equal to the section distance L in step 228, it means that the motion locus is not a continuous path and the interpolation point has reached the target teaching point. Therefore, in step 248, Execution of this MOVESP command is completed, the moving speed Vm is set to 0, and the process returns to the main program of FIG.

【0029】可能最大速度移動モードによる制御 ステップ232では、各軸の回転速度ωi と回転速度比
βi とが次式により演算される。
In the control step 232 according to the maximum possible speed movement mode , the rotation speed ω i of each axis and the rotation speed ratio β i are calculated by the following equation.

【数6】ωi =((θi(k) −θi(k-1))/ΔT[Equation 6] ω i = ((θ i (k) −θ i (k-1)) / ΔT

【数7】βi =ωi /ωimax 尚、ωimaxは第i軸の出力し得る最大回転速度である。
そして、6軸の回転速度比βi の中で最大値をβm とお
く。
Β i = ω i / ω imax where ω imax is the maximum rotation speed that can be output on the i-th axis.
Then, the maximum value of the rotation speed ratio β i of the six axes is set to β m.

【0030】次に、ステップ234において、最大回転
速度比βm が上限値TH 以上か否かが判定され、以上で
あれば、ステップ236において、移動速度Vm が次式
により減速補正される。
Next, at step 234, it is judged whether or not the maximum rotation speed ratio βm is not less than the upper limit value TH. If it is above, at step 236, the moving speed Vm is decelerated and corrected by the following equation.

【数8】Vm =Vm −Am ・ΔT 又、ステップ234の判定結果がNoであれば、ステップ
238において、最大回転速度比βm が下限値TL 以下
か否かが判定され、以下であれば、ステップ240にお
いて、移動速度Vm が次式により増速補正される。
## EQU00008 ## Vm = Vm-Am..DELTA.T If the determination result in step 234 is No, it is determined in step 238 whether the maximum rotation speed ratio .beta.m is less than or equal to the lower limit value TL. In step 240, the moving speed Vm is increased and corrected by the following equation.

【数9】Vm =Vm +Am ・ΔT[Equation 9] Vm = Vm + Am.ΔT

【0031】次に、ステップ242において、補間距離
ΔLが区間距離Lに等しいか否かが判定される。Yes の
場合には、連続経路において、補間点が目標教示点に達
したことを意味している。よって、この場合には、ステ
ップ236、240で補正された移動速度Vm を保持し
たまま、本MOVESP命令語による速度制御を終了し
て、図3に示すメインプログラムに戻る。次の命令語
は、又、MOVESPであれば、移動速度Vm による可
能最大速度制御が実行される。
Next, at step 242, it is judged if the interpolation distance ΔL is equal to the section distance L. In the case of Yes, it means that the interpolation point has reached the target teaching point in the continuous route. Therefore, in this case, the velocity control by this MOVESP command is ended while the movement velocity Vm corrected in steps 236 and 240 is held, and the process returns to the main program shown in FIG. If the next command is MOVESP, the maximum possible speed control by the moving speed Vm is executed.

【0032】又、ステップ242において、判定結果が
Noであれば、ステップ244において、補間周期ΔT、
即ち、次の制御時刻まで待機する。そして、次の制御時
刻になった時に、ステップ208から処理が繰り返され
る。このようにして、前の制御サイクルのステップ23
6、240で補正された移動速度Vm に基づいて、次の
制御サイクルにおける補間点が決定され、各軸の指令回
転角が決定される。
In step 242, the judgment result is
If No, in step 244, the interpolation cycle ΔT,
That is, it waits until the next control time. Then, at the next control time, the processing is repeated from step 208. Thus, step 23 of the previous control cycle
The interpolation point in the next control cycle is determined based on the moving speed Vm corrected in 6 and 240, and the command rotation angle of each axis is determined.

【0033】このような処理により、図8に(a)に示
すように、最大回転速度比βm が下限値TH と上限値T
L との間の値をとるように、動作軌跡上の移動速度Vm
が制御される。但し、最大回転速度比をとる軸は補間点
毎に異なり得る。この結果、加速が終了した状態では、
6軸のうち少なくとも1軸のサーボモータは許容最大速
度で回転していることになる。従って、動作軌跡上の移
動速度は、最大速度(100%)が指令されても、図8
の(b)に示すように、姿勢によっては最大速度を越え
た速度となることが可能である。このように、ロボット
の能力を最大限に引き出した所定の動作軌跡に沿った高
速な移動制御が可能となる。
As a result of such processing, as shown in FIG. 8A, the maximum rotation speed ratio βm has a lower limit value TH and an upper limit value T.
Moving speed Vm on the motion locus so as to take a value between L and
Is controlled. However, the axis that takes the maximum rotation speed ratio may differ for each interpolation point. As a result, when acceleration is completed,
At least one of the six axes will be rotating at the maximum permissible speed. Therefore, even if the maximum speed (100%) is commanded, the movement speed on the motion locus is as shown in FIG.
As shown in (b) of (1), depending on the posture, the speed can exceed the maximum speed. In this way, it is possible to perform high-speed movement control along a predetermined motion trajectory that maximizes the capabilities of the robot.

【0034】尚、上記実施例では、直線補間の場合につ
いて述べたが、円弧補間についても同様な手順により実
施することができる。即ち、円弧において、中心角Γ、
半径rとするとき、とするとき、上式において、
In the above embodiment, the case of linear interpolation has been described, but circular interpolation can be carried out by the same procedure. That is, in the arc, the central angle Γ,
When the radius is r, and when, in the above equation,

【数10】L=Γ ΔL=ΔΓ Vm =r・Ωm Am =r・Π で置換すればよい。但し、Ωm は円弧補間の中心角の角
速度、Πは中心角の角加速度である。以上述べた実施例
においては、実測した各軸の回転角θi を検出して、回
転速度比βi を演算し、この回転速度比βi を上限値T
H、下限値TLと比較して、移動速度Vmを変化させる
構成としている。つまり、実際に回転速度比が上限値、
下限値を越えた時に速度を変化させているが、目標回転
角から次の移動速度を予測して速度を変化させるように
してもよい。
## EQU10 ## L = .GAMMA..DELTA.L = .DELTA..GAMMA. Vm = r.multidot..OMEGA.m Am = r.PI. Here, Ωm is the angular velocity of the central angle of circular interpolation, and Π is the angular acceleration of the central angle. In the embodiment described above, the measured rotation angle θ i of each axis is detected, the rotation speed ratio β i is calculated, and the rotation speed ratio β i is set to the upper limit value T.
The moving speed Vm is changed in comparison with H and the lower limit value TL. That is, the rotation speed ratio is actually the upper limit value,
Although the speed is changed when the lower limit value is exceeded, the speed may be changed by predicting the next moving speed from the target rotation angle.

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

【図1】本発明の具体的な実施例装置で使用されるロボ
ットを示した構成図
FIG. 1 is a configuration diagram showing a robot used in an apparatus according to a specific embodiment of the present invention.

【図2】ロボットの制御装置の構成を示したブロック
図。
FIG. 2 is a block diagram showing a configuration of a robot control device.

【図3】CPUによる命令語解読の主処理手順を示した
フローチャート。
FIG. 3 is a flowchart showing a main processing procedure of instruction word decoding by the CPU.

【図4】CPUによる補間角を決定するための処理手順
を示したフローチャート。
FIG. 4 is a flowchart showing a processing procedure for determining an interpolation angle by a CPU.

【図5】CPUによる可能最大速度移動モードによる速
度制御の処理手順を示したフローチャート。
FIG. 5 is a flowchart showing a speed control processing procedure in a maximum possible speed movement mode by a CPU.

【図6】動作プログラムを示した説明図。FIG. 6 is an explanatory diagram showing an operation program.

【図7】動作経路を示した説明図。FIG. 7 is an explanatory diagram showing an operation path.

【図8】最大回転速度比及び移動速度の変化の様子を示
した説明図。
FIG. 8 is an explanatory diagram showing changes in the maximum rotation speed ratio and the moving speed.

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

10…ロボット 18…スイベルリスト 18a…フランジ 19…ハンド 20…CPU(回転速度比演算手段、軸決定手段、移動
速度制御手段、角度制御手段) 22a〜22f…サーボCPU(角度制御手段) 25…RAM(可能最大速度移動指令手段、設定手段) ステップ104…可能最大速度移動指令手段 ステップ232…回転速度比演算手段、軸決定手段 ステップ234〜240…移動速度制御手段 ステップ200〜224…角度速度制御手段
10 ... Robot 18 ... Swivel list 18a ... Flange 19 ... Hand 20 ... CPU (rotational speed ratio calculation means, axis determination means, moving speed control means, angle control means) 22a-22f ... Servo CPU (angle control means) 25 ... RAM (Maximum possible speed movement command means, setting means) Step 104 ... Maximum speed movement command means Step 232 ... Rotation speed ratio calculation means, axis determination means Steps 234-240 ... Movement speed control means Steps 200-224 ... Angular speed control means

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G05D 13/62 H 9132−3H ─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 6 Identification code Internal reference number FI technical display location G05D 13/62 H 9132-3H

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 直線、円弧等の動作軌跡に従って与えら
れた教示点にロボットのハンドを位置決めするロボット
の制御装置において、 前記ハンドを前記動作軌跡に沿っての移動を可能最大速
度で行うモードとする可能最大速度移動指令手段と、 前記動作軌跡上の補間点において、動作軌跡上の指令さ
れた移動速度で前記ハンドを移動させるための各軸の回
転速度の各軸の最大回転速度に対する回転速度比を演算
する回転速度比演算手段と、 前記回転速度比の上限値と下限値とを設定する設定手段
と、 前記回転速度比が最大となる最大回転速度軸を決定する
軸決定手段と、 前記補間点において、前記最大回転速度軸の回転速度比
が上限値より大きくなった場合には、次の補間点におけ
る前記移動速度を所定値だけ減少させ、前記最大回転速
度軸の回転速度比が下限値より小さくなった場合には、
前記移動速度を所定値だけ増加させる移動速度制御手段
と、 前記移動速度制御手段により決定された前記移動速度に
基づいて、次の補間点を決定し、決定された各軸の回転
角に基づいて各軸を制御する角度制御手段とを有するこ
とを特徴とするロボットの制御装置。
1. A controller for a robot that positions a robot hand at a teaching point given according to a motion trajectory such as a straight line or an arc, and a mode for moving the hand along the motion trajectory at a maximum possible speed. Possible maximum speed movement command means, and at the interpolation point on the movement locus, the rotation speed of the rotation speed of each axis for moving the hand at the movement speed commanded on the movement locus with respect to the maximum rotation speed of each axis Rotating speed ratio calculating means for calculating a ratio, setting means for setting an upper limit value and a lower limit value of the rotating speed ratio, axis determining means for determining a maximum rotating speed axis at which the rotating speed ratio is maximum, At the interpolation point, when the rotation speed ratio of the maximum rotation speed axis becomes larger than the upper limit value, the moving speed at the next interpolation point is decreased by a predetermined value to obtain the maximum rotation speed. When the rotational speed ratio is smaller than the lower limit value,
Based on the moving speed control means for increasing the moving speed by a predetermined value, and the moving speed determined by the moving speed control means, the next interpolation point is determined, and based on the determined rotation angle of each axis. A controller for a robot, comprising: angle control means for controlling each axis.
JP26956193A 1993-09-30 1993-09-30 Controller for robot Pending JPH07104825A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26956193A JPH07104825A (en) 1993-09-30 1993-09-30 Controller for robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26956193A JPH07104825A (en) 1993-09-30 1993-09-30 Controller for robot

Publications (1)

Publication Number Publication Date
JPH07104825A true JPH07104825A (en) 1995-04-21

Family

ID=17474094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26956193A Pending JPH07104825A (en) 1993-09-30 1993-09-30 Controller for robot

Country Status (1)

Country Link
JP (1) JPH07104825A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102409A (en) * 2008-10-21 2010-05-06 Toshiba Corp Robot control device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102409A (en) * 2008-10-21 2010-05-06 Toshiba Corp Robot control device
US8543239B2 (en) 2008-10-21 2013-09-24 Kabushiki Kaisha Toshiba Robot control apparatus

Similar Documents

Publication Publication Date Title
JP6268819B2 (en) Trajectory generation method for multi-axis robot
JP6167770B2 (en) Multi-axis robot trajectory generation method and multi-axis robot controller
JPH079606B2 (en) Robot controller
JPS591180A (en) Manipulator executing motion of path controlled
JPH09265313A (en) Speed arithmetic device for robot and speed arithmetic method for robot
EP3807732A1 (en) Dual mode free-drive of robot arm
JPWO2002066210A1 (en) Robot controller
JPH07295650A (en) Method for controlling articulated robot
WO1989008878A1 (en) Method of controlling tool attitude of a robot
JP3316967B2 (en) Robot control device
JP6123595B2 (en) Speed control method for 2-axis robot
JPH0916241A (en) Method for setting acceleration/deceleration operation of robot
JPH07104825A (en) Controller for robot
JP2013223895A (en) Robot control method and robot control device
JPH07200018A (en) Controller for robot
JPH08328637A (en) Robot controller
JP3194829B2 (en) Robot motion program generation device
JP5633268B2 (en) Robot control device
JP2002331479A (en) Method for controlling industrial robot
JPH0677910B2 (en) Control method for industrial robot
JPH06190750A (en) Robot control device
JP2566475B2 (en) Robot rotation axis speed control device
JPH09155776A (en) Robot controller
JPH11198072A (en) Minimum time speed controller for robot
JPH07104826A (en) Controller for robot