JP7501189B2 - CONTROL DEVICE, MACHINE TOOL, CONTROL METHOD, AND CONTROL PROGRAM - Google Patents

CONTROL DEVICE, MACHINE TOOL, CONTROL METHOD, AND CONTROL PROGRAM Download PDF

Info

Publication number
JP7501189B2
JP7501189B2 JP2020123668A JP2020123668A JP7501189B2 JP 7501189 B2 JP7501189 B2 JP 7501189B2 JP 2020123668 A JP2020123668 A JP 2020123668A JP 2020123668 A JP2020123668 A JP 2020123668A JP 7501189 B2 JP7501189 B2 JP 7501189B2
Authority
JP
Japan
Prior art keywords
coefficient
angle
axis
drive unit
drive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020123668A
Other languages
Japanese (ja)
Other versions
JP2022020269A (en
Inventor
直人 寺阪
弦 寺田
太樹 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2020123668A priority Critical patent/JP7501189B2/en
Publication of JP2022020269A publication Critical patent/JP2022020269A/en
Application granted granted Critical
Publication of JP7501189B2 publication Critical patent/JP7501189B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Automatic Control Of Machine Tools (AREA)
  • Numerical Control (AREA)

Description

本発明は制御装置、工作機械、制御方法、及び制御プログラムに関する。 The present invention relates to a control device, a machine tool, a control method, and a control program.

従来の工作機械を制御する制御装置は制御対象の内部モデルを定義し、制御対象に指令を与えた場合の出力速度と実際の速度の誤差を小さくするように内部モデルの物理定数(例えば、イナーシャ)を推定する。制御対象は例えば、被削材を積載する台を水平面に対し傾斜する駆動源である。特許文献1の制御装置は、所定周期毎に取得した電流戻り値と推定電流値とより推定誤差を計算し、所定周期毎に検出した速度戻り値と推定誤差とを用いて制御対象の推定イナーシャと推定摩擦とを更新する。 Conventional control devices for controlling machine tools define an internal model of the controlled object, and estimate the physical constants (e.g., inertia) of the internal model so as to reduce the error between the output speed and the actual speed when a command is given to the controlled object. The controlled object is, for example, a drive source that tilts a table on which the workpiece is loaded relative to a horizontal plane. The control device of Patent Document 1 calculates an estimated error from a current return value and an estimated current value acquired at every predetermined cycle, and updates the estimated inertia and estimated friction of the controlled object using the speed return value and estimated error detected at every predetermined cycle.

特開2011-72178号公報JP 2011-72178 A

工作機械の台は、切削液、冷却液等の液体を供給する為のロータリージョイント、被加工物を保持するチャック等の治具の可動部を直線方向に駆動する為の油圧回転シリンダ等の積載物を着脱できる。従来の制御装置は台に積載物を付加した時、積載物の付加によりイナーシャなどの物理定数が変化し、推定した内部モデルの物理定数と差が拡大する。故に、制御装置は工作機械を適切に制御できない時がある。 The platform of a machine tool can be used to attach and detach loads such as rotary joints for supplying liquids such as cutting fluid and coolant, and hydraulic rotating cylinders for linearly driving the moving parts of fixtures such as chucks that hold the workpiece. With conventional control devices, when a load is added to the platform, the physical constants such as inertia change due to the addition of the load, and the difference with the physical constants of the estimated internal model increases. As a result, the control device is sometimes unable to properly control the machine tool.

本発明の目的は、台に積載物を付加した時にも、被削材を保持する台を回動する工作機械を従来よりも適切に制御できる制御装置、工作機械、制御方法、及び制御プログラムを提供することである。 The object of the present invention is to provide a control device, a machine tool, a control method, and a control program that can more appropriately control a machine tool that rotates a table that holds a workpiece, even when a load is added to the table, than conventional methods.

請求項1の制御装置は被削材を固定する台を、水平面と平行な軸周りに回動する駆動部と、前記駆動部を制御する制御部とを備えた工作機械を制御する制御装置において、前記台に付加した積載物の回転モーメントの係数である回転モーメント係数を算出する係数算出部と、前記駆動部のねじり剛性係数と、前記係数算出部が算出した前記回転モーメント係数と、プログラムが指令する、前記水平面に平行な基準面に対する前記台の指令角度とに基づいて、前記積載物を前記台に付加したことに因る角度誤差分、前記指令角度を補正する補正部と、前記補正部が補正した前記指令角度に対応する量だけ前記駆動部を駆動する駆動制御部とを備える。該制御装置は、台に付加した積載物の回転モーメント係数、駆動部のねじり剛性係数、基準面に対する台の指令角度に基づき、角度誤差分、指令角度を補正する。制御装置は台に付加した積載物の影響を考慮して駆動部を駆動することで、台に積載物を付加した時にも従来の装置よりも適切に工作機械を制御できる。 The control device of claim 1 is a control device for controlling a machine tool having a drive unit that rotates a table on which a workpiece is fixed around an axis parallel to a horizontal plane and a control unit that controls the drive unit, and is equipped with a coefficient calculation unit that calculates a rotation moment coefficient, which is the coefficient of the rotation moment of a load added to the table, a correction unit that corrects the command angle by an angle error caused by adding the load to the table based on the torsional rigidity coefficient of the drive unit, the rotation moment coefficient calculated by the coefficient calculation unit, and a command angle of the table relative to a reference plane parallel to the horizontal plane commanded by a program, and a drive control unit that drives the drive unit by an amount corresponding to the command angle corrected by the correction unit. The control device corrects the command angle by an angle error based on the rotation moment coefficient of the load added to the table, the torsional rigidity coefficient of the drive unit, and the command angle of the table relative to the reference plane. The control device drives the drive unit taking into account the effect of the load added to the table, so that the machine tool can be controlled more appropriately than conventional devices even when a load is added to the table.

請求項2の制御装置は前記ねじり剛性係数と、前記回転モーメント係数と、前記指令角度とに基づいて、前記角度誤差を算出する誤差算出部を更に備え、前記補正部は、前記指令角度を前記誤差算出部が算出した前記角度誤差で補正する。制御装置は角度誤差を算出せずに指令角度を角度誤差分補正する装置よりも、指令角度を角度誤差分補正する処理を簡単にできる。 The control device of claim 2 further includes an error calculation unit that calculates the angle error based on the torsional stiffness coefficient, the rotational moment coefficient, and the command angle, and the correction unit corrects the command angle with the angle error calculated by the error calculation unit. The control device can simplify the process of correcting the command angle by the angle error compared to a device that corrects the command angle by the angle error without calculating the angle error.

請求項3の制御装置の前記係数算出部は、所定の駆動条件に応じて前記駆動部に出力した出力結果と、複数の変数の一つとして前記回転モーメント係数を含む前記駆動部の内部モデルを前記所定の駆動条件に適用して導出した導出結果との誤差が最小となるように前記複数の変数を算出することで、前記回転モーメント係数を算出する。該制御装置は出力結果と導出結果に基づき、積載物の回転モーメント係数を算出できる。制御装置は内部モデルの複数の変数の内、回転モーメント係数以外の変数の影響を除いて回転モーメント係数を算出できる。 The coefficient calculation unit of the control device of claim 3 calculates the rotation moment coefficient by calculating the multiple variables so as to minimize an error between an output result output to the drive unit in accordance with a predetermined drive condition and a derivation result derived by applying an internal model of the drive unit, which includes the rotation moment coefficient as one of multiple variables, to the predetermined drive condition. The control device can calculate the rotation moment coefficient of the load based on the output result and the derivation result. The control device can calculate the rotation moment coefficient by excluding the influence of variables other than the rotation moment coefficient among the multiple variables of the internal model.

請求項4の制御装置の前記係数算出部は、前記台に前記積載物を付加しない状態で前記基準面に対し前記台が垂直になる角度に前記台を回動した時の前記駆動部の第一駆動量を取得し、前記台に前記積載物を付加した状態で前記基準面に対し前記台が垂直になる角度に前記台を回動した時の前記駆動部の第二駆動量を取得し、前記第二駆動量から前記第一駆動量を差し引いた差分に前記駆動部の減速比を積算することで前記回転モーメント係数を算出する。該制御装置は第二駆動量から第一駆動量を差し引いた差分に駆動部の減速比を積算するという比較的簡単な処理で、積載物の回転モーメント係数を算出できる。 The coefficient calculation unit of the control device of claim 4 obtains a first drive amount of the drive unit when the platform is rotated to an angle at which the platform is perpendicular to the reference plane with the load not attached to the platform, obtains a second drive amount of the drive unit when the platform is rotated to an angle at which the platform is perpendicular to the reference plane with the load attached to the platform, and calculates the rotational moment coefficient by multiplying the difference obtained by subtracting the first drive amount from the second drive amount by the reduction gear ratio of the drive unit. The control device can calculate the rotational moment coefficient of the load with a relatively simple process of multiplying the difference obtained by subtracting the first drive amount from the second drive amount by the reduction gear ratio of the drive unit.

請求項5の工作機械は被削材を固定する台を、水平面と平行な軸周りに回動する駆動部と、前記駆動部を制御する制御部と、請求項1~3の何れかに記載の制御装置とを備える。該工作機械は、工作機械が備える請求項1~3の何れかの制御装置に応じた効果を奏する。 The machine tool of claim 5 comprises a drive unit that rotates a table on which a workpiece is fixed about an axis parallel to a horizontal plane, a control unit that controls the drive unit, and a control device according to any one of claims 1 to 3. The machine tool achieves an effect according to any one of the control devices according to claims 1 to 3 that the machine tool is equipped with.

請求項6の制御方法は被削材を固定する台を、水平面と平行な軸周りに回動する駆動部と、前記駆動部を制御する制御部とを備えた工作機械の制御方法において、前記台に付加した積載物の回転モーメントの係数である回転モーメント係数を算出する係数算出工程と、前記駆動部のねじり剛性係数と、前記係数算出工程で算出した前記回転モーメント係数と、プログラムが指令する、前記水平面に平行な基準面に対する前記台の指令角度とに基づいて、前記積載物を前記台に付加したことに因る角度誤差分、前記指令角度を補正する補正工程と、 前記補正工程で補正した前記指令角度に対応する量だけ前記駆動部を駆動する駆動制御工程とを備える。該制御方法は請求項1の制御装置と同様の効果を奏する。 The control method of claim 6 is a control method for a machine tool equipped with a drive unit that rotates a table on which a workpiece is fixed around an axis parallel to a horizontal plane and a control unit that controls the drive unit, and includes a coefficient calculation step of calculating a rotational moment coefficient that is a coefficient of the rotational moment of an object added to the table, a correction step of correcting the command angle by an angle error caused by adding the object to the table based on the torsional rigidity coefficient of the drive unit, the rotational moment coefficient calculated in the coefficient calculation step, and a command angle of the table relative to a reference plane parallel to the horizontal plane commanded by a program, and a drive control step of driving the drive unit by an amount corresponding to the command angle corrected in the correction step. The control method has the same effect as the control device of claim 1.

請求項7の制御プログラムは、被削材を固定する台を、水平面と平行な軸周りに回動する駆動部と、前記駆動部を制御する制御部とを備えた工作機械を制御する制御装置が実行可能な制御プログラムにおいて、前記台に付加した積載物の回転モーメントの係数である回転モーメント係数を算出する係数算出処理と、前記駆動部のねじり剛性係数と、前記係数算出処理で算出した前記回転モーメント係数と、プログラムが指令する、前記水平面に平行な基準面に対する前記台の指令角度とに基づいて、前記積載物を前記台に付加したことに因る角度誤差分、前記指令角度を補正する補正処理と、前記補正処理で補正した前記指令角度に対応する量だけ前記駆動部を駆動する駆動制御処理とを前記制御装置に実行させる指示を含む。該制御プログラムは請求項1の制御装置と同様の効果を奏する。 The control program of claim 7 is a control program executable by a control device for controlling a machine tool having a drive unit that rotates a table on which a workpiece is fixed about an axis parallel to a horizontal plane and a control unit that controls the drive unit, and includes instructions to cause the control device to execute a coefficient calculation process that calculates a rotation moment coefficient, which is the coefficient of the rotation moment of an object added to the table, a correction process that corrects the command angle by an angle error caused by adding the object to the table based on the torsional rigidity coefficient of the drive unit, the rotation moment coefficient calculated in the coefficient calculation process, and a command angle of the table relative to a reference plane parallel to the horizontal plane commanded by the program, and a drive control process that drives the drive unit by an amount corresponding to the command angle corrected in the correction process. The control program has the same effect as the control device of claim 1.

工作機械1の斜視図。FIG. 支持装置8の斜視図。FIG. 制御装置40と工作機械1の電気的構成を示すブロック図。FIG. 4 is a block diagram showing the electrical configuration of the control device 40 and the machine tool 1. 駆動回路55の制御系を示す図。FIG. 4 is a diagram showing a control system of a drive circuit 55. 第一実施形態の主処理の流れ図。4 is a flowchart of a main process according to the first embodiment. (A)基準面Rに対しA軸台20が0(rad)である時のA軸台20の模式図、(B)基準面Rに対しA軸台20が指令角度K1の位置にA軸台20を回動する場合の角度誤差K2の模式図。1A is a schematic diagram of the A-axis table 20 when the A-axis table 20 is at 0 (rad) relative to the reference plane R, and FIG. 1B is a schematic diagram of the angle error K2 when the A-axis table 20 is rotated to a position of a command angle K1 relative to the reference plane R. 制御装置40の機能を示す機能ブロック図。FIG. 4 is a functional block diagram showing functions of a control device 40. 二段の移動平均フィルタFIR1、FIR2を適用した時の角速度曲線と角加速度曲線の図。13 is a diagram showing angular velocity curves and angular acceleration curves when two-stage moving average filters FIR1 and FIR2 are applied. 第一実施形態の主処理の評価結果を示すグラフ。11 is a graph showing evaluation results of the main process of the first embodiment. 第二実施形態の係数算出処理の流れ図。13 is a flowchart of a coefficient calculation process according to the second embodiment. 基準面Rに対しA軸台20がπ/2(rad)(垂直)である時のA軸台20の模式図。Schematic diagram of the A-axis stand 20 when the A-axis stand 20 is π/2 (rad) (perpendicular) to the reference plane R. 第二実施形態の主処理の流れ図。13 is a flowchart of a main process according to a second embodiment.

本発明の第一、第二実施形態を、図面を参照し順に説明する。以下説明は、図中に矢印で示す左右、前後、上下を使用する。工作機械1の左右方向、前後方向、上下方向は夫々、工作機械1のX軸方向、Y軸方向、Z軸方向である。右方向、前方向、上方向は夫々、正方向であり、左方向、後方向、下方向は夫々、負方向である。図1に示す工作機械1は、工具により被削材W(図2参照)の切削加工と旋削加工ができる複合機である。 The first and second embodiments of the present invention will be described in order with reference to the drawings. In the following description, left/right, front/back, and up/down directions will be used as indicated by arrows in the drawings. The left/right, front/back, and up/down directions of the machine tool 1 are the X-axis, Y-axis, and Z-axis directions, respectively, of the machine tool 1. The rightward, forward, and upward directions are positive directions, while the leftward, backward, and downward directions are negative directions. The machine tool 1 shown in Figure 1 is a multi-function machine that can perform cutting and turning of a workpiece W (see Figure 2) using a tool.

図1~図3を参照し、第一、第二実施形態の工作機械1の構造を説明する。工作機械1は基台2、Y軸移動機構(図示略)、X軸移動機構(図示略)、Z軸移動機構(図示略)、移動体15、立柱5、主軸ヘッド6、主軸(図示略)、支持装置8、工具交換装置9、制御箱(図示略)、制御装置40(図3参照)等を備える。基台2は架台11、主軸基台12、右側基台13、左側基台14等を備える。架台11は前後方向に長い略直方体状の構造体である。主軸基台12は前後方向に長い略直方体状に形成し、架台11上面後方に設ける。右側基台13は架台11上面右前方に設ける。左側基台14は架台11上面左前方に設ける。右側基台13と左側基台14は夫々、上面に支持装置8を支持する。 The structure of the machine tool 1 of the first and second embodiments will be described with reference to Figures 1 to 3. The machine tool 1 includes a base 2, a Y-axis movement mechanism (not shown), an X-axis movement mechanism (not shown), a Z-axis movement mechanism (not shown), a moving body 15, a pillar 5, a spindle head 6, a spindle (not shown), a support device 8, a tool changer 9, a control box (not shown), a control device 40 (see Figure 3), and the like. The base 2 includes a platform 11, a spindle base 12, a right side base 13, a left side base 14, and the like. The platform 11 is a substantially rectangular parallelepiped structure that is elongated in the front-rear direction. The spindle base 12 is formed in a substantially rectangular parallelepiped shape that is elongated in the front-rear direction, and is provided on the rear of the upper surface of the platform 11. The right side base 13 is provided on the right front of the upper surface of the platform 11. The left side base 14 is provided on the left front of the upper surface of the platform 11. The right side base 13 and the left side base 14 each support the support device 8 on their upper surfaces.

Y軸移動機構は主軸基台12上面に設け、Y軸モータ62(図3参照)等を備える。Y軸移動機構はY軸モータ62の駆動により、略平板状の移動体15をY軸方向に移動する。X軸移動機構は移動体15上面に設け、X軸モータ61(図3参照)等を備える。X軸移動機構はX軸モータ61の駆動により、立柱5をX軸方向に移動する。立柱5は、Y軸移動機構、移動体15、X軸移動機構により、基台2上をX軸方向とY軸方向に移動する。Z軸移動機構は立柱5前面に設け、Z軸モータ63(図3参照)等を備える。Z軸移動機構はZ軸モータ63の駆動により、主軸ヘッド6をZ軸方向に移動する。主軸(図示略)は主軸ヘッド6内部に設け、主軸下部に工具装着穴(図示略)を備える。工具装着穴は工具を装着する。故に、X軸移動機構、Y軸移動機構、Z軸移動機構は夫々、主軸に装着した工具に対して被削材Wを相対的に、X軸方向、Y軸方向、Z軸方向に移動する。主軸は主軸ヘッド6上部に設けた主軸モータ66(図3参照)で回転する。該時、主軸に設けた工具は、被削材Wに対して回転する。 The Y-axis movement mechanism is provided on the upper surface of the spindle base 12 and includes a Y-axis motor 62 (see FIG. 3). The Y-axis movement mechanism moves the approximately flat plate-shaped moving body 15 in the Y-axis direction by driving the Y-axis motor 62. The X-axis movement mechanism is provided on the upper surface of the moving body 15 and includes an X-axis motor 61 (see FIG. 3). The X-axis movement mechanism moves the vertical pillar 5 in the X-axis direction by driving the X-axis motor 61. The vertical pillar 5 moves in the X-axis and Y-axis directions on the base 2 by the Y-axis movement mechanism, the moving body 15, and the X-axis movement mechanism. The Z-axis movement mechanism is provided on the front surface of the vertical pillar 5 and includes a Z-axis motor 63 (see FIG. 3). The Z-axis movement mechanism moves the spindle head 6 in the Z-axis direction by driving the Z-axis motor 63. The spindle (not shown) is provided inside the spindle head 6 and includes a tool mounting hole (not shown) at the bottom of the spindle. A tool is mounted in the tool mounting hole. Therefore, the X-axis movement mechanism, Y-axis movement mechanism, and Z-axis movement mechanism respectively move the workpiece W relative to the tool attached to the spindle in the X-axis direction, Y-axis direction, and Z-axis direction. The spindle is rotated by a spindle motor 66 (see Figure 3) mounted on the top of the spindle head 6. At that time, the tool mounted on the spindle rotates relative to the workpiece W.

工具交換装置9は立柱5と主軸ヘッド6周囲を取り巻く略円環状である。工具交換装置9はZ軸移動機構が主軸ヘッド6を昇降する間に、主軸に現在装着する工具を交換する。制御箱は工作機械1を覆うカバー(図示略)の外壁に取り付ける。制御装置40は制御箱の内側に格納する。制御装置40はNCプログラムに基づき工作機械1の動作を制御する。工作機械1を覆うカバーは外壁面に操作盤10(図3参照)を備える。操作盤10は操作部18と表示部19を備える。操作部18は制御装置40の各種設定を行う。表示部19は各種画面、メッセージ、警報等を表示する。 The tool changer 9 is in a substantially circular ring shape surrounding the upright 5 and the spindle head 6. The tool changer 9 changes the tool currently attached to the spindle while the Z-axis movement mechanism raises and lowers the spindle head 6. The control box is attached to the outer wall of a cover (not shown) that covers the machine tool 1. The control device 40 is stored inside the control box. The control device 40 controls the operation of the machine tool 1 based on an NC program. The cover that covers the machine tool 1 is provided with an operation panel 10 (see Figure 3) on the outer wall surface. The operation panel 10 is provided with an operation unit 18 and a display unit 19. The operation unit 18 performs various settings for the control device 40. The display unit 19 displays various screens, messages, alarms, etc.

支持装置8は右側基台13と左側基台14の上面に固定する。図2の如く、支持装置8はA軸台20、左側支持台27、駆動部28、回転台29、C軸駆動部30等を備える。A軸台20は積載物200、300を取り外し可能に付加できる。積載物200はA軸台20に対しA軸側(台側)に付加する治具201、被削材Wを含む。治具201はチャック、平治具等の被削材Wを固定する器具である。積載物300はA軸台20に対しA軸側とは反対側(尾側)に付加する回転シリンダ、ロータリージョイントを含む。ロータリージョイントは切削液、冷却液等の液体を供給する。回転シリンダは被削材Wを保持するチャック等の治具の可動部を直線方向に駆動する。 The support device 8 is fixed to the upper surface of the right base 13 and the left base 14. As shown in FIG. 2, the support device 8 includes the A-axis base 20, the left support base 27, the drive unit 28, the rotating base 29, the C-axis drive unit 30, etc. The A-axis base 20 can detachably mount loads 200 and 300. The load 200 includes a jig 201 and a workpiece W that are attached to the A-axis side (base side) of the A-axis base 20. The jig 201 is a device for fixing the workpiece W, such as a chuck or a flat jig. The load 300 includes a rotating cylinder and a rotary joint that are attached to the opposite side (tail side) of the A-axis base 20 from the A-axis side. The rotary joint supplies liquids such as cutting fluid and cooling fluid. The rotating cylinder drives the movable part of the jig, such as a chuck that holds the workpiece W, in a linear direction.

A軸台20は台部21、右連結部22、左連結部23を備える。台部21は、基準面R(図6参照)に対するA軸台20の角度が0(rad)の時、上面が基準面Rと平行となる平面視略長方形状の板状部である。基準面Rは水平面と平行な仮想面である。右連結部22は台部21の右端部から右斜め上方に延び且つ駆動部28と回動可能に連結する。右連結部22はその右端面から右方に突出する略円柱状の支軸32を有する。左連結部23は台部21の左端部から左斜め上方に延び且つ後述する左側支持台27と回動可能に連結する。左連結部23はその左端面から左方に突出する略円柱状の支軸31を有する。左側支持台27はA軸台20右側に位置する。左側支持台27は支軸31を回転可能に支持する。左側支持台27の底部は、左側基台14(図1参照)の上面に固定する。 The A-axis base 20 includes a base portion 21, a right connecting portion 22, and a left connecting portion 23. The base portion 21 is a plate-shaped portion having a substantially rectangular shape in a plan view, the upper surface of which is parallel to the reference plane R (see FIG. 6) when the angle of the A-axis base 20 with respect to the reference plane R is 0 (rad). The reference plane R is an imaginary plane parallel to the horizontal plane. The right connecting portion 22 extends diagonally upward to the right from the right end portion of the base portion 21 and is rotatably connected to the drive unit 28. The right connecting portion 22 has a substantially cylindrical support shaft 32 protruding to the right from its right end surface. The left connecting portion 23 extends diagonally upward to the left from the left end portion of the base portion 21 and is rotatably connected to the left support base 27 described later. The left connecting portion 23 has a substantially cylindrical support shaft 31 protruding to the left from its left end surface. The left support base 27 is located on the right side of the A-axis base 20. The left support base 27 rotatably supports the support shaft 31. The bottom of the left support stand 27 is fixed to the top surface of the left base stand 14 (see Figure 1).

駆動部28はA軸台20右側に位置する。駆動部28は右側支持台26、A軸モータ65等を備える。右側支持台26の底部は、右側基台13(図1参照)の上面に固定する。右側支持台26はA軸出力軸67を介して右連結部22の支軸32を回転可能に支持する。右連結部22の支軸32とA軸モータ65の出力軸は、A軸出力軸67を介して互いに連結する。A軸モータ65の出力軸が回転すると、A軸台20はA軸を中心に連結部22、23と一体に回動する。A軸はX軸方向と平行であり、側面視で支軸31、32の中心を通る。駆動部28は工具に対して被削材Wを、A軸を中心として回転する。A軸台20はA軸回りに任意角度で傾くことで、主軸に装着する工具に対して被削材WをA軸回りの任意方向に傾ける。 The drive unit 28 is located on the right side of the A-axis table 20. The drive unit 28 includes a right support table 26, an A-axis motor 65, etc. The bottom of the right support table 26 is fixed to the top surface of the right base 13 (see FIG. 1). The right support table 26 rotatably supports the support shaft 32 of the right connecting part 22 via the A-axis output shaft 67. The support shaft 32 of the right connecting part 22 and the output shaft of the A-axis motor 65 are connected to each other via the A-axis output shaft 67. When the output shaft of the A-axis motor 65 rotates, the A-axis table 20 rotates integrally with the connecting parts 22 and 23 around the A-axis. The A-axis is parallel to the X-axis direction and passes through the centers of the support shafts 31 and 32 in a side view. The drive unit 28 rotates the workpiece W relative to the tool around the A-axis. The A-axis table 20 tilts at any angle around the A-axis, thereby tilting the workpiece W in any direction around the A-axis relative to the tool attached to the spindle.

回転台29は台部21上面略中央に回転可能に設ける。回転台29は円盤状に形成し、A軸台20上面略中央に設ける。C軸駆動部30は台部21下面に設け且つ台部21の略中央に設けた穴(図示略)を介して回転台29と連結する。C軸駆動部30は内部に回転軸(図示略)、C軸モータ64(図3参照)等を備える。回転軸は回転台29に対して直交する方向に延びる。回転軸は回転台29に固定する。C軸モータ64のローターは回転軸に固定する。故に、C軸モータ64が回転軸を回転すると、回転台29はC軸を中心に回転する。回転台29上面は積載物200を固定する。C軸駆動部30は工具に対して被削材Wを、C軸を中心として回転する。 The rotating table 29 is rotatably mounted at approximately the center of the upper surface of the base 21. The rotating table 29 is formed in a disk shape and is mounted at approximately the center of the upper surface of the A-axis base 20. The C-axis drive unit 30 is mounted on the lower surface of the base 21 and is connected to the rotating table 29 through a hole (not shown) provided at approximately the center of the base 21. The C-axis drive unit 30 is equipped with a rotating shaft (not shown), a C-axis motor 64 (see Figure 3), etc. inside. The rotating shaft extends in a direction perpendicular to the rotating table 29. The rotating shaft is fixed to the rotating table 29. The rotor of the C-axis motor 64 is fixed to the rotating shaft. Therefore, when the C-axis motor 64 rotates the rotating shaft, the rotating table 29 rotates around the C-axis. The upper surface of the rotating table 29 fixes the load 200. The C-axis drive unit 30 rotates the workpiece W relative to the tool around the C-axis.

図3を参照し、第一、第二実施形態の制御装置40と工作機械1の電気的構成を説明する。制御装置40はCPU41、ROM42、RAM43、記憶部44、入出力部45、駆動回路51~56を備える。工作機械1はX軸モータ61、Y軸モータ62、Z軸モータ63、C軸モータ64、A軸モータ65、主軸モータ66、エンコーダ71~76を備える。以下、駆動回路51~56を区別しない時、駆動回路50と総称する。X軸モータ61、Y軸モータ62、Z軸モータ63、C軸モータ64、A軸モータ65、主軸モータ66を区別しない時、モータ60と総称する。エンコーダ71~76を区別しない時、エンコーダ70と総称する。 The electrical configuration of the control device 40 and machine tool 1 of the first and second embodiments will be described with reference to FIG. 3. The control device 40 includes a CPU 41, a ROM 42, a RAM 43, a storage unit 44, an input/output unit 45, and drive circuits 51-56. The machine tool 1 includes an X-axis motor 61, a Y-axis motor 62, a Z-axis motor 63, a C-axis motor 64, an A-axis motor 65, a spindle motor 66, and encoders 71-76. Hereinafter, when the drive circuits 51-56 are not differentiated, they will be collectively referred to as drive circuit 50. When the X-axis motor 61, the Y-axis motor 62, the Z-axis motor 63, the C-axis motor 64, the A-axis motor 65, and the spindle motor 66 are not differentiated, they will be collectively referred to as motor 60. When the encoders 71-76 are not differentiated, they will be collectively referred to as encoder 70.

CPU41は工作機械1の動作を制御する。ROM42は後述する主処理(図5、図12参照)を実行する為の制御プログラム等を記憶する。RAM43は各種処理実行中に発生する各種データを記憶する。記憶部44はNCプログラム等を記憶する。入出力部45は駆動回路50、エンコーダ70、操作部18、表示部19と電気的に接続し、駆動回路50、エンコーダ70、操作部18、表示部19との間で各種信号の入出力を行う。 The CPU 41 controls the operation of the machine tool 1. The ROM 42 stores control programs and the like for executing the main processing (see Figures 5 and 12) described below. The RAM 43 stores various data generated during the execution of various processes. The memory unit 44 stores NC programs and the like. The input/output unit 45 is electrically connected to the drive circuit 50, the encoder 70, the operation unit 18, and the display unit 19, and inputs and outputs various signals between the drive circuit 50, the encoder 70, the operation unit 18, and the display unit 19.

駆動回路50は、CPU41が出力する指令に基づき、モータ60にパルス信号を出力する。エンコーダ70は、対応するモータ60の出力軸の回転角度を検出し、該検出信号を駆動回路50及び入出力部45に出力する。モータ60は何れもサーボモータである。エンコーダ70は一般的な絶対値エンコーダである。 The drive circuit 50 outputs a pulse signal to the motor 60 based on a command output by the CPU 41. The encoder 70 detects the rotation angle of the output shaft of the corresponding motor 60, and outputs the detection signal to the drive circuit 50 and the input/output unit 45. Both motors 60 are servo motors. The encoder 70 is a general absolute value encoder.

図4を参照し、駆動回路55の制御系を説明する。制御装置40のCPU41はNCプログラムのA軸送り指令に基づき所定周期毎の目標角度の時系列データ(後述)を生成し、各データに応じた角度指令を、駆動回路55に出力する。角度指令はデータが示す目標角度にA軸台20を回動する時のA軸モータ65の出力軸の回転角を示す。エンコーダ75はA軸モータ65の出力軸の現在の回転角情報を戻り値として駆動回路55に出力する。駆動回路50は該戻り値と該角度指令に基づき、A軸モータ65に出力する駆動電流を制御する。具体的には駆動回路55は加算器50Aで戻り値と角度指令との角度偏差を算出し、該角度偏差に角度比例ゲインを乗じて角速度指令を算出する。駆動回路55は加算器50Bで算出した角速度指令と実際の角速度、即ち戻り値を微分器50Cで微分した角速度戻り値との角速度偏差を算出する。駆動回路55は加算器50Dで算出した角速度偏差に角速度比例ゲインを乗じた電流指令と、角速度偏差を積分器50Eで積分してその積分結果に角速度積分ゲインを乗じた電流指令を加算し、トルク指令を生成する。駆動回路55はトルク指令を示すパルス信号により、A軸モータ65を駆動する。 The control system of the drive circuit 55 will be described with reference to FIG. 4. The CPU 41 of the control device 40 generates time series data (described later) of the target angle for each predetermined period based on the A-axis feed command of the NC program, and outputs an angle command corresponding to each data to the drive circuit 55. The angle command indicates the rotation angle of the output shaft of the A-axis motor 65 when the A-axis table 20 is rotated to the target angle indicated by the data. The encoder 75 outputs the current rotation angle information of the output shaft of the A-axis motor 65 as a return value to the drive circuit 55. The drive circuit 50 controls the drive current to be output to the A-axis motor 65 based on the return value and the angle command. Specifically, the drive circuit 55 calculates the angle deviation between the return value and the angle command by the adder 50A, and calculates the angular velocity command by multiplying the angle deviation by the angle proportional gain. The drive circuit 55 calculates the angular velocity deviation between the angular velocity command calculated by the adder 50B and the actual angular velocity, that is, the angular velocity return value obtained by differentiating the return value by the differentiator 50C. The drive circuit 55 generates a torque command by adding a current command obtained by multiplying the angular velocity deviation calculated by the adder 50D by the angular velocity proportional gain, and a current command obtained by integrating the angular velocity deviation by the integrator 50E and multiplying the integral result by the angular velocity integral gain. The drive circuit 55 drives the A-axis motor 65 with a pulse signal indicating the torque command.

図5~図8を参照し、第一実施形態の制御装置40のCPU41が実行する主処理を説明する。主処理は制御装置40の電源がONである時、記憶部44に記憶した制御プログラムをCPU41が読出し実行することにより開始する。 The main processing executed by the CPU 41 of the control device 40 of the first embodiment will be described with reference to Figures 5 to 8. The main processing starts when the power supply of the control device 40 is ON and the CPU 41 reads and executes the control program stored in the memory unit 44.

図5の如く、CPU41は記憶部44に記憶したNCプログラムを一行読出す(S1)。CPU41はS1で読出したプログラムがA軸送り指令である時、A軸送り指令が指示する指令角度θ(rad)に応じた角度誤差ΔQ(θ)(rad)を算出する(S2)。指令角度θは基準面Rに対するA軸台20の角度で表す。図6(A)の如く、角度θが0である時、A軸台20が有する面の内、A軸と対向する面は基準面Rと平行であり、A軸台20の重心CがA軸に対し、鉛直下向き方向に位置する。角度はA軸台20が図6(A)に示す位置から左側面視反時計回りに回動する場合の角度をプラスの角度とする。A軸送り指令は水平面に平行な基準面Rに対するA軸台20の指令角度θ迄、A軸台20をA軸周りに回動することを指示する。角度誤差ΔQ(θ)はA軸送り指令で指示する指令角度θに対応する量だけ駆動部28を駆動した時の、積載物をA軸台20に付加したことに因る角度の誤差である。 As shown in Fig. 5, the CPU 41 reads one line of the NC program stored in the memory unit 44 (S1). When the program read in S1 is an A-axis feed command, the CPU 41 calculates an angle error ΔQ(θ) (rad) corresponding to the command angle θ (rad) specified by the A-axis feed command (S2). The command angle θ is expressed as the angle of the A-axis table 20 with respect to the reference plane R. As shown in Fig. 6(A), when the angle θ is 0, the surface of the A-axis table 20 facing the A-axis is parallel to the reference plane R, and the center of gravity Cg of the A-axis table 20 is located vertically downward with respect to the A-axis. The angle is defined as a positive angle when the A-axis table 20 rotates counterclockwise from the position shown in Fig. 6(A) when viewed from the left side. The A-axis feed command instructs the A-axis table 20 to rotate around the A-axis up to the command angle θ of the A-axis table 20 with respect to the reference plane R parallel to the horizontal plane. The angle error ΔQ(θ) is the angle error caused by adding a load to the A-axis table 20 when the drive unit 28 is driven by an amount corresponding to the command angle θ specified by the A-axis feed command.

CPU41は式(1)を用い角度誤差ΔQ(θ)を算出する。式(1)において、E(deg/N・m)は駆動部28のねじり剛性係数であり、駆動部28に固有な値である。Eは予め記憶部44が記憶する。Fθsin(θ)(N・m)はA軸台20、C軸駆動部30、及びA軸台20に付加した積載物の回転モーメントの合計である。Fθ(N・m)は指令角度θに応じた回転モーメントを算出する為の係数であり、記憶部44が記憶する。回転モーメント(N・m)は、回転モーメント係数Fθ(N・m)に指令角度θの正弦を乗じて算出する。回転モーメント係数FθはA軸台20に積載物を付加した状態で実行する前回のS5の処理によりCPU41が算出し、S10で記憶部44に記憶する。CPU41が前回のS5を実行していない時、記憶部44は回転モーメント係数Fθの初期値を記憶する。回転モーメント係数Fθの初期値は、A軸台20に積載物を付加しない時の回転モーメントを算出する為の係数であり、A軸台20とC軸駆動部30の回転モーメント係数Fθ1である。
ΔQ(θ)=E×Fθsin(θ) ・・・式(1)
The CPU 41 calculates the angle error ΔQ(θ) using the formula (1). In the formula (1), E (deg/N·m) is the torsional rigidity coefficient of the drive unit 28, and is a value specific to the drive unit 28. E is stored in the memory unit 44 in advance. F θ sin(θ) (N·m) is the sum of the rotational moment of the A-axis base 20, the C-axis drive unit 30, and the load added to the A-axis base 20. F θ (N·m) is a coefficient for calculating the rotational moment according to the command angle θ, and is stored in the memory unit 44. The rotational moment (N·m) is calculated by multiplying the rotational moment coefficient F θ (N·m) by the sine of the command angle θ. The rotational moment coefficient F θ is calculated by the CPU 41 by the previous process of S5 executed with the load added to the A-axis base 20, and is stored in the memory unit 44 in S10. When the CPU 41 has not executed S5 the previous time, the memory unit 44 stores the initial value of the rotational moment coefficient F θ . The initial value of the rotational moment coefficient F θ is a coefficient for calculating the rotational moment when no load is added to the A-axis base 20, and is the rotational moment coefficient F θ1 of the A-axis base 20 and the C-axis drive unit 30.
ΔQ(θ)=E×F θ sin(θ) Equation (1)

図6(B)の如く、指令角度θがK1(rad)である時、CPU41は例えば角度誤差をK2(rad)と算出する。CPU41はS2で算出した角度誤差ΔQ(θ)を用い、指令角度θを補正する(S3)。CPU41は例えば、指令角度θから角度誤差ΔQ(θ)を差し引いて、指令角度θを補正する。CPU41はS1で読出したプログラムがA軸送り指令でない時、S2、S3を省略してよい。 As shown in FIG. 6(B), when the command angle θ is K1 (rad), the CPU 41 calculates the angle error as K2 (rad), for example. The CPU 41 corrects the command angle θ using the angle error ΔQ(θ) calculated in S2 (S3). For example, the CPU 41 corrects the command angle θ by subtracting the angle error ΔQ(θ) from the command angle θ. When the program read in S1 is not an A-axis feed command, the CPU 41 may omit S2 and S3.

CPU41はS1で読出したNCプログラムの指令がA軸早送り指令であるか否かを判断する(S4)。A軸早送り指令は水平面に平行な基準面Rに対するA軸台20の指令角度θ迄、A軸台20をA軸周りに早送り条件で回動することを指示する。早送り条件は工作機械1で設定可能な最大角速度Vmaxでモータ60が回転する条件である。CPU41はS1で読出したNCプログラムの指令がA軸早送り指令であると判断する時(S4:YES)、CPU41はS3で補正した指令角度θに関するA軸早送りと、駆動部28の内部モデルの変数算出を実行する(S5)。CPU41は、S5で補正したA軸早送り指令に応じて駆動回路55に出力する目標角度の時系列データを、記憶部44に記憶したFIR1、FIR2(図8参照)の時定数T1、T2に基づき決定し、決定した目標角度の時系列データの各データに対応する角度指令を駆動回路55に出力することでA軸早送りを実行する。CPU41は、駆動回路55がA軸モータ65に対して出力するトルクuと、エンコーダ75の戻り値xを後述の内部モデルの評価関数に適用し、駆動部28の内部モデルの複数の変数を算出する。 The CPU 41 judges whether the command of the NC program read out in S1 is an A-axis rapid-feed command (S4). The A-axis rapid-feed command instructs the A-axis table 20 to rotate around the A-axis under a rapid-feed condition up to a command angle θ of the A-axis table 20 with respect to a reference plane R parallel to a horizontal plane. The rapid-feed condition is a condition under which the motor 60 rotates at a maximum angular velocity Vmax that can be set in the machine tool 1. When the CPU 41 judges that the command of the NC program read out in S1 is an A-axis rapid-feed command (S4: YES), the CPU 41 executes A-axis rapid-feed related to the command angle θ corrected in S3 and calculates variables of the internal model of the drive unit 28 (S5). The CPU 41 determines time series data of the target angle to be output to the drive circuit 55 in response to the A-axis fast-forward command corrected in S5 based on the time constants T1 and T2 of FIR1 and FIR2 (see FIG. 8) stored in the storage unit 44, and executes A-axis fast-forward by outputting an angle command corresponding to each data of the time series data of the determined target angle to the drive circuit 55. The CPU 41 applies the torque u output by the drive circuit 55 to the A-axis motor 65 and the return value x of the encoder 75 to an evaluation function of the internal model described later, and calculates multiple variables of the internal model of the drive unit 28.

図7、図8を参照し、A軸早送り指令に基づくA軸早送りを説明する。図7の如く、CPU41はS1で読込みNCプログラムからA軸早送り指令を取得する(P1)。CPU41はA軸台20をS3で補正した指令角度θ迄回動する為、目標角度の時系列データを決定する(P2)。CPU41は所定周期で目標角度のデータに応じた角度指令を駆動回路55に出力する。該角度指令は目標角度迄A軸台20を回動する為のA軸モータ65の回転角、駆動条件を示す。 Referring to Figures 7 and 8, the A-axis fast-forward operation based on the A-axis fast-forward command will be described. As shown in Figure 7, the CPU 41 acquires the A-axis fast-forward command from the NC program read in S1 (P1). The CPU 41 determines the time series data of the target angle to rotate the A-axis table 20 to the command angle θ corrected in S3 (P2). The CPU 41 outputs an angle command according to the target angle data to the drive circuit 55 at a predetermined cycle. The angle command indicates the rotation angle and drive conditions of the A-axis motor 65 to rotate the A-axis table 20 to the target angle.

図8(A)、図8(B)の如く、CPU41はA軸早送り指令の指令角度θ迄A軸台20を一定の最大角速度Vmaxで回動する場合のA軸台20の角速度の時系列変化を示す波形(角速度波形と称す)を設定する。次にCPU41は図8(B)に示す角速度波形に二種類の移動平均フィルタFIR1、FIR2を順に適用し、角速度波形が示す角速度の変化を平滑化する。FIR1は図8(B)に示す角速度波形に適用し、FIR1の時定数T1の期間で角速度が0からVmax迄加速し、最大角速度Vmaxを維持した後、時定数T1の期間で角速度をVmaxから0迄減速するよう、角速度波形を平滑化する。FIR2は図8(C)に示すFIR1を適用した角速度波形に適用し、図8(D)の如く、角速度波形の内の加速期間と減速期間の開始部分と終了部分で角速度の変化を平滑化する。該時、角速度波形の加速期間と減速期間の長さは夫々FIR2の時定数T2ずつ増加し、(T1+T2)とする。 As shown in Fig. 8(A) and Fig. 8(B), the CPU 41 sets a waveform (called angular velocity waveform) showing the time series change of the angular velocity of the A-axis stage 20 when the A-axis stage 20 is rotated at a constant maximum angular velocity Vmax up to the command angle θ of the A-axis fast-forward command. Next, the CPU 41 applies two types of moving average filters FIR1 and FIR2 in order to the angular velocity waveform shown in Fig. 8(B) to smooth the change of the angular velocity shown by the angular velocity waveform. FIR1 is applied to the angular velocity waveform shown in Fig. 8(B) to smooth the angular velocity waveform so that the angular velocity accelerates from 0 to Vmax during the period of the time constant T1 of FIR1, maintains the maximum angular velocity Vmax , and then decelerates from Vmax to 0 during the period of the time constant T1. FIR2 is applied to the angular velocity waveform to which FIR1 shown in Fig. 8(C) is applied, and the change in angular velocity is smoothed at the start and end of the acceleration and deceleration periods in the angular velocity waveform as shown in Fig. 8(D). At that time, the length of the acceleration and deceleration periods of the angular velocity waveform increases by the time constant T2 of FIR2, respectively, to (T1 + T2).

CPU41はFIR1とFIR2を適用して得た図8(D)の角速度波形に基づき、所定周期毎の目標角度を決定する。CPU41は決定した目標角度のデータに応じた角度指令rを所定周期で駆動回路55に出力する。駆動回路55はCPU41が所定周期で出力する角度指令rに基づき、A軸モータ65を駆動する。A軸モータ65はA軸台20を目標角度迄A軸周りに回動する。A軸台20は所定周期毎に目標角度迄回動する動作を繰り返す。A軸台20はA軸早送り指令により指定した指令角度に最終的に到達する。 The CPU 41 determines the target angle for each predetermined period based on the angular velocity waveform of Figure 8 (D) obtained by applying FIR1 and FIR2. The CPU 41 outputs an angle command r corresponding to the determined target angle data to the drive circuit 55 at a predetermined period. The drive circuit 55 drives the A-axis motor 65 based on the angle command r output by the CPU 41 at a predetermined period. The A-axis motor 65 rotates the A-axis table 20 around the A-axis to the target angle. The A-axis table 20 repeats the operation of rotating to the target angle at each predetermined period. The A-axis table 20 finally reaches the command angle specified by the A-axis fast-forward command.

CPU41は支持装置8の内部モデルの複数の変数を以下のように算出する。内部モデルは、複数の変数の一つとしてA軸台20に付加した積載物の回転モーメント(偏荷重)を含む。積載物の回転モーメントは支持装置8のA軸台20の回転角度に応じて変動し、積載物の回転モーメントを解消する方向にA軸モータ65を回転しようとする力又はトルクを示す。図6(A)の如く、A軸台20の重心Cを定義する時、A軸台20の重心Cに対して鉛直下向き方向に積載物の回転モーメントによる力が作用する。 The CPU 41 calculates a plurality of variables of the internal model of the support device 8 as follows. The internal model includes the rotation moment (unbalanced load) of the load applied to the A-axis stage 20 as one of the plurality of variables. The rotation moment of the load varies according to the rotation angle of the A-axis stage 20 of the support device 8, and indicates a force or torque that tends to rotate the A-axis motor 65 in a direction that cancels the rotation moment of the load. When the center of gravity Cg of the A-axis stage 20 is defined as shown in Fig. 6(A), a force due to the rotation moment of the load acts in a vertical downward direction on the center of gravity Cg of the A-axis stage 20.

支持装置8の内部モデルは、複数の変数を用い適宜設定すればよく、例えば、式(2)で表す。式(2)において、θは基準面Rに対するA軸台20の角度である。θ(上付き一つドット)は角度の一回時間微分(角速度(rad/s))を示す。θ(上付き二つドット)は角度の二回時間微分(角加速度(rad/s))を示す。u(N・m)は駆動回路55がA軸モータ65に対して出力するトルク、J(kg・m)は支持装置8に関する慣性モーメントである。

Figure 0007501189000001
式(2)でfは式(3)の関係を満たす。Fは支持装置8に関するクーロン摩擦係数(N・m)である。sign関数は、実数に対しその符号に応じて1、-1、0の何れかを返す符号関数である。Dは支持装置8に関する粘性摩擦係数(N・m/(rad/s))である。
Figure 0007501189000002
The internal model of the support device 8 may be appropriately set using multiple variables, and is expressed, for example, by equation (2). In equation (2), θ is the angle of the A-axis stand 20 with respect to the reference plane R. θ (one superscript dot) indicates the first time differential of the angle (angular velocity (rad/s)). θ (two superscript dots) indicates the second time differential of the angle (angular acceleration (rad/ s2 )). u (N·m) is the torque output by the drive circuit 55 to the A-axis motor 65, and J (kg· m2 ) is the moment of inertia related to the support device 8.
Figure 0007501189000001
In formula (2), f satisfies the relationship of formula (3). F C is the Coulomb friction coefficient (N·m) for the support device 8. The sign function is a sign function that returns 1, -1, or 0 depending on the sign of a real number. D is the viscous friction coefficient (N·m/(rad/s)) for the support device 8.
Figure 0007501189000002

駆動回路55が出力するトルクuは式(2)の内部モデルを用いて推定できる。推定誤差e(ρ)は式(4)により導出できる。ρは算出する変数、xはエンコーダ75からの戻り値、GLPFは微分ノイズを除去する為のローパスフィルタである。上付きのTは転置行列であることを示す。例えば、ρはρの転置行列を示す。
e(ρ)=GLPFu-ρx ・・・式(4)
式(4)でρ、xは式(5)、式(6)の関係を満たす。ρで表す複数の変数(慣性モーメントJ、粘性摩擦係数D、クーロン摩擦係数F、回転モーメント係数Fθ)をモデル変数とも言う。

Figure 0007501189000003
Figure 0007501189000004
The torque u output by the drive circuit 55 can be estimated using the internal model of equation (2). The estimation error e(ρ) can be derived by equation (4). ρ is a variable to be calculated, x is a return value from the encoder 75, and G LPF is a low-pass filter for removing differential noise. The superscript T indicates a transposed matrix. For example, ρ T indicates the transposed matrix of ρ.
e(ρ)=GLPFu−ρ T x Equation (4)
In formula (4), ρ and x satisfy the relationships of formulas (5) and (6). The multiple variables represented by ρ (moment of inertia J, viscous friction coefficient D, Coulomb friction coefficient F C , and rotational moment coefficient F θ ) are also called model variables.
Figure 0007501189000003
Figure 0007501189000004

図7の如く、CPU41は評価関数|e(ρ)|が最小になるρを逐次最小二乗法により決定する(P3)。今回取得した戻り値をk番目の戻り値、前回取得した戻り値を(k-1)番目の戻りとする時、今回算出する変数をサーカムフレックス付きのρ(ρ^と表記する)(k)、今回の推定誤差e(ρ)をε(k)、今回の共分散行列をP(k)と置いた時、ρ^(k)、ε(k)、P(k)は式(7)~式(9)で表す。

Figure 0007501189000005
Figure 0007501189000006
Figure 0007501189000007
7, the CPU 41 determines ρ that minimizes the evaluation function |e(ρ)| 2 by the recursive least squares method (P3). If the return value acquired this time is the kth return value and the return value acquired last time is the (k-1)th return value, the variable calculated this time is ρ (denoted as ρ^) with circumflex (k), the current estimated error e(ρ) is ε(k), and the current covariance matrix is P(k), then ρ^(k), ε(k), and P(k) are expressed by formulas (7) to (9).
Figure 0007501189000005
Figure 0007501189000006
Figure 0007501189000007

ρ^(k)、ε(k)、P(k)は何れも式(7)~式(9)に基づき、前回の該ρ^(k―1)、ε(k―1)、P(k―1)、今回のトルクu(k)、戻り値x(k)を用いて逐次的に算出できる。故にCPU41は、駆動回路55がA軸モータ65に対して出力するトルクuと、エンコーダ75の戻り値xを内部モデルに適用し、式(7)~式(9)を所定周期毎計算し、評価関数|e(ρ)|が最小になるρ、即ちモデル変数(慣性モーメントJ、粘性摩擦係数D、クーロン摩擦係数F、回転モーメント係数Fθ)を逐次的に算出する(P3)。CPU41は処理をS1に戻す。 ρ^(k), ε(k), and P(k) can be calculated sequentially based on formulas (7) to (9) using the previous ρ^(k-1), ε(k-1), and P(k-1), the current torque u(k), and the return value x(k). Therefore, the CPU 41 applies the torque u output by the drive circuit 55 to the A-axis motor 65 and the return value x of the encoder 75 to the internal model, calculates formulas (7) to (9) at predetermined intervals, and sequentially calculates ρ that minimizes the evaluation function |e(ρ)| 2 , that is, the model variables (moment of inertia J, viscous friction coefficient D, Coulomb friction coefficient F C , and rotational moment coefficient F θ ) (P3). The CPU 41 returns the process to S1.

CPU41は読出したNCプログラムの指令がA軸早送り指令ではないと判断した時(S4:NO)、CPU41はS1で読出したNCプログラムの指令が、工作機械1の動作を停止する指令か否かを判断する(S7)。CPU41は工作機械1の動作を停止する指令でないと判断時(S7:NO)、S1で読出した指令に応じた処理を実行し(S8)、処理をS1に戻す。工作機械1の動作を停止する指令と判断時(S7:YES)、CPU41はS5でモデル変数を算出済みであるか否かを判断する(S9)。S5でモデル変数を算出済みである時(S9:YES)、CPU41はS5で算出したモデル変数を記憶部44に記憶し、モデル変数を更新する(S10、P4)。S5でモデル変数を算出済みでない時(S9:NO)又はS10の次に、CPU41は以上で主処理を終了する。 When the CPU 41 determines that the command of the NC program read out in S1 is not an A-axis fast-forward command (S4: NO), the CPU 41 determines whether the command of the NC program read out in S1 is a command to stop the operation of the machine tool 1 (S7). When the CPU 41 determines that the command is not a command to stop the operation of the machine tool 1 (S7: NO), it executes processing according to the command read out in S1 (S8) and returns the processing to S1. When it determines that the command is a command to stop the operation of the machine tool 1 (S7: YES), the CPU 41 determines whether the model variables have been calculated in S5 (S9). When the model variables have been calculated in S5 (S9: YES), the CPU 41 stores the model variables calculated in S5 in the storage unit 44 and updates the model variables (S10, P4). When the model variables have not been calculated in S5 (S9: NO) or after S10, the CPU 41 ends the main processing.

図9を参照し、第一実施形態の主処理の評価結果を説明する。評価では上記第一実施形態の主処理を実行することにより、A軸台20に積載物を付加した時にも、被削材Wを保持するA軸台20を回動する工作機械1をA軸早送り指令の指令角度θに従来よりも適切に回動できるかを確認した。工作機械1が上記第一実施形態の主処理を実行する場合を実施例とし、工作機械1が主処理の内S2、S3を実行しない場合を比較例とした。実施例と比較例を以下の五条件で駆動し、指令角度と誤差の関係を比較した。誤差はS5でA軸台20を回動した後の実際のA軸台20の角度(rad)から指令角度(rad)を差し引いた角度である。第一条件は積載物を付加しない条件である。第二条件は、A軸台20の尾側に積載物A1を付加した条件である。第三条件は、A軸台20の尾側に積載物A2を付加した条件である。第四条件は、A軸台20の尾側に積載物A3を付加した条件である。第五条件は、A軸台20の台側に積載物A4を付加した条件である。各条件の積載物の重量は35~600(N)の範囲の値であり、積載物A1~A4の順に値が大きい。 With reference to FIG. 9, the evaluation results of the main processing of the first embodiment will be described. In the evaluation, it was confirmed that by executing the main processing of the first embodiment, even when a load is added to the A-axis table 20, the machine tool 1 that rotates the A-axis table 20 that holds the workpiece W can be rotated more appropriately to the command angle θ of the A-axis fast-forward command than in the past. The case where the machine tool 1 executes the main processing of the first embodiment is taken as an example, and the case where the machine tool 1 does not execute S2 and S3 of the main processing is taken as a comparative example. The example and the comparative example were driven under the following five conditions, and the relationship between the command angle and the error was compared. The error is the angle obtained by subtracting the command angle (rad) from the actual angle (rad) of the A-axis table 20 after the A-axis table 20 is rotated in S5. The first condition is a condition where no load is added. The second condition is a condition where a load A1 is added to the tail side of the A-axis table 20. The third condition is a condition where a load A2 is added to the tail side of the A-axis table 20. The fourth condition is when load A3 is added to the tail side of the A-axle base 20. The fifth condition is when load A4 is added to the base side of the A-axle base 20. The weight of the load for each condition is in the range of 35 to 600 (N), with loads A1 to A4 having larger values in that order.

比較例の指令角度と誤差との関係を図9(A)に示し、実施例の指令角度と誤差との関係を図9(B)に示す。図9(A)、図9(B)の縦軸は誤差(rad)をαを用いる相対値で示し、横軸は指令角度(rad)を示す。誤差(rad)は指令角度(rad)の値を超えない。第一条件~第五条件の指令角度と誤差との関係を、結果81~85に示す。図9(A)、図9(B)の如く、比較例、実施例共に結果81で示す第一条件は指令角度が-π/6~2π/3(rad)の範囲で、誤差の絶対値はαに収まる。比較例では、結果82で示す第二条件、結果83で示す第三条件、結果84で示す第四条件は、積載物の重量が大きいほど、積載物の重量が小さい条件に比べ、誤差が大きく、且つ、指令角度が-π/6~π/2(rad)迄の範囲では、指令角度の絶対値が大きいほど、指令角度の絶対値が小さい場合よりも、誤差が大きい。結果85で示す第五条件の場合は、指令角度の絶対値が大きいほど、指令角度の絶対値が小さい場合よりも、誤差の絶対値が大きい。一方実施例では、結果82で示す第二条件、結果83で示す第三条件、結果84で示す第四条件、結果85で示す第五条件の何れの条件でも、角度が-π/6~2π/3(rad)の範囲で、誤差の絶対値はαに収まる。以上から、第一実施形態の制御装置40は主処理を実行することでA軸台20に積載物200、300を付加した時にも、被削材Wを保持するA軸台20を回動する工作機械1を従来よりも適切に制御できることが確認できた。制御装置4はA軸台20の台側に積載物200を付加する場合と、A軸台20の尾側に積載物300を付加する場合の双方で被削材Wを保持するA軸台20を回動する工作機械1を適切に制御できることが確認できた。 Figure 9(A) shows the relationship between the command angle and error for the comparative example, and Figure 9(B) shows the relationship between the command angle and error for the embodiment. The vertical axis of Figures 9(A) and 9(B) shows the error (rad) as a relative value using α, and the horizontal axis shows the command angle (rad). The error (rad) does not exceed the value of the command angle (rad). Results 81 to 85 show the relationship between the command angle and error for the first to fifth conditions. As shown in Figures 9(A) and 9(B), for both the comparative example and the embodiment, the first condition shown in result 81 is that the command angle is in the range of -π/6 to 2π/3 (rad), and the absolute value of the error falls within α. In the comparative example, the second condition shown in result 82, the third condition shown in result 83, and the fourth condition shown in result 84 have a larger error when the load weight is larger than when the load weight is small, and when the command angle is in the range of -π/6 to π/2 (rad), the error is larger when the absolute value of the command angle is larger than when the absolute value of the command angle is small. In the case of the fifth condition shown in result 85, the absolute value of the error is larger when the absolute value of the command angle is larger than when the absolute value of the command angle is small. On the other hand, in the embodiment, the absolute value of the error falls within α when the angle is in the range of -π/6 to 2π/3 (rad) under any of the second condition shown in result 82, the third condition shown in result 83, the fourth condition shown in result 84, and the fifth condition shown in result 85. From the above, it has been confirmed that the control device 40 of the first embodiment can more appropriately control the machine tool 1 rotating the A-axis table 20 holding the workpiece W than conventionally, even when the load 200, 300 is added to the A-axis table 20 by executing the main processing. It has been confirmed that the control device 4 can appropriately control the machine tool 1 rotating the A-axis table 20 holding the workpiece W in both cases where the load 200 is added to the base side of the A-axis table 20 and where the load 300 is added to the tail side of the A-axis table 20.

図10、図11を参照し、第二実施形態の制御装置40のCPU41が実行する係数算出処理を説明する。係数算出処理は制御装置40の電源がON、且つ、作業者が開始の指示を入力した時に、記憶部44に記憶した制御プログラムをCPU41が読出し実行することにより開始する。 The coefficient calculation process executed by the CPU 41 of the control device 40 of the second embodiment will be described with reference to Figures 10 and 11. The coefficient calculation process starts when the power of the control device 40 is turned on and the operator inputs an instruction to start the process, by the CPU 41 reading and executing the control program stored in the memory unit 44.

図10の如く、CPU41はA軸台20に積載物を付加しない状態でA軸モータ65を駆動し、基準面Rに対するA軸台20の角度がπ/2(rad)の角度にA軸台20を回動する(S21)。図11の如く、CPU41はエンコーダ75の出力値により、基準面Rに対するA軸台20の角度がπ/2(rad)であると判断した時、A軸モータ65の駆動を停止する。角度θがπ/2(rad)である時、A軸台20が有する面の内、A軸と対向する面は基準面Rと垂直であり、A軸台20の重心CがA軸に対し、前方に位置する。CPU41はA軸台20に積載物を付加しない状態で基準面Rに対しA軸台20が垂直になる角度にA軸台20を回動した時のA軸モータ65の第一駆動量を取得する(S22)。CPU41はA軸モータ65を駆動し、A軸台20に積載物を付加する角度迄、A軸台20を回動する(S23)。A軸台20に積載物を付加(固定)する位置は適宜定めればよく、例えば、基準面Rに対するA軸台20の角度が0(rad)の位置である。 As shown in Fig. 10, the CPU 41 drives the A-axis motor 65 without a load on the A-axis stage 20, and rotates the A-axis stage 20 to an angle of π/2 (rad) with respect to the reference plane R (S21). As shown in Fig. 11, when the CPU 41 determines that the angle of the A-axis stage 20 with respect to the reference plane R is π/2 (rad) based on the output value of the encoder 75, it stops driving the A-axis motor 65. When the angle θ is π/2 (rad), the surface of the A-axis stage 20 facing the A-axis is perpendicular to the reference plane R, and the center of gravity Cg of the A-axis stage 20 is located forward of the A-axis. The CPU 41 acquires a first drive amount of the A-axis motor 65 when the A-axis stage 20 is rotated to an angle at which the A-axis stage 20 is perpendicular to the reference plane R with no load on the A-axis stage 20 (S22). The CPU 41 drives the A-axis motor 65 to rotate the A-axis stage 20 to an angle at which the load is added to the A-axis stage 20 (S23). The position at which the load is added (fixed) to the A-axis stage 20 may be appropriately determined, and is, for example, a position at which the angle of the A-axis stage 20 with respect to the reference plane R is 0 (rad).

CPU41はA軸台20に積載物を付加したか否かを判断する(S24)。積載物は作業者がA軸台20に付加してもよく、作業者は積載物をA軸台20に付加後、操作部18を操作して固定作業が終了したことを示す終了信号を入力してもよい。積載物はロボットがA軸台20に固定してもよく、ロボットは積載物をA軸台20に固定後、制御装置40に終了信号を入力してもよい。CPU41は終了信号を検出したか否かに応じて、A軸台20に積載物を固定したか否かを判断する。CPU41はA軸台20に積載物を固定する迄、S24で待機する(S24:NO)。CPU41はA軸台20に積載物を固定したことを検出した時(S24:YES)、CPU41はS21と同様に、A軸台20に積載物を付加した状態でA軸モータ65を駆動し、基準面Rに対するA軸台20の角度をπ/2(rad)の位置にA軸台20を回動する(S25)。CPU41は、A軸台20に積載物を付加した状態で基準面Rに対しA軸台20が垂直になる角度にA軸台20を回動した時のA軸モータ65の第二駆動量を取得する(S26)。CPU41は、S26で取得した第二駆動量からS22で取得した第一駆動量を差し引いた差分にA軸モータ65の減速比を積算することで積載物の回転モーメント係数を算出する(S28)。A軸モータ65の減速比は、予め記憶部44に記憶する。CPU41は算出した積載物の回転モーメント係数を記憶部44に記憶する。CPU41は以上で係数算出処理を終了する。 The CPU 41 determines whether or not a load has been added to the A-axis table 20 (S24). The load may be added to the A-axis table 20 by an operator, or the operator may add the load to the A-axis table 20 and then operate the operation unit 18 to input an end signal indicating that the fixing work is complete. The load may be fixed to the A-axis table 20 by a robot, or the robot may input an end signal to the control device 40 after fixing the load to the A-axis table 20. The CPU 41 determines whether or not a load has been fixed to the A-axis table 20 depending on whether or not the end signal has been detected. The CPU 41 waits in S24 until the load is fixed to the A-axis table 20 (S24: NO). When the CPU 41 detects that the load is fixed to the A-axis base 20 (S24: YES), the CPU 41 drives the A-axis motor 65 with the load attached to the A-axis base 20 in the same manner as in S21, and rotates the A-axis base 20 to a position where the angle of the A-axis base 20 with respect to the reference plane R is π/2 (rad) (S25). The CPU 41 acquires a second drive amount of the A-axis motor 65 when the A-axis base 20 is rotated to an angle where the A-axis base 20 is perpendicular to the reference plane R with the load attached to the A-axis base 20 (S26). The CPU 41 calculates the rotation moment coefficient of the load by multiplying the difference obtained by subtracting the first drive amount acquired in S22 from the second drive amount acquired in S26 by the reduction ratio of the A-axis motor 65 (S28). The reduction ratio of the A-axis motor 65 is stored in the memory unit 44 in advance. The CPU 41 stores the calculated rotation moment coefficient of the load in the memory unit 44. The CPU 41 then ends the coefficient calculation process.

図12を参照し、第二実施形態の制御装置40のCPU41が実行する主処理を説明する。主処理は制御装置40の電源がON時、記憶部44に記憶した制御プログラムをCPU41が読出し実行することにより開始する。図12では図5の第一実施形態の主処理と同様の処理に同じ符号を付与する。図12の如く、第二実施形態の主処理は、S2、S55の処理に替えて、S32、S35の処理を実行し、S9、S10の処理を実行しない点で第一実施形態の主処理と互いに異なり、他の処理は第一実施形態の主処理と互いに同じである。以下、第一実施形態と互いに異なるS32、S35の処理を説明する。 With reference to FIG. 12, the main processing executed by the CPU 41 of the control device 40 in the second embodiment will be described. The main processing starts when the power of the control device 40 is ON, and the CPU 41 reads and executes the control program stored in the memory unit 44. In FIG. 12, the same processes as those in the main processing of the first embodiment in FIG. 5 are given the same reference numerals. As shown in FIG. 12, the main processing of the second embodiment differs from the main processing of the first embodiment in that it executes processes of S32 and S35 instead of processes of S2 and S55, and does not execute processes of S9 and S10, but the other processes are the same as those of the main processing of the first embodiment. Below, the processes of S32 and S35 that differ from those of the first embodiment will be described.

CPU41はS1の次にS28で算出した基準面Rに対するA軸台20の角度がπ/2(rad)である時の積載物の回転モーメントを用い角度誤差ΔQ(θ)を算出する(S32)。CPU41はS28で算出した基準面Rに対するA軸台20の角度がπ/2(rad)である時の積載物の回転モーメントを回転モーメント係数Fθ2とし、式(1)の回転モーメント係数Fθに変えて回転モーメント係数Fθ2を用い、角度誤差ΔQ(θ)を算出する。CPU41は第一実施形態と同様に、S32で算出した角度誤差ΔQ(θ)を用い、指令角度θを補正する(S3)。 After S1, the CPU 41 calculates the angular error ΔQ(θ) using the rotational moment of the load when the angle of the A-axis stage 20 with respect to the reference plane R calculated in S28 is π/2 (rad) (S32). The CPU 41 sets the rotational moment of the load when the angle of the A-axis stage 20 with respect to the reference plane R calculated in S28 as the rotational moment coefficient F θ2 , and calculates the angular error ΔQ(θ) by using the rotational moment coefficient F θ2 instead of the rotational moment coefficient F θ in the formula (1). The CPU 41 corrects the command angle θ using the angular error ΔQ(θ) calculated in S32 in the same manner as in the first embodiment (S3).

CPU41は読出したNCプログラムの指令がA軸早送り指令であると判断した時(S4:YES)、CPU41はS3で補正した指令角度θに関するA軸早送りを実行する(S35)。CPU41は、S3で補正したA軸早送り指令に応じて駆動回路55に出力する目標角度の時系列データを、記憶部44に記憶したFIR1、FIR2(図8参照)の時定数T1、T2に基づき決定し、決定した目標角度の時系列データを駆動回路55に出力することで早送りを実行する。CPU41は予め設定し記憶部44が記憶した時定数T1、T2は用いて角度指令rを決定する。CPU41は第一実施形態の内部モデルの複数の変数を算出する処理は実行しない。以上から、第二実施形態の主処理により、CPU41は主処理とは別途行う係数算出処理で算出した積載物の回転モーメントを用いて、指令角度θを補正できる。図示しないが、第二実施形態の制御装置40は主処理を実行することで図9の第一実施形態の制御装置40の評価結果と同様の評価結果を示す。 When the CPU 41 determines that the command of the read NC program is an A-axis fast-forward command (S4: YES), the CPU 41 executes the A-axis fast-forward command for the command angle θ corrected in S3 (S35). The CPU 41 determines the time series data of the target angle to be output to the drive circuit 55 in response to the A-axis fast-forward command corrected in S3 based on the time constants T1 and T2 of FIR1 and FIR2 (see FIG. 8) stored in the storage unit 44, and executes fast-forward by outputting the time series data of the determined target angle to the drive circuit 55. The CPU 41 determines the angle command r using the time constants T1 and T2 previously set and stored in the storage unit 44. The CPU 41 does not execute the process of calculating multiple variables of the internal model of the first embodiment. From the above, the main process of the second embodiment allows the CPU 41 to correct the command angle θ using the rotation moment of the load calculated in the coefficient calculation process performed separately from the main process. Although not shown, the control device 40 of the second embodiment performs the main processing and thereby shows evaluation results similar to those of the control device 40 of the first embodiment shown in FIG. 9.

上記第一、第二実施形態において、工作機械1、A軸台20、制御装置40、CPU41は本発明の工作機械、台、制御装置、制御部の一例である。A軸モータ65は本発明の駆動部の一例である。S5のP3、S28は本発明の係数算出工程、係数算出処理の一例であり、S5のP3、S28を行うCPU41は本発明の係数算出部の一例である。S2、S32は本発明の誤差算出工程、誤差算出処理の一例であり、S2、S32を行うCPU41は本発明の誤差算出部の一例である。S3は本発明の補正工程、補正処理の一例であり、S3を行うCPU41は本発明の補正部の一例である。S5、S35は本発明の駆動制御工程、駆動制御処理の一例であり、S5、S35を行うCPU41は本発明の駆動制御部の一例である。 In the first and second embodiments, the machine tool 1, the A-axis table 20, the control device 40, and the CPU 41 are examples of the machine tool, table, control device, and control unit of the present invention. The A-axis motor 65 is an example of the drive unit of the present invention. P3 and S28 of S5 are examples of the coefficient calculation process and coefficient calculation processing of the present invention, and the CPU 41 performing P3 and S28 of S5 is an example of the coefficient calculation unit of the present invention. S2 and S32 are examples of the error calculation process and error calculation processing of the present invention, and the CPU 41 performing S2 and S32 is an example of the error calculation unit of the present invention. S3 is an example of the correction process and correction processing of the present invention, and the CPU 41 performing S3 is an example of the correction unit of the present invention. S5 and S35 are examples of the drive control process and drive control processing of the present invention, and the CPU 41 performing S5 and S35 is an example of the drive control unit of the present invention.

第一、第二実施形態の制御装置40は、被削材Wを固定するA軸台20を、水平面と平行な軸周りに回動する駆動部28と、駆動部28を制御するCPU41とを備えた工作機械1を制御する。CPU41はA軸台20に付加した積載物の回転モーメント係数を算出する(S5のP3、S28)。CPU41は駆動部28のねじり剛性係数Eと、算出した積載物の回転モーメント係数と、NCプログラムが指令する、水平面に平行な基準面Rに対するA軸台20の指令角度とに基づいて、積載物をA軸台20に付加したことに因る角度誤差分、指令角度を補正する(S2、S32、S3)。CPU41はS3で補正した指令角度に対応する量だけ駆動部28を駆動する(S5、S35)。制御装置40、工作機械1は、A軸台20に付加した積載物の回転モーメント係数、駆動部28のねじり剛性係数E、基準面Rに対するA軸台20の指令角度に基づき角度誤差分指令角度を補正する(S3)。故に制御装置40は、A軸台20に付加した積載物の影響を考慮して駆動部28を駆動することで、A軸台20に積載物を付加した時にも従来の装置よりも適切に工作機械1を制御できる。 The control device 40 of the first and second embodiments controls a machine tool 1 equipped with a drive unit 28 that rotates the A-axis table 20, which fixes the workpiece W, around an axis parallel to the horizontal plane, and a CPU 41 that controls the drive unit 28. The CPU 41 calculates the rotation moment coefficient of the load added to the A-axis table 20 (P3, S28 of S5). The CPU 41 corrects the command angle by the angle error caused by adding the load to the A-axis table 20 based on the torsional rigidity coefficient E of the drive unit 28, the calculated rotation moment coefficient of the load, and the command angle of the A-axis table 20 relative to a reference plane R parallel to the horizontal plane commanded by the NC program (S2, S32, S3). The CPU 41 drives the drive unit 28 by an amount corresponding to the command angle corrected in S3 (S5, S35). The control device 40 and the machine tool 1 correct the command angle by the angle error based on the rotational moment coefficient of the load added to the A-axis table 20, the torsional rigidity coefficient E of the drive unit 28, and the command angle of the A-axis table 20 relative to the reference plane R (S3). Therefore, the control device 40 can control the machine tool 1 more appropriately than conventional devices even when a load is added to the A-axis table 20 by driving the drive unit 28 while taking into account the effect of the load added to the A-axis table 20.

第一、第二実施形態の制御装置40のCPU41は駆動部28のねじり剛性係数Eと、回転モーメント係数と、指令角度とに基づいて、積載物をA軸台20に付加したことに因る角度誤差を算出する(S2、S32)。CPU41は指令角度をS2で算出した角度誤差で補正する(S3)。制御装置40は角度誤差を算出せずに指令角度を角度誤差分補正する装置よりも、指令角度を角度誤差分補正する処理を簡単にできる。 The CPU 41 of the control device 40 in the first and second embodiments calculates the angle error caused by adding the load to the A-axis table 20 based on the torsional stiffness coefficient E of the drive unit 28, the rotational moment coefficient, and the command angle (S2, S32). The CPU 41 corrects the command angle with the angle error calculated in S2 (S3). The control device 40 can simplify the process of correcting the command angle by the angle error compared to a device that corrects the command angle by the angle error without calculating the angle error.

第一実施形態の制御装置40のCPU41は、所定の駆動条件に応じて駆動部28に出力した出力結果と、複数の変数の一つとして回転モーメント係数を含む駆動部28の内部モデルを所定の駆動条件(A軸早送り指令)に適用して導出した導出結果との誤差が最小となるように複数の変数を算出することで、積載物の回転モーメント係数を算出する(S5)。第一実施形態の制御装置40、工作機械1は、出力結果と、導出結果とに基づき、積載物の回転モーメント係数を算出できる。制御装置40は、内部モデルの複数の変数の内、回転モーメント係数以外の変数の影響を除いて回転モーメント係数を算出できる。 The CPU 41 of the control device 40 of the first embodiment calculates the rotational moment coefficient of the load by calculating multiple variables so as to minimize the error between the output result output to the drive unit 28 in accordance with the specified drive conditions and the derivation result derived by applying an internal model of the drive unit 28, which includes the rotational moment coefficient as one of the multiple variables, to the specified drive conditions (A-axis fast-forward command). The control device 40 and machine tool 1 of the first embodiment can calculate the rotational moment coefficient of the load based on the output result and the derivation result. The control device 40 can calculate the rotational moment coefficient by excluding the influence of variables other than the rotational moment coefficient among the multiple variables of the internal model.

第二実施形態の制御装置40のCPU41は、A軸台20に積載物を付加しない状態で基準面Rに対しA軸台20が垂直になる角度にA軸台20を回動した時の駆動部28の第一駆動量を取得する(S22)。CPU41はA軸台20に積載物を付加した状態で基準面Rに対しA軸台20が垂直になる角度にA軸台20を回動した時の駆動部28の第二駆動量を取得する(S26)。CPU41はS26で取得した第二駆動量からS22で取得した第一駆動量を差し引いた差分に駆動部28の減速比を積算することで積載物の回転モーメント係数を算出する(S28)。第二実施形態の制御装置40、工作機械1は、第二駆動量から第一駆動量を差し引いた差分に駆動部28の減速比を積算するという比較的簡単な処理で、積載物の回転モーメント係数を算出できる。 The CPU 41 of the control device 40 of the second embodiment acquires the first drive amount of the drive unit 28 when the A-axis table 20 is rotated to an angle at which the A-axis table 20 is perpendicular to the reference plane R with no load added to the A-axis table 20 (S22). The CPU 41 acquires the second drive amount of the drive unit 28 when the A-axis table 20 is rotated to an angle at which the A-axis table 20 is perpendicular to the reference plane R with a load added to the A-axis table 20 (S26). The CPU 41 calculates the rotational moment coefficient of the load by multiplying the difference obtained by subtracting the first drive amount acquired in S22 from the second drive amount acquired in S26 by the reduction ratio of the drive unit 28 (S28). The control device 40 and the machine tool 1 of the second embodiment can calculate the rotational moment coefficient of the load by a relatively simple process of multiplying the difference obtained by subtracting the first drive amount from the second drive amount by the reduction ratio of the drive unit 28.

本発明は上記実施形態に限らない。制御装置40は工作機械1に設ける時に限らず、工作機械1と別体に設けてもよい。例えば制御装置40は工作機械1に接続した装置(PC、専用機等)でもよい。 The present invention is not limited to the above embodiment. The control device 40 may be provided separately from the machine tool 1, not necessarily in the machine tool 1. For example, the control device 40 may be a device (PC, dedicated machine, etc.) connected to the machine tool 1.

第一実施形態の制御装置40は駆動部28に関する内部モデルのモデル変数の決定を示したが、工作機械1と異なる機械構成を持つ機械でも、積載物の回転モーメント(偏荷重)を受ける軸(例えば、C軸)周りにA軸台20を回動する駆動部に対して適用できる。積載物の回転モーメント係数を用いて指令角度を補正する方法は適宜変更してよい。回転モーメント係数Fθは、A軸台20とC軸駆動部30の回転モーメント係数Fθ1とA軸台20に付加した積載物200、300の回転モーメント係数Fθ2との和である。角度誤差はA軸周りに回転する全ての要素の回転モーメントによって生じる。故に第一実施形態の如く、制御装置40はA軸台20に付加した積載物200、300を含むA軸周りに回転する全ての要素に応じた回転モーメント係数Fθを用い角度誤差を算出してもよい。A軸台20とC軸駆動部30の回転モーメント係数Fθ1を工作機械1の固有値として用い別途補正する時、第二実施形態の如く、制御装置40はA軸台20に付加した積載物200、300の回転モーメント係数Fθ2を用い角度誤差を算出してもよい。例えば、制御装置40が積載物の回転モーメント係数に基づく補正を行うのとは別に、製造時のピッチ誤差を補正する時、制御装置40のCPU41はピッチ誤差に角度誤差を足し合わせて、ピッチ誤差補正時に、角度誤差の補正を行ってもよい。制御装置40のCPU41は指令角度をθ、補正後の指令角度をθaとした時、式(10)を満たすθaを算出することで、角度誤差を算出せずに、角度誤差分と、指令角度θを補正してもよい。
θa+E×Fθsin(θa)=θ ・・・式(10)
The control device 40 of the first embodiment shows the determination of the model variables of the internal model related to the drive unit 28, but even in a machine having a mechanical configuration different from the machine tool 1, it can be applied to a drive unit that rotates the A-axis table 20 around an axis (e.g., the C-axis) that receives the rotation moment (unbalanced load) of the load. The method of correcting the command angle using the rotation moment coefficient of the load may be changed as appropriate. The rotation moment coefficient F θ is the sum of the rotation moment coefficient F θ1 of the A-axis table 20 and the C-axis drive unit 30 and the rotation moment coefficient F θ2 of the loads 200, 300 added to the A-axis table 20. The angle error is caused by the rotation moment of all elements that rotate around the A-axis. Therefore, as in the first embodiment, the control device 40 may calculate the angle error using the rotation moment coefficient F θ corresponding to all elements that rotate around the A-axis, including the loads 200, 300 added to the A-axis table 20. When the rotation moment coefficient F θ1 of the A-axis table 20 and the C-axis drive unit 30 is used as an inherent value of the machine tool 1 and a separate correction is performed, the control device 40 may calculate the angle error using the rotation moment coefficient F θ2 of the loads 200 and 300 attached to the A-axis table 20 as in the second embodiment. For example, when the control device 40 corrects the pitch error at the time of manufacture separately from the correction based on the rotation moment coefficient of the load, the CPU 41 of the control device 40 may add the angle error to the pitch error and correct the angle error at the time of pitch error correction. When the command angle is θ and the corrected command angle is θa, the CPU 41 of the control device 40 may calculate θa that satisfies the formula (10) to correct the angle error and the command angle θ without calculating the angle error.
θa+E×F θ sin(θa)=θ ... Equation (10)

内部モデル、内部モデルの変数は制御対象の構成に応じて適宜変更してよい。CPU41は算出したモデル変数に基づく処理は適宜変更してもよい。制御装置40はエンコーダ70が出力した戻り値に基づくフィードバック制御の他、フィードフォワード制御を実行してもよい。該時、CPU41はフィードフォワード制御の変数を、決定したモデル変数により最適化してもよい。例えば、CPU41は駆動回路55が行うフィードバック制御の角度比例ゲイン、角速度比例ゲイン、角速度積分ゲイン等の制御変数を最適化してもよい。該時、制御装置40は工作機械1を高速且つ高精度に制御できる。第一実施形態の所定の駆動条件は適宜変更してよく、例えば、CPU41はS1で取得したNCプログラムが示す指令がA軸切削送り指令の時にモデル変数を算出してもよい。A軸切削送り指令はA軸台20に付加した被削材Wに対して工具をA軸周りに切削送り条件で相対移動して加工するNCプログラムの指令である。切削送り条件は工作機械1で設定可能な最大角速度Vmaxよりも小さい所定の切削速度でモータ60が回転する条件である。S21、S25の少なくとも何れかで作業者が手動でA軸台20を基準面Rに対しπ/2(rad)(垂直)の位置に移動してもよい。 The internal model and the variables of the internal model may be changed as appropriate according to the configuration of the controlled object. The CPU 41 may change the processing based on the calculated model variables as appropriate. The control device 40 may execute feedforward control in addition to feedback control based on the return value output by the encoder 70. At this time, the CPU 41 may optimize the variables of the feedforward control using the determined model variables. For example, the CPU 41 may optimize the control variables such as the angle proportional gain, the angular velocity proportional gain, and the angular velocity integral gain of the feedback control performed by the drive circuit 55. At this time, the control device 40 can control the machine tool 1 at high speed and high accuracy. The predetermined drive conditions of the first embodiment may be changed as appropriate. For example, the CPU 41 may calculate the model variables when the command indicated by the NC program acquired in S1 is an A-axis cutting feed command. The A-axis cutting feed command is a command of the NC program to relatively move the tool around the A-axis under cutting feed conditions with respect to the workpiece W attached to the A-axis table 20 to perform machining. The cutting feed condition is a condition under which the motor 60 rotates at a predetermined cutting speed that is lower than the maximum angular speed Vmax that can be set in the machine tool 1. In at least one of S21 and S25, the operator may manually move the A-axis table 20 to a position π/2 (rad) (vertical) with respect to the reference plane R.

1 :工作機械
20 :A軸台
40 :制御装置
41 :CPU
44 :記憶部
55 :駆動回路
65 :A軸モータ
75 :エンコーダ
R :基準面
1: Machine tool 20: A-axis table 40: Control device 41: CPU
44: Memory unit 55: Drive circuit 65: A-axis motor 75: Encoder R: Reference surface

Claims (5)

被削材を固定する台を、水平面と平行な軸周りに回動する駆動部と、前記駆動部を制御する制御部とを備えた工作機械を制御する制御装置において、
前記台に付加した積載物の回転モーメントの係数である回転モーメント係数を算出する係数算出部と、
前記駆動部のねじり剛性係数と、前記係数算出部が算出した前記回転モーメント係数と、プログラムが指令する、前記水平面に平行な基準面に対する前記台の指令角度とに基づいて、前記積載物を前記台に付加したことに因る角度誤差分、前記指令角度を補正する補正部と、
前記補正部が補正した前記指令角度に対応する量だけ前記駆動部を駆動する駆動制御部と
前記ねじり剛性係数と、前記回転モーメント係数と、前記指令角度とに基づいて、前記角度誤差を算出する誤差算出部と
を備え
前記係数算出部は、所定の駆動条件に応じて前記駆動部に出力した出力結果と、複数の変数の一つとして前記回転モーメント係数を含む前記駆動部の内部モデルを前記所定の駆動条件に適用して導出した導出結果との誤差が最小となるように前記複数の変数を算出することで、前記回転モーメント係数を算出することを特徴とする制御装置。
A control device for controlling a machine tool including a drive unit that rotates a table on which a workpiece is fixed about an axis parallel to a horizontal plane, and a control unit that controls the drive unit,
A coefficient calculation unit that calculates a rotation moment coefficient, which is a coefficient of the rotation moment of a load added to the platform;
a correction unit that corrects a command angle of the platform relative to a reference plane parallel to the horizontal plane, the command angle being commanded by a program, by an amount corresponding to an angle error caused by adding the load to the platform, based on a torsional stiffness coefficient of the drive unit, the rotational moment coefficient calculated by the coefficient calculation unit, and a command angle of the platform relative to a reference plane parallel to the horizontal plane;
a drive control unit that drives the drive unit by an amount corresponding to the command angle corrected by the correction unit ;
an error calculation unit that calculates the angle error based on the torsional stiffness coefficient, the rotational moment coefficient, and the command angle;
Equipped with
the coefficient calculation unit calculates the rotational moment coefficient by calculating the multiple variables so as to minimize an error between an output result output to the drive unit in accordance with specified drive conditions and a derivation result derived by applying an internal model of the drive unit, the internal model including the rotational moment coefficient as one of multiple variables, to the specified drive conditions .
前記係数算出部は、
前記台に前記積載物を付加しない状態で前記基準面に対し前記台が垂直になる角度に前記台を回動した時の前記駆動部の第一駆動量を取得し、
前記台に前記積載物を付加した状態で前記基準面に対し前記台が垂直になる角度に前記台を回動した時の前記駆動部の第二駆動量を取得し、
前記第二駆動量から前記第一駆動量を差し引いた差分に前記駆動部の減速比を積算することで前記回転モーメント係数を算出することを特徴とする請求項に記載の制御装置。
The coefficient calculation unit
a first drive amount of the drive unit when the platform is rotated to an angle at which the platform is perpendicular to the reference plane in a state in which the load is not applied to the platform;
acquiring a second drive amount of the drive unit when the platform is rotated to an angle at which the platform is perpendicular to the reference plane with the load attached to the platform;
2. The control device according to claim 1 , wherein the rotational moment coefficient is calculated by multiplying a difference obtained by subtracting the first drive amount from the second drive amount by a reduction ratio of the drive unit.
被削材を固定する台を、水平面と平行な軸周りに回動する駆動部と、
前記駆動部を制御する制御部と
請求項1又は2に記載の制御装置と
を備えることを特徴とする工作機械。
A drive unit that rotates a table on which a workpiece is fixed, around an axis parallel to a horizontal plane;
A machine tool comprising: a control unit that controls the drive unit; and the control device according to claim 1 or 2 .
被削材を固定する台を、水平面と平行な軸周りに回動する駆動部と、前記駆動部を制御する制御部とを備えた工作機械を制御する制御装置が実行する制御方法において、
前記台に付加した積載物の回転モーメントの係数である回転モーメント係数を算出する係数算出工程と、
前記駆動部のねじり剛性係数と、前記係数算出工程で算出した前記回転モーメント係数と、プログラムが指令する、前記水平面に平行な基準面に対する前記台の指令角度とに基づいて、前記積載物を前記台に付加したことに因る角度誤差分、前記指令角度を補正する補正工程と、
前記補正工程で補正した前記指令角度に対応する量だけ前記駆動部を駆動する駆動制御工程と
前記ねじり剛性係数と、前記回転モーメント係数と、前記指令角度とに基づいて、前記角度誤差を算出する誤差算出工程と
を備え
前記係数算出工程では、所定の駆動条件に応じて前記駆動部に出力した出力結果と、複数の変数の一つとして前記回転モーメント係数を含む前記駆動部の内部モデルを前記所定の駆動条件に適用して導出した導出結果との誤差が最小となるように前記複数の変数を算出することで、前記回転モーメント係数を算出することを特徴とする制御方法。
A control method executed by a control device for controlling a machine tool including a drive unit that rotates a table on which a workpiece is fixed about an axis parallel to a horizontal plane, and a control unit that controls the drive unit, comprising:
A coefficient calculation step of calculating a rotation moment coefficient which is a coefficient of the rotation moment of the load added to the platform;
a correction step of correcting a command angle of the platform relative to a reference plane parallel to the horizontal plane, the command angle being commanded by a program, by an amount corresponding to an angle error caused by adding the load to the platform;
a drive control step of driving the drive unit by an amount corresponding to the command angle corrected in the correction step ;
an error calculation step of calculating the angle error based on the torsional stiffness coefficient, the rotational moment coefficient, and the command angle;
Equipped with
A control method characterized in that in the coefficient calculation process, the rotational moment coefficient is calculated by calculating the multiple variables so as to minimize an error between an output result output to the drive unit in accordance with specified drive conditions and a derivation result derived by applying an internal model of the drive unit, which includes the rotational moment coefficient as one of multiple variables, to the specified drive conditions .
被削材を固定する台を、水平面と平行な軸周りに回動する駆動部と、前記駆動部を制御する制御部とを備えた工作機械を制御する制御装置が実行可能な制御プログラムにおいて、
前記台に付加した積載物の回転モーメントの係数である回転モーメント係数を算出する係数算出処理と、
前記駆動部のねじり剛性係数と、前記係数算出処理で算出した前記回転モーメント係数と、プログラムが指令する、前記水平面に平行な基準面に対する前記台の指令角度とに基づいて、前記積載物を前記台に付加したことに因る角度誤差分、前記指令角度を補正する補正処理と、
前記補正処理で補正した前記指令角度に対応する量だけ前記駆動部を駆動する駆動制御処理と
前記ねじり剛性係数と、前記回転モーメント係数と、前記指令角度とに基づいて、前記角度誤差を算出する誤差算出処理と
を前記制御装置に実行させる指示を含み、
前記係数算出処理では、所定の駆動条件に応じて前記駆動部に出力した出力結果と、複数の変数の一つとして前記回転モーメント係数を含む前記駆動部の内部モデルを前記所定の駆動条件に適用して導出した導出結果との誤差が最小となるように前記複数の変数を算出することで、前記回転モーメント係数を算出することを特徴とする制御プログラム。
A control program executable by a control device for controlling a machine tool including a drive unit that rotates a table on which a workpiece is fixed about an axis parallel to a horizontal plane, and a control unit that controls the drive unit, comprising:
A coefficient calculation process for calculating a rotation moment coefficient, which is a coefficient of the rotation moment of the load added to the platform;
a correction process for correcting a command angle of the platform with respect to a reference plane parallel to the horizontal plane, the command angle being commanded by a program, by an amount corresponding to an angle error caused by adding the load to the platform, based on a torsional stiffness coefficient of the drive unit, the rotational moment coefficient calculated in the coefficient calculation process, and a command angle of the platform with respect to a reference plane parallel to the horizontal plane;
a drive control process for driving the drive unit by an amount corresponding to the command angle corrected by the correction process ;
an error calculation process for calculating the angle error based on the torsional stiffness coefficient, the rotational moment coefficient, and the command angle;
and instructions for causing the controller to execute
a control program for calculating the rotational moment coefficient by calculating the multiple variables so as to minimize an error between an output result output to the drive unit in accordance with specified drive conditions and a derivation result derived by applying an internal model of the drive unit, the internal model including the rotational moment coefficient as one of multiple variables, to the specified drive conditions, the control program for calculating the rotational moment coefficient .
JP2020123668A 2020-07-20 2020-07-20 CONTROL DEVICE, MACHINE TOOL, CONTROL METHOD, AND CONTROL PROGRAM Active JP7501189B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020123668A JP7501189B2 (en) 2020-07-20 2020-07-20 CONTROL DEVICE, MACHINE TOOL, CONTROL METHOD, AND CONTROL PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020123668A JP7501189B2 (en) 2020-07-20 2020-07-20 CONTROL DEVICE, MACHINE TOOL, CONTROL METHOD, AND CONTROL PROGRAM

Publications (2)

Publication Number Publication Date
JP2022020269A JP2022020269A (en) 2022-02-01
JP7501189B2 true JP7501189B2 (en) 2024-06-18

Family

ID=80216244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020123668A Active JP7501189B2 (en) 2020-07-20 2020-07-20 CONTROL DEVICE, MACHINE TOOL, CONTROL METHOD, AND CONTROL PROGRAM

Country Status (1)

Country Link
JP (1) JP7501189B2 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001269839A (en) 2000-03-23 2001-10-02 Toshiba Mach Co Ltd Correcting method of main spindle head position error in multiple spindle machine tool
WO2002100591A1 (en) 2001-05-25 2002-12-19 Heui-Jae Pahk Ultra-precision feeding apparatus
JP2005168166A (en) 2003-12-02 2005-06-23 Matsushita Electric Ind Co Ltd Load characteristic operation device and motor control device
JP2006215626A (en) 2005-02-01 2006-08-17 Okuma Corp Position controller
JP2009101444A (en) 2007-10-22 2009-05-14 Okuma Corp Method of controlling position of rotating structure
JP2010055464A (en) 2008-08-29 2010-03-11 Osaka Kiko Co Ltd Positioning control method and device for numerically controlled machine tool
JP2020181424A (en) 2019-04-26 2020-11-05 ブラザー工業株式会社 Numerical controller and machine tool

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001269839A (en) 2000-03-23 2001-10-02 Toshiba Mach Co Ltd Correcting method of main spindle head position error in multiple spindle machine tool
WO2002100591A1 (en) 2001-05-25 2002-12-19 Heui-Jae Pahk Ultra-precision feeding apparatus
JP2005168166A (en) 2003-12-02 2005-06-23 Matsushita Electric Ind Co Ltd Load characteristic operation device and motor control device
JP2006215626A (en) 2005-02-01 2006-08-17 Okuma Corp Position controller
JP2009101444A (en) 2007-10-22 2009-05-14 Okuma Corp Method of controlling position of rotating structure
JP2010055464A (en) 2008-08-29 2010-03-11 Osaka Kiko Co Ltd Positioning control method and device for numerically controlled machine tool
JP2020181424A (en) 2019-04-26 2020-11-05 ブラザー工業株式会社 Numerical controller and machine tool

Also Published As

Publication number Publication date
JP2022020269A (en) 2022-02-01

Similar Documents

Publication Publication Date Title
US9785138B2 (en) Robot and robot controller
JP4323542B2 (en) Motor control device with learning control function
JP4074638B2 (en) Electric motor control device
US10324449B2 (en) Motor controlling method, control device and machine tool
WO2012057235A1 (en) Numerical control method
JP5916583B2 (en) Weaving control device for articulated robot
US20140156080A1 (en) Servo control system with position compensation function for driven member
WO2018212305A1 (en) Motor control system, method for controlling motor control system, and robot system
JP2017124455A (en) Robot device, robot control method, program and record medium
JP2017209762A (en) Robot device, robot control method, program, recording medium and production method of article
CN110662636A (en) Speed reducer angle transmission error identification system and speed reducer angle transmission error identification method
JP6581162B2 (en) Processing system and processing machine control method
JP2017056535A (en) Positioning device and positioning method for processing tool
JP6490368B2 (en) Machine tool control device, machine tool control method, and program
JP2007072943A (en) Position controller
JP7501189B2 (en) CONTROL DEVICE, MACHINE TOOL, CONTROL METHOD, AND CONTROL PROGRAM
US7129665B2 (en) Control apparatus for feed driving system
JP2016032326A (en) Motor controller, robot device, motor control method, program, and recording medium
CN111857045B (en) Numerical control device and machine tool
JP4389980B2 (en) Control method for articulated robot
CN112743509B (en) Control method and computing device
JP6544851B2 (en) Patent application title: Parameter setting method for positioning device, parameter setting device, and positioning device provided with the parameter setting device
JP2024005673A (en) Numerical control device, identifying method and identifying program
JP4699118B2 (en) Control apparatus and control method
JP2024034256A (en) Numerical control device, identification method, and identification program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240325

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240520

R150 Certificate of patent or registration of utility model

Ref document number: 7501189

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150