JP5198930B2 - Robot movement control device and movement control method for reducing cycle time - Google Patents

Robot movement control device and movement control method for reducing cycle time Download PDF

Info

Publication number
JP5198930B2
JP5198930B2 JP2008115814A JP2008115814A JP5198930B2 JP 5198930 B2 JP5198930 B2 JP 5198930B2 JP 2008115814 A JP2008115814 A JP 2008115814A JP 2008115814 A JP2008115814 A JP 2008115814A JP 5198930 B2 JP5198930 B2 JP 5198930B2
Authority
JP
Japan
Prior art keywords
time constant
time
command
initial value
final
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.)
Active
Application number
JP2008115814A
Other languages
Japanese (ja)
Other versions
JP2009266011A (en
Inventor
哲朗 加藤
透 白幡
彰喜 黒下
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.)
FANUC Corp
Original Assignee
FANUC 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 FANUC Corp filed Critical FANUC Corp
Priority to JP2008115814A priority Critical patent/JP5198930B2/en
Publication of JP2009266011A publication Critical patent/JP2009266011A/en
Application granted granted Critical
Publication of JP5198930B2 publication Critical patent/JP5198930B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

本発明は、産業用ロボット(以下、単にロボットと称する)の移動制御装置及び移動制御方法に関する。   The present invention relates to a movement control device and a movement control method for an industrial robot (hereinafter simply referred to as a robot).

ロボットの動作時間すなわちサイクルタイムを短縮するための技術としては種々のものが提案されている。例えば特許文献1には、サーボモータの加減速時定数をブロック毎に最適値に決定しながらロボットの動作を制御するロボットの加減速時定数制御方式において、ブロックの移動量から到達速度を求め、前記到達速度からサーボモータの出力トルクを求め、前記出力トルクから静負荷トルクを減じて加速トルクと減速トルクを求め、前記加速トルクと前記減速トルクおよび前記サーボモータの現在位置と目標位置の負荷イナーシャから、加速時と減速時の加速度を求め、前記加速時と前記減速時の前記加速度から加速時定数と減速時定数を個別に決定する加減速時定数制御方式が開示されている。   Various techniques have been proposed for shortening the robot operation time, that is, the cycle time. For example, in Patent Document 1, in a robot acceleration / deceleration time constant control system that controls the operation of a robot while determining an acceleration / deceleration time constant of a servo motor to an optimum value for each block, an arrival speed is obtained from a movement amount of the block, The servo motor output torque is obtained from the reached speed, the static load torque is subtracted from the output torque to obtain the acceleration torque and the deceleration torque, and the load inertia of the acceleration torque, the deceleration torque, and the current position and the target position of the servo motor. Thus, there is disclosed an acceleration / deceleration time constant control system that obtains acceleration during acceleration and deceleration, and individually determines an acceleration time constant and a deceleration time constant from the acceleration during acceleration and deceleration.

また特許文献2には、多関節型ロボットの手先を目標位置まで移動したときの各関節の位置を目標値とし、該目標値となるように各関節を駆動することにより多自由度を有する多関節型ロボットの駆動を制御する方法において、各関節ごとに各関節の動作時間を設定し、各関節の動作終了時間が重ならないように動作プログラムを作成し、該動作プログラムに基づいて各関節を駆動する駆動制御方法が開示されている。   In Patent Document 2, a position of each joint when the hand of an articulated robot is moved to a target position is set as a target value, and each joint is driven so as to be the target value. In the method of controlling the driving of the articulated robot, the operation time of each joint is set for each joint, an operation program is created so that the operation end times of the joints do not overlap, and each joint is assigned based on the operation program. A drive control method for driving is disclosed.

さらに特許文献3には、最高速度を下げた方が動作時間が短くなる場合に、各軸の駆動トルクもしくは作用トルクの許容最大値をもとに、前記各軸の最高速度を調整し、動作時間を短縮することを目的としたロボット制御装置が開示されている。   Further, in Patent Document 3, when the operation time becomes shorter when the maximum speed is lowered, the maximum speed of each axis is adjusted based on the allowable maximum value of the driving torque or the acting torque of each axis, and the operation is performed. A robot control device aimed at reducing time is disclosed.

図1は、従来の移動制御を行うためのロボット制御装置100のブロック図である。制御装置100は、教示されたプログラム内の動作文の始点位置、終点位置、指令速度及び補間形式等を記憶する不揮発性メモリ等のプログラム記憶部102と、ロボット機構部の質量、重心位置及び重心回りのイナーシャ等のパラメータを記憶するパラメータ記憶部104とを有する。   FIG. 1 is a block diagram of a robot control apparatus 100 for performing conventional movement control. The control device 100 includes a program storage unit 102 such as a non-volatile memory that stores a start point position, an end point position, a command speed, an interpolation format, and the like of an operation sentence in a taught program, and a mass, a gravity center position, and a gravity center And a parameter storage unit 104 that stores parameters such as surrounding inertia.

また制御装置100は補間部106及びモータ制御部108を有し、補間部106は、プログラムの再生時に、プログラム内の動作文の始点位置、終点位置、移動速度及び補間形式等の情報に基づいて、補間周期毎の速度指令を作成する。これは通常、ステップ状の速度指令であり、これをそのままモータ制御部108への指令にするとロボット機構部が大きく振動することがある。そこでこれを防ぐために、補間部106とモータ制御部108との間には移動平均フィルタ等のフィルタ110が設けられる。   The control device 100 also includes an interpolation unit 106 and a motor control unit 108. The interpolation unit 106 is based on information such as a start point position, an end point position, a moving speed, and an interpolation format of an operation sentence in the program when the program is reproduced. Create a speed command for each interpolation cycle. This is usually a step-like speed command, and if this is used as it is as a command to the motor control unit 108, the robot mechanism unit may vibrate greatly. In order to prevent this, a filter 110 such as a moving average filter is provided between the interpolation unit 106 and the motor control unit 108.

また制御装置100は、ロボット機構部150の現在の位置姿勢においてロボット各軸のモータからみたイナーシャを計算するイナーシャ計算部112と、パラメータ記憶部104の記憶内容及びイナーシャ計算部112で求められたイナーシャに基づいて時定数を計算する時定数計算部114とを有し、時定数計算部114で求められた時定数をフィルタ110に通すことで、滑らかな速度指令が得られる。   In addition, the control device 100 includes an inertia calculation unit 112 that calculates the inertia viewed from the motor of each axis of the robot at the current position and orientation of the robot mechanism unit 150, the stored contents of the parameter storage unit 104, and the inertia calculated by the inertia calculation unit 112. And a time constant calculation unit 114 that calculates a time constant based on the time constant. By passing the time constant obtained by the time constant calculation unit 114 through the filter 110, a smooth speed command can be obtained.

図2は、図1のような構成の移動制御装置による処理を説明する図である。先ず図2(a)に示すように、ある動作における開始位置及び終了位置から移動距離L(四角形の面積)が決まり、移動距離Lを指令速度V0で割ることにより移動時間初期値M0が求められる。但し実際に図2(a)のようなステップ状の速度指令を行うとロボット機構部が大きく振動することがあるので、図2(b)のように加速域及び減速域を設定する処理を行う。先ず、現在の位置姿勢で各軸のモータから見たイナーシャを計算し、モータが出力可能な最大トルクをイナーシャで割ることにより、加速度aを求める。指令速度初期値V0をこの加速度aで割ることにより、時定数初期値F0が求められる。傾向として、イナーシャが大きい位置姿勢では加速度aが小さくなるので時定数は長くなり、移動時間初期値M0と時定数F0の合計であるサイクルタイムTも長くなる。 FIG. 2 is a diagram for explaining processing by the movement control device having the configuration shown in FIG. First, as shown in FIG. 2A, the moving distance L (square area) is determined from the start position and end position in a certain operation, and the moving time initial value M 0 is obtained by dividing the moving distance L by the command speed V 0. Desired. However, when a step-like speed command as shown in FIG. 2 (a) is actually given, the robot mechanism part may vibrate greatly, so the processing for setting the acceleration region and the deceleration region as shown in FIG. 2 (b) is performed. . First, the inertia seen from the motor of each axis at the current position and orientation is calculated, and the acceleration a is obtained by dividing the maximum torque that can be output by the motor by the inertia. By dividing the command speed initial value V 0 by the acceleration a, the time constant initial value F 0 is obtained. As a tendency, in a position and orientation with a large inertia, the acceleration a becomes small, so the time constant becomes long, and the cycle time T that is the sum of the moving time initial value M 0 and the time constant F 0 also becomes long.

