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 PDFInfo
- 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
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
また特許文献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
図1は、従来の移動制御を行うためのロボット制御装置100のブロック図である。制御装置100は、教示されたプログラム内の動作文の始点位置、終点位置、指令速度及び補間形式等を記憶する不揮発性メモリ等のプログラム記憶部102と、ロボット機構部の質量、重心位置及び重心回りのイナーシャ等のパラメータを記憶するパラメータ記憶部104とを有する。
FIG. 1 is a block diagram of a
また制御装置100は補間部106及びモータ制御部108を有し、補間部106は、プログラムの再生時に、プログラム内の動作文の始点位置、終点位置、移動速度及び補間形式等の情報に基づいて、補間周期毎の速度指令を作成する。これは通常、ステップ状の速度指令であり、これをそのままモータ制御部108への指令にするとロボット機構部が大きく振動することがある。そこでこれを防ぐために、補間部106とモータ制御部108との間には移動平均フィルタ等のフィルタ110が設けられる。
The
また制御装置100は、ロボット機構部150の現在の位置姿勢においてロボット各軸のモータからみたイナーシャを計算するイナーシャ計算部112と、パラメータ記憶部104の記憶内容及びイナーシャ計算部112で求められたイナーシャに基づいて時定数を計算する時定数計算部114とを有し、時定数計算部114で求められた時定数をフィルタ110に通すことで、滑らかな速度指令が得られる。
In addition, the
図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 .
図3(b)のように移動時間初期値M0が時定数初期値F0より短い場合、移動平均フィルタ110が出力する指令速度は指令速度初期値V0に達しない。このような場合は、図3(c)のように加減速のみの動作を行う方がサイクルタイムは短くなる。図3(c)の場合、加速度a(=V0/F0)を変えずに到達できる最大速度Vsは以下の式(1)で表される。
Vs=V0・(M0/F0)1/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
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
請求項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
請求項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
また制御装置10は、プログラムの再生時に、プログラム内の動作文の始点位置、終点位置、移動速度及び補間形式等の情報に基づいて、補間周期毎の速度指令を作成する補間部16と、ロボット機構部50の各軸モータに移動指令を送るモータ制御部18とを有する。さらに制御装置10は、ロボット機構部50の現在の位置姿勢においてロボット各軸のモータからみたイナーシャを計算するイナーシャ計算部22と、パラメータ記憶部14の記憶内容及びイナーシャ計算部22で求められたイナーシャに基づいて時定数初期値を計算する時定数計算部24とを有する。時定数初期値を求めるアルゴリズムとしては種々のものが考えられるが、ここでは、モータが出力可能な最大トルクをイナーシャで割ることにより加速度を求め、指令速度初期値をこの加速度で割ることにより時定数初期値が得られるものとする。
The
以上の構成要素については制御装置100のものと同様でもよい。本発明に係る制御装置10はさらに、パス命令処理部26、移動時間再計算部28、指令速度再計算部30、時定数クランプ部32、第1移動平均フィルタ34及び第2移動平均フィルタ36を有する。以降、各要素の作用について図7〜図10を参照しつつ説明する。
The above components may be the same as those of the
図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
次にステップ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
次にステップ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
移動時間再計算部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
先ず、ロボットの速度が指令速度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
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
なお図6に示すように、制御装置10は、最終的に決定された移動時間、指令速度及び時定数に基づく加減速フィルタ処理を行う第1移動平均フィルタ34に直列に、速度指令をより滑らかにして振動を抑制するためのフィルタ処理を行う第2移動平均フィルタ36を有してもよい。第2移動平均フィルタ36の時定数は一定とし、第1移動平均フィルタ34で行われる処理のように時定数を変更する処理は第2移動平均フィルタでは行わない。或いは、第2移動平均フィルタも時定数を変更する処理を行うものとし、第1及び第2移動平均フィルタの少なくとも一方において変更された時定数が前回動作の時定数より小さい場合には、今回の動作の時定数を前回の動作の時定数にクランプすることもできる。また移動平均フィルタをさらに直列に付加して3つ以上の移動平均フィルタを使用してもよい。さらに、指数フィルタのような移動平均フィルタ以外のフィルタを代わりに使用することも可能である。
As shown in FIG. 6, the
他の態様として、第1移動平均フィルタ34と種類の異なる移動平均フィルタを1つ以上並列に使用して、図7に示す処理を異なる移動平均フィルタの各々について行い、得られた複数の結果のうちサイクルタイム(最終的な移動時間と時定数の和)が最も短いものを採用することもできる。
As another aspect, the first moving
10 移動制御装置
12 プログラム記憶部
14 パラメータ記憶部
16 補間部
18 モータ制御部
22 イナーシャ計算部
24 時定数計算部
26 パス命令処理部
28 移動時間再計算部
30 指令速度再計算部
32 時定数クランプ部
34 第1移動平均フィルタ
36 第2移動平均フィルタ
50 ロボット機構部
DESCRIPTION OF
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回目以降の動作命令について所定のアルゴリズムに基づいて前記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:
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)
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)
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 |
-
2008
- 2008-04-25 JP JP2008115814A patent/JP5198930B2/en active Active
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 |