JP2023122566A - Numerical control device, numerical control method, and storage medium - Google Patents
Numerical control device, numerical control method, and storage medium Download PDFInfo
- Publication number
- JP2023122566A JP2023122566A JP2023024980A JP2023024980A JP2023122566A JP 2023122566 A JP2023122566 A JP 2023122566A JP 2023024980 A JP2023024980 A JP 2023024980A JP 2023024980 A JP2023024980 A JP 2023024980A JP 2023122566 A JP2023122566 A JP 2023122566A
- Authority
- JP
- Japan
- Prior art keywords
- trajectory
- command
- filter
- speed
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 239000013598 vector Substances 0.000 claims abstract description 87
- 238000012937 correction Methods 0.000 claims description 120
- 238000001914 filtration Methods 0.000 claims description 59
- 238000012545 processing Methods 0.000 claims description 37
- 230000008859 change Effects 0.000 claims description 35
- 230000001133 acceleration Effects 0.000 abstract description 75
- 230000008569 process Effects 0.000 description 55
- 230000007246 mechanism Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 8
- 230000001186 cumulative effect Effects 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008602 contraction Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000003754 machining Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000003801 milling Methods 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
Images
Landscapes
- Numerical Control (AREA)
Abstract
Description
本発明は、数値制御装置、数値制御方法、及び記憶媒体に関する。 The present invention relates to a numerical controller, a numerical control method, and a storage medium.
数値制御装置は、工具やテーブル(以下、「制御対象」という。)を移動制御する為の指令信号に加減速フィルタを適用する。数値制御装置は、加減速フィルタの適用後の指令信号により制御対象を移動制御することで、制御対象を移動させる為のモータが過剰な駆動条件で駆動することを抑制する。加減速フィルタの適用後の指令信号に基づいて移動する制御対象の移動軌跡が、加減速フィルタの適用前の指令信号に基づいて移動する制御対象の移動軌跡に対してずれる場合がある。このずれを抑制する為の技術が提案されている。 A numerical controller applies an acceleration/deceleration filter to a command signal for movement control of a tool or table (hereinafter referred to as "controlled object"). The numerical controller controls the movement of the controlled object by the command signal after applying the acceleration/deceleration filter, thereby suppressing the motor for moving the controlled object from being driven under excessive driving conditions. The movement trajectory of the controlled object that moves based on the command signal after application of the acceleration/deceleration filter may deviate from the movement trajectory of the controlled object that moves based on the command signal before application of the acceleration/deceleration filter. Techniques for suppressing this deviation have been proposed.
特許文献1に記載の数値制御装置では、はじめに、加減速処理前の移送パルスから得られる基準機械軸パスと、加減速処理後の移送パルスから得られる機械軸パスとの誤差の近似値に相当する補正量を算出する。次に数値制御装置は、誤差を相殺する方向に基準機械軸パスを補正量分移動させ、変換後機械軸パスを算出する。次に数値制御装置は、変換後機械軸パスをNCプログラムに変換し、変換後NCプログラムを生成する。数値制御装置は、変換後NCプログラムに基づき加減速処理を行うことで、基準機械軸パスと実際の機械軸パスとのずれを抑制する。
In the numerical control device described in
加減速フィルタの適用前の制御対象の移動軌跡に対して、加減速フィルタの適用前の制御対象の移動軌跡と、加減速フィルタの適用後の制御対象の移動軌跡との誤差そのものを用いて補正した場合、残存する誤差が大きいという問題点がある。このとき残存する誤差の大きさは、移動軌跡の形状と移動速度により異なる。又、加減速フィルタの適用前の制御対象の移動軌跡と、加減速フィルタの適用後の制御対象の移動軌跡の誤差を求めるためには、加減速フィルタの適用前後の移動軌跡上の指令点同士を対応付ける必要がある。しかし、加減速フィルタによる遅れ時間により対応付けを行う場合、移動軌跡や加減速フィルタの構成によっては、計算が困難になるという問題点がある。 The trajectory of the controlled object before application of the acceleration/deceleration filter is corrected using the error itself between the trajectory of the controlled object before application of the acceleration/deceleration filter and the trajectory of the controlled object after application of the acceleration/deceleration filter. In this case, there is a problem that residual error is large. The size of the remaining error at this time varies depending on the shape of the movement locus and the movement speed. In addition, in order to obtain the error between the movement trajectory of the controlled object before application of the acceleration/deceleration filter and the movement trajectory of the controlled object after application of the acceleration/deceleration filter, command points on the movement trajectory before and after application of the acceleration/deceleration filter must be associated. However, there is a problem that the calculation becomes difficult depending on the movement trajectory and the configuration of the acceleration/deceleration filter when the correlation is performed by the delay time of the acceleration/deceleration filter.
本発明の目的は、制御対象の移動軌跡に加減速フィルタを適用する場合でも、指令に基づく制御対象の移動軌跡との誤差を精度良く抑制できる数値制御装置、数値制御方法、及び数値制御プログラムを記憶した記憶媒体を提供することである。 An object of the present invention is to provide a numerical control device, a numerical control method, and a numerical control program that can accurately suppress errors from the movement trajectory of a controlled object based on commands even when an acceleration/deceleration filter is applied to the movement trajectory of the controlled object. It is to provide a storage medium that stores.
本発明の第1態様に係る数値制御装置は、工作機械のテーブル及び工具の少なくとも一方である制御対象を移動させる為の指令を取得する取得部と、前記取得部が取得した前記指令により前記制御対象が移動する時の移動軌跡である指令軌跡に対して第一フィルタを適用する第一フィルタリング部と、前記指令軌跡上の点である複数の基点に対応する点として、前記指令軌跡に対して前記第一フィルタリング部により前記第一フィルタを適用した結果であるフィルタ軌跡上の対応点を決定する決定部と、前記基点の夫々から、前記決定部が決定した対応する前記対応点の夫々までの距離と方向を示す誤差ベクトルを、前記基点毎に算出するベクトル算出部と、前記ベクトル算出部により算出した前記誤差ベクトルに対応するゲインを、前記基点毎に算出するゲイン算出部と、前記ベクトル算出部により算出した前記誤差ベクトルと、前記ゲイン算出部により算出した前記ゲインとを、対応する前記基点に適用することで、前記指令軌跡を補正する軌跡補正部と、を備えたことを特徴とする。 A numerical control apparatus according to a first aspect of the present invention includes an acquisition unit that acquires a command for moving a controlled object that is at least one of a table and a tool of a machine tool, and the control unit that uses the command acquired by the acquisition unit. a first filtering unit that applies a first filter to a commanded trajectory that is a movement trajectory when an object moves; a determination unit that determines corresponding points on the filter trajectory that is the result of applying the first filter by the first filtering unit; A vector calculation unit that calculates an error vector indicating a distance and a direction for each base point; a gain calculation unit that calculates a gain corresponding to the error vector calculated by the vector calculation unit for each base point; a trajectory correction unit that corrects the command trajectory by applying the error vector calculated by the unit and the gain calculated by the gain calculation unit to the corresponding base points. .
数値制御装置は、指令軌跡上の基点毎に、誤差ベクトルとゲインとを算出する。数値制御装置は、算出した誤差ベクトルとゲインとを基点の夫々に適用して指令軌跡を補正する。この場合、数値制御装置は、指令軌跡上の基点毎にゲインを最適化できる。従って、数値制御装置は、第一フィルタを適用した場合における制御対象の移動軌跡を、第一フィルタを適用しない場合における制御対象の移動軌跡と近似させることができる。従って、数値制御装置は、指令軌跡に第一フィルタを適用して制御対象を移動制御する場合において、実際の制御対象の移動軌跡と、元の指令軌跡との誤差を精度良く抑制できる。 The numerical controller calculates an error vector and a gain for each base point on the command locus. The numerical controller applies the calculated error vector and gain to each base point to correct the commanded trajectory. In this case, the numerical controller can optimize the gain for each base point on the command locus. Therefore, the numerical controller can approximate the movement trajectory of the controlled object when the first filter is applied to the movement trajectory of the controlled object when the first filter is not applied. Therefore, when applying the first filter to the commanded trajectory to control the movement of the controlled object, the numerical controller can accurately suppress the error between the actual movement trajectory of the controlled object and the original commanded trajectory.
第1態様において、前記指令は、前記制御対象の少なくとも二つの位置を規定し、前記取得部により取得した前記指令が規定する前記少なくとも二つの位置の間を前記取得部が取得した指令速度で前記制御対象が移動するときに、前記工作機械の制御周期毎に通過する点を、前記基点として補間する補間部を更に備え、前記第一フィルタリング部は、前記補間部により補間された前記基点を経由する前記指令軌跡に対して前記第一フィルタを適用してもよい。以後、補間部が補間を行う周期(=制御周期)を補間周期と称する。数値制御装置は、指令にて規定される少なくとも二つの位置の間に、複数の基点を補間する。従って、数値制御装置は、実際の制御周期毎に出力される制御点を用いて指令軌跡を補正することができるので、実際の制御対象の移動軌跡と、元の指令軌跡との誤差を精度良く抑制できる。 In the first aspect, the command specifies at least two positions of the object to be controlled, and between the at least two positions specified by the command acquired by the acquisition unit, the command velocity acquired by the acquisition unit is used. An interpolating unit that interpolates, as the base point, a point that the machine tool passes through every control cycle when the object to be controlled moves, wherein the first filtering unit passes through the base point interpolated by the interpolating unit. The first filter may be applied to the commanded trajectory to be set. Hereinafter, the cycle (=control cycle) in which the interpolator performs interpolation will be referred to as an interpolation cycle. A numerical controller interpolates a plurality of base points between at least two positions defined by the command. Therefore, since the numerical controller can correct the commanded trajectory using the control points output in each actual control cycle, the error between the actual movement trajectory of the controlled object and the original commanded trajectory can be accurately corrected. can be suppressed.
第1態様において、前記指令軌跡に基づき、前記補間部により補間した前記基点における接線方向の移動距離を算出する距離算出部を更に備え、前記第一フィルタリング部は、前記距離算出部により算出した前記移動距離に基づく一次元軌跡に対して前記第一フィルタを適用し、前記決定部は、前記第一フィルタを適用した前記移動距離に基づく前記一次元軌跡を利用して、前記基点に対応する前記対応点を決定してもよい。一次元指令軌跡を補間部により補間した基点と、第一フィルタを適用した結果である一次元フィルタ軌跡上の点との対応関係を指令軌跡上の基点とフィルタ軌跡上の点の対応付けに利用することで、数値制御装置は、指令軌跡上の基点に対応するフィルタ軌跡上の対応点を精度良く決定できる。 In the first aspect, a distance calculation unit is further provided for calculating a movement distance in a tangential direction at the reference point interpolated by the interpolation unit based on the commanded trajectory, and the first filtering unit calculates the distance calculated by the distance calculation unit. The first filter is applied to the one-dimensional trajectory based on the moving distance, and the determining unit uses the one-dimensional trajectory based on the moving distance to which the first filter is applied to determine the corresponding one-dimensional trajectory corresponding to the base point. Corresponding points may be determined. The correspondence relationship between the base point interpolated from the one-dimensional command trajectory by the interpolator and the points on the one-dimensional filter trajectory that is the result of applying the first filter is used to associate the base points on the command trajectory with points on the filter trajectory. By doing so, the numerical controller can accurately determine the corresponding point on the filter trajectory corresponding to the base point on the command trajectory.
第1態様において、前記指令軌跡に基づき、前記補間部により補間した前記基点における角速度を算出する角速度算出部を更に備え、前記ゲイン算出部は、前記角速度算出部により算出した前記角速度に基づき、前記ゲインを算出してもよい。数値制御装置は、指令軌跡上の基点毎に最適なゲインを、角速度に基づいて算出できる。 In the first aspect, an angular velocity calculation unit that calculates the angular velocity at the reference point interpolated by the interpolation unit based on the command locus, and the gain calculation unit calculates the angular velocity based on the angular velocity calculated by the angular velocity calculation unit. A gain may be calculated. The numerical controller can calculate the optimum gain for each base point on the command locus based on the angular velocity.
第1態様において、前記ゲイン算出部は、前記指令軌跡が円弧状である時に前記フィルタ軌跡を前記指令軌跡と一致させることが可能な前記ゲインと前記角速度との関係に基づいて規定される関数を、前記角速度算出部により算出した前記角速度に適用することで、前記ゲインを前記角速度毎に算出してもよい。数値制御装置は、角速度の値に関わらず、指令軌跡上の基点毎に最適なゲインを算出できる。 In the first aspect, the gain calculator calculates a function defined based on the relationship between the gain and the angular velocity that allows the filter trajectory to match the command trajectory when the command trajectory is circular. , the gain may be calculated for each angular velocity by applying it to the angular velocity calculated by the angular velocity calculator. The numerical controller can calculate the optimum gain for each base point on the command locus regardless of the value of the angular velocity.
第1態様において、前記関数は、前記ゲインが前記角速度毎にプロットされたグラフの包絡線を示してもよい。数値制御装置は、指令軌跡上の基点毎に最適なゲインを精度良く算出できる。 In the first aspect, the function may represent an envelope of a graph in which the gain is plotted for each angular velocity. The numerical controller can accurately calculate the optimum gain for each base point on the command locus.
第1態様において、前記角速度算出部により算出した前記角速度に対して、前記第一フィルタと同じ時定数を有する第二フィルタを適用する第二フィルタリング部を更に備え、前記ゲイン算出部は、前記第二フィルタリング部により前記第二フィルタを適用した後の角速度に基づき、前記ゲインを算出してもよい。数値制御装置は、角速度の瞬時変化が大きい場合でも、最適なゲインを算出できる。
第1態様において、前記軌跡補正部が補正した補正軌跡上の点に対して前記第一フィルタを適用する第三フィルタリング部と、前記第三フィルタリング部でフィルタリング処理した後の基点対応する点の速度を算出する速度算出部と、前記速度算出部が算出した速度が前記指令速度を超えるか否かを判定する速度判定部と、前記速度算出部が算出した速度が前記指令速度を超えると前記速度判定部が判定したとき、前記速度算出部が算出した速度を前記指令速度以下に変更する速度変更部とを更に備えてもよい。数値制御装置は、指令速度以下の速度で制御対象を制御するので加工精度の悪化を防ぐことができる。
In the first aspect, further comprising a second filtering unit that applies a second filter having the same time constant as the first filter to the angular velocity calculated by the angular velocity calculating unit, wherein the gain calculating unit The gain may be calculated based on the angular velocity after the second filter is applied by the second filtering unit. The numerical controller can calculate the optimum gain even when the instantaneous change in angular velocity is large.
In the first aspect, a third filtering unit that applies the first filter to points on the corrected trajectory corrected by the trajectory correcting unit; a speed calculation unit that calculates the speed, a speed determination unit that determines whether or not the speed calculated by the speed calculation unit exceeds the command speed, and if the speed calculated by the speed calculation unit exceeds the command speed, the speed A speed changing unit may be further provided for changing the speed calculated by the speed calculating unit to be equal to or less than the command speed when the determining unit makes the determination. Since the numerical controller controls the controlled object at a speed equal to or lower than the commanded speed, it is possible to prevent deterioration of machining accuracy.
本発明の第2態様に係る数値制御方法は、工作機械のテーブル及び工具の少なくとも一方である制御対象を移動させる為の指令を取得する取得工程と、前記取得工程が取得した前記指令により前記制御対象が移動する時の移動軌跡である指令軌跡に対して第一フィルタを適用する第一フィルタリング工程と、前記指令軌跡上の点である基点の夫々に対応する点として、前記指令軌跡に対して前記第一フィルタリング工程により前記第一フィルタを適用した結果であるフィルタ軌跡上の対応点を決定する決定工程と、前記基点の夫々から、対応する前記対応点の夫々までの距離と方向を示す誤差ベクトルを、前記基点毎に算出するベクトル算出工程と、前記ベクトル算出工程により算出した前記誤差ベクトルに対応するゲインを、前記基点毎に算出するゲイン算出工程と、前記ベクトル算出工程により算出した前記誤差ベクトルと、前記ゲイン算出工程により算出した前記ゲインとを、対応する前記基点に適用することで、前記指令軌跡を補正する軌跡補正工程と、を備えたことを特徴とする。この場合、第1態様と同様の効果を奏する。 A numerical control method according to a second aspect of the present invention includes an acquiring step of acquiring a command for moving a controlled object, which is at least one of a table and a tool of a machine tool; A first filtering step of applying a first filter to a commanded trajectory that is a movement trajectory when an object moves; a determination step of determining corresponding points on the filter locus resulting from applying the first filter by the first filtering step; and an error indicating the distance and direction from each of the base points to each of the corresponding corresponding points. A vector calculation step of calculating a vector for each base point; a gain calculation step of calculating a gain corresponding to the error vector calculated by the vector calculation step for each base point; and the error calculated by the vector calculation step. a trajectory correction step of correcting the commanded trajectory by applying the vector and the gain calculated by the gain calculation step to the corresponding base point. In this case, the same effects as in the first mode are obtained.
本発明の第3態様に係る記憶媒体は、工作機械のテーブル及び工具の少なくとも一方である制御対象を移動させる為の指令を取得する取得工程と、前記取得工程が取得した前記指令により前記制御対象が移動する時の移動軌跡である指令軌跡に対して第一フィルタを適用する第一フィルタリング工程と、前記指令軌跡上の点である基点の夫々に対応する点として、前記指令軌跡に対して前記第一フィルタリング工程により前記第一フィルタを適用した結果であるフィルタ軌跡上の対応点を決定する決定工程と、前記基点の夫々から、対応する前記対応点の夫々までの距離と方向を示す誤差ベクトルを、前記基点毎に算出するベクトル算出工程と、前記ベクトル算出工程により算出した前記誤差ベクトルに対応するゲインを、前記基点毎に算出するゲイン算出工程と、前記ベクトル算出工程により算出した前記誤差ベクトルと、前記ゲイン算出工程により算出した前記ゲインとを、対応する前記基点に適用することで、前記指令軌跡を補正する軌跡補正工程と、を、コンピュータに実行させる為の数値制御プログラムを記憶する。この場合、第1態様と同様の効果を奏する。 A storage medium according to a third aspect of the present invention comprises: an acquisition step of acquiring a command for moving a controlled object, which is at least one of a table and a tool of a machine tool; A first filtering step of applying a first filter to the commanded trajectory, which is the movement trajectory when moving, and a point corresponding to each of the base points, which are points on the commanded trajectory, for the commanded trajectory a determination step of determining corresponding points on the filter trajectory resulting from applying the first filter by a first filtering step; and an error vector indicating the distance and direction from each of the base points to each of the corresponding corresponding points. a vector calculating step of calculating for each base point; a gain calculating step of calculating a gain corresponding to the error vector calculated by the vector calculating step for each base point; and the error vector calculated by the vector calculating step and a trajectory correction step of correcting the commanded trajectory by applying the gain calculated in the gain calculation step to the corresponding base point. In this case, the same effects as in the first mode are obtained.
本発明の実施形態を説明する。以下説明は、図中に矢印で示す左右、前後、上下を使用する。工作機械1の左右方向、前後方向、上下方向は、夫々、工作機械1のX軸方向、Y軸方向、Z軸方向である。図1に示す工作機械1は、主軸9に装着した工具4を回転し、テーブル13の上面に保持された被削材3に切削加工を施す機械である。数値制御装置30(図2参照)は、工作機械1の動作を制御する。
Embodiments of the present invention will be described. In the following description, left and right, front and back, and top and bottom indicated by arrows in the drawings are used. The horizontal direction, the longitudinal direction, and the vertical direction of the
<工作機械1の概要>
図1を参照し、工作機械1の構造を説明する。工作機械1は、基台2、コラム5、主軸ヘッド7、主軸9、テーブル装置10、工具交換装置20、制御箱6、操作パネル15(図2参照)等を備える。基台2は金属製の略直方体状の土台である。コラム5は基台2の上部後方に固定される。主軸ヘッド7はコラム5の前面に沿ってZ軸方向に移動可能に設けられる。主軸ヘッド7は内部に主軸9を回転可能に支持する。主軸9は下部に装着穴(図示略)を有する。主軸9は該装着穴に工具4を装着し、主軸モータ52(図2参照)の駆動で回転する。主軸モータ52は主軸ヘッド7に設けられる。主軸ヘッド7はコラム5の前面に設けられたZ軸移動機構(図示略)により、Z軸方向に移動する。数値制御装置30は、Z軸モータ51(図2参照)の駆動を制御することで、主軸ヘッド7をZ軸方向に移動制御する。
<Overview of
The structure of the
テーブル装置10は、Y軸移動機構(図示略)、Y軸テーブル12、X軸移動機構(図示略)、テーブル13等を備える。Y軸移動機構は基台2の上面前側に設け、Y軸レール、Y軸ボール螺子、Y軸モータ54(図2参照)等を備える。Y軸レールとY軸ボール螺子は、Y軸方向に延びる。Y軸レールは、上面にY軸テーブル12をY軸方向に案内する。Y軸テーブル12は略直方体状に形成され、底部外面にナット(図示略)を備える。該ナットはY軸ボール螺子に螺合する。Y軸モータ54がY軸ボール螺子を回転すると、Y軸テーブル12はナットと共にY軸レールに沿って移動する。つまり、Y軸移動機構はY軸テーブル12をY軸方向に移動可能に支持する。
The
X軸移動機構は、Y軸テーブル12の上面に設けられ、X軸レール(図示略)、X軸ボール螺子(図示略)、X軸モータ53(図2参照)等を備える。X軸レールとX軸ボール螺子はX軸方向に延びる。テーブル13は平面視矩形板状に形成され、Y軸テーブル12の上面に設けられる。テーブル13は底部にナット(図示略)を備える。該ナットはX軸ボール螺子に螺合する。X軸モータ53がX軸ボール螺子を回転すると、テーブル13はナットと共にX軸レールに沿って移動する。つまり、X軸移動機構はテーブル13をX軸方向に移動可能に支持する。テーブル13は、Y軸移動機構、Y軸テーブル12、X軸移動機構により、基台2上をX軸方向とY軸方向に移動する。
The X-axis movement mechanism is provided on the upper surface of the Y-axis table 12 and includes an X-axis rail (not shown), an X-axis ball screw (not shown), an X-axis motor 53 (see FIG. 2), and the like. The X-axis rail and the X-axis ball screw extend in the X-axis direction. The table 13 is formed in a rectangular plate shape in plan view, and is provided on the upper surface of the Y-axis table 12 . The table 13 has a nut (not shown) on its bottom. The nut screws onto the X-axis ball screw. When the
工具交換装置20は主軸ヘッド7の前側に設けられ、円盤型の工具マガジン21を備える。工具マガジン21は、外周に複数の工具(図示略)を放射状に保持する。工具交換装置20は、マガジンモータ55(図2参照)により工具マガジン21を駆動し、工具交換指令が指示する工具4を工具交換位置に位置決めする。工具交換位置は工具マガジン21の最下部位置である。工具交換装置20は、主軸9に装着する工具4と工具マガジン21に取り付けられた工具とを、主軸ヘッド7の上昇、工具マガジン21の回転、主軸ヘッド7の下降の一連の動作により入れ替え交換する。
A
制御箱6は、数値制御装置30(図2参照)を格納する。数値制御装置30は、工作機械1に設けられたZ軸モータ51、主軸モータ52、X軸モータ53、Y軸モータ54(図2参照)を夫々制御し、テーブル13及び工具4を、X軸方向、Y軸方向、Z軸方向に沿って相対移動させる。この場合、テーブル13上に固定した被削材3と主軸9に装着した工具4は相対移動し、各種加工を被削材3に施す。各種加工とは、ドリル、タップ等を用いた穴空け加工、エンドミル、フライス等を用いた側面加工等である。
The
操作パネル15(図2参照)は、例えば工作機械1を覆うカバー(図示略)の外壁に設ける。操作パネル15は入力部16と表示部17(図2参照)を備える。入力部16は各種情報、操作指示等の入力を受け付け、数値制御装置30に出力する。表示部17は数値制御装置30からの指令に基づき、各種画面を表示する。
The operation panel 15 (see FIG. 2) is provided on the outer wall of a cover (not shown) that covers the
<電気的構成>
図2を参照し、数値制御装置30と工作機械1の電気的構成を説明する。数値制御装置30と工作機械1は、CPU31、ROM32、RAM33、記憶装置34、入出力部35、駆動回路51A~55A等を備える。CPU31は数値制御装置30を統括制御する。ROM32は、主プログラム等を記憶する。主プログラムは、主処理(図18、図19参照)を実行する為のプログラムである。主処理は、NCプログラムから一行ずつ読み込んで各種動作を実行する。NCプログラムは、工具交換指令を含む各種制御指令を含む複数行で構成する。NCプログラムの制御指令は、工作機械1の基台2及び主軸9に装着した工具4の軸移動、工具交換等を含む各種動作を行単位で制御する。RAM33は各種情報を一時的に記憶する。記憶装置34は不揮発性であり、NCプログラム、各種情報を記憶する。CPU31は作業者が操作パネル15の入力部16を介して入力したNCプログラムに加え、外部入力で読み込んだNCプログラム等を記憶装置34に記憶できる。
<Electrical configuration>
The electrical configuration of the
駆動回路51Aは、Z軸モータ51とエンコーダ51Bに接続する。駆動回路52Aは主軸モータ52とエンコーダ52Bに接続する。駆動回路53AはX軸モータ53とエンコーダ53Bに接続する。駆動回路54AはY軸モータ54とエンコーダ54Bに接続する。駆動回路55Aはマガジンモータ55とエンコーダ55Bに接続する。Z軸モータ51、主軸モータ52、X軸モータ53、Y軸モータ54、マガジンモータ55は、何れもサーボモータである。駆動回路51A~55AはCPU31から指令を受け、対応するモータ51~55に駆動電流を夫々出力する。駆動回路51A~55Aはエンコーダ51B~55Bからフィードバック信号を受け、位置と速度のフィードバック制御を行う。入出力部35は操作パネル15の入力部16と表示部17に夫々接続する。以下、モータ51~55を総称する時、モータ50という。駆動回路51A~55Aを総称する時、駆動回路50Aという。
The
<指令軌跡の補正方法の概要>
数値制御装置30では、基台2及び工具4(以下、「制御対象」という。)の移動時における加速度が、工作機械1において対応可能な上限値を超えないようにする必要がある。上限値を超えないようにする為の方法の一例として、NCプログラムの制御指令のうち制御対象を移動させる為の位置指令を、加減速フィルタにより平滑化して加速度を制限する方法がある。この方法が用いられた場合、制御対象の移動軌跡のうち変化が急峻な部分が滑らかになる。一般的に、加減速フィルタとして、多段の移動平均フィルタが用いられる。
<Outline of Correction Method for Command Trajectory>
In the
なお、移動平均フィルタは、特定の周波数成分を除去できるという特性を有する。このため、工作機械1の共振周波数を除去するように移動平均フィルタを調整することにより、工作機械1の振動を抑制する方法も提案されている。
Note that the moving average filter has the characteristic of being able to remove specific frequency components. For this reason, a method of suppressing the vibration of the
一方、加減速フィルタにより位置指令を平滑化した場合、元の位置指令に応じた移動軌跡(以下、「指令軌跡」という。)に対して加減速フィルタを適用した後の移動軌跡(以下、「フィルタ軌跡」という。)がずれ、誤差が生じる場合がある。図3(A)に示すように、例えば、指令軌跡Gc(1)のうち直線コーナ部分Cs、Ctで、対応するフィルタ軌跡Gf(1)が内側に配置されたり(矢印Ys、Yt)、指令軌跡Gc(1)のうち円弧部分Cuの半径よりも、対応するフィルタ軌跡Gf(1)の半径の方が小さくなったりする(矢印Yu)。 On the other hand, when the position command is smoothed by the acceleration/deceleration filter, the movement trajectory according to the original position command (hereinafter referred to as the "command trajectory") after applying the acceleration/deceleration filter (referred to as "filter trajectory") may deviate, resulting in an error. As shown in FIG. 3A, for example, at the straight corner portions Cs and Ct of the commanded trajectory Gc(1), the corresponding filter trajectory Gf(1) is arranged inside (arrows Ys, Yt), or the commanded The radius of the corresponding filter locus Gf(1) may be smaller than the radius of the arc portion Cu of the locus Gc(1) (arrow Yu).
これに対し、数値制御装置30は、以下に示す方法で指令軌跡Gc(1)を補正する。はじめに、数値制御装置30は、指令軌跡Gc(1)上の複数の点(以下、夫々を「基点」という。)と、基点に対応するフィルタ軌跡Gf(1)上の点(以下、夫々を「対応点」という。)を決定する。次に、数値制御装置30は、基点の夫々から、対応する対応点までの距離と方向とを示す誤差ベクトルを、基点毎に算出する。次に数値制御装置30は、算出した誤差ベクトルに対応する補正ゲインを、基点毎に算出する。
In response to this,
次に数値制御装置30は、誤差ベクトルと補正ゲインとに基づき、指令軌跡Gc(1)とフィルタ軌跡Gf(1)との間の誤差が相殺される向きに基点を移動させる(矢印Zs、Zt、Zu、図3(B)参照)ことで、指令軌跡Gc(1)を補正する。図3(B)に示すように、補正後の指令軌跡Gc(1)である補正軌跡Gh(1)は、フィルタ軌跡Gf(1)に対して指令軌跡Gc(1)と反対側に配置される。指令軌跡Gc(1)に対する補正軌跡Gh(1)の移動方向は、誤差ベクトルと反対方向を向く。指令軌跡Gc(1)に対する補正軌跡Gh(1)の移動量は、補正ゲインにより規定される。
Next, based on the error vector and the correction gain, the
数値制御装置30は、補正軌跡Gh(1)に沿って制御対象を移動させる為の移動指令に対し、加減速フィルタによりフィルタリング処理を実行する。図3(B)において、フィルタリング処理後の軌跡は、フィルタ軌跡Gf(1)´として示されている。フィルタ軌跡Gf(1)´は、制御対象が実際に移動する移動軌跡に対応する。フィルタ軌跡Gf(1)´は、この場合、指令軌跡Gc(1)の直線コーナ部分Cs、Ctの前後の位置で、指令軌跡Gc(1)よりも僅かに外側に配置される。しかし、指令軌跡Gc(1)とフィルタ軌跡Gf(1)´との間の誤差は、指令軌跡Gc(1)とフィルタ軌跡Gf(1)との間の誤差と比べて大幅に減少する。更に、フィルタ軌跡Gf(1)´は、指令軌跡Gc(1)の円弧部分Cuに対応する位置で、指令軌跡Gc(1)との誤差を略0にできる。
The
なお、上記の方法は、指令軌跡Gc(1)の基点の位置を補正するのみであり、制御対象の移動速度を減速させない。従って、制御対象の移動時におけるサイクルタイムを増加させずに、指令軌跡Gc(1)とフィルタ軌跡Gf(1)´との誤差を抑制できる。 Note that the above method only corrects the position of the base point of the command locus Gc(1), and does not reduce the moving speed of the controlled object. Therefore, the error between the command locus Gc(1) and the filter locus Gf(1)' can be suppressed without increasing the cycle time during movement of the controlled object.
<対応点の決定方法>
上記のように、指令軌跡Gcを補正する為には、誤差ベクトルが必要である。誤差ベクトルは、方向と大きさとを示す。以下、図4、図5に示す指令軌跡Gc(2)を例に挙げ、誤差ベクトルを算出する具体的な方法を説明する。指令軌跡Gc(2)は、原点(0,0)から反時計回りに1周する。加減速フィルタとして、一般的な移動平均フィルタが2段使用される。図5において、加減速フィルタを適用した後の指令軌跡Gc(2)であるフィルタ軌跡Gf(2)を、破線で示す。
<How to determine corresponding points>
As described above, an error vector is required to correct the commanded trajectory Gc. The error vector indicates direction and magnitude. A specific method for calculating the error vector will be described below using the command locus Gc(2) shown in FIGS. 4 and 5 as an example. The command trajectory Gc(2) makes one round counterclockwise from the origin (0, 0). As the acceleration/deceleration filter, two stages of general moving average filters are used. In FIG. 5, the broken line indicates the filter locus Gf(2), which is the command locus Gc(2) after applying the acceleration/deceleration filter.
指令軌跡Gc(2)とフィルタ軌跡Gf(2)との間の誤差は、指令軌跡Gc(2)上の基点と、対応するフィルタ軌跡Gf(2)上の対応点との間の距離で示される。このため、指令軌跡Gc(2)上の基点に対応するフィルタ軌跡Gf(2)上の対応点をどのように決定するかが重要となる。 The error between the command trajectory Gc(2) and the filter trajectory Gf(2) is indicated by the distance between the base point on the command trajectory Gc(2) and the corresponding point on the corresponding filter trajectory Gf(2). be Therefore, how to determine the corresponding point on the filter locus Gf(2) corresponding to the base point on the command locus Gc(2) is important.
図5(A)は、図4の範囲W1において、フィルタ軌跡Gf(2)上に配置された対応点と、この対応点に対して最短距離に設定された指令軌跡Gc(2)上の基点とが対応付けられた場合を示す。この場合、基点から対応点に向かう誤差ベクトルの方向は、指令軌跡Gc(2)の直線コーナ部分Caの前後で急激に変化する。又、直線コーナ部分Caの近傍に基点が存在しなくなり、誤差ベクトルも存在しなくなる。一方、直線コーナ部分Caにおいて指令軌跡Gc(2)との誤差が小さくなるよう補正するためには,指令軌跡Gc(2)の直線コーナ部分Caの近傍にも誤差ベクトルが設定される必要がある。このため、この方法により算出される誤差ベクトルは不適切であることになる。 FIG. 5A shows corresponding points arranged on the filter trajectory Gf(2) in the range W1 of FIG. and are associated with each other. In this case, the direction of the error vector directed from the base point to the corresponding point abruptly changes before and after the straight corner portion Ca of the command locus Gc(2). Further, there is no reference point near the straight corner portion Ca, and no error vector exists. On the other hand, in order to correct so that the error from the command locus Gc(2) is small at the straight corner portion Ca, it is necessary to set an error vector also in the vicinity of the straight corner portion Ca of the command locus Gc(2). . Therefore, the error vector calculated by this method is inappropriate.
図5(B)(C)は、図4の範囲W2、W3において、指令軌跡Gc(2)上に等間隔に配置した基点と、この基点に対して最短距離に設定されたフィルタ軌跡Gf(2)上の対応点とが対応付けられた場合を示す。この場合、図5(B)に示すように、範囲W2において、Gc(2)のコーナ部分CbはGf(2)のコーナ部分と対応付けられており、基点から対応点に向かう誤差ベクトルは適切に求められることがわかる。一方、図5(C)に示すように、範囲W3においては、基点から対応点に向かう誤差ベクトルの方向が急激に変化する部分が生じる。この理由は、指令軌跡Gc(2)上の基点に対する対応点が、フィルタ軌跡Gf(2)のうちコーナ部分Cb(図5(B)参照)よりも前の部分と後の部分とに設定される為である。このため、この方法により算出される誤差ベクトルも不適切であることになる。 5(B) and (C) show, in the ranges W2 and W3 in FIG. 2) Shows the case where the above corresponding points are associated. In this case, as shown in FIG. 5B, in the range W2, the corner portion Cb of Gc(2) is associated with the corner portion of Gf(2), and the error vector from the base point to the corresponding point is appropriate. It can be seen that it is required for On the other hand, as shown in FIG. 5C, in range W3, there is a portion where the direction of the error vector from the base point to the corresponding point changes abruptly. The reason for this is that the points corresponding to the base point on the command locus Gc(2) are set at the portions before and after the corner portion Cb (see FIG. 5(B)) of the filter locus Gf(2). This is because Therefore, the error vector calculated by this method is also inappropriate.
誤差ベクトルに基づき指令軌跡Gcを精度よく補正する為には、指令軌跡Gc上の基点に対応するフィルタ軌跡Gf上の対応点を適切に算出することが必要となる。本実施形態では、以下に示す方法でフィルタ軌跡Gf上の対応点を算出する。 In order to accurately correct the command trajectory Gc based on the error vector, it is necessary to appropriately calculate the corresponding points on the filter trajectory Gf corresponding to the base points on the command trajectory Gc. In this embodiment, corresponding points on the filter trajectory Gf are calculated by the following method.
指令軌跡Gcとして、単純な一次元の直線軌跡を想定する。この場合、指令軌跡Gcとフィルタ軌跡Gfとで形状が一致する。従って、指令軌跡Gcとフィルタ軌跡Gfとの間の誤差は0になる。又、指令軌跡Gc上の基点と、この基点に対応するフィルタ軌跡Gf上の対応点とで、位置は一致するべきである。なお、指令軌跡Gcとして一次元の直線軌跡を想定した為、位置が一致するということは、指令軌跡Gcの開始点からの距離が一致することと等しい。つまり、本手法では、開始点からの距離が一致する対応点を特定することで、精度良く誤差を計算する。又、指令軌跡Gc上の基点の夫々に対し、フィルタ軌跡Gf上の対応点が一つずつ対応することになる。 A simple one-dimensional linear trajectory is assumed as the command trajectory Gc. In this case, the command locus Gc and the filter locus Gf match in shape. Therefore, the error between the command locus Gc and the filter locus Gf becomes zero. Also, the base point on the command locus Gc and the corresponding point on the filter locus Gf corresponding to this base point should coincide in position. Since a one-dimensional linear trajectory is assumed as the command trajectory Gc, matching the positions is equivalent to matching the distance from the starting point of the command trajectory Gc. In other words, in this method, the error is calculated with high accuracy by specifying corresponding points having the same distance from the starting point. Also, one corresponding point on the filter locus Gf corresponds to each base point on the command locus Gc.
上記の考え方を、指令軌跡Gcが多次元の軌跡である場合に適用する。ここで図6に示すように、指令軌跡Gcの直線コーナ部分Cにおいて、フィルタ軌跡Gfは内側に配置され、フィルタ軌跡Gfの距離が短くなる。このため、指令軌跡Gc上の開始点からの距離を、そのままフィルタ軌跡Gfに適用させることができない。そこで本手法では、指令軌跡Gcの接線方向の移動のみを考慮した、一次元方向に移動する仮想的な直線軌跡を想定する。図7に示すように、この一次元指令軌跡Dcに対して一次元フィルタ軌跡Dfを生成し、一次元指令軌跡Dcにおける開始点からの距離を一次元フィルタ軌跡Dfにそのまま適用する。 The above concept is applied when the commanded trajectory Gc is a multi-dimensional trajectory. Here, as shown in FIG. 6, at the straight corner portion C of the command trajectory Gc, the filter trajectory Gf is arranged inside, and the distance of the filter trajectory Gf is shortened. Therefore, the distance from the starting point on the command locus Gc cannot be directly applied to the filter locus Gf. Therefore, in this method, a virtual linear trajectory that moves in a one-dimensional direction is assumed, considering only the movement in the tangential direction of the commanded trajectory Gc. As shown in FIG. 7, a one-dimensional filter trajectory Df is generated for this one-dimensional command trajectory Dc, and the distance from the starting point in the one-dimensional command trajectory Dc is directly applied to the one-dimensional filter trajectory Df.
図6に示すように、指令軌跡Gc上の基点pは、指令軌跡Gcの開始点から終了点までの間の部分を補間することにより決定される。補間は、指令軌跡Gcの開始点から移動を開始した仮想点が、補間周期毎に通過する位置の夫々を基点pとして決定することにより実行される。指令軌跡Gcのうち、開始点から周期的に決定されるi番目の基点をpiと表記し、piにおける接線方向の移動距離(開始点からの距離)を、siと表記する。同様に、フィルタ軌跡Gfの開始点から移動を開始した仮想点が補間周期毎に通過する位置の夫々のうち、j番目に通過する点を、サーカムフレックス付きのpjと表記する。 As shown in FIG. 6, the base point p on the commanded trajectory Gc is determined by interpolating the portion between the start point and the end point of the commanded trajectory Gc. Interpolation is performed by determining, as base points p, the positions that a virtual point that starts moving from the starting point of the command locus Gc passes through in each interpolation cycle. In the command trajectory Gc, the i-th base point periodically determined from the starting point is denoted by pi , and the tangential movement distance (distance from the starting point) at pi is denoted by si . Similarly, of the positions through which the virtual point that started moving from the starting point of the filter locus Gf passes in each interpolation cycle, the j-th point is denoted as pj with circumflex.
一方で、図7に示すように、一次元指令軌跡Dcのうち、開始点から周期的に決定されるi番目の基点も、その開始点からの移動距離はsiとなる。なぜなら、一次元指令軌跡Dcは、指令軌跡Gcの接線方向の移動のみを考慮した、一次元方向に移動する仮想的な直線軌跡であり、各軌跡の各開始点から同時に移動を開始した仮想点の移動距離は常に等しいからである。上記と同様に、一次元フィルタ軌跡Dfの開始点から移動を開始した仮想点が補間周期毎に通過する位置の夫々のうち、j番目に通過する点を、サーカムフレックス付きのsjと表記する。 On the other hand, as shown in FIG. 7, the i-th base point periodically determined from the starting point in the one-dimensional command trajectory Dc also has a moving distance of si from the starting point. This is because the one-dimensional command trajectory Dc is a virtual linear trajectory that moves in a one-dimensional direction, considering only the movement in the tangential direction of the command trajectory Gc. is always equal. Similarly to the above, of the positions through which the virtual point that started moving from the starting point of the one-dimensional filter trajectory Df passes in each interpolation cycle, the j-th point is denoted as s j with circumflex. .
図8、図9に示すように、指令軌跡Gcまたは一次元指令軌跡Dcにおけるi番目のsiが、一次元フィルタ軌跡Dfにおけるj番目の^sjとj+1番目の^sj+1との間に存在する場合、以下の式(1-1)の関係を満たす。
補間周期を数msec以下とした場合、補間周期ごとの移動速度は一定と考えても問題ない。このため,式(1-1)の関係を満たすjを用いた場合、指令軌跡Gcの基点piに対応するフィルタ軌跡Gfの対応点^(pj+u)は、以下の式(1-2)(1-3)に示すように算出できる。
指令軌跡Gcまたは一次元指令軌跡Dcのsi、及び、一次元フィルタ軌跡Dfの^sjは、加減速フィルタとして移動平均フィルタが用いられる場合、式(1-4)(1-5)により示すことができる。なお、指令軌跡Gcまたは一次元指令軌跡Dcにおいて補間周期を「Ts」と表記し、開始点から終了点まで移動する仮想点のk番目の補間周期での速度を「Fk」と表記し、m番目の加減速フィルタの時定数を「τm」と表記し、加減速フィルタフィルタの段数を「M」と表記する。
式(1-4)(1-5)に式(1-1)~(1-3)を代入し,jとuについて解くことで、指令軌跡Gcの基点piに対応するフィルタ軌跡Gf上の対応点^(pj+u)を求めることもできる。しかし、一般には、式(1-4)(1-5)でも示されるように、加減速フィルタは複数用いられる。また、微小ブロックの連続による軌跡も多く、速度が複雑に変化する場合がある。このため,解析的にjとuを解くことは難しい。従って本実施形態では、一次元指令軌跡および一次元フィルタ軌跡を利用し、式(1-1)~(1-3)から数値的に対応点を探索する。 By substituting equations (1-1) to (1-3) into equations (1-4) and (1-5) and solving for j and u , we obtain It is also possible to obtain the corresponding point ^(pj +u ). However, in general, a plurality of acceleration/deceleration filters are used as shown in equations (1-4) and (1-5). In addition, there are many trajectories due to continuation of minute blocks, and the speed may change in a complicated manner. Therefore, it is difficult to solve for j and u analytically. Therefore, in this embodiment, the one-dimensional command trajectory and the one-dimensional filter trajectory are used to numerically search for corresponding points from equations (1-1) to (1-3).
図10は、式(1-1)~(1-3)に基づいて基点piに対する対応点^(pj+u)を決定した場合の誤差ベクトルを示す。図10(A)に示すように、範囲W1において、直線コーナ部分Caの前後での誤差ベクトルの方向の急激な変化は見られず、且つ、直線コーナ部分Caの基点に対しても適切な誤差ベクトルが求められている。又、図10(C)に示すように、範囲W3において、指令軌跡Gc(2)の基点に対する対応点は、フィルタ軌跡Gf(2)のうちコーナ部分Cb(図10(B)参照)よりも後の部分に設定され、誤差ベクトルの急激な変化は見られない。従って、式(1-1)~(1-3)に基づいて基点pi及び対応点^(pj+u)を決定することにより、指令軌跡Gcを補正する為の誤差ベクトルを適切に決定できることが分かる。 FIG. 10 shows the error vector when the corresponding point ^(p j+u ) for the base point p i is determined based on equations (1-1) to (1-3). As shown in FIG. 10A, in the range W1, there is no abrupt change in the direction of the error vector before and after the straight corner portion Ca. A vector is wanted. Further, as shown in FIG. 10(C), in the range W3, the point corresponding to the base point of the command locus Gc(2) is closer to the corner portion Cb (see FIG. 10(B)) of the filter locus Gf(2). It is set in the later part and no abrupt change in the error vector is seen. Therefore, by determining the reference point p i and the corresponding point ^(p j+u ) based on the equations (1-1) to (1-3), it is possible to appropriately determine the error vector for correcting the commanded trajectory Gc. I understand.
<円弧状の指令軌跡に対する補正>
次に,単純な形状を有する指令軌跡Gcとフィルタ軌跡Gfとの誤差について説明する。まず、単純な円弧状の指令軌跡Gcを想定する。指令軌跡Gcの半径は、加減速フィルタを適用することにより収縮する。指令軌跡Gcに対するフィルタ軌跡Gfの半径の収縮量は、加減速フィルタの周波数特性から求めることができる。円弧状の指令軌跡GcのX,Y座標は、以下の式(2-1)で示されるように単一の周波数成分の運動として記述できる。なお、円弧の半径をRと表記し、角速度をωと表記し、時刻をtと表記する。
Next, the error between the command trajectory Gc having a simple shape and the filtered trajectory Gf will be described. First, a simple arcuate command locus Gc is assumed. The radius of the commanded trajectory Gc is contracted by applying the acceleration/deceleration filter. The amount of contraction of the radius of the filter trajectory Gf with respect to the command trajectory Gc can be obtained from the frequency characteristics of the acceleration/deceleration filter. The X, Y coordinates of the arcuate command trajectory Gc can be described as motion of a single frequency component as shown in the following equation (2-1). Note that the radius of the arc is denoted as R, the angular velocity is denoted as ω, and the time is denoted as t.
従って、(x,y)に加減速フィルタを適用したときのX座標^x、Y座標^yは、単純に加減速フィルタの周波数特性(ゲインH(ω),位相Φ(ω))の影響を受け、以下の式(2-2)ように変化する。
従って、円弧の半径の収縮量dRは、位相のずれとは関係なく、以下の式(2-3)で示される。
図11(A)は、単純な円弧状の指令軌跡Gc(3)及びフィルタ軌跡Gf(3)を示す。指令軌跡Gc(3)上の基点の夫々から、対応するフィルタ軌跡Gf(3)上の対応点に向けて延びる誤差ベクトルεは、指令軌跡Gc(3)及びフィルタ軌跡Gf(3)の中心を基準とした半径方向に沿って延びることが確認できる。つまり、誤差ベクトルεの大きさは、指令軌跡Gc(3)に対するフィルタ軌跡Gf(3)の半径の収縮量dRと一致する。 FIG. 11A shows a simple circular command locus Gc(3) and filter locus Gf(3). The error vector ε extending from each base point on the command trajectory Gc(3) toward the corresponding point on the corresponding filter trajectory Gf(3) is the center of the command trajectory Gc(3) and the filter trajectory Gf(3). It can be confirmed that it extends along the reference radial direction. That is, the magnitude of the error vector ε matches the contraction amount dR of the radius of the filter trajectory Gf(3) with respect to the command trajectory Gc(3).
補正ゲインkを、誤差ベクトルεと反対方向を向くベクトル-εに乗算することで得られるパラメータ(以下、「補正ベクトル」という。)-kεを定義する。そして、算出した補正ベクトル-kεに基づき、円弧状の指令軌跡Gcの半径が拡大するように指令軌跡Gc(3)を補正する。そして、補正後の指令軌跡Gc(3)である補正軌跡Gh(3)に対し、加減速フィルタによりフィルタリング処理を行う。これにより、元の指令軌跡Gcと、補正軌跡Gh(3)に対してフィルタリング処理を行った後のフィルタ軌跡Gf´との誤差を小さくできる。 A parameter (hereinafter referred to as “correction vector”) −kε obtained by multiplying the correction gain k by the vector −ε pointing in the opposite direction to the error vector ε is defined. Then, based on the calculated correction vector -kε, the commanded trajectory Gc(3) is corrected so that the radius of the arc-shaped commanded trajectory Gc is increased. Then, the corrected trajectory Gh(3), which is the commanded trajectory Gc(3) after correction, is filtered by the acceleration/deceleration filter. As a result, the error between the original commanded trajectory Gc and the filtered trajectory Gf' after filtering the corrected trajectory Gh(3) can be reduced.
補正ベクトル-kεにより指令軌跡Gc(3)を補正した補正軌跡Gh(3)に加減速フィルタを適用したフィルタ軌跡Gf(3)´と,元の指令軌跡Gc(3)間の誤差eは、次の式(2-4)により示される。フィルタ軌跡Gf(3)´での角速度を、ω´と表記する。
なお、図11(A)で示されるように、誤差ベクトルεは半径方向に沿って延びるベクトルであり、円周方向の成分は持たない。従って、補正により角速度は変化せず,ω´はωと等しい。このため、式(2-4)は、式(2-5)のように変形できる。
実際の運動では,円弧の半径Rは0より大きく,角速度ωは0でない。このため、加減速フィルタのゲインH(ω)は1より小さくなる。従って、補正ゲインk(ω)が次の式(2-6)を満たす場合、誤差eを0にすることができる。
図12は、式(2-6)の計算結果の一例を示す。解析条件として、加減速フィルタには2段(M=2)の移動平均フィルタを用い、それらの時定数(τ1及びτ2)を94msec及び127msecとした。図11(B)は、図12の結果から導出した補正ゲインkにより決定した補正ベクトル-kεにより指令軌跡Gc(3)を補正した場合の補正軌跡Gh(3)を示す。 FIG. 12 shows an example of the calculation result of formula (2-6). As analysis conditions, a two-stage (M=2) moving average filter was used as the acceleration/deceleration filter, and their time constants (τ 1 and τ 2 ) were set to 94 msec and 127 msec. FIG. 11B shows a corrected trajectory Gh(3) obtained by correcting the commanded trajectory Gc(3) with the correction vector −kε determined by the correction gain k derived from the result of FIG.
以上の結果から、円弧状の指令軌跡Gcの場合、補正ベクトル-kεに基づいて指令軌跡Gcを補正することにより、指令軌跡Gcとフィルタ軌跡Gf´との誤差を0にすることができることが分かる。又、補正ベクトル-kεは、指令軌跡Gcとフィルタ軌跡Gfとの間の誤差eと角速度ωとから、簡単に求めることができることが分かる。 From the above results, it can be seen that in the case of the arc-shaped commanded trajectory Gc, the error between the commanded trajectory Gc and the filtered trajectory Gf' can be reduced to 0 by correcting the commanded trajectory Gc based on the correction vector -kε. . Further, it can be seen that the correction vector -kε can be easily obtained from the error e between the command locus Gc and the filter locus Gf and the angular velocity ω.
<指令軌跡の直線コーナ部分Cに対する補正>
次に、指令軌跡Gcのうち単純な直線コーナ部分Cに関し、指令軌跡Gcとフィルタ軌跡Gfとの誤差について説明する。図13(A)に示すように、指令軌跡Gc(4)の直線コーナ部分Cc近傍において、指令軌跡Gc(4)に加減速フィルタを適用したフィルタ軌跡Gf(4)は、指令軌跡Gc(4)に対して内側に配置される。この理由は、指令軌跡Gc(4)に加減速フィルタを適用することにより、加減速フィルタの時定数の範囲にある指令軌跡Gc(4)の点同士が影響し合う為である。フィルタ軌跡Gf(4)のうち指令軌跡Gc(4)に対して内側に配置される部分を通過する時間は、加減速フィルタの時定数と一致する。
<Correction for straight corner portion C of commanded trajectory>
Next, the error between the commanded trajectory Gc and the filter trajectory Gf will be described with respect to the simple straight corner portion C of the commanded trajectory Gc. As shown in FIG. 13A, in the vicinity of the straight corner portion Cc of the command trajectory Gc(4), the filtered trajectory Gf(4) obtained by applying the acceleration/deceleration filter to the command trajectory Gc(4) is the command trajectory Gc(4 ) is placed inside. The reason for this is that applying the acceleration/deceleration filter to the command locus Gc(4) causes the points of the command locus Gc(4) within the range of the time constant of the acceleration/deceleration filter to influence each other. The time taken to pass through a portion of the filter trajectory Gf(4) located inside the command trajectory Gc(4) matches the time constant of the acceleration/deceleration filter.
図13(B)は、指令軌跡Gc(4)とフィルタ軌跡Gf(4)との誤差を抑制する為に用いられる補正ベクトル-kεについて、直線コーナ部分Ccの近傍において補正ゲインkを一律1.5(倍)とした場合を示す。補正軌跡Gh(4)は、直線コーナ部分Ccにおいて指令軌跡Gcに対して外側に配置される。図13(C)は、補正軌跡Gh(4)に加減速フィルタを適用したフィルタ軌跡Gf(4)´を示す。この結果から、指令軌跡Gc(4)の直線コーナ部分Ccにおいて、指令軌跡Gc(4)とフィルタ軌跡Gf(4)´との誤差が、指令軌跡Gc(4)とフィルタ軌跡Gf(4)との間の誤差よりも減少していることが確認できる。 FIG. 13B shows that the correction vector −kε used to suppress the error between the command locus Gc(4) and the filter locus Gf(4) is uniformly set to 1.5 in the vicinity of the straight corner portion Cc. A case of 5 (fold) is shown. Correction trajectory Gh(4) is arranged outside command trajectory Gc at straight corner portion Cc. FIG. 13C shows a filtered trajectory Gf(4)' obtained by applying the acceleration/deceleration filter to the corrected trajectory Gh(4). From this result, at the straight corner portion Cc of the command trajectory Gc(4), the error between the command trajectory Gc(4) and the filter trajectory Gf(4)' is the difference between the command trajectory Gc(4) and the filter trajectory Gf(4) It can be confirmed that the error is smaller than the error between
なお上述のように、加減速フィルタの時定数の範囲にある指令軌跡Gc(4)の点同士は影響し合う。このため、直線コーナ部分Ccの近傍において指令軌跡Gc(4)とフィルタ軌跡Gf(4)とが離隔する部分の開始点Paから終了点Pbまでの指令軌跡Gc(4)を補正することにより、直線コーナ部分Ccの近傍において指令軌跡Gc(4)とフィルタ軌跡Gf(4)´との間の誤差が減少する。又、フィルタ軌跡Gf(4)´は、開始点Pa及び終了点Pbの近傍において、指令軌跡Gc(4)に対して僅かに外側に配置されるが、指令軌跡Gc(4)の直線コーナ部分Ccにおいてフィルタ軌跡Gf(4)´との誤差が大幅に減少する。 As described above, the points of the command locus Gc(4) within the range of the time constant of the acceleration/deceleration filter affect each other. Therefore, by correcting the command trajectory Gc(4) from the start point Pa to the end point Pb of the portion where the command trajectory Gc(4) and the filter trajectory Gf(4) are separated in the vicinity of the straight corner portion Cc, The error between the command locus Gc(4) and the filter locus Gf(4)' decreases in the vicinity of the straight corner portion Cc. Also, the filter locus Gf(4)' is located slightly outside the command locus Gc(4) in the vicinity of the start point Pa and the end point Pb. At Cc, the error from the filter locus Gf(4)' is greatly reduced.
なお、補正ゲインkの大きさに応じ、指令軌跡Gc(4)とフィルタ軌跡Gf(4)´との誤差は変化する。しかし、円弧状の指令軌跡Gc(3)(図11参照)を想定した場合とは異なり、指令軌跡Gc(4)の直線コーナ部分Ccでは、誤差を0とすることが可能な補正ゲインkは存在しない。 Note that the error between the command locus Gc(4) and the filter locus Gf(4)' changes according to the magnitude of the correction gain k. However, unlike the case where the arc-shaped command trajectory Gc(3) (see FIG. 11) is assumed, in the straight corner portion Cc of the command trajectory Gc(4), the correction gain k that can make the error zero is not exist.
従って本実施形態では、直線コーナ部分Cの近傍全体で誤差を減少させる為に、指令軌跡Gcとフィルタ軌跡Gfとの間の面積を用いる。以下、指令軌跡Gcとフィルタ軌跡Gfとの間の面積を、「累積軌跡誤差」という。直線コーナ部分Cc前後で軌跡が離間する部分の開始点Pa及び終了点Pbの近傍で外側に配置されるフィルタ軌跡Gf´と指令軌跡Gcとの誤差が増加する程、累積軌跡誤差も増加する。一方、直線コーナ部分Ccの近傍において指令軌跡Gcとフィルタ軌跡Gf´との差分が減少する程、累積軌跡誤差も減少する。従って、指令軌跡Gcとフィルタ軌跡Gf´との誤差の抑制効果を評価する為に累積軌跡誤差を用いることは、直線コーナ部分Cの近傍全体で誤差を減少させるという目的に適している。 Therefore, in this embodiment, the area between the command locus Gc and the filter locus Gf is used in order to reduce the error in the entire vicinity of the straight corner portion C. FIG. Hereinafter, the area between the commanded trajectory Gc and the filtered trajectory Gf is referred to as "accumulated trajectory error". The accumulated trajectory error increases as the error between the command trajectory Gc and the filter trajectory Gf' placed outside near the start point Pa and the end point Pb of the portion where the trajectories are separated before and after the straight corner portion Cc increases. On the other hand, as the difference between the commanded trajectory Gc and the filtered trajectory Gf' decreases in the vicinity of the straight corner portion Cc, the accumulated trajectory error also decreases. Therefore, using the accumulated trajectory error to evaluate the effect of suppressing the error between the command trajectory Gc and the filter trajectory Gf' is suitable for the purpose of reducing the error in the vicinity of the straight corner portion C as a whole.
ここで、直線コーナ部分Cのなす角度が0度から180度までの範囲で、各基点において一定の補正ゲインkの補正ベクトル-kεで指令軌跡Gcを補正することを想定する。図14は、各角度において、累積軌跡誤差を評価関数として最適な補正ゲインkを導出した結果の一例を示す。解析条件として、加減速フィルタには2段の移動平均フィルタを用い、それらの時定数を94msec及び127msecとした。図14に示すように、直線コーナ部分Cのなす角度に対し、単調増加となる補正ゲインkが得られることが分かる。このことから、直線コーナ部分Cのような形状の指令軌跡Gcにおいて、評価関数を用いて補正ゲインkを算出することにより、指令軌跡Gcとフィルタ軌跡Gf´との誤差を効果的に抑制する為の補正ゲインkを適切に決定することが可能となる。 Here, it is assumed that the command locus Gc is corrected with a correction vector −kε having a constant correction gain k at each base point within the range of the angle formed by the straight corner portion C from 0 degrees to 180 degrees. FIG. 14 shows an example of the result of deriving the optimum correction gain k using the cumulative trajectory error as an evaluation function at each angle. As analysis conditions, a two-stage moving average filter was used as the acceleration/deceleration filter, and their time constants were set to 94 msec and 127 msec. As shown in FIG. 14, it can be seen that a correction gain k monotonically increasing with respect to the angle formed by the straight corner portion C is obtained. For this reason, in order to effectively suppress the error between the command locus Gc and the filter locus Gf' by calculating the correction gain k using the evaluation function in the command locus Gc shaped like the straight corner portion C. It becomes possible to appropriately determine the correction gain k of .
<任意形状を有する指令軌跡の補正>
次に、円弧状(図11参照)や直線コーナ部分C(図13参照)を含む任意の形状の指令軌跡Gcを補正する為の補正ゲインkの算出方法について説明する。補正ゲインkは、指令軌跡Gcのうち円弧状の部分でフィルタ軌跡Gfとの誤差を0にするように、且つ、直線コーナ部分Cで累積軌跡誤差が最小となるようにすることで決定される。
<Correction of Command Trajectory Having Arbitrary Shape>
Next, a method of calculating the correction gain k for correcting the command locus Gc having an arbitrary shape including an arc shape (see FIG. 11) and a straight corner portion C (see FIG. 13) will be described. The correction gain k is determined by making the error from the filter trajectory Gf zero in the arc-shaped portion of the command trajectory Gc and minimizing the accumulated trajectory error in the straight corner portion C. .
図15(A)に示す指令軌跡Gc(5)を想定し、各基点pでの角度(方向)変化を用いて補正ゲインkを算出する提案方法について説明する。なお、一定の補間周期の下で各基点pでの角度変化は、指令軌跡Gc(5)に沿って移動する制御対象が基点pを通過する時の角速度と等価である。このため、以下では、角度変化を「角速度」と言い換える。 Assuming the command locus Gc(5) shown in FIG. 15A, the proposed method of calculating the correction gain k using the angle (direction) change at each base point p will be described. Note that the angular change at each base point p under a constant interpolation cycle is equivalent to the angular velocity when the controlled object moving along the command locus Gc(5) passes through the base point p. Therefore, hereinafter, the change in angle is referred to as "angular velocity".
図11、図13を参照して説明したように、円弧状や直線コーナ部分Cを含む任意の形状の指令軌跡Gcの何れの場合にも、適切な補正ゲインkは角速度に基づき変化すると考えることができる。直線コーナ部分Cのなす角度の変化は、一定の速度の下で角速度の変化に対応するからである。なお、円弧状の指令軌跡Gcでは全周に亘って角速度が変化しないので、誤差の大きさ|ε|および最適な補正ゲインkも全周に亘って不変である。一方、指令軌跡Gcの直線コーナ部分Cでは、直線コーナ部分Cにおいて角速度はインパルス状に変化し、その近傍(開始点Paと終了点Pb(図13(C)参照)との間)において誤差の大きさ|ε|は変化する為、最適な補正ゲインkもこの範囲で相違する。 As described with reference to FIGS. 11 and 13, it should be considered that the appropriate correction gain k changes based on the angular velocity in any case of the command trajectory Gc having an arbitrary shape including a circular arc and a straight corner portion C. can be done. This is because the change in the angle formed by the straight corner portion C corresponds to the change in angular velocity under constant speed. Since the angular velocity does not change over the entire circumference of the arcuate command locus Gc, the error magnitude |ε| and the optimum correction gain k remain unchanged over the entire circumference. On the other hand, at the straight corner portion C of the command trajectory Gc, the angular velocity changes in the shape of an impulse at the straight corner portion C, and the error is Since the magnitude |ε| changes, the optimum correction gain k also differs within this range.
以下では、後述の補正ゲイン関数K(ω)を用い、指令軌跡Gc(5)における最適な補正ゲインkを角速度ωに基づいて算出する方法を説明する。又、補正ゲイン関数K(ω)を用いるにあたり、指令軌跡Gcにおける角速度ωに対して後述の角速度フィルタwlによるフィルタリング処理が実行される。そして、角速度フィルタwlによりフィルタリング処理された角速度^ωを補正ゲイン関数K(ω)に入力することによって、補正ゲインkを導出する。以上のように、各基点での角速度を利用することと、そのフィルタリング処理を行うことにより、任意の形状を有する指令軌跡Gcに対して単一のゲイン関数で対応できるようになる。 A method of calculating the optimum correction gain k in the command locus Gc(5) based on the angular velocity ω using the correction gain function K(ω) described later will be described below. Further, in using the correction gain function K(ω), the angular velocity ω on the command locus Gc is filtered by an angular velocity filter wl , which will be described later. Then, the correction gain k is derived by inputting the angular velocity ^ω filtered by the angular velocity filter wl into the correction gain function K(ω). As described above, by using the angular velocity at each base point and performing the filtering process, it becomes possible to deal with the command trajectory Gc having an arbitrary shape with a single gain function.
<補正ゲイン関数K(ω)>
図11に示す指令軌跡Gc(3)における円弧状の部分、及び、図13に示す指令軌跡Gc(4)における直線コーナ部分Ccでは、何れも、角速度の増加に伴い補正ゲインkは増大し、角速度が低い領域においては緩やかに単調増加する。従って、補正ゲイン関数は、式(2-6)にて示される円弧状の指令軌跡Gcにおける関係式に基づいて定義できる。補正ゲイン関数により算出される補正ゲインkを用いて指令軌跡Gc(5)を補正した補正軌跡Gh(5)を用いることにより、指令軌跡Gc(5)のうち円弧状の部分については、指令軌跡Gc(5)と、補正軌跡Gh(5)に加減速フィルタを適用したフィルタ軌跡Gf(5)´との間の誤差を抑制できる。
<Correction gain function K(ω)>
In both the arc-shaped portion of the command locus Gc(3) shown in FIG. 11 and the straight corner portion Cc of the command locus Gc(4) shown in FIG. It increases gently and monotonically in the region where the angular velocity is low. Therefore, the correction gain function can be defined based on the relational expression in the arc-shaped command trajectory Gc shown in Equation (2-6). By using the corrected trajectory Gh(5) obtained by correcting the commanded trajectory Gc(5) using the correction gain k calculated by the correction gain function, the arc-shaped portion of the commanded trajectory Gc(5) is corrected to the commanded trajectory It is possible to suppress the error between Gc(5) and the filtered locus Gf(5)' obtained by applying the acceleration/deceleration filter to the corrected locus Gh(5).
式(2-6)にて示される関係式では、図12で示したように,特定の角速度で補正ゲインkが無限大に発散する。従って、補正ゲインkによる補正時に過大な負荷が生じることを防止する為、さらに円弧以外の任意の軌跡にも対応させる為、補正ゲインkが発散する角速度を含む領域(以下、「発散領域」という。)は、式(2-6)の関係式を、単調増加となるような近似関数に置き換える必要がある。一方、発散が生じない角速度が低い領域では、式(2-6)の関係式を用いることにより、円弧状の指令軌跡Gc(5)の場合、フィルタ軌跡Gf(5)´との間の誤差を0にすることができる。 In the relational expression (2-6), as shown in FIG. 12, the correction gain k diverges infinitely at a specific angular velocity. Therefore, in order to prevent an excessive load from being generated at the time of correction by the correction gain k, and also to correspond to an arbitrary trajectory other than a circular arc, a region including an angular velocity where the correction gain k diverges (hereinafter referred to as a "divergence region") ), it is necessary to replace the relational expression (2-6) with an approximation function that monotonically increases. On the other hand, in the low angular velocity region where no divergence occurs, by using the relational expression (2-6), the error between the arc-shaped command trajectory Gc(5) and the filter trajectory Gf(5)' is can be 0.
以下では、発散領域における近似関数として、包絡線関数He(ω)を用いる場合について説明する。包絡線関数He(ω)は、加減速フィルタの周波数特性であるゲインH(ω)の分母の正弦関数を1としたときの関数である。包絡線関数He(ω)を使用した場合の補正ゲインke(ω)は、式(3-1)の関係式を満たす。
補正ゲインk(ω)が不連続になると、補正後の指令軌跡Gc(5)である補正軌跡Gh(5)に急激な変化が発生し、加速度の増大を引き起こすことが予想される。このため、補正ゲインk(ω)が連続的に変化するように,式(2-6)(3-1)の2つの関係式を用い、補正ゲイン関数K(ω)を以下の式(3-2)のように定義する。
式(3-2)において、±ωtは、2つの関数を切り替える角速度である。ktは、2つの関数を連続的に繋ぐためのオフセット量である。2つの関数が切り替わる角速度で、補正ゲイン関数K(ω)が滑らかに変化するために、夫々の関数の傾きが等しくなる時の角速度を、角速度±ωtとする。この条件を満たす角速度±ωtは、式(3-3)を満たす値である。
<角速度フィルタ>
上記のように、補正ゲイン関数K(ω)は角速度ωの関数として計算される。一方、直線コーナ部分Cの場合、角速度ωは直線コーナ部分Cのみにおいてインパルス状に変化し、その他の直線部分においてはゼロとなる。しかし、軌跡誤差は直線コーナ部分Cのみにおいて生じるのではなく、加減速フィルタの時定数範囲(影響が及ぶ範囲)に亘って生じるため、指令軌跡Gcの補正は、指令軌跡Gcのうち直線コーナ部分Cだけでなく、例えば図13(C)に示す開始点Paから終了点Pbまでの間(加減速フィルタの時定数範囲)に亘って行われることが好ましい。従って、開始点Paから終了点Pbまでの間の範囲で補正ゲイン関数K(ω)による補正が行えるように、直線コーナ部分Cの1点の角速度(瞬時値)に基づいて指令軌跡Gcを補正することが必要となる。
<Angular velocity filter>
As noted above, the correction gain function K(ω) is calculated as a function of angular velocity ω. On the other hand, in the case of the straight corner portion C, the angular velocity ω changes in an impulse-like manner only at the straight corner portion C, and becomes zero at the other straight portions. However, the trajectory error does not occur only in the straight corner portion C, but occurs over the time constant range (range of influence) of the acceleration/deceleration filter. It is preferable to perform not only C but, for example, from the start point Pa to the end point Pb shown in FIG. 13C (the time constant range of the acceleration/deceleration filter). Therefore, the command trajectory Gc is corrected based on the angular velocity (instantaneous value) at one point of the straight corner portion C so that the correction by the correction gain function K(ω) can be performed in the range from the start point Pa to the end point Pb. It is necessary to
角速度フィルタwlは、補正ゲイン関数K(ω)を任意の指令軌跡Gcに適用させる場合において、指令軌跡Gcの角速度ωの変化を平滑化する為に用いられる。図15(B)の実線L(1)は、指令軌跡Gc(5)における角速度ωの時間変化を示す。角速度フィルタwlによりフィルタリング処理が実行された後の角速度^ωの時間変化を、破線L(2)にて示す。図内に示される2つのインパルス状の角速度変化は直線コーナ部分p(1)、p(2)で生じており、円弧状部分p(3)からp(7)において角速度は一定値-ωfとなっている。すなわち、直線コーナ部分と円弧部分での角速度変化は、最も急峻なインパルス状の変化と最も変化のない一定値という、両極端の特性を示す。このため、直線コーナ部分と円弧部分の両方に対して適切な補正ゲインを求め得るように、前記角速度のフィルタリング処理と補正ゲイン関数を設定することによって、任意の軌跡に対して適切な補正ゲインを求める。 The angular velocity filter wl is used to smooth changes in the angular velocity ω of the commanded trajectory Gc when the correction gain function K(ω) is applied to an arbitrary commanded trajectory Gc. A solid line L(1) in FIG. 15(B) indicates the temporal change of the angular velocity ω on the command locus Gc(5). A broken line L(2) indicates the temporal change of the angular velocity ^ω after the filtering process is executed by the angular velocity filter wl . The two impulse-like angular velocity changes shown in the figure occur at the straight corner portions p(1) and p(2), and the angular velocity is a constant value −ω f It has become. That is, the angular velocity changes at the straight corner portion and the circular arc portion show extreme characteristics of a steepest impulse-like change and a constant value with the least change. Therefore, by setting the filtering processing of the angular velocity and the correction gain function so as to obtain an appropriate correction gain for both the straight corner portion and the circular arc portion, an appropriate correction gain can be obtained for an arbitrary trajectory. demand.
まず、図11に示す指令軌跡Gc(3)における円弧状部分、及び、図13に示す指令軌跡Gc(4)における直線コーナ部分Ccでは、図12及び図14に示されるように、円弧の場合であって極端に角速度ωが大きい領域を除けば、何れも、角速度ωの増加に伴い補正ゲインk(ω)は単調増加する。従って、以下の特性を満たすようなフィルタリング処理を、指令軌跡Gcの対して行うことにより、補正ゲイン関数K(ω)を、円弧状の指令軌跡Gc以外の任意の軌跡に拡張することができる。
(1)角速度ωの変化が急峻な場合、フィルタリング処理により、角速度ωの急峻な変化を減少させる。
(2)角速度ωの変化が急峻な場合、フィルタリング処理により、角速度ωの急峻な変化が生じる時刻を中心とした所定の範囲に,角速度ωの変化の影響を広げる。
First, in the arc-shaped portion of the command locus Gc(3) shown in FIG. 11 and the straight corner portion Cc of the command locus Gc(4) shown in FIG. and the correction gain k(ω) monotonously increases with an increase in the angular velocity ω, except for a region where the angular velocity ω is extremely large. Therefore, the correction gain function K(ω) can be extended to any trajectory other than the arcuate command trajectory Gc by performing filtering processing that satisfies the following characteristics on the command trajectory Gc.
(1) When the change in the angular velocity ω is steep, filtering processing is performed to reduce the steep change in the angular velocity ω.
(2) When the change in the angular velocity ω is steep, the filtering process expands the influence of the change in the angular velocity ω to a predetermined range around the time when the sharp change in the angular velocity ω occurs.
一方、指令軌跡Gcにおける円弧状部分の場合、フィルタリング処理が行われた場合でも角速度ωの変化を避ける必要がある。従って、(1)(2)に加えて更に以下の特性を満たすようなフィルタリング処理を、指令軌跡Gcに対して行うことが必要となる。(3)角速度ωの変化が緩やかな場合、フィルタリング処理により角速度ωは大きく変化しない。特に円弧のように一定の角速度ωが所定の範囲(影響が及ぶ時定数範囲)に亘って継続する場合には、フィルタリング処理により角速度ωの値は全く変化しない。 On the other hand, in the case of the arcuate portion of the command locus Gc, it is necessary to avoid changes in the angular velocity ω even when the filtering process is performed. Therefore, in addition to (1) and (2), filtering processing that satisfies the following characteristics must be performed on the command trajectory Gc. (3) When the change in the angular velocity ω is moderate, the filtering process prevents the angular velocity ω from changing greatly. In particular, when a constant angular velocity ω continues over a predetermined range (influenced time constant range) like an arc, the value of the angular velocity ω does not change at all due to the filtering process.
(1)~(3)の条件を満たすフィルタリング処理として、加減速フィルタと同じ時定数を有するローパスフィルタによるフィルタリング処理を実行する。以下、指令軌跡Gcに対するフィルタリング処理時に用いるローパスフィルタを、「角速度フィルタwl」という。ここで適用する角速度フィルタwlは一つの例であり、その重み関数W(t)は以下の式(4-1)により示される。We、βe、Wc、βcはそれぞれ、フィルタの形状を決定するためのパラメータである。
又、上記のパラメータは、もともとの角度変化量(角速度の積分値)を変更しないように、以下の式(4-2)を満たす。
図17は、式(4-2)に基づいて算出された重み関数W(t)の例を示す。重み関数W(t)の形状は、パラメータWe、βe、Wc、βcにより決定される。重み関数W(t)の形状は、移動平均フィルタのように係数一定の形状から、フィルタ中間付近のみ大きな係数を持つような(係数の変化が大きな)形状まで、自由に調整できる。重み関数W(t)の形状を調整することにより、角速度ωの急峻な変化をどの程度減少させてフィルタの時定数範囲に亘ってその影響をどのように広げるかを調整できる。パラメータWe、βe、Wc、βcの調整は、数値計算により行われる。より具体的には、直線コーナ部分Cのなす角度を0度から180度まで変化させた場合において、累積軌跡誤差の平均値が最小となるようなパラメータWe、βe、Wc、βcを数値的に探索することにより調整してよい。 FIG. 17 shows an example of the weighting function W(t) calculated based on Equation (4-2). The shape of the weighting function W(t) is determined by the parameters W e , β e , W c , β c . The shape of the weighting function W(t) can be freely adjusted from a shape with constant coefficients like a moving average filter to a shape with large coefficients only near the middle of the filter (changes in coefficients are large). By adjusting the shape of the weighting function W(t), it is possible to adjust how much the steep changes in the angular velocity ω are reduced and spread out over the filter's time constant range. Adjustment of the parameters W e , β e , W c , β c is performed by numerical calculation. More specifically, the parameters W e , β e , W c , and β c that minimize the average value of the accumulated trajectory errors when the angle formed by the straight corner portion C is changed from 0 degrees to 180 degrees. may be adjusted by numerically searching for
ここでτtは加減速フィルタの時定数と等しい。時定数が等しいとは、加減速フィルタが複数のフィルタにより構成されている場合には、それらすべてのフィルタの時定数を足し合わせた総時定数と等しいことを意味する。 Here, τt is equal to the time constant of the acceleration/deceleration filter. Equal time constant means equal to the total time constant obtained by adding the time constants of all the filters when the acceleration/deceleration filter is composed of a plurality of filters.
なお、角速度フィルタwlの適用後、指令軌跡Gcにおける角速度ωは、補正ゲイン関数K(ω)の入力変数として入力される。これにより、補正ゲインkが最終的に算出される。 After application of the angular velocity filter wl , the angular velocity ω on the command locus Gc is input as an input variable of the correction gain function K(ω). Thereby, the correction gain k is finally calculated.
<主処理>
図18、図19を参照し、主処理について説明する。主処理は、NCプログラムに基づく加工を開始する為の指示が、入力部16を介して入力された場合、ROM32に記憶されたNCプログラムをCPU31が読み出して実行することにより開始される。
<Main processing>
The main processing will be described with reference to FIGS. 18 and 19. FIG. The main process is started by the
図18に示すように、CPU31は、RAM33に記憶した変数i、jに0を設定して初期化する(S11)。CPU31は、必要に応じて(前回の補間が終了した場合)記憶装置34に記憶したNCプログラムから位置指令を順番に1行読み出す(S13)。なお、読み出される位置指令により、制御対象の移動後の位置が規定される。CPU31は、所定の処理周期である補間周期毎に、読み出した位置指令に基づき、予め補間処理を実行する(S15)。補間処理では、移動前の制御対象の位置から移動後の制御対象の位置までの間に亘って延びる指令軌跡Gcの指令位置を、複数の基点pjで補間する。複数の基点pjは、移動前の位置から移動後の位置までの間を制御対象が指令速度で移動する時に、補間周期毎に通過する点である。次にCPU31は、指令軌跡Gcの基点pjにおける接線方向の移動距離sj及び角速度ωjを算出する(S17)。
As shown in FIG. 18, the
CPU31は、補間処理により補間されたpjまでの基点に対して加減速フィルタによるフィルタリング処理を実行し、フィルタ軌跡Gf上のj番目の点^pjを算出する(S19)。
The
CPU31は、算出した移動距離sjを有する仮想的な一次元直線軌跡に対して加減速フィルタによるフィルタリング処理を実行し、^sjを算出する(S21)。又、CPU31は、算出したωjまでの角速度に対して角速度フィルタwl(式(4-2)参照)によるフィルタリング処理を実行し、^ωjを算出する(S23)。
The
CPU31は、式(1-1)を満たす移動距離siがあるか判定する(S25)。CPU31は、式(1-1)を満たす移動距離siがないと判断した場合(S25:NO)、処理をS49(図19参照)に進める。図19に示すように、CPU31は、変数jに1加算して更新する(S49)。CPU31は、記憶装置34に記憶されたNCプログラムの全ての位置指令を、S13(図18参照)の処理によって読み出し、その補間後の最後の基点の補正までを終了したか判定する(S51)。CPU31は、誤差補正を終了していない基点が残っていると判定した場合(S51:NO)、処理をS13(図18参照)に戻す。図18に示すように、CPU31は、更新された変数jに基づき、S13~S23の処理を繰り返す。
The
CPU31は、式(1-1)を満たす移動距離siがあると判断した場合(S25:YES)、処理をS27に進める。CPU31は、式(1-3)にsi、^sj、^sj+1を代入し、^sjと^sj+1との内分係数uを算出する(S27)。CPU31は、処理をS31に進める。
When the
図19に示すように、CPU31は、S27(図18参照)の処理によって算出した内分係数uを式(1-2)に代入し、指令軌跡Gc上の基点piに対応するフィルタ軌跡Gf上の対応点^pj+uを決定する(S31)。CPU31は、基点piから対応点^pj+uまでの方向と距離とを示す誤差ベクトルεiを、次の式(5-1)に基づき算出する(S33)。
CPU31は、S27(図18参照)の処理によって算出した内分係数uを以下の式(5-2)に代入し、フィルタ軌跡Gf上の対応点^pj+uにおける角速度^ωj+uを算出する(S35)。
CPU31は、算出した角速度^ωj+uを式(3-2)に代入し、補正ゲインkiを算出する(S37)。CPU31は、算出した補正ゲインkiを、S33の処理により算出した誤差ベクトルεiに乗算して方向を反転させることにより、補正ベクトル-kiεiを算出する(S39)。
The
CPU31は、指令軌跡Gc上の基点piの位置を、S39の処理により算出した補正ベクトル-kiεiに基づいて移動させた点qiを算出する(S41)。なお、点qiを通過する軌跡は、補正軌跡Ghに対応する。このため以上の処理により、指令軌跡Gcは補正軌跡Ghに補正される。
The
CPU31は、算出したqiまでの点に対して加減速フィルタによるフィルタリング処理を実行する(S43)。CPU31は、フィルタリング後の点^qiの位置を示す位置指令に基づき、制御対象を駆動する(S45)。CPU31は、変数iに1加算して更新する(S47)。CPU31は、変数jに1加算して更新する(S49)。CPU31は、最後の基点まで補正及び制御処理を終了したか判定する(S51)。CPU31は、処理していない基点が残っていると判定した場合(S51:NO)、処理をS13(図18参照)に戻す。
The
CPU31は、S13(図18参照)の処理によって、最後の基点まで処理を終了したと判定した場合(S51:YES)、主処理を終了させる。
When the
<評価結果>
上記のように駆動する工作機械1の性能評価を、実験により行った。工作機械1の基台2を駆動するX軸モータ53及びY軸モータ54に取り付けたエンコーダ53B、54Bの出力信号を記録し、テーブル13の位置、速度、及び、指令軌跡Gcに対するフィルタ軌跡Gf、Gf´の誤差を評価した。又、図20に示すように、工作機械1のテーブル13にX軸方向に振動する梁とY軸方向に振動する梁を設け、且つ、各梁に加速度計を取り付けてX軸方向及びY軸方向の振動を測定し、振動抑制効果も評価した。図21は、X軸方向に振動する梁に設けられた加速度計により検出された共進周波数10.6Hz、及び、Y軸方向に振動する梁に設けられた加速度計により検出された共進周波数7.86Hzの振動を示す。
<Evaluation results>
Performance evaluation of the
評価では、2段の加減速フィルタが用いられた。2段の加減速フィルタの夫々の時定数は指令軌跡Gcに適用する場合と補正軌跡Ghに適用する場合で共通とした。時定数は、2つの梁の夫々の共振周波数の振動を抑制するように、94(≒1000/10.6)msec、及び127(≒1000/7.86)msecとした。角速度フィルタは、累積軌跡誤差を最小化するパラメータを数値探索して求めることにより、図22に示す形状の重み関数を持つローパスフィルタとした。位置指令における制御対象(基台2)の速度は、6000mm/minとした。図23は、累積軌跡誤差の測定結果を示す。 A two-stage acceleration/deceleration filter was used in the evaluation. The time constants of the two-stage acceleration/deceleration filters are common to the case of application to the command locus Gc and the case of application to the correction locus Gh. The time constants were set to 94 (≈1000/10.6) msec and 127 (≈1000/7.86) msec so as to suppress the vibration of the resonance frequencies of the two beams. As the angular velocity filter, a low-pass filter having a weighting function having a shape shown in FIG. 22 was obtained by numerically searching for a parameter that minimizes the cumulative trajectory error. The speed of the controlled object (base 2) in the position command was set to 6000 mm/min. FIG. 23 shows the measurement results of the cumulative trajectory error.
<評価結果1>
直線コーナ部分Cdを有する指令軌跡Gc(6)について評価した。図24は、指令軌跡Gc(6)、指令軌跡Gc(6)に加減速フィルタを適用したフィルタ軌跡Gf(6)、及び、指令軌跡Gc(6)を補正した補正軌跡Ghに加減速フィルタを適用したフィルタ軌跡Gf(6)´を示す。図25は、指令軌跡Gc(6)に対するフィルタ軌跡Gf(6)、Gf(6)´の夫々の誤差を示す。図26は、フィルタ軌跡Gf(6)、Gf(6)´の夫々に沿って移動する制御対象の速度を示す。図27は、梁の振動周波数の解析結果を示す。
<
A command locus Gc(6) having a straight corner portion Cd was evaluated. FIG. 24 shows a command trajectory Gc(6), a filtered trajectory Gf(6) obtained by applying an acceleration/deceleration filter to the command trajectory Gc(6), and a corrected trajectory Gh obtained by correcting the command trajectory Gc(6) applying an acceleration/deceleration filter. The applied filter locus Gf(6)' is shown. FIG. 25 shows respective errors of the filter trajectories Gf(6) and Gf(6)' with respect to the command trajectory Gc(6). FIG. 26 shows the velocity of the controlled object moving along the filter loci Gf(6) and Gf(6)', respectively. FIG. 27 shows the analysis result of the vibration frequency of the beam.
図24(A)に示す結果から、フィルタ軌跡Gf(6)´のうち直線コーナ部分Cdの近傍では、指令軌跡Gc(6)に対して外側に配置されることが分かった。又、図25に示す結果から、指令軌跡Gc(6)との間の誤差は、フィルタ軌跡Gf(6)よりもフィルタ軌跡Gf(6)´の方が小さくなることが明らかとなった。又、図23に示す結果から、フィルタ軌跡Gf(6)における累積軌跡誤差21.65mm2は、フィルタ軌跡Gf(6)´において11.37mm2まで減少することが確認された。又、図26に示す結果から、フィルタ軌跡Gf(6)´において速度が6000mm/minから僅かに超過する箇所があるものの、接線方向速度が0になる時間、すなわち移動が完了するタイミングは補正前後で変わらず、サイクルタイムは補正により増加しないことがわかった。又、図27に示す結果から、フィルタ軌跡Gf(6)、フィルタ軌跡Gf(6)´の何れの場合も、同程度に振動成分が小さく、十分な振動抑制効果があることが分かった。 From the results shown in FIG. 24(A), it was found that the filter locus Gf(6)' near the straight corner portion Cd is arranged outside the command locus Gc(6). Also, from the results shown in FIG. 25, it has been clarified that the error between the commanded trajectory Gc(6) and the filtered trajectory Gf(6)' is smaller than that of the filtered trajectory Gf(6). Further, from the results shown in FIG. 23, it was confirmed that the accumulated trajectory error of 21.65 mm 2 in the filter trajectory Gf(6) decreased to 11.37 mm 2 in the filter trajectory Gf(6)'. Further, from the results shown in FIG. 26, although there is a portion where the speed slightly exceeds 6000 mm/min in the filter locus Gf(6)', the time when the tangential direction speed becomes 0, that is, the timing at which the movement is completed is before and after the correction. , and the cycle time did not increase with the correction. Further, from the results shown in FIG. 27, it was found that both the filter locus Gf(6) and the filter locus Gf(6)' had a similarly small vibration component and a sufficient vibration suppression effect.
以上から、本実施形態で説明した方法で指令軌跡Gc(6)を補正してフィルタ軌跡Gf(6)´を導出することにより、振動の抑制効果を損なわず、且つ、サイクルタイムも変化させずに、指令軌跡Gc(6)との間の誤差を低減させることが可能であることが分かった。 From the above, by correcting the command trajectory Gc(6) and deriving the filter trajectory Gf(6)' by the method described in this embodiment, the effect of suppressing vibration is not impaired and the cycle time is not changed. In addition, it has been found that it is possible to reduce the error from the command locus Gc(6).
<評価結果2>
円弧状の部分を含む指令軌跡Gc(7)について評価した。図28は、指令軌跡Gc(7)、指令軌跡Gc(7)に加減速フィルタを適用したフィルタ軌跡Gf(7)、及び、指令軌跡Gc(7)を補正した補正軌跡Gh(7)に加減速フィルタを適用したフィルタ軌跡Gf(7)´を示す。図29は、指令軌跡Gc(7)に対するフィルタ軌跡Gf(7)、Gf(7)´の夫々の誤差を示す。図30は、フィルタ軌跡Gf(7)、Gf(7)´の夫々に沿って移動する制御対象の速度を示す。
<
The command trajectory Gc(7) including an arc-shaped portion was evaluated. FIG. 28 shows a command trajectory Gc(7), a filtered trajectory Gf(7) obtained by applying an acceleration/deceleration filter to the command trajectory Gc(7), and a corrected trajectory Gh(7) obtained by correcting the command trajectory Gc(7). A filter locus Gf(7)' to which the deceleration filter is applied is shown. FIG. 29 shows the error of each of the filter trajectories Gf(7) and Gf(7)' with respect to the command trajectory Gc(7). FIG. 30 shows the velocity of the controlled object moving along the filter loci Gf(7) and Gf(7)', respectively.
図28、図29に示す結果から、指令軌跡Gc(7)との間の誤差は、フィルタ軌跡Gf(7)よりもフィルタ軌跡Gf(7)´の方が小さくなることが明らかとなった。特に指令軌跡Gc(7)が円弧状の範囲W7では、指令軌跡Gc(7)とフィルタ軌跡Gf(7)´との間の誤差がほぼ0となっていることが確認された。又、図23に示す結果から、軌跡全体で累積軌跡誤差が20.2%まで減少することが確認された。又、図30に示す結果から、フィルタ軌跡Gf(7)´の速度が指令軌跡Gc(7)の速度に対して僅かに超過する箇所があるものの、補正前のフィルタ軌跡Gf(7)の速度に対してほとんど変化しないことが分かった。 From the results shown in FIGS. 28 and 29, it is clear that the error between the commanded trajectory Gc(7) and the filtered trajectory Gf(7)' is smaller than that of the filtered trajectory Gf(7). In particular, it was confirmed that the error between the command trajectory Gc(7) and the filter trajectory Gf(7)' was almost zero in the arcuate range W7 of the command trajectory Gc(7). Also, from the results shown in FIG. 23, it was confirmed that the cumulative trajectory error was reduced to 20.2% over the entire trajectory. Further, from the results shown in FIG. 30, although there are places where the velocity of the filter locus Gf(7)' slightly exceeds the velocity of the command locus Gc(7), the velocity of the filter locus Gf(7) before correction is It was found that there was almost no change in
以上から、本実施形態で説明した方法で指令軌跡Gc(7)を補正してフィルタ軌跡Gf(7)´を導出することにより、指令軌跡Gc(7)との間の誤差を大幅に減少することができ、特に円弧状の範囲では誤差をほぼ0にできることが分かった。 From the above, by correcting the command trajectory Gc(7) and deriving the filter trajectory Gf(7)' by the method described in this embodiment, the error between the command trajectory Gc(7) and the command trajectory Gc(7) can be greatly reduced. It was found that the error can be reduced to almost 0, especially in the arc-shaped range.
<評価結果3>
微小な長さの直線軌跡の連続で構成される複雑な指令軌跡Gc(8)について評価した。指令軌跡Gc(8)は、長さ1mmの短い直線のみで構成され、座標(0,0)から反時計回りに一周する。図31は、指令軌跡Gc(8)、指令軌跡Gc(8)に加減速フィルタを適用したフィルタ軌跡Gf(8)、及び、指令軌跡Gc(8)を補正した補正軌跡Gh(8)に加減速フィルタを適用したフィルタ軌跡Gf(8)´を示す。図32は、指令軌跡Gc(8)に対するフィルタ軌跡Gf(8)、Gf(8)´の夫々の誤差を示す。図33は、フィルタ軌跡Gf(8)、Gf(8)´の夫々に沿って移動する制御対象の速度を示す。
<
A complex command trajectory Gc(8) composed of a series of linear trajectories of minute length was evaluated. The command trajectory Gc(8) consists of only a short straight line with a length of 1 mm and goes around counterclockwise from coordinates (0, 0). FIG. 31 shows a command trajectory Gc(8), a filtered trajectory Gf(8) obtained by applying an acceleration/deceleration filter to the command trajectory Gc(8), and a corrected trajectory Gh(8) obtained by correcting the command trajectory Gc(8). A filter locus Gf(8)' to which the deceleration filter is applied is shown. FIG. 32 shows the error of each of the filter trajectories Gf(8) and Gf(8)' with respect to the command trajectory Gc(8). FIG. 33 shows the velocity of the controlled object moving along the filter loci Gf(8) and Gf(8)', respectively.
図31、図32に示す結果から、指令軌跡Gc(8)との間の誤差は、フィルタ軌跡Gf(8)よりもフィルタ軌跡Gf(8)´の方が小さくなることが明らかとなった。又、図23に示す結果から、軌跡全体で累積軌跡誤差が44.8%まで減少することが確認された。又、図33に示す結果から、フィルタ軌跡Gf(8)´の速度は、指令軌跡Gc(8)の速度に対して僅かに増加する箇所があるのみで、補正前のフィルタ軌跡Gf(8)の速度に比べ、全体として元の指令速度6000m/minに近くなることが分かった。 From the results shown in FIGS. 31 and 32, it is clear that the error between the commanded trajectory Gc(8) and the filtered trajectory Gf(8)' is smaller than that of the filtered trajectory Gf(8). Also, from the results shown in FIG. 23, it was confirmed that the cumulative trajectory error was reduced to 44.8% over the entire trajectory. Further, from the results shown in FIG. 33, the velocity of the filter locus Gf(8)' only slightly increases with respect to the velocity of the command locus Gc(8). It was found that the overall speed was close to the original command speed of 6000 m/min compared to the speed of .
以上から、本実施形態で説明した方法で指令軌跡Gc(8)を補正してフィルタ軌跡Gf(8)´を導出することにより、サイクルタイムも変化させずに、指令軌跡Gc(8)との間の誤差を低減させることが可能であることが分かった。 From the above, by correcting the command trajectory Gc(8) and deriving the filter trajectory Gf(8)′ by the method described in this embodiment, the command trajectory Gc(8) can be corrected without changing the cycle time. It was found that it is possible to reduce the error between
<本実施形態の作用、効果>
数値制御装置30は、指令軌跡Gc上の基点p毎に、誤差ベクトルεと補正ゲインkとを算出する(S33、S37)。数値制御装置30は、算出した誤差ベクトルεと補正ゲインkとを基点pの夫々に適用して指令軌跡Gcを補正する(S41)。数値制御装置30は、補正された指令軌跡Gcである補正軌跡Ghを加減速フィルタによりフィルタリングしてフィルタ軌跡Gf´を算出し、フィルタ軌跡Gf´に基づき制御対象を制御する。この場合、数値制御装置30は、元の指令軌跡Gcの形状と移動速度によって決まる角速度に応じて適切に、指令軌跡Gcとフィルタ軌跡Gf´とを近似させることができる。従って数値制御装置30は、指令軌跡Gcを加減速フィルタによりフィルタリングして制御対象を制御する場合において、実際の制御対象の移動軌跡(フィルタ軌跡Gf´)と、元の指令軌跡Gcとの誤差を精度良く抑制できる。
<Actions and effects of the present embodiment>
The
数値制御装置30は、位置指令により規定される二つの位置の間に亘って延びる指令軌跡Gc上に、複数の基点pを補間する(S15)。従って、数値制御装置30は、より多くの点を用いて指令軌跡Gcを補正することができるので、実際の制御対象の移動軌跡に対応するフィルタ軌跡Gf´と、元の指令軌跡Gcとの誤差を精度良く抑制できる。
The
数値制御装置30は、指令軌跡Gcの基点pにおける接線方向の移動距離sを算出する(S17)。数値制御装置30は、算出した移動距離sと、移動距離sを有する仮想的な一次元直線軌跡に対して加減速フィルタによるフィルタリングを行った結果である^sとに基づき、基点pに対応するフィルタ軌跡Gf上の対応点^pを決定する(S31)。この場合、数値制御装置30は、指令軌跡Gc上の基点pそれぞれに対応するフィルタ軌跡Gf上の点として、対応点^pを精度良く決定できる。
The
数値制御装置30は、指令軌跡Gcの基点pにおける接線方向の角速度ωを算出する(S17)。算出した角速度ωに基づき、補正ゲインkを算出する(S37)。この場合、数値制御装置30は、指令軌跡Gc上の基点p毎に最適な補正ゲインkを、角速度ωに基づいて算出できる。
The
数値制御装置30は、角速度ωを式(3-2)に代入することにより、補正ゲインkを算出する(S37)。ここで、式(3-2)は、角速度ωがωtよりも大きい領域(発散領域)において、包絡線関数Heを適用することにより導出されている。即ち、数値制御装置30は、円弧状の指令軌跡Gcにフィルタ軌跡Gfを一致させることが可能な補正ゲインkを、角速度毎にプロットしたグラフの包絡線(図16参照)に指令軌跡Gcから算出した角速度ωを適用することで、補正ゲインkを算出している。従って、数値制御装置30は、角速度ωの値に応じて、指令軌跡Gc上の基点p毎に最適な補正ゲインkを算出できる。
The
数値制御装置30は、算出した角速度ωに対し、加減速フィルタと同じ時定数を有する角速度フィルタによりフィルタリング処理を行う(S23)。数値制御装置30は、フィルタリング処理を行った角速度に基づき、補正ゲインkを算出する(S37)。これにより数値制御装置30は、角速度ωの瞬時変化が大きい場合でも、最適な補正ゲインkを算出できる。
The
<変形例>
本発明は上記実施形態に限定されず、種々の変更が可能である。上記の主処理は、数値制御装置30において実行される場合に限定されず、例えば工作機械1により実行されてもよいし、工作機械1に接続するPCにより実行されてもよい。
<Modification>
The present invention is not limited to the above embodiments, and various modifications are possible. The main process described above is not limited to being executed by the
数値制御装置30がS19、S21でフィルタリング処理を行う時に用いるフィルタは、移動平均フィルタに限定されず、他の周知のフィルタが用いられてもよい。数値制御装置30は、S15における補間処理を行わず、位置指令が規定する位置を基点として対応点を特定してもよい。
The filter used when the
S31における対応点の決定方法については、上記実施形態に限定されず、他の方法が用いられてもよい。例えば数値制御装置30は、基点pの位置を示す座標情報に対して加減速フィルタによるフィルタリング後の対応点を解析的に求め(例えば加減速フィルタとして1段の移動平均フィルタを用いる場合、式(1-4)(1-5)に式(1-1)~(1-3)を代入し,jとuについて解析的に解くことが可能である)、その結果に基づいて対応点を決定してもよい。
The method of determining corresponding points in S31 is not limited to the above embodiment, and other methods may be used. For example, the
S37における補正ゲインの算出方法については、上記実施形態に限定されず、他の方法が用いられてもよい。例えば数値制御装置30は、指令軌跡Gcの形状と速度に応じて定められた補正ゲイン関数を、指令軌跡Gc毎に予め記憶し、対応する補正ゲイン関数を用いることで補正ゲインを決定してもよい。この場合、補正ゲインの決定時に角速度ωは用いられなくてもよい。
The method of calculating the correction gain in S37 is not limited to the above embodiment, and other methods may be used. For example, the
数値制御装置30は、包絡線関数Heを適用することにより導出された補正ゲイン関数K(ω)を用いて補正ゲインを算出した。これに対し、数値制御装置30は、包絡線関数Heを適用する以外の方法、例えば補正ゲイン関数K(ω)が発散しないように最大値を設定するなどの方法を用いて補正ゲインを算出してもよい。
The
数値制御装置30は、S23で角速度フィルタにより角速度ωをフィルタリング処理し、その結果に基づいて補正ゲインを算出した。これに対して数値制御装置30は、角速度フィルタを用いず、例えば指令軌跡に対して加減速フィルタを適用後のフィルタ軌跡^pに沿って変化する角速度を求め、これを用いて補正ゲインを算出してもよい。
S45において、速度が予め定められた限界の速度を超えることがある。図34、図35は、限界の速度を超えないようにする変形例のフローチャートである。図18、図19と同一符号は同じ処理のため説明を省略する。
CPU31は、RAM33に記憶した変数i、j、k、lに0を設定し、且つ後述する先読みリストを空にして変数と先読みリストを初期化する(S111)。iは主処理における着目する基点であり、jは先読み中の基点、kはNCプログラムの先読み中の指令ブロックcのインデックス、lはカウンタを表す。先頭のインデックスは0となる。CPU31は、記憶装置34に記憶したNCプログラムから指令ブロックckを読み出す。NCプログラムは、指令位置と指令速度を含む。CPU31は、指令ブロックckを先読みリストに追加してRAM33に記憶する(S113)。CPU31は、RAM33に記憶された先読みリストに蓄えられた指令ブロックのすべてについて、補間処理を実行する(S115)。補間処理では、移動前の制御対象の位置から移動後の制御対象の位置までの間に亘って延びる指令軌跡Gc上の指令位置を、複数の基点pjで補間する。複数の基点pjは、移動前の位置から移動後の位置までの間を制御対象が指令速度で移動する時に、所定の補間周期毎に通過する点である。CPU31は、それぞれの基点pjを補間前の指令ブロックのインデックスと関連付けてRAM33に記憶する。次にCPU31は、S17からS23を実行し、^sj≦si+f/2≦^sj+1を満たす移動距離^sj+1を算出済みか判定する(S125)。フィルタの時定数を基点の数で表したfは、時定数の合計τt/制御周期=fにより算出される。つまり、フィルタリング処理にはf個の基点が必要である。^sj+1を算出済みの場合(S125:YES)、CPU31は、変数lにi-f/2を代入し(S127)、処理をS128に移行する。何故なら、指令ブロックの先読みリストにはこの後補正ベクトルki+f/2εi+f/2の算出に必要となるだけの指令ブロックが蓄えられている為である。CPU31は、移動距離^sj+1が算出済みでないと判断した場合(S125:NO)、変数kに1加算して(S126)、処理をS113に戻す。S128において、CPU31は式(1-3)にsi、^sj、^sj+1を代入し、^sjと^sj+1との内分係数uを算出する。ただし、式(1-3)の変数iは変数lに変更する。その後、内分係数uを式(1-2)に代入し、指令軌跡Gc上の基点plに対応するフィルタ軌跡Gf上の対応点^pj+uを決定する(S132)。CPU31は、基点plから対応点^pj+uまでの方向と距離とを示す誤差ベクトルεlを式(5-1)に基づき算出する(S133)。CPU31は、内分係数uを式(5-2)に代入し、フィルタ軌跡Gf上の対応点^pj+uにおける角速度^ωj+uを算出する(S135)。CPU31は、算出した角速度^ωj+uを式(3-2)に代入し、補正ゲインklを算出する(S137)。CPU31は、算出した補正ゲインklを、S133の処理により算出した誤差ベクトルεlに乗算して方向を反転させることにより、補正ベクトル-klεlを算出する(S139)。CPU31は、指令軌跡Gc上の基点plの位置を、S139の処理により算出した補正ベクトル-klεlに基づいて移動させた点qlを算出する(S141)。
CPU31はS141を実行後、変数lがi+f/2となるか否かを判定する(S142)。変数l=i+f/2の時(S142:YES)、CPU31は処理をS144に進める。変数lがi+f/2とならない時(S142:NO)、CPU31は変数lに1を加算して処理をS128に戻す。CPU31は、算出したqi-f/2からqi+f/2までの点に対して加減速フィルタによるフィルタリング処理を実行し^qiを算出する(S144)。その後、CPU31はi=0か否かを判定し(S145)、i=0の場合(S145:YES)、処理を後述するS149に移行する。CPU31がi=0ではないと判定した場合(S145:NO)、フィルタリング後の基点^qiの位置を示す指令ブロックと^qi-1の指令ブロックの差分から^qiの速度を算出し(S146)、算出した^qiの速度がpi-f/2に関連づけて記憶された指令ブロックcm(mは指令ブロックのインデックス)の指令速度を超えているか判定する(S147)。CPU31は、^qiの速度が指令速度を超えていると判定した場合(S147:YES)、「指令ブロックcmの指令速度/^qiの速度」を算出し、算出した結果を指令速度に変更し(S148)、処理をS115に移行する。従って、先読みリストに記憶された全ての指令ブロックは指令速度以下となる。^qiの速度が指令速度を超えていないと判定した場合(S147:NO)、CPU31は、フィルタリング後の点^qiの位置を示す指令ブロックに基づき、制御対象を駆動する。pi-fに関連付けて記憶された指令ブロックcmについて、指令ブロックcm-2が指令ブロックの先読みリストに含まれている場合、CPU31は該指令ブロックを削除する(S149)。CPU31は、最後の基点まで補正及び制御処理を終了したか判定する(S151)。CPU31は、処理していない基点が残っていると判定した場合(S151:NO)、処理をS113に戻す。CPU31は、最後の基点まで処理を終了したと判定した場合(S151:YES)、主処理を終了させる。数値制御装置30は、同様の手法を用いて、加速度が元の指令加速度を超えている場合に指令加速度を超えないように補正を行っても良い。
The
At S45, the speed may exceed a predetermined limit speed. FIGS. 34 and 35 are flow charts of modifications to prevent the speed limit from being exceeded. 18 and 19 denote the same processing, so description thereof will be omitted.
The
After executing S141, the
<その他>
S13の処理を行うCPU31は、本発明の「取得部」の一例である。加減速フィルタは、本発明の「第一フィルタ」の一例である。S19及びS21の処理を行うCPU31は、本発明の「第一フィルタリング部」の一例である。S31の処理を行うCPU31は、本発明の「決定部」の一例である。S33の処理を行うCPU31は、本発明の「ベクトル算出部」の一例である。S37の処理を行うCPU31は、本発明の「ゲイン算出部」の一例である。S41の処理を行うCPU31は、本発明の「軌跡補正部」の一例である。S15の処理を行うCPU31は、本発明の「補間部」の一例である。S17の処理を行うCPU31は、本発明の「距離算出部」「角速度算出部」の一例である。角速度フィルタは、本発明の「第二フィルタ」の一例である。S23の処理を行うCPU31は、本発明の「第二フィルタリング部」の一例である。S13の処理は、本発明の「取得工程」の一例である。S21の処理は、本発明の「第一フィルタリング工程」の一例である。S31の処理は、本発明の「決定工程」の一例である。S33の処理は、本発明の「ベクトル算出工程」の一例である。S37の処理は、本発明の「ゲイン算出工程」の一例である。S41の処理は、本発明の「軌跡補正工程」の一例である。S144の処理を行うCPU31は、本発明の「第三フィルタリング部」の一例である。S146の処理を行うCPU31は、本発明の「速度算出部」の一例である。S147
の処理を行うCPU31は、本発明の「速度判定部」の一例である。S148の処理を行うCPU31は、本発明の「速度変更部」の一例である。
<Others>
CPU31 which processes S13 is an example of the "acquisition part" of the present invention. The acceleration/deceleration filter is an example of the "first filter" of the present invention. CPU31 which processes S19 and S21 is an example of the "first filtering part" of the present invention. CPU31 which processes S31 is an example of the "decision part" of the present invention. CPU31 which processes S33 is an example of the "vector calculation part" of the present invention. CPU31 which processes S37 is an example of the "gain calculation part" of the present invention. CPU31 which processes S41 is an example of the "trajectory correction part" of the present invention. CPU31 which processes S15 is an example of the "interpolation part" of the present invention. The
is an example of the "speed determination section" of the present invention. CPU31 which processes S148 is an example of the "speed change part" of the present invention.
1 :工作機械
4 :工具
13 :テーブル
30 :数値制御装置
31 :CPU
1: machine tool 4: tool 13: table 30: numerical controller 31: CPU
Claims (11)
前記取得部が取得した前記指令により前記制御対象が移動する時の移動軌跡である指令軌跡に対して第一フィルタを適用する第一フィルタリング部と、
前記指令軌跡上の点である基点に対応する点として、前記指令軌跡に対して前記第一フィルタリング部により前記第一フィルタを適用した結果であるフィルタ軌跡上の対応点を決定する決定部と、
前記基点の夫々から、前記決定部が決定した対応する前記対応点の夫々までの距離と方向を示す誤差ベクトルを、前記基点毎に算出するベクトル算出部と、
前記ベクトル算出部により算出した前記誤差ベクトルに対応するゲインを、前記基点毎に算出するゲイン算出部と、
前記ベクトル算出部により算出した前記誤差ベクトルと、前記ゲイン算出部により算出した前記ゲインとを、対応する前記基点に適用することで、前記指令軌跡を補正する軌跡補正部と、
を備えたことを特徴とする数値制御装置。 an acquisition unit that acquires a command for moving a controlled object that is at least one of a machine tool table and a tool;
a first filtering unit that applies a first filter to a command trajectory, which is a movement trajectory when the controlled object moves according to the command acquired by the acquisition unit;
a determination unit that determines a corresponding point on the filtered trajectory, which is a result of applying the first filter to the commanded trajectory by the first filtering unit, as a point corresponding to a base point that is a point on the commanded trajectory;
a vector calculation unit for calculating, for each base point, an error vector indicating the distance and direction from each of the base points to each of the corresponding corresponding points determined by the determination unit;
a gain calculation unit that calculates, for each base point, a gain corresponding to the error vector calculated by the vector calculation unit;
a trajectory correction unit that corrects the command trajectory by applying the error vector calculated by the vector calculation unit and the gain calculated by the gain calculation unit to the corresponding base points;
A numerical control device comprising:
前記取得部により取得した前記指令が規定する前記少なくとも二つの位置の間を前記取得部が取得した指令速度で前記制御対象が移動するときに、前記工作機械の制御周期毎に通過する点を、前記基点として補間する補間部を更に備え、
前記第一フィルタリング部は、
前記補間部により補間された前記基点を経由する前記指令軌跡に対して前記第一フィルタを適用することを特徴とする請求項1に記載の数値制御装置。 the command defines at least two positions of the controlled object;
A point that passes through each control cycle of the machine tool when the controlled object moves between the at least two positions defined by the command acquired by the acquiring unit at the command speed acquired by the acquiring unit, Further comprising an interpolation unit that interpolates as the base point,
The first filtering unit is
2. The numerical controller according to claim 1, wherein said first filter is applied to said command locus passing through said base point interpolated by said interpolator.
前記第一フィルタリング部は、
前記距離算出部により算出した前記移動距離に基づく一次元軌跡に対して前記第一フィルタを適用し、
前記決定部は、
前記第一フィルタを適用した前記移動距離に基づく前記一次元軌跡を利用して、前記基点に対応する前記対応点を決定することを特徴とする請求項2に記載の数値制御装置。 further comprising a distance calculation unit for calculating a movement distance in a tangential direction at the reference point interpolated by the interpolation unit based on the commanded trajectory;
The first filtering unit is
Applying the first filter to a one-dimensional trajectory based on the movement distance calculated by the distance calculation unit,
The decision unit
3. The numerical controller according to claim 2, wherein the one-dimensional trajectory based on the movement distance to which the first filter is applied is used to determine the corresponding point corresponding to the base point.
前記ゲイン算出部は、
前記角速度算出部により算出した前記角速度に基づき、前記ゲインを算出することを特徴とする請求項2に記載の数値制御装置。 further comprising an angular velocity calculator that calculates an angular velocity at the reference point interpolated by the interpolator based on the commanded trajectory;
The gain calculation unit
3. The numerical controller according to claim 2, wherein the gain is calculated based on the angular velocity calculated by the angular velocity calculator.
前記指令軌跡が円弧状である時に前記フィルタ軌跡を前記指令軌跡と一致させることが可能な前記ゲインと前記角速度との関係に基づいて規定される関数を、前記角速度算出部により算出した前記角速度に適用することで、前記ゲインを前記角速度毎に算出することを特徴とする請求項4に記載の数値制御装置。 The gain calculation unit
A function defined based on the relationship between the gain and the angular velocity that allows the filter trajectory to match the command trajectory when the command trajectory is circular is applied to the angular velocity calculated by the angular velocity calculator. 5. The numerical controller according to claim 4, wherein the gain is calculated for each of the angular velocities by applying.
前記ゲインが前記角速度毎にプロットされたグラフの包絡線を示すことを特徴とする請求項5に記載の数値制御装置。 The function is
6. A numerical controller according to claim 5, wherein said gain indicates an envelope of a graph plotted for each angular velocity.
前記ゲイン算出部は、
前記第二フィルタリング部により前記第二フィルタを適用した後の角速度に基づき、前記ゲインを算出することを特徴とする請求項4から6の何れかに記載の数値制御装置。 A second filtering unit that applies a second filter having the same time constant as the first filter to the angular velocity calculated by the angular velocity calculating unit,
The gain calculation unit
7. The numerical controller according to claim 4, wherein the gain is calculated based on the angular velocity after applying the second filter by the second filtering unit.
前記第三フィルタリング部でフィルタリング処理した後の基点対応する点の速度を算出する速度算出部と、
前記速度算出部が算出した速度が前記指令速度を超えるか否かを判定する速度判定部と、
前記速度算出部が算出した速度が前記指令速度を超えると前記速度判定部が判定したとき、前記速度算出部が算出した速度を前記指令速度以下に変更する速度変更部とを更に備えたことを特徴とする請求項2から6の何れかに記載の数値制御装置。 a third filtering unit that applies the first filter to points on the corrected trajectory corrected by the trajectory correcting unit;
a speed calculation unit that calculates the speed of the point corresponding to the base point after filtering processing by the third filtering unit;
a speed determination unit that determines whether the speed calculated by the speed calculation unit exceeds the command speed;
and a speed change unit for changing the speed calculated by the speed calculation unit to be equal to or less than the command speed when the speed determination unit determines that the speed calculated by the speed calculation unit exceeds the command speed. 7. A numerical controller according to any one of claims 2 to 6.
前記第三フィルタリング部でフィルタリング処理した後の基点対応する点の速度を算出する速度算出部と、
前記速度算出部が算出した速度が前記指令速度を超えるか否かを判定する速度判定部と、
前記速度算出部が算出した速度が前記指令速度を超えると前記速度判定部が判定したとき、前記速度算出部が算出した速度を前記指令速度以下に変更する速度変更部とを更に備えたことを特徴とする請求項7に記載の数値制御装置。 a third filtering unit that applies the first filter to points on the corrected trajectory corrected by the trajectory correcting unit;
a speed calculation unit that calculates the speed of the point corresponding to the base point after filtering processing by the third filtering unit;
a speed determination unit that determines whether the speed calculated by the speed calculation unit exceeds the command speed;
and a speed change unit for changing the speed calculated by the speed calculation unit to be equal to or less than the command speed when the speed determination unit determines that the speed calculated by the speed calculation unit exceeds the command speed. 8. A numerical controller according to claim 7.
前記取得工程が取得した前記指令により前記制御対象が移動する時の移動軌跡である指令軌跡に対して第一フィルタを適用する第一フィルタリング工程と、
前記指令軌跡上の点である基点に対応する点として、前記指令軌跡に対して前記第一フィルタリング工程により前記第一フィルタを適用した結果であるフィルタ軌跡上の対応点を決定する決定工程と、
前記基点の夫々から、対応する前記対応点の夫々までの距離と方向を示す誤差ベクトルを、前記基点毎に算出するベクトル算出工程と、
前記ベクトル算出工程により算出した前記誤差ベクトルに対応するゲインを、前記基点毎に算出するゲイン算出工程と、
前記ベクトル算出工程により算出した前記誤差ベクトルと、前記ゲイン算出工程により算出した前記ゲインとを、対応する前記基点に適用することで、前記指令軌跡を補正する軌跡補正工程と、
を備えたことを特徴とする数値制御方法。 an acquiring step of acquiring a command for moving a controlled object, which is at least one of a machine tool table and a tool;
a first filtering step of applying a first filter to a command trajectory, which is a movement trajectory when the controlled object moves according to the command acquired by the acquiring step;
a determining step of determining a corresponding point on the filtered trajectory, which is the result of applying the first filter to the commanded trajectory in the first filtering step, as a point corresponding to a base point that is a point on the commanded trajectory;
a vector calculation step of calculating, for each of the base points, an error vector indicating the distance and direction from each of the base points to each of the corresponding corresponding points;
a gain calculation step of calculating, for each base point, a gain corresponding to the error vector calculated by the vector calculation step;
a trajectory correction step of correcting the command trajectory by applying the error vector calculated by the vector calculation step and the gain calculated by the gain calculation step to the corresponding base points;
A numerical control method comprising:
前記取得工程が取得した前記指令により前記制御対象が移動する時の移動軌跡である指令軌跡に対して第一フィルタを適用する第一フィルタリング工程と、
前記指令軌跡上の基点に対応する点として、前記指令軌跡に対して前記第一フィルタリング工程により前記第一フィルタを適用した結果であるフィルタ軌跡上の対応点を決定する決定工程と、
前記基点の夫々から、対応する前記対応点の夫々までの距離と方向を示す誤差ベクトルを、前記基点毎に算出するベクトル算出工程と、
前記ベクトル算出工程により算出した前記誤差ベクトルに対応するゲインを、前記基点毎に算出するゲイン算出工程と、
前記ベクトル算出工程により算出した前記誤差ベクトルと、前記ゲイン算出工程により算出した前記ゲインとを、対応する前記基点に適用することで、前記指令軌跡を補正する軌跡補正工程と、
を、コンピュータに実行させる為の数値制御プログラムを記憶した記憶媒体。
an acquiring step of acquiring a command for moving a controlled object, which is at least one of a machine tool table and a tool;
a first filtering step of applying a first filter to a command trajectory, which is a movement trajectory when the controlled object moves according to the command acquired by the acquiring step;
a determining step of determining, as a point corresponding to the base point on the commanded trajectory, a corresponding point on the filtered trajectory that is the result of applying the first filter to the commanded trajectory in the first filtering step;
a vector calculation step of calculating, for each of the base points, an error vector indicating the distance and direction from each of the base points to each of the corresponding corresponding points;
a gain calculation step of calculating, for each base point, a gain corresponding to the error vector calculated by the vector calculation step;
a trajectory correction step of correcting the command trajectory by applying the error vector calculated by the vector calculation step and the gain calculated by the gain calculation step to the corresponding base points;
A storage medium storing a numerical control program for causing a computer to execute
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022025743 | 2022-02-22 | ||
JP2022025743 | 2022-02-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023122566A true JP2023122566A (en) | 2023-09-01 |
Family
ID=87799075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023024980A Pending JP2023122566A (en) | 2022-02-22 | 2023-02-21 | Numerical control device, numerical control method, and storage medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023122566A (en) |
-
2023
- 2023-02-21 JP JP2023024980A patent/JP2023122566A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Weck et al. | Sharp corner tracking using the IKF control strategy | |
EP1439440A2 (en) | Servo motor drive control device | |
JP3545006B2 (en) | Two-degree-of-freedom controller and servo controller for electric motor | |
US20050228533A1 (en) | Machining time calculating apparatus | |
JP3898686B2 (en) | Numerical controller | |
US6469467B1 (en) | Servo control apparatus and method of stabilizing same | |
KR0139526B1 (en) | Numerical Control Unit for Grinding Machine | |
US11029650B2 (en) | Machine learning device, control system, and machine learning method | |
CN109954955B (en) | Robot system | |
JP2001293638A (en) | Control device | |
JPH10254526A (en) | Numerical controller | |
JPH11102211A (en) | Method and device for servo control | |
JP3135738B2 (en) | Numerical control unit | |
JP2003058218A (en) | Controller for driving and controlling servo motor | |
CN110941242A (en) | Motor control device | |
JP2023122566A (en) | Numerical control device, numerical control method, and storage medium | |
JP3749222B2 (en) | Numerical controller | |
CN112130524A (en) | Numerical controller, program recording medium, and control method | |
JPH0830973B2 (en) | Method and apparatus for correcting tool feed speed in numerical controller | |
JP7022261B1 (en) | Frequency characteristic prediction device and frequency characteristic prediction method | |
US5159250A (en) | Robot control method | |
CN112236729B (en) | Numerical control device | |
JP2006254630A (en) | Motor controller and control method therefor | |
JP2021071895A (en) | Vibration suppressing method and vibration suppressing device | |
KR100342256B1 (en) | robot control system and control method thereof |