また、イナーシャが小さく加速度を大きくできる位置姿勢であっても、図3(a)に示すように指令速度V0に対して移動距離Lが比較的短い場合に上述の加速域及び減速域を設定する処理を行うと、図3(b)に示すように、移動時間初期値M0内にロボットの速度が指令速度V0に達しない動作パターンが作成される。すなわち、図3の場合では、移動時間M0の間加速度aにて加速を行い、V0より小さい速度にてある時間定速移動をした後に減速する動作となる。 Further, even in a position and orientation where the inertia can be increased and the acceleration can be increased, the above acceleration region and deceleration region are set when the moving distance L is relatively short with respect to the command speed V 0 as shown in FIG. When the process is performed, as shown in FIG. 3B, an operation pattern in which the speed of the robot does not reach the command speed V 0 is created within the movement time initial value M 0 . That is, in the case of FIG. 3, acceleration is performed at the acceleration a during the movement time M 0 , and the operation is decelerated after moving at a constant speed at a speed lower than V 0 .

特開平6−337708号公報JP-A-6-337708 特開平7−295615号公報JP-A-7-295615 特開平11−259108号公報JP 11-259108 A

図3(b)のように移動時間初期値M0が時定数初期値F0より短い場合、移動平均フィルタ110が出力する指令速度は指令速度初期値V0に達しない。このような場合は、図3(c)のように加減速のみの動作を行う方がサイクルタイムは短くなる。図3(c)の場合、加速度a(=V0/F0)を変えずに到達できる最大速度Vsは以下の式(1)で表される。
Vs=V0・(M0/F01/2 (1)
When the moving time initial value M 0 is shorter than the time constant initial value F 0 as shown in FIG. 3B, the command speed output by the moving average filter 110 does not reach the command speed initial value V 0 . In such a case, the cycle time becomes shorter when only the acceleration / deceleration operation is performed as shown in FIG. In the case of FIG. 3C, the maximum speed Vs that can be reached without changing the acceleration a (= V 0 / F 0 ) is expressed by the following equation (1).
Vs = V 0 · (M 0 / F 0 ) 1/2 (1)

上記指令速度Vs及び移動距離Lを用いた次式(2)により、新たな移動時間Msが求められる。なおこのときの時定数FsがMsに等しいことは明らかである。
Ms=L/Vs (2)
A new movement time Ms is obtained by the following equation (2) using the command speed Vs and the movement distance L. It is obvious that the time constant Fs at this time is equal to Ms.
Ms = L / Vs (2)

上述の図3(c)のように加減速のみの動作を行うかの判断方法としては、教示作業者がプログラム作成時に任意の動作に加減速のみの動作を指定する命令(以下、パス命令と称する)を付加する方法、加速度aと移動時間初期値M0との積が指令速度V0未満ならば自動的にパス命令を付加する方法、或いは教示速度を自動的若しくは作業者が手動で上記速度Vsに変更する方法が考えられる。 As shown in FIG. 3 (c), as a method of determining whether to perform only acceleration / deceleration operations, a teaching worker designates an operation only for acceleration / deceleration as an arbitrary operation when creating a program (hereinafter referred to as a pass command). If the product of the acceleration a and the moving time initial value M 0 is less than the command speed V 0 , the pass command is automatically added, or the teaching speed is automatically or manually set by the operator. A method of changing to the speed Vs is conceivable.

ここで、一般的にロボットの動作は、図2又は図3に示すような個々の動作を逐次的に行うことで一連の動作を行うように制御される。個々の動作については上述のように、各動作における開始位置、終了位置及び速度指令等に基づいてそのサイクルタイム(具体的には上述の移動時間及び時定数の和)を最小化する制御が行われる。しかし一連の動作の動作時間を短縮し、或いはロボットの動きを滑らかにするために、個々の動作は、前の動作が完全に終了する前に次の動作を開始する場合が多い。このような場合には、前の動作が終了する前に次の動作が終了し、ロボットの動作が作業者が意図する動作と異なってしまうことを防止するために、次の動作の時定数の最小値に、前の動作の動作条件に応じた下限値を設定する処理(いわゆるクランプ処理)を行うことがある。   Here, the operation of the robot is generally controlled to perform a series of operations by sequentially performing individual operations as shown in FIG. 2 or FIG. As described above, for each operation, control is performed to minimize the cycle time (specifically, the sum of the travel time and the time constant described above) based on the start position, end position, speed command, and the like in each operation. Is called. However, in order to shorten the operation time of a series of operations or smooth the movement of the robot, each operation often starts the next operation before the previous operation is completely completed. In such a case, the time constant of the next operation is set in order to prevent the next operation from being completed before the previous operation is completed and the robot operation to differ from the operation intended by the operator. A process of setting a lower limit value corresponding to the operation condition of the previous operation as the minimum value (so-called clamping process) may be performed.

具体的なクランプ処理では、今回の動作における時定数が前の動作の時定数より短い場合は、今回の動作でも前の動作の時定数を使用する。すなわち、ある回の動作の時定数を、次回の動作の時定数の下限値Ftとする。一方、今回の時定数が前回の時定数より長い場合は、今回の時定数が次回の時定数の下限値Ftとなる。なお、連続しない単発の動作や、連続した動作のうちの最初の動作では、クランプ処理を行う必要はない。また、移動時間初期値と時定数とが異なる図2(b)や図3(b)のような場合もクランプ処理は必要である。   In a specific clamping process, when the time constant in the current operation is shorter than the time constant in the previous operation, the time constant in the previous operation is used in the current operation. That is, the time constant of one operation is set as the lower limit value Ft of the time constant of the next operation. On the other hand, when the current time constant is longer than the previous time constant, the current time constant becomes the lower limit value Ft of the next time constant. In addition, it is not necessary to perform the clamping process in the single operation that is not continuous or the first operation among the continuous operations. The clamping process is also necessary in the case of FIG. 2B or FIG. 3B in which the initial value of the movement time and the time constant are different.

例えば図4は、図3(b)の動作パターンにクランプ処理を施した例を示す。この場合は前回の時定数Fcが今回の時定数F0より長いので、図4(b)のように、時定数がクランプされ(時定数の下限値がFcに設定され)、到達速度がV0より相当に低いVsに制限される。その結果、全体としてサイクルタイムの長い動作となっている。また図5は、図3(c)の動作パターンにクランプ処理を施した例を示す。この場合は時定数Fsが前回の時定数Fc変更され、それに伴って移動時間もM0からMcに延び、図5(b)のように、全体としてサイクルタイムの長い動作となっている。 For example, FIG. 4 shows an example in which the clamping process is performed on the operation pattern of FIG. In this case, since the previous time constant Fc is longer than the current time constant F 0 , the time constant is clamped (the lower limit value of the time constant is set to Fc) as shown in FIG. It is limited to Vs considerably lower than 0 . As a result, the operation has a long cycle time as a whole. FIG. 5 shows an example in which the clamping process is performed on the operation pattern of FIG. In this case is changed to the constant Fc time time constant Fs is the last, also extend from M 0 to Mc moving time with it, as shown in FIG. 5 (b), a long operation of the cycle time as a whole.

図4及び図5の場合はいずれも、クランプ処理によってサイクルタイムが長くなる。この場合、上述のパス命令を付加しない方が全体のサイクルタイムが短くなることがあるが、その場合作業者が個々の動作についてパス命令を付加するか否かを判断してプログラムを作成しなければならない。また実際の現場では、指令速度を試行錯誤により決定して、サイクルタイムを短くしていることが多いが、この作業はかなり面倒である。   In both the cases of FIGS. 4 and 5, the cycle time is increased by the clamping process. In this case, the entire cycle time may be shortened if the above-mentioned pass instruction is not added. In this case, the operator must determine whether or not to add a pass instruction for each operation and create a program. I must. In actual practice, the command speed is often determined by trial and error to shorten the cycle time, but this work is quite troublesome.

そこで本発明は、面倒な試行錯誤をせずにロボットのサイクルタイムを効率的に短くすることができるロボットの移動制御装置及び移動制御方法を提供することを目的とする。   Therefore, an object of the present invention is to provide a robot movement control device and a movement control method capable of efficiently shortening the cycle time of the robot without troublesome trial and error.

上記目的を達成するために、請求項1に記載の発明は、動作プログラム実行中に、ロボットの静止状態から移動を開始させて次の静止状態にさせるまでの動作を行わせる一連の動作命令を読み込み、各動作命令に対し加減速フィルタ処理を行い、ステップ状の速度指令を加速部及び減速部を含む速度指令に変換し、前記変換された速度指令を順次出力することにより前記一連の動作命令による動作を実行するロボットの移動制御方法であって、前記一連の動作命令のうちの1回目の動作命令について、前記動作プログラムに基づいて移動距離、指令速度初期値及び移動時間初期値を含むステップ状の速度指令を作成するステップと、所定のアルゴリズムに基づいて前記1回目の動作命令について時定数初期値を最終的時定数として求めるステップと、前記一連の動作命令のうちの2回目以降の動作命令について、前記動作プログラムに基づいて、移動距離、指令速度初期値及び移動時間初期値を含むステップ状の速度指令を作成するステップと、所定のアルゴリズムに基づいて前記2回目以降の動作命令について時定数初期値を求めるステップと、前記時定数初期値が前回の動作命令における最終的な時定数よりも短い場合に、前記前回の動作命令における最終的な時定数を今回の動作の最終的時定数とするクランプ処理を行うステップと、前回の動作命令におけるサイクルタイムと今回の動作命令におけるクランプ処理後のサイクルタイムとを比較し、今回の動作命令におけるクランプ処理後のサイクルタイムが前回の動作命令におけるサイクルタイム以下の場合には、今回の動作における時定数初期値、移動時間初期値及び指令速度初期値をそれぞれ最終的な時定数、移動時間及び指令速度として採用するとともに、前記最終的な時定数を次の動作の時定数の下限値とするステップと、前回の動作命令におけるサイクルタイムと今回の動作命令におけるクランプ処理後のサイクルタイムとを比較し、今回の動作命令におけるクランプ処理後のサイクルタイムが前回の動作命令におけるサイクルタイムより長い場合には、前記移動時間初期値、前記時定数初期値及び前記最終的な時定数に基づいて最終的な移動時間を再計算し、さらに、該最終的な移動時間及び前記移動距離に基づいて最終的な指令速度を再計算するステップと、前記最終的な指令速度、前記最終的な時定数及び前記最終的な移動時間に基づいて加減速フィルタ処理を実行するステップと、前記フィルタ処理の出力をモータ制御に使用するステップと、を有することを特徴とするロボットの移動制御方法を提供する。 In order to achieve the above object, according to the first aspect of the present invention, a sequence of operation commands for performing an operation from a stationary state of a robot to a next stationary state during execution of the operational program is provided. Read, perform acceleration / deceleration filter processing for each operation command, convert the stepped speed command into a speed command including an acceleration unit and a deceleration unit, and sequentially output the converted speed command, the series of operation commands A movement control method for a robot that executes an operation according to claim 1, wherein the first movement command of the series of movement commands includes a movement distance, a command speed initial value, and a movement time initial value based on the operation program. A step of generating a speed command, and a step of obtaining a time constant initial value as a final time constant for the first operation command based on a predetermined algorithm. And a stepwise speed command including a movement distance, a command speed initial value, and a movement time initial value based on the operation program for the second and subsequent operation commands of the series of operation commands; Obtaining a time constant initial value for the second and subsequent operation commands based on a predetermined algorithm, and when the time constant initial value is shorter than the final time constant in the previous operation command, the previous operation and performing a clamping process a final time constant as the final time constant of this operation in order to compare the cycle time after the clamping process in the cycle time and the present operating instructions in the previous operation instruction, this if: cycle time cycle time after clamping is in the previous operation command in the operation instruction, the current dynamic Time constant initial value in travel time initial value and the command speed initial value of each final time constant, while adopting as a moving time and the command speed, and the lower limit value of the time constant of the final time constant following operations a step of, by comparing the cycle time after the clamping process in the cycle time and the present operating instructions in the previous operation instruction, when the cycle time after the clamping in the current operation command is longer than the cycle time in the previous operation command the front SL travel time initial value, the time to re-compute the final moving time based on the constant initial value and the final time constant, further based on the final moving time and the moving distance Recalculating the final command speed, and the acceleration / deceleration speed based on the final command speed, the final time constant, and the final travel time. There is provided a robot movement control method characterized by comprising a step of executing a filter process and a step of using the output of the filter process for motor control.

請求項2に記載の発明は、請求項1に記載のロボットの移動制御方法において、前記ステップ状の速度指令に加減速フィルタ処理を施して時定数初期値を求めるステップと、前記前回の動作命令における最終的な時定数を今回の動作の最終的時定数とするステップとの間に、前記移動時間初期値と前記時定数初期値とを比較し、前記移動時間初期値が前記時定数初期値より短い場合に、今回の動作命令を加減速のみの移動動作を行うように変換するステップをさらに有する、ロボットの移動制御方法を提供する。   According to a second aspect of the present invention, in the robot movement control method according to the first aspect of the present invention, a step of performing an acceleration / deceleration filter process on the stepped speed command to obtain a time constant initial value, and the previous operation command The moving time initial value is compared with the time constant initial value during the step of setting the final time constant in the operation as the final time constant of this operation, and the moving time initial value is the time constant initial value. In a shorter case, a robot movement control method is provided, which further includes a step of converting a current operation command to perform a movement operation only for acceleration / deceleration.

請求項3に記載の発明は、請求項1又は2に記載のロボットの移動制御方法において、各動作命令に対して複数の種類の加減速フィルタを用いた加減速フィルタ処理を行い、サイクルタイムが最小になる処理結果をモータ制御に使用するステップをさらに有する、ロボットの移動制御方法を提供する。   According to a third aspect of the present invention, in the robot movement control method according to the first or second aspect, an acceleration / deceleration filter process using a plurality of types of acceleration / deceleration filters is performed for each operation command, and the cycle time is Provided is a robot movement control method further comprising a step of using a processing result that minimizes for motor control.

請求項4に記載の発明は、請求項1〜3のいずれか1項に記載のロボットの移動制御方法において、前記加減速フィルタ処理が、直列接続された複数の加減速フィルタ処理からなり、少なくとも1つの加減速フィルタ処理の時定数が前回の動作命令の最終的時定数より短い場合に該前回の動作命令の時定数を今回の最終的時定数として採用するステップをさらに有する、ロボットの移動制御方法を提供する。   The invention according to claim 4 is the robot movement control method according to any one of claims 1 to 3, wherein the acceleration / deceleration filter processing includes a plurality of acceleration / deceleration filter processing connected in series, When the time constant of one acceleration / deceleration filter process is shorter than the final time constant of the previous operation command, the robot movement control further includes a step of adopting the time constant of the previous operation command as the current final time constant Provide a method.

請求項5に記載の発明は、動作プログラム実行中に、ロボットの静止状態から移動を開始させて次の静止状態にさせるまでの動作を行わせる一連の動作命令を読み込み、各動作命令に対し加減速フィルタ処理を行い、ステップ状の速度指令を加速部及び減速部を含む速度指令に変換し、前記変換された速度指令を順次出力することにより前記一連の動作命令による動作を実行するロボットの移動制御装置であって、前記動作プログラムに基づいて移動距離、指令速度初期値及び移動時間初期値を含むステップ状の速度指令を作成する補間部と、所定のアルゴリズムに基づいて前記1回目の動作命令について時定数初期値を最終的時定数として求めるとともに、前記一連の動作命令のうちの2回目以降の動作命令について所定のアルゴリズムに基づいて前記2回目以降の動作命令について時定数初期値を求める時定数計算部と、前記時定数初期値が前回の動作命令における最終的な時定数よりも短い場合に、前記前回の動作命令における最終的な時定数を今回の動作の最終的時定数とするクランプ処理を行う時定数クランプ部と、今回の動作命令におけるクランプ処理後のサイクルタイムが前回の動作命令におけるサイクルタイムより長い場合に、前記移動時間初期値、前記時定数初期値及び前記最終的な時定数に基づいて最終的な移動時間を再計算する移動時間再計算部と、今回の動作命令におけるクランプ処理後のサイクルタイムが前回の動作命令におけるサイクルタイムより長い場合に、前記移動時間再計算部が計算した最終的な移動時間及び前記移動距離に基づいて最終的な指令速度を再計算する指令速度再計算部と、
前記最終的な指令速度、前記最終的な時定数及び前記最終的な移動時間に基づいて加減速フィルタ処理を実行する移動平均フィルタと、前記移動平均フィルタによる加減速フィルタ処理の出力をモータ制御に使用するモータ制御部と、を有することを特徴とするロボットの移動制御装置を提供する。
According to the fifth aspect of the present invention, during the execution of the motion program, a series of motion commands for starting the movement from the stationary state of the robot to the next stationary state is read and added to each motion command. Movement of a robot that performs a deceleration filter process, converts a stepped speed command into a speed command including an acceleration unit and a deceleration unit, and sequentially outputs the converted speed command to execute an operation based on the series of operation commands. An interpolation unit for creating a step-like speed command including a moving distance, a command speed initial value and a moving time initial value based on the operation program; and the first operation command based on a predetermined algorithm. The initial value of the time constant is determined as the final time constant, and the second and subsequent operation instructions of the series of operation instructions are assigned to a predetermined algorithm. Accordingly, a time constant calculation unit for obtaining a time constant initial value for the second and subsequent operation instructions, and when the time constant initial value is shorter than a final time constant in the previous operation instruction, When the time constant clamp part that performs clamping processing with the final time constant as the final time constant of the current operation and the cycle time after the clamp processing in the current operation command is longer than the cycle time in the previous operation command, A movement time recalculation unit that recalculates the final movement time based on the movement time initial value, the time constant initial value, and the final time constant, and the cycle time after the clamping process in the current operation command is the previous time When the movement time is longer than the cycle time in the operation command, the final movement time and the movement distance calculated by the movement time recalculation unit And command speed recalculation unit to recalculate the decree speed,
A moving average filter that executes acceleration / deceleration filter processing based on the final command speed, the final time constant, and the final moving time, and an output of acceleration / deceleration filter processing by the moving average filter for motor control There is provided a movement control device for a robot characterized by having a motor control unit to be used.

請求項6に記載の発明は、請求項5に記載のロボットの移動制御装置において、前記移動時間初期値と前記時定数初期値とを比較し、前記移動時間初期値が前記時定数初期値より短い場合に、今回の動作命令を加減速のみの移動動作を行うように変換するパス命令処理部をさらに有する、ロボットの移動制御方法を提供する。   According to a sixth aspect of the present invention, in the movement control device for a robot according to the fifth aspect, the movement time initial value is compared with the time constant initial value, and the movement time initial value is greater than the time constant initial value. Provided is a robot movement control method that further includes a path command processing unit that converts a current motion command so as to perform a motion motion of only acceleration / deceleration when the operation command is short.

請求項7に記載の発明は、請求項5又は6に記載のロボットの移動制御装置において、各動作命令に対してそれぞれ加減速フィルタ処理を行う複数の種類の加減速フィルタを有する、ロボットの移動制御方法を提供する。   According to a seventh aspect of the present invention, there is provided the robot movement control device according to the fifth or sixth aspect, wherein the robot has a plurality of types of acceleration / deceleration filters for performing acceleration / deceleration filter processing for each operation command. Provide a control method.

請求項8に記載の発明は、請求項5〜7のいずれか1項に記載のロボットの移動制御装置において、直列接続された複数の加減速フィルタを有する、ロボットの移動制御方法を提供する。   An eighth aspect of the present invention provides the robot movement control device according to any one of the fifth to seventh aspects, wherein the robot movement control method includes a plurality of acceleration / deceleration filters connected in series.

本発明に係るロボットの移動制御方法又は移動制御装置によれば、ロボットの一連の動作において前回の動作の加減速時定数の引きずりによってサイクルタイムが長くなることを防ぐことができ、これにより試行錯誤をしなくてもサイクルタイムを短くすることができる。   According to the robot movement control method or the movement control apparatus of the present invention, it is possible to prevent the cycle time from being prolonged by dragging the acceleration / deceleration time constant of the previous operation in a series of operations of the robot. The cycle time can be shortened without having to do this.

移動時間初期値が時定数初期値より短い場合には今回の動作命令を加減速のみの移動動作を行うように変換することにより、さらなるサイクルタイムの短縮が図られる。   When the moving time initial value is shorter than the time constant initial value, the cycle time can be further shortened by converting the current operation command so as to perform the moving operation of only acceleration / deceleration.

各動作命令に対して複数の種類の加減速フィルタを用いた加減速フィルタ処理を行うことにより、複数の処理結果の中からサイクルタイムが最小になる処理結果を選定することができ、さらなるサイクルタイムの短縮化が図られる。   By performing acceleration / deceleration filter processing using multiple types of acceleration / deceleration filters for each operation command, the processing result that minimizes the cycle time can be selected from multiple processing results. Can be shortened.

直列接続された複数の加減速フィルタを用いてフィルタ処理を行うことにより、少なくとも1つの加減速フィルタ処理の時定数が前回の動作命令の最終的時定数より短い場合に該前回の動作命令の時定数を今回の最終的時定数とすることができ、これによりある回の動作が終了する前にその次の回の動作が終了することが確実に防止される。   By performing filter processing using a plurality of acceleration / deceleration filters connected in series, when the time constant of at least one acceleration / deceleration filter processing is shorter than the final time constant of the previous operation command, The constant can be the final time constant of this time, which reliably prevents the next operation from being completed before the one operation is completed.

図6は、本発明に係る、ロボットの移動制御を行うための移動制御装置10のブロック図である。制御装置10は、ロボットの動作プログラム実行中に、ロボットの静止状態から移動を開始させて次の静止状態にさせるまでの動作を行わせる一連の動作命令を読み込み、各動作命令に対し加減速フィルタ処理を行い、矩形状の速度指令を加速域及び減速域を含む速度指令に変換し、該変換された速度指令を順次出力することにより上記一連の動作命令による動作をロボットに実行させるものである。具体的には制御装置10は、教示されたプログラム内の動作文の始点位置、終点位置、指令速度及び補間形式等を記憶する不揮発性メモリ等のプログラム記憶部12と、ロボット機構部の質量、重心位置及び重心回りのイナーシャ等のパラメータを記憶するパラメータ記憶部14とを有する。   FIG. 6 is a block diagram of a movement control device 10 for performing movement control of a robot according to the present invention. During execution of the robot operation program, the control device 10 reads a series of operation commands for starting the movement from the stationary state of the robot to the next stationary state, and performs acceleration / deceleration filtering on each operation command. Processing is performed, the rectangular speed command is converted into a speed command including an acceleration region and a deceleration region, and the converted speed command is sequentially output to cause the robot to execute an operation based on the series of operation commands. . Specifically, the control device 10 includes a program storage unit 12 such as a non-volatile memory that stores a start point position, an end point position, a command speed, an interpolation format, and the like of an action sentence in the taught program, a mass of the robot mechanism unit, And a parameter storage unit 14 for storing parameters such as the gravity center position and inertia around the gravity center.

また制御装置10は、プログラムの再生時に、プログラム内の動作文の始点位置、終点位置、移動速度及び補間形式等の情報に基づいて、補間周期毎の速度指令を作成する補間部16と、ロボット機構部50の各軸モータに移動指令を送るモータ制御部18とを有する。さらに制御装置10は、ロボット機構部50の現在の位置姿勢においてロボット各軸のモータからみたイナーシャを計算するイナーシャ計算部22と、パラメータ記憶部14の記憶内容及びイナーシャ計算部22で求められたイナーシャに基づいて時定数初期値を計算する時定数計算部24とを有する。時定数初期値を求めるアルゴリズムとしては種々のものが考えられるが、ここでは、モータが出力可能な最大トルクをイナーシャで割ることにより加速度を求め、指令速度初期値をこの加速度で割ることにより時定数初期値が得られるものとする。   The control device 10 also includes an interpolation unit 16 that creates a speed command for each interpolation period based on information such as the start point position, end point position, movement speed, and interpolation format of an operation statement in the program, and a robot. And a motor control unit 18 that sends a movement command to each axis motor of the mechanism unit 50. Furthermore, the control device 10 includes an inertia calculation unit 22 that calculates the inertia viewed from the motor of each axis of the robot at the current position and orientation of the robot mechanism unit 50, and the storage content of the parameter storage unit 14 and the inertia calculated by the inertia calculation unit 22. And a time constant calculator 24 for calculating a time constant initial value based on the above. There are various algorithms for obtaining the initial value of the time constant. Here, the acceleration is obtained by dividing the maximum torque that the motor can output by the inertia, and the time constant is obtained by dividing the initial value of the command speed by this acceleration. Assume that initial values are obtained.

以上の構成要素については制御装置100のものと同様でもよい。本発明に係る制御装置10はさらに、パス命令処理部26、移動時間再計算部28、指令速度再計算部30、時定数クランプ部32、第1移動平均フィルタ34及び第2移動平均フィルタ36を有する。以降、各要素の作用について図7〜図10を参照しつつ説明する。   The above components may be the same as those of the control device 100. The control device 10 according to the present invention further includes a path command processing unit 26, a moving time recalculating unit 28, a command speed recalculating unit 30, a time constant clamping unit 32, a first moving average filter 34, and a second moving average filter 36. Have. Hereinafter, the operation of each element will be described with reference to FIGS.

図7は、移動制御装置10を用いたロボット移動制御方法の処理の一例を示すフローチャートである。先ずステップS1において、時定数計算部24が、パラメータ記憶部14から読み込んだロボット機構部50のパラメータと、イナーシャ計算部22がロボット機構部50の現在の位置姿勢から求めたモータ回りのイナーシャとから、そのイナーシャに適した時定数初期値F0を計算する。 FIG. 7 is a flowchart illustrating an example of processing of a robot movement control method using the movement control device 10. First, in step S1, the time constant calculation unit 24 reads the parameters of the robot mechanism unit 50 read from the parameter storage unit 14 and the inertia around the motor obtained by the inertia calculation unit 22 from the current position and orientation of the robot mechanism unit 50. A time constant initial value F 0 suitable for the inertia is calculated.

次にステップS2において、パス命令処理部26が、補間部16から移動時間初期値M0及び指令速度初期値V0を読み込む。ここで、パス命令処理部26は、図3を用いて上述したように、移動時間初期値M0が時定数F0未満(M0<F0)の場合、パス命令を付加して図3(c)のような加減速のみの動作パターンとする処理を行う(ステップS3、S4)。なお本実施形態では、教示作業者がパス命令を付加していなくても、M0<F0の場合は加減速のみの動作にする処理を行うものとする。このパス命令処理後の時定数をFsとする。また時定数Fsから、パス命令処理後の移動時間Ms及び指令速度Vsが計算される。 Next, in step S <b> 2, the path command processing unit 26 reads the movement time initial value M 0 and the command speed initial value V 0 from the interpolation unit 16. Here, as described above with reference to FIG. 3, when the movement time initial value M 0 is less than the time constant F 0 (M 0 <F 0 ), the pass command processing unit 26 adds a pass command and adds FIG. The process of setting the operation pattern only for acceleration / deceleration as in (c) is performed (steps S3 and S4). In the present embodiment, even if the teaching worker does not add a pass command, when M 0 <F 0 , the process for performing only the acceleration / deceleration operation is performed. The time constant after this pass instruction processing is defined as Fs. Further, the moving time Ms and the command speed Vs after the pass command processing are calculated from the time constant Fs.

次にステップS5において、図5(b)又は図8(b)に示すように、時定数クランプ部32が時定数Fs又はF0に対して前回の時定数に基づくクランプ処理を行い、移動時間Mc、時定数Fc、指令速度Vcを計算する。一方、図2のように移動時間初期値M0が時定数F0以上(M0≧F0)の場合は、クランプ処理により図9(b)に示すような動作パターンとなる。なお時定数クランプ部32は、上述のように直前の動作の時定数に基づくクランプ処理を行うが、同時に、機構部固有の振動を防止するように実験を行い調整された閾値(例えばパラメータ記憶部14に格納)によるクランプ処理を同時に行ってもよい。すなわち、時定数初期値が実験的に調整した閾値より短い場合は、該閾値を今回の動作の時定数とする。 Next, in step S5, as shown in FIG. 5 (b) or FIG. 8 (b), the time constant clamping unit 32 performs a clamping process based on the previous time constant on the time constant Fs or F 0 , and moves time Mc, time constant Fc, and command speed Vc are calculated. On the other hand, when the moving time initial value M 0 is not less than the time constant F 0 (M 0 ≧ F 0 ) as shown in FIG. 2, the operation pattern shown in FIG. The time constant clamping unit 32 performs the clamping process based on the time constant of the immediately preceding operation as described above. At the same time, the time constant clamping unit 32 performs an experiment to prevent vibration unique to the mechanism unit and adjusts a threshold value (for example, a parameter storage unit). 14) may be performed simultaneously. That is, when the initial value of the time constant is shorter than the experimentally adjusted threshold value, the threshold value is set as the time constant of the current operation.

移動時間再計算部28は、パス命令付加後の移動時間Ms又は移動時間初期値M0を使った場合のサイクルタイム(Ms+Fc)又は(M0+Fc)と、クランプ処理後のサイクルタイム(Mc+Fc)とを比較し、クランプ処理後の方がサイクルタイムが長くなければ、Mc、Fc及びVcをそのまま最終的な移動時間Mf、時定数Ff及び指令速度Vfとする(ステップS6、S7)。一方、パス命令付加後の移動時間又は移動時間初期値を使用したサイクルタイム(Ms+Fc)又は(M0+Fc)の方がクランプ処理後のサイクルタイム(Mc+Fc)より短い場合は、移動時間及び指令速度を再計算し、新たな移動時間Mnew及び指令速度Vnewを求める(ステップS8)。具体的にはMnewは、図8(c)又は図9(c)に示すように、クランプされた時定数Fcを有し、加速度aにて加減速を行い、全体の移動距離が所定値Lに等しくなるように求められる。一例として、Mnewは以下に説明する式(3−1)〜(5)を用いて求めることができる。 The movement time recalculation unit 28 uses the movement time Ms or the movement time initial value M 0 after the pass command is added, the cycle time (Ms + Fc) or (M 0 + Fc), and the cycle time (Mc + Fc) after the clamping process. If the cycle time is not longer after the clamping process, Mc, Fc and Vc are used as they are as the final travel time Mf, time constant Ff and command speed Vf (steps S6 and S7). On the other hand, if the cycle time (Ms + Fc) or (M 0 + Fc) using the movement time after the pass command is added or the initial value of the movement time is shorter than the cycle time (Mc + Fc) after the clamping process, the movement time and the command speed Is recalculated to obtain a new travel time Mnew and a command speed Vnew (step S8). Specifically, as shown in FIG. 8C or FIG. 9C, Mnew has a clamped time constant Fc, performs acceleration / deceleration at acceleration a, and the entire moving distance is a predetermined value L. To be equal to As an example, Mnew can be obtained using equations (3-1) to (5) described below.

先ず、ロボットの速度が指令速度V0に達する場合、全体の移動距離Lは次式(3−1)で表される。
L=V0・M0=a・F0・M0 (3−1)
一方、ロボットの速度が指令速度V0に達しない場合は、全体の移動距離Lは次式(3−2)で表される。なおVactはロボットが実際に到達する速度である。
L=Vact・F0=a・F0・M0 (3−2)
First, when the robot speed reaches the command speed V 0 , the entire moving distance L is expressed by the following equation (3-1).
L = V 0 · M 0 = a · F 0 · M 0 (3-1)
On the other hand, when the speed of the robot does not reach the command speed V 0 , the entire moving distance L is expressed by the following equation (3-2). Vact is a speed at which the robot actually reaches.
L = Vact · F 0 = a · F 0 · M 0 (3-2)

クランプ処理後の時定数Fcを用いたときは、指令速度に達する場合及び達しない場合のそれぞれについて、以下の式(4−1)及び(4−2)が成り立つ。
L=Vnew・Mnew=a・Fc・Mnew (4−1)
L=Vact・Fc=a・Fc・Mnew (4−2)
When the time constant Fc after the clamping process is used, the following equations (4-1) and (4-2) are established for each of cases where the command speed is reached and where the command speed is not reached.
L = Vnew / Mnew = a / Fc / Mnew (4-1)
L = Vact · Fc = a · Fc · Mnew (4-2)

式(3−1)〜(4−2)より、指令速度に達する場合及び達しない場合のいずれについても、新たな移動時間Mnewは次式(5)で表される。
Mnew=M0・F0/Fc (5)
From equations (3-1) to (4-2), the new travel time Mnew is expressed by the following equation (5) in both cases where the command speed is reached and where the command speed is not reached.
Mnew = M 0 · F 0 / Fc (5)

一方指令速度再計算部30は、Mnewを用いた次式(6)により新たな指令速度Vnewを計算する。
Vnew=M0・V0/Mnew (6)
このようにして得られた移動時間Mnew、指令速度Vnew及び時定数Fcが最終的な移動時間Mf、指令速度Vf及び時定数Ffとなる(ステップS9)。
On the other hand, the command speed recalculation unit 30 calculates a new command speed Vnew by the following equation (6) using Mnew.
Vnew = M 0 · V 0 / Mnew (6)
The movement time Mnew, the command speed Vnew and the time constant Fc thus obtained become the final movement time Mf, the command speed Vf and the time constant Ff (step S9).

ステップS7又はS9において最終的な移動時間Mf、指令速度Vf及び時定数Ffが決定されたら、ステップS10において第1移動平均フィルタ34において加減速フィルタ処理が行われる。なお加減速フィルタ処理後の動作パターンは、アナログ的に表示すれば図10(a)のようになるが、詳細には図10(b)に示すように、ステップ状の定速指令を適当な時間刻みで連続的に行うものであり、これにより振動の少ない滑らかなロボット動作を実現することができる。   When the final travel time Mf, the command speed Vf, and the time constant Ff are determined in step S7 or S9, the first moving average filter 34 performs acceleration / deceleration filter processing in step S10. The operation pattern after the acceleration / deceleration filter processing is as shown in FIG. 10 (a) if displayed in an analog manner, but in detail, as shown in FIG. 10 (b), a stepped constant speed command is appropriately applied. This is performed continuously in increments of time, and a smooth robot operation with little vibration can be realized.

なお図6に示すように、制御装置10は、最終的に決定された移動時間、指令速度及び時定数に基づく加減速フィルタ処理を行う第1移動平均フィルタ34に直列に、速度指令をより滑らかにして振動を抑制するためのフィルタ処理を行う第2移動平均フィルタ36を有してもよい。第2移動平均フィルタ36の時定数は一定とし、第1移動平均フィルタ34で行われる処理のように時定数を変更する処理は第2移動平均フィルタでは行わない。或いは、第2移動平均フィルタも時定数を変更する処理を行うものとし、第1及び第2移動平均フィルタの少なくとも一方において変更された時定数が前回動作の時定数より小さい場合には、今回の動作の時定数を前回の動作の時定数にクランプすることもできる。また移動平均フィルタをさらに直列に付加して3つ以上の移動平均フィルタを使用してもよい。さらに、指数フィルタのような移動平均フィルタ以外のフィルタを代わりに使用することも可能である。   As shown in FIG. 6, the control device 10 makes the speed command smoother in series with the first moving average filter 34 that performs acceleration / deceleration filter processing based on the finally determined moving time, command speed, and time constant. The second moving average filter 36 that performs filter processing for suppressing vibration may be provided. The time constant of the second moving average filter 36 is constant, and the process of changing the time constant as the process performed by the first moving average filter 34 is not performed by the second moving average filter. Alternatively, the second moving average filter also performs the process of changing the time constant, and when the time constant changed in at least one of the first and second moving average filters is smaller than the time constant of the previous operation, It is also possible to clamp the time constant of the operation to the time constant of the previous operation. Further, three or more moving average filters may be used by adding a moving average filter in series. Furthermore, a filter other than a moving average filter such as an exponential filter can be used instead.

他の態様として、第1移動平均フィルタ34と種類の異なる移動平均フィルタを1つ以上並列に使用して、図7に示す処理を異なる移動平均フィルタの各々について行い、得られた複数の結果のうちサイクルタイム(最終的な移動時間と時定数の和)が最も短いものを採用することもできる。   As another aspect, the first moving average filter 34 and one or more different types of moving average filters are used in parallel, and the process shown in FIG. 7 is performed for each of the different moving average filters, and a plurality of obtained results are obtained. Of these, the one having the shortest cycle time (the sum of the final travel time and the time constant) can be adopted.

従来技術に係るロボットの移動制御装置のブロック図である。It is a block diagram of the movement control apparatus of the robot which concerns on a prior art. (a)所定の移動距離及び指令速度に基づいて移動時間初期値を求める例を示す図であり、(b)(a)に加減速フィルタ処理を施して得られる動作パターン例を示す図である。(A) It is a figure which shows the example which calculates | requires a movement time initial value based on a predetermined | prescribed movement distance and instruction | command speed, (b) It is a figure which shows the example of an operation pattern obtained by performing an acceleration / deceleration filter process to (a). . (a)図2(a)に類似し、指令速度に対して移動距離が短い場合を示す図であり、(b)(a)に加減速フィルタ処理を施して得られる動作パターン例を示す図であり、(c)(b)の動作パターンを加減速動作のみの動作パターンに変換した例を示す図である。(A) It is a figure similar to FIG. 2 (a), and is a figure which shows the case where a movement distance is short with respect to instruction | command speed, (b) The figure which shows the example of an operation pattern obtained by performing an acceleration / deceleration filter process to (a) And (c) is a diagram showing an example in which the operation pattern of (b) is converted into an operation pattern of only acceleration / deceleration operation. (a)図3(b)と同様の図であり、(b)(a)にクランプ処理を施して得られる動作パターン例を示す図である。(A) It is a figure similar to FIG.3 (b), It is a figure which shows the example of an operation | movement pattern obtained by giving a clamp process to (b) (a). (a)図3(c)と同様の図であり、(b)(a)にクランプ処理を施して得られる動作パターン例を示す図である。(A) It is a figure similar to FIG.3 (c), and is a figure which shows the example of an operation | movement pattern obtained by giving a clamp process to (b) (a). 本発明に係るロボットの移動制御装置のブロック図である。It is a block diagram of the movement control apparatus of the robot which concerns on this invention. 本発明に係る移動制御装置を用いた移動制御方法の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the movement control method using the movement control apparatus which concerns on this invention. (a)図3(a)と同様の図であり、(b)図5(b)と同様の図であり、(c)(b)の動作パターンに再計算処理を施して得られる動作パターン例を示す図である。(A) It is a figure similar to FIG. 3 (a), (b) It is a figure similar to FIG. 5 (b), and the operation pattern obtained by performing recalculation processing on the operation pattern of (c) and (b) It is a figure which shows an example. (a)図2(a)と同様の図であり、(b)(a)にクランプ処理を施して得られる動作パターン例を示す図であり、(c)(b)の動作パターンに再計算処理を施して得られる動作パターン例を示す図である。(A) It is a figure similar to Fig.2 (a), (b) It is a figure which shows the example of an operation pattern obtained by performing a clamp process to (a), (c) It is a figure recalculated to the operation pattern of (b) It is a figure which shows the example of an operation pattern obtained by giving a process. (a)最終的に得られた条件を加減速フィルタ処理して得られる動作パターンをアナログ的に示す図であり、(b)(a)の動作パターンをより詳細に表記した例を示す図である。(A) It is a figure which shows the operation pattern obtained by carrying out the acceleration / deceleration filter process of the conditions finally obtained, (b) It is a figure which shows the example which described the operation pattern of (a) in detail. is there.

符号の説明Explanation of symbols

10 移動制御装置
12 プログラム記憶部
14 パラメータ記憶部
16 補間部
18 モータ制御部
22 イナーシャ計算部
24 時定数計算部
26 パス命令処理部
28 移動時間再計算部
30 指令速度再計算部
32 時定数クランプ部
34 第1移動平均フィルタ
36 第2移動平均フィルタ
50 ロボット機構部
DESCRIPTION OF SYMBOLS 10 Movement control apparatus 12 Program memory | storage part 14 Parameter memory | storage part 16 Interpolation part 18 Motor control part 22 Inertia calculation part 24 Time constant calculation part 26 Path command processing part 28 Travel time recalculation part 30 Command speed recalculation part 32 Time constant clamp part 34 1st moving average filter 36 2nd moving average filter 50 Robot mechanism part

Claims (8)

動作プログラム実行中に、ロボットの静止状態から移動を開始させて次の静止状態にさせるまでの動作を行わせる一連の動作命令を読み込み、各動作命令に対し加減速フィルタ処理を行い、ステップ状の速度指令を加速部及び減速部を含む速度指令に変換し、前記変換された速度指令を順次出力することにより前記一連の動作命令による動作を実行するロボットの移動制御方法であって、
前記一連の動作命令のうちの1回目の動作命令について、前記動作プログラムに基づいて移動距離、指令速度初期値及び移動時間初期値を含むステップ状の速度指令を作成するステップと、
所定のアルゴリズムに基づいて前記1回目の動作命令について時定数初期値を最終的時定数として求めるステップと、
前記一連の動作命令のうちの2回目以降の動作命令について、
前記動作プログラムに基づいて、移動距離、指令速度初期値及び移動時間初期値を含むステップ状の速度指令を作成するステップと、
所定のアルゴリズムに基づいて前記2回目以降の動作命令について時定数初期値を求めるステップと、
前記時定数初期値が前回の動作命令における最終的な時定数よりも短い場合に、前記前回の動作命令における最終的な時定数を今回の動作の最終的時定数とするクランプ処理を行うステップと、
前回の動作命令におけるサイクルタイムと今回の動作命令におけるクランプ処理後のサイクルタイムとを比較し、今回の動作命令におけるクランプ処理後のサイクルタイムが前回の動作命令におけるサイクルタイム以下の場合には、今回の動作における時定数初期値、移動時間初期値及び指令速度初期値をそれぞれ最終的な時定数、移動時間及び指令速度として採用するとともに、前記最終的な時定数を次の動作の時定数の下限値とするステップと、
前回の動作命令におけるサイクルタイムと今回の動作命令におけるクランプ処理後のサイクルタイムとを比較し、今回の動作命令におけるクランプ処理後のサイクルタイムが前回の動作命令におけるサイクルタイムより長い場合には、前記移動時間初期値、前記時定数初期値及び前記最終的な時定数に基づいて最終的な移動時間を再計算し、さらに、該最終的な移動時間及び前記移動距離に基づいて最終的な指令速度を再計算するステップと、
前記最終的な指令速度、前記最終的な時定数及び前記最終的な移動時間に基づいて加減速フィルタ処理を実行するステップと、
前記フィルタ処理の出力をモータ制御に使用するステップと、
を有することを特徴とするロボットの移動制御方法。
During operation program execution, a series of operation commands for starting the movement from the stationary state of the robot to the next stationary state is read, acceleration / deceleration filter processing is performed for each operation command, and stepped A robot movement control method for converting a speed command into a speed command including an accelerating unit and a decelerating unit, and sequentially executing the converted speed command to execute an operation based on the series of operation commands,
Creating a step-like speed command including a movement distance, a command speed initial value and a movement time initial value based on the operation program for the first operation command of the series of operation commands;
Obtaining a time constant initial value as a final time constant for the first operation instruction based on a predetermined algorithm;
For the second and subsequent operation commands in the series of operation commands,
Based on the operation program, creating a step-like speed command including a moving distance, a command speed initial value, and a moving time initial value;
Obtaining a time constant initial value for the second and subsequent operation instructions based on a predetermined algorithm;
When the initial value of the time constant is shorter than the final time constant in the previous operation instruction , performing a clamping process using the final time constant in the previous operation instruction as the final time constant of the current operation; ,
Compare the cycle time of the previous operation command with the cycle time of the current operation command after clamping. If the cycle time of the current operation command after clamping is less than or equal to the cycle time of the previous operation command, In this operation, the initial value of the time constant, the initial value of the moving time and the initial value of the command speed are adopted as the final time constant, the moving time and the command speed, respectively, and the final time constant is used as the lower limit of the time constant of the next operation. A value step;
Compare the cycle time of the previous operation command with the cycle time of the current operation command after clamping. If the cycle time of the current operation command after clamping is longer than the cycle time of the previous operation command , The final travel time is recalculated based on the initial travel time value, the initial time constant value, and the final time constant, and the final command is based on the final travel time and the travel distance. Recalculating the speed,
Executing acceleration / deceleration filter processing based on the final command speed, the final time constant and the final travel time;
Using the output of the filtering process for motor control;
A robot movement control method comprising:
前記ステップ状の速度指令に加減速フィルタ処理を施して時定数初期値を求めるステップと、前記前回の動作命令における最終的な時定数を今回の動作の最終的時定数とするステップとの間に、
前記移動時間初期値と前記時定数初期値とを比較し、前記移動時間初期値が前記時定数初期値より短い場合に、今回の動作命令を加減速のみの移動動作を行うように変換するステップをさらに有する、請求項1に記載のロボットの移動制御方法。
Between the step of performing acceleration / deceleration filter processing on the stepped speed command to obtain a time constant initial value and the step of setting the final time constant in the previous operation command as the final time constant of the current operation ,
A step of comparing the moving time initial value with the time constant initial value, and converting the current operation command to perform a moving operation only for acceleration / deceleration when the moving time initial value is shorter than the time constant initial value. The robot movement control method according to claim 1, further comprising:
各動作命令に対して複数の種類の加減速フィルタを用いた加減速フィルタ処理を行い、サイクルタイムが最小になる処理結果をモータ制御に使用するステップをさらに有する、請求項1又は2に記載のロボットの移動制御方法。   3. The method according to claim 1, further comprising a step of performing acceleration / deceleration filter processing using a plurality of types of acceleration / deceleration filters for each operation command, and using a processing result having a minimum cycle time for motor control. Robot movement control method. 前記加減速フィルタ処理が、直列接続された複数の加減速フィルタ処理からなり、少なくとも1つの加減速フィルタ処理の時定数が前回の動作命令の最終的時定数より短い場合に該前回の動作命令の時定数を今回の最終的時定数として採用するステップをさらに有する、請求項1〜3のいずれか1項に記載のロボットの移動制御方法。   The acceleration / deceleration filter process includes a plurality of acceleration / deceleration filter processes connected in series, and when the time constant of at least one acceleration / deceleration filter process is shorter than the final time constant of the previous operation instruction, The robot movement control method according to claim 1, further comprising a step of adopting the time constant as the final time constant of this time. 動作プログラム実行中に、ロボットの静止状態から移動を開始させて次の静止状態にさせるまでの動作を行わせる一連の動作命令を読み込み、各動作命令に対し加減速フィルタ処理を行い、ステップ状の速度指令を加速部及び減速部を含む速度指令に変換し、前記変換された速度指令を順次出力することにより前記一連の動作命令による動作を実行するロボットの移動制御装置であって、
前記動作プログラムに基づいて移動距離、指令速度初期値及び移動時間初期値を含むステップ状の速度指令を作成する補間部と、
所定のアルゴリズムに基づいて前記1回目の動作命令について時定数初期値を最終的時定数として求めるとともに、前記一連の動作命令のうちの2回目以降の動作命令について所定のアルゴリズムに基づいて前記2回目以降の動作命令について時定数初期値を求める時定数計算部と、
前記時定数初期値が前回の動作命令における最終的な時定数よりも短い場合に、前記前回の動作命令における最終的な時定数を今回の動作の最終的時定数とするクランプ処理を行う時定数クランプ部と、
今回の動作命令におけるクランプ処理後のサイクルタイムが前回の動作命令におけるサイクルタイムより長い場合に、前記移動時間初期値、前記時定数初期値及び前記最終的な時定数に基づいて最終的な移動時間を再計算する移動時間再計算部と、
今回の動作命令におけるクランプ処理後のサイクルタイムが前回の動作命令におけるサイクルタイムより長い場合に、前記移動時間再計算部が計算した最終的な移動時間及び前記移動距離に基づいて最終的な指令速度を再計算する指令速度再計算部と、
前記最終的な指令速度、前記最終的な時定数及び前記最終的な移動時間に基づいて加減速フィルタ処理を実行する移動平均フィルタと、
前記移動平均フィルタによる加減速フィルタ処理の出力をモータ制御に使用するモータ制御部と、
を有することを特徴とするロボットの移動制御装置。
During operation program execution, a series of operation commands for starting the movement from the stationary state of the robot to the next stationary state is read, acceleration / deceleration filter processing is performed for each operation command, and stepped A robot movement control device that converts a speed command into a speed command including an acceleration unit and a deceleration unit, and sequentially executes the converted speed command to execute an operation based on the series of operation commands,
An interpolation unit that creates a step-like speed command including a moving distance, a command speed initial value, and a moving time initial value based on the operation program;
A time constant initial value is obtained as a final time constant for the first operation instruction based on a predetermined algorithm, and the second and subsequent operation instructions in the series of operation instructions are determined based on a predetermined algorithm. A time constant calculation unit for obtaining a time constant initial value for subsequent operation instructions;
When the time constant initial value is shorter than the final time constant in the previous operation instruction, the time constant for performing clamp processing with the final time constant in the previous operation instruction as the final time constant of the current operation A clamp part;
When the cycle time after the clamping process in the current operation command is longer than the cycle time in the previous operation command, the final movement time is based on the initial value of the movement time, the initial value of the time constant, and the final time constant. A travel time recalculation unit for recalculating
When the cycle time after clamping in the current operation command is longer than the cycle time in the previous operation command, the final command speed is calculated based on the final movement time and the movement distance calculated by the movement time recalculation unit. A command speed recalculator that recalculates
A moving average filter that executes acceleration / deceleration filter processing based on the final command speed, the final time constant, and the final movement time;
A motor control unit that uses the output of acceleration / deceleration filter processing by the moving average filter for motor control;
A robot movement control device comprising:
前記移動時間初期値と前記時定数初期値とを比較し、前記移動時間初期値が前記時定数初期値より短い場合に、今回の動作命令を加減速のみの移動動作を行うように変換するパス命令処理部をさらに有する、請求項1に記載のロボットの移動制御装置。   A path for comparing the moving time initial value with the time constant initial value, and converting the current operation command to perform a moving operation only for acceleration / deceleration when the moving time initial value is shorter than the time constant initial value. The robot movement control device according to claim 1, further comprising a command processing unit. 各動作命令に対してそれぞれ加減速フィルタ処理を行う複数の種類の加減速フィルタを有する、請求項5又は6に記載のロボットの移動制御装置。   The robot movement control device according to claim 5 or 6, comprising a plurality of types of acceleration / deceleration filters that respectively perform acceleration / deceleration filter processing for each operation command. 直列接続された複数の加減速フィルタを有する、請求項5〜7のいずれか1項に記載のロボットの移動制御装置。   The robot movement control device according to claim 5, comprising a plurality of acceleration / deceleration filters connected in series.
JP2008115814A 2008-04-25 2008-04-25 Robot movement control device and movement control method for reducing cycle time Active JP5198930B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008115814A JP5198930B2 (en) 2008-04-25 2008-04-25 Robot movement control device and movement control method for reducing cycle time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008115814A JP5198930B2 (en) 2008-04-25 2008-04-25 Robot movement control device and movement control method for reducing cycle time

Publications (2)

Publication Number Publication Date
JP2009266011A JP2009266011A (en) 2009-11-12
JP5198930B2 true JP5198930B2 (en) 2013-05-15

Family

ID=41391774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008115814A Active JP5198930B2 (en) 2008-04-25 2008-04-25 Robot movement control device and movement control method for reducing cycle time

Country Status (1)

Country Link
JP (1) JP5198930B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6217089B2 (en) * 2013-02-21 2017-10-25 セイコーエプソン株式会社 Robot control system, robot, robot control method and program
JP2014161917A (en) * 2013-02-21 2014-09-08 Seiko Epson Corp Robot control system, robot, robot control method, and program
JP2014180135A (en) * 2013-03-14 2014-09-25 Ricoh Co Ltd Motor control device, image forming apparatus, motor control method, and program
JP6769219B2 (en) * 2016-09-30 2020-10-14 ブラザー工業株式会社 Numerical control device
JP7047524B2 (en) * 2018-03-26 2022-04-05 日本電産株式会社 Robot control device, robot control method, program
JP7047525B2 (en) * 2018-03-26 2022-04-05 日本電産株式会社 Robot control device, robot control method, program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63191590A (en) * 1987-02-03 1988-08-09 フアナツク株式会社 Robot controller
JPH0695727A (en) * 1992-09-11 1994-04-08 Fanuc Ltd Feed speed clamping system
JPH07134608A (en) * 1993-11-10 1995-05-23 Enshu Ltd Quickest fast forward control method
JP3354494B2 (en) * 1998-07-02 2002-12-09 株式会社不二越 Numerical control unit
JP2000298521A (en) * 1999-04-15 2000-10-24 Matsushita Electric Ind Co Ltd Positioning controller
JP2000315106A (en) * 1999-05-06 2000-11-14 Yaskawa Electric Corp Programmable controller

Also Published As

Publication number Publication date
JP2009266011A (en) 2009-11-12

Similar Documents

Publication Publication Date Title
JP3900789B2 (en) Motor speed / acceleration determination method, acceleration / deceleration generation method, acceleration / deceleration control method, acceleration / deceleration control device, and motor control device
JP5198930B2 (en) Robot movement control device and movement control method for reducing cycle time
KR101779323B1 (en) Method and device for controlling a manipulator
JP4813616B1 (en) Numerical control device for machine tool having speed control function during arc motion
JP5208325B1 (en) Numerical control apparatus, machining system, and numerical control method
JP4741637B2 (en) Servo motor drive control device and drive control method
JP6386516B2 (en) Robot device with learning function
JP6363642B2 (en) Numerical controller with corner path optimization function in tangential continuous corners
JP2016081172A (en) Numerical control device provided with overlap function between discretionary blocks by common acceleration/deceleration control unit
JP6356658B2 (en) Numerical control device with easy press adjustment
JP2007279899A (en) Numerical control apparatus
JP6062971B2 (en) A numerical controller that controls machine tools based on skiving instructions
JP2014174842A (en) S-shaped acceleration/deceleration control program, operation control program, recording medium, controller, s-shaped acceleration/deceleration control calculation method, and work operation control system
JP6100816B2 (en) Numerical control device for speed control to suppress excessive position deviation
JP2003169488A (en) Controller of servo motor and control method
JP6649336B2 (en) Control device and control method for controlling work moving device and robot to operate in cooperation
JP2002328711A (en) Numerical control method and its device
JP5143661B2 (en) NC lathe control method and control device
JP3146550B2 (en) Industrial robot control device
TWI399029B (en) Method, controller and manufacturing system for controlling motor speed
JP4134644B2 (en) Positioning control device
JP4255783B2 (en) Robot controller
JP6549647B2 (en) Numerical control device
JP2001154719A (en) Method for interpolating free curve
JP4362762B2 (en) Servo control device and adjustment method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120718

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: 20130115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130207

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160215

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5198930

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150