(57)【要約】【課題】工作機械の伝達特性のパラメータを精度良く設定して工作機械を適切に制御できる数値制御装置、及び、数値制御装置を備えた工作機械を提供する。【解決手段】数値制御装置は、被削材を加工する工具と被削材とを相対的に移動及び回転させる為のモータを備えた工作機械に対し、モータの駆動条件を示す指令を出力する。数値制御装置は、所定の駆動条件である入力条件を取得する（Ｓ１５：ＹＥＳ）。数値制御装置は、取得した入力条件と、工作機械の伝達モデルを入力条件に適用して導出した導出結果との誤差が最小となるように、伝達モデルのモデルパラメータを特定する（Ｓ２１）。数値制御装置は、特定したパラメータに基づき、指令を決定する（Ｓ１７）。モデルパラメータは、工作機械に関する慣性モーメント、粘性摩擦、クーロン摩擦、及び、偏荷重を含む。【選択図】図７
2020181424.tif 000002
【特許請求の範囲】
【請求項１】
被削材を加工する工具と前記被削材とを相対的に移動及び回転させる為のモータを備えた工作機械に対し、前記モータの駆動条件を示す指令を出力する数値制御装置であって、
所定の前記駆動条件である入力条件を取得する取得部と、
前記取得部により取得した前記入力条件に応じて前記モータに出力した出力結果と、前記工作機械の伝達モデルを前記入力条件に適用して導出した導出結果との誤差が最小となるように、前記伝達モデルのパラメータを特定する特定部と、
前記特定部により特定した前記パラメータに基づき、前記指令を決定する決定部と、
を備え、
前記パラメータは、
前記工作機械に関する慣性モーメント、粘性摩擦、クーロン摩擦、及び、偏荷重を含むことを特徴とする数値制御装置。
【請求項２】
前記偏荷重は、
前記被削材を保持するテーブルの回転角度に応じて変動し、前記モータを特定の方向に回転させようとする力又は前記モータのトルクを表す前記パラメータであることを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記決定部は、
前記特定部により特定した前記パラメータに基づき、前記モータの加減速時における加減速時定数を調整することで、前記指令を決定することを特徴とする請求項１又は２に記載の数値制御装置。
【請求項４】
前記決定部は、
前記特定部により特定した前記パラメータに基づき、前記工作機械に作用する外乱トルクを決定し、前記外乱トルクが所定の閾値をこえた時、機械が異常であると判断することを特徴とする請求項１から３の何れかに記載の数値制御装置。
【請求項５】
前記取得部は、
前記入力条件として、設定可能な最大速度で前記モータが回転する早送り条件を取得し、
前記決定部は、
前記取得部により取得した前記早送り条件に応じて前記モータに出力した出力結果と、前記伝達モデルを前記早送り条件に適用して導出した前記導出結果との誤差が最小となるように、前記伝達モデルの前記パラメータを決定することを特徴とする請求項１から４の何れかに記載の数値制御装置。
【請求項６】
請求項１から５の何れかに記載の前記数値制御装置と、
前記数値制御装置が出力する前記指令に基づき前記モータを駆動し、前記工具により前記被削材を加工する加工部と
を備えたことを特徴とする工作機械。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置、及び、数値制御装置を備えた工作機械に関する。
【背景技術】
【０００２】
工作機械を制御するための制御条件を適切に決定する為に、工作機械の伝達特性を示す物理パラメータ（イナーシャ等）を高精度に設定する必要がある。特許文献１は、制御誤差の推定技術を開示する。該推定技術は、制御出力の観測値にプラントの逆モデルを適用して制御入力を演算する。そして、演算した制御入力と、制御入力の観測値との比較により、制御誤差を推定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−７２１７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記技術を適用して工作機械の物理パラメータを設定した時、工作機械の駆動時受ける偏荷重の影響が考慮されず、物理パラメータの精度が低下する。故に、工作機械を適切に制御できる制御条件を決定できない時があるという問題点がある。
【０００５】
本発明の目的は、工作機械の伝達特性のパラメータを精度良く設定して工作機械を適切に制御できる数値制御装置、及び、数値制御装置を備えた工作機械の提供である。
【課題を解決するための手段】
【０００６】
本発明の第一態様に係る数値制御装置は、被削材を加工する工具と前記被削材とを相対的に移動及び回転させる為のモータを備えた工作機械に対し、前記モータの駆動条件を示す指令を出力する数値制御装置であって、所定の前記駆動条件である入力条件を取得する取得部と、前記取得部により取得した前記入力条件に応じて前記モータに出力した出力結果と、前記工作機械の伝達モデルを前記入力条件に適用して導出した導出結果との誤差が最小となるように、前記伝達モデルのパラメータを特定する特定部と、前記特定部により特定した前記パラメータに基づき、前記指令を決定する決定部と、を備え、前記パラメータは、前記工作機械に関する慣性モーメント、粘性摩擦、クーロン摩擦、及び、偏荷重を含むことを特徴とする。
【０００７】
数値制御装置は、伝達モデルのパラメータに基づき、工作機械に出力してモータを駆動するための指令を決定する。ここで、伝達モデルのパラメータは、少なくとも偏荷重を含む。故に、数値制御装置は、偏荷重の影響を考慮した高精度なパラメータに基づき指令を決定し、決定した指令により工作機械を制御できる。
【０００８】
第一態様において、前記偏荷重は、前記被削材を保持するテーブルの回転角度に応じて変動し、前記モータを特定の方向に回転させようとする力又は前記モータのトルクを表す前記パラメータであってもよい。数値制御装置は、工作機械のテーブルの回転角度に応じて偏荷重が変動する場合でも、適切な指令を決定することで工作機械を制御できる。
【０００９】
第一態様において、前記決定部は、前記特定部により特定した前記パラメータに基づき、前記モータの加減速時における加減速時定数を調整することで、前記指令を決定してもよい。数値制御装置は、モータの加減速時における時定数を、偏荷重の影響を考慮して調整し、指令を決定できる。
【００１０】
第一態様において、前記決定部は、前記特定部により特定した前記パラメータに基づき、前記工作機械に作用する外乱トルクを決定し、前記外乱トルクが所定の閾値をこえた時、機械が異常であると判断してもよい。数値制御装置は、外乱トルクの異常を検出して適切に対処できる。
【００１１】
第一態様において、前記取得部は、前記入力条件として、設定可能な最大速度で前記モータが回転する早送り条件を取得し、前記決定部は、前記取得部により取得した前記早送り条件に応じて前記モータに出力した出力結果と、前記伝達モデルを前記早送り条件に適用して導出した前記導出結果との誤差が最小となるように、前記伝達モデルの前記パラメータを決定してもよい。数値制御装置は、偏荷重の影響を考慮した指令を、モータの回転速度に依らず決定できる。
【００１２】
本発明の第二態様に係る工作機械は、第一態様に係る前記数値制御装置と、前記数値制御装置が出力する前記指令に基づき前記モータを駆動し、前記工具により前記被削材を加工する加工部とを備えたことを特徴とする。第二態様によれば、第一態様と同様の効果を奏することができる。
【図面の簡単な説明】
【００１３】
【図１】工作機械１の斜視図。
【図２】被削材支持装置８の斜視図。
【図３】数値制御装置４０と工作機械１の電気的構成を示す電気ブロック図。
【図４】駆動回路５１の制御系を示す図。
【図５】数値制御装置４０の機能を示す機能ブロック図。
【図６】二段のＦＩＲフィルタを適用した時の速度曲線と加速度曲線の図。
【図７】メイン処理の流れ図。
【図８】評価例１の評価結果を示すグラフ。
【図９】評価例２の評価結果を示すグラフ。
【発明を実施するための形態】
【００１４】
本発明の実施形態を、図面を参照し説明する。以下説明は、図中に矢印で示す左右、前後、上下を使用する。工作機械１の左右方向、前後方向、上下方向は夫々、工作機械１のＸ軸方向、Ｙ軸方向、Ｚ軸方向である。右方向、前方向、上方向は夫々、正方向であり、左方向、後方向、下方向は夫々、負方向である。図１に示す工作機械１は、工具により被削材（図示略）の切削加工と旋削加工ができる複合機である。
【００１５】
＜工作機械１の構造＞
図１を参照し、工作機械１の構造を説明する。工作機械１は基台２、Ｙ軸移動機構（図示略）、Ｘ軸移動機構（図示略）、Ｚ軸移動機構（図示略）、移動体１５、立柱５、主軸ヘッド６、主軸（図示略）、被削材支持装置８、工具交換装置９、制御箱（図示略）、数値制御装置４０（図３参照）等を備える。基台２は架台１１、主軸基台１２、右側基台１３、左側基台１４等を備える。架台１１は前後方向に長い略直方体状の構造体である。主軸基台１２は前後方向に長い略直方体状に形成し、架台１１上面後方に設ける。右側基台１３は架台１１上面右前方に設ける。左側基台１４は架台１１上面左前方に設ける。右側基台１３と左側基台１４は夫々、上面に被削材支持装置８を支持する。
【００１６】
Ｙ軸移動機構は主軸基台１２上面に設け、Ｙ軸モータ６２（図３参照）等を備える。Ｙ軸移動機構はＹ軸モータ６２の駆動により、略平板状の移動体１５をＹ軸方向に移動する。Ｘ軸移動機構は移動体１５上面に設け、Ｘ軸モータ６１（図３参照）等を備える。Ｘ軸移動機構はＸ軸モータ６１の駆動により、立柱５をＸ軸方向に移動する。立柱５は、Ｙ軸移動機構、移動体１５、Ｘ軸移動機構により、基台２上をＸ軸方向とＹ軸方向に移動可能である。Ｚ軸移動機構は立柱５前面に設け、Ｚ軸モータ６３（図３参照）等を備える。Ｚ軸移動機構はＺ軸モータ６３の駆動により、主軸ヘッド６をＺ軸方向に移動する。主軸（図示略）は主軸ヘッド６内部に設け、主軸下部に工具装着穴（図示略）を備える。工具装着穴は工具を装着する。故に、Ｘ軸移動機構、Ｙ軸移動機構、Ｚ軸移動機構は夫々、主軸に装着した工具に対して被削材を相対的に、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向に移動できる。主軸は主軸ヘッド６上部に設けた主軸モータ６６（図３参照）で回転する。該時、主軸に設けた工具は、被削体に対して回転する。
【００１７】
工具交換装置９は立柱５と主軸ヘッド６周囲を取り巻く略円環状である。工具交換装置９は主軸ヘッド６を昇降する間に、主軸に現在装着する工具を交換する。制御箱は工作機械１を覆うカバー（図示略）の外壁に取り付ける。数値制御装置４０（図３参照）は制御箱の内側に格納する。数値制御装置４０はＮＣプログラムに基づき工作機械１の動作を制御する。工作機械１を覆うカバーは外壁面に操作盤１０（図３参照）を備える。操作盤１０は操作部１８と表示部１９を備える。操作部１８は数値制御装置４０の各種設定を行う。表示部１９は各種画面、メッセージ、アラーム等を表示する。
【００１８】
被削材支持装置８は右側基台１３と左側基台１４の上面に固定する。図２に示すように、被削材支持装置８はＡ軸台２０、左側支持台２７、駆動機構部２８、回転台２９、Ｃ軸駆動部３０等を備える。Ａ軸台２０は台部２１、右連結部２２、左連結部２３を備える。台部２１は、Ａ軸台２０の傾斜角度が０度で上面が水平面となる平面視略長方形状の板状部である。右連結部２２は台部２１の右端部から右斜め上方に延び且つ駆動機構部２８と回動可能に連結する。左連結部２３は台部２１の左端部から左斜め上方に延び且つ後述する左側支持台２７と回動可能に連結する。左連結部２３はその左端面から左方に突出する略円柱状の支軸３１を有する。左側支持台２７は支軸３１を回転可能に支持する。左側支持台２７の底部は、左側基台１４（図１参照）の上面に固定する。
【００１９】
駆動機構部２８はＡ軸台２０右側に位置する。駆動機構部２８は内側に、右側支持台（図示略）、Ａ軸モータ６５（図３参照）等を格納する。右連結部２２はその右端面から右方に突出する略円柱状の支軸（図示略）を有する。右側支持台は右連結部２２の支軸を回転可能に支持する。右連結部２２の支軸とＡ軸モータ６５の出力軸は、互いに連結する。Ａ軸モータ６５の出力軸が回転すると、Ａ軸台２０はＸ軸方向に対して平行な支軸３１を中心に、右連結部２２と一体して回転する。Ａ軸台２０を回転する軸はＡ軸である。駆動機構部２８は工具に対して被削材を、Ａ軸を中心として回転できる。Ａ軸台２０はＡ軸回りに任意角度で傾くことで、主軸に装着する工具に対して被削材を任意方向に傾けることができる。右側支持台の底部は、右側基台１３（図１参照）の上面に固定する。
【００２０】
回転台２９は台部２１上面略中央に回転可能に設ける。回転台２９は円盤状に形成し、Ａ軸台２０上面略中央に設ける。Ｃ軸駆動部３０は台部２１下面に設け且つ台部２１の略中央に設けた穴（図示略）を介して回転台２９と連結する。Ｃ軸駆動部３０は内部に回転軸（図示略）、Ｃ軸モータ６４（図３参照）等を備える。回転軸は回転台２９に対して直交する方向に延びる。回転軸は回転台２９に固定する。Ｃ軸モータ６４は回転軸に固定する。故に、Ｃ軸モータ６４が回転軸を回転すると、回転台２９はＺ軸方向に平行な軸を中心に回転可能である。回転台２９を回転する軸はＣ軸である。回転台２９上面の冶具２００は、被削材を固定する。Ｃ軸駆動部３０は工具に対して被削材を、Ｃ軸を中心として回転できる。
【００２１】
＜電気的構成＞
図３を参照して数値制御装置４０と工作機械１の電気的構成を説明する。数値制御装置４０はＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、フラッシュメモリ４４、入出力部４５、駆動回路５１〜５６を備える。工作機械１はＸ軸モータ６１、Ｙ軸モータ６２、Ｚ軸モータ６３、Ｃ軸モータ６４、Ａ軸モータ６５、主軸モータ６６、エンコーダ７１〜７６を備える。以下、駆動回路５１〜５６を区別しない時、駆動回路５０と総称する。Ｘ軸モータ６１、Ｙ軸モータ６２、Ｚ軸モータ６３、Ｃ軸モータ６４、Ａ軸モータ６５、主軸モータ６６を区別しない時、モータ６０と総称する。エンコーダ７１〜７６を区別しない時、エンコーダ７０と総称する。
【００２２】
ＣＰＵ４１は工作機械１の動作を制御する。ＲＯＭ４２は後述するメイン処理（図７参照）を実行する為の制御プログラム等を記憶する。ＲＡＭ４３は各種処理実行中に発生する各種データを記憶する。フラッシュメモリ４４はＮＣプログラム等を記憶する。入出力部４５は駆動回路５０、エンコーダ７０、操作部１８、表示部１９との間で各種信号の入出力を行う。
【００２３】
駆動回路５０は、ＣＰＵ４１が出力する指令に基づき、モータ６０にパルス信号を出力する。エンコーダ７０は、対応するモータ６０の回転位置を検出し、該検出信号を駆動回路５０及び入出力部４５に出力する。モータ６０は何れもサーボモータである。エンコーダ７０は一般的な絶対値エンコーダであり、回転位置の絶対位置を検出して出力する位置センサである。
【００２４】
図４を参照し、駆動回路５０のサーボ制御系を説明する。数値制御装置４０のＣＰＵ４１は、ＮＣプログラムの制御指令に基づいて目標位置のデータ（後述）を生成し、駆動回路５０に出力する。エンコーダ７０は、モータ６０の現在の位置情報を位置フィードバック信号として、駆動回路５０に出力する。駆動回路５０は、該フィードバック信号及び該データに基づき、モータ６０に出力する駆動電流を制御する。
【００２５】
詳細は次の通りである。駆動回路５０の加算器５０Ａは、実際の位置の信号である位置フィードバック信号と位置指令との位置偏差を算出し、該位置偏差に位置比例ゲインを乗ずることで速度指令を算出する。加算器５０Ｂは、算出した速度指令と実際の速度、即ち位置フィードバック信号を微分器５０Ｃで微分して得た速度フィードバック信号との速度偏差を算出する。加算器５０Ｄは、加算器５０Ｂが算出した速度偏差に速度比例ゲインを乗ずることで得た電流指令と、上記速度偏差を積分器５０Ｅで積分してその積分結果に速度積分ゲインを乗ずることで得た電流指令を加算し、トルク指令を生成する。駆動回路５０は、トルク指令を示すパルス信号により、モータ６０を駆動する。
【００２６】
＜送り軸制御＞
被削材に対して工具を、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向、Ａ軸方向、Ｃ軸方向に相対移動させて加工するＮＣプログラムの指令（以下、「送り軸指令」と称す。）に基づき、工作機械１が駆動する場合を例示する。以下、工具に対して被削材を、Ａ軸まわりに移動する場合を例示して説明する。被削材に対して工具を、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向、Ｃ軸方向に移動する場合については、Ａ軸まわりに移動する場合と同様であるので、説明は省略する。
【００２７】
図５に示すように、数値制御装置４０のＣＰＵ４１は、はじめにＮＣプログラムを読み込み、ＮＣプログラムから送り軸指令を取得する（Ｐ１）。ＣＰＵ４１は、被削材を送り軸指令により指定した角度まで移動する為、目標位置の時系列データを決定する（Ｐ２）。ＣＰＵ４１は、所定周期で目標位置のデータを駆動回路５５に出力する。該データは、目標位置まで被削材を移動する為のＡ軸モータ６５の駆動条件を示す。
【００２８】
駆動回路５５は、ＣＰＵ４１が出力した目標位置のデータに基づき、Ａ軸モータ６５を駆動する。Ａ軸モータ６５は、Ａ軸台２０を目標位置までＡ軸まわりに回転する。ＣＰＵ４１が駆動回路５１に目標位置のデータを入力する都度、駆動回路５５はＡ軸モータ６５を駆動する。これにより、Ａ軸台２０は、送り軸指令により指定した回転角度（以下、「指令角度」と称す。）に最終的に到達する。送り軸指令に基づきＣＰＵ４１が実行する上記の制御を、「送り軸制御」と称す。
【００２９】
図６を参照し、ＣＰＵ４１による目標位置の時系列データの決定方法について説明する。図６（Ａ）（Ｂ）に示すように、はじめにＣＰＵ４１は、送り軸指令の指令角度までＡ軸台２０が移動する時の速度が一定に推移する（図６（Ｂ））ように、各目標位置を決定する（図６（Ａ））。次にＣＰＵ４１は、図６（Ｂ）に示す速度の時系列変化を示す波形（以下、「速度波形」と称す。）に移動平均フィルタ（以下、「ＦＩＲフィルタ」と称す）を少なくとも二回適用し、速度変化を滑らかにする（図６（Ｃ）（Ｄ））。一回目に適用するＦＩＲフィルタを「第一ＦＩＲフィルタ」と称し、図６において「ＦＩＲ１」と表す。第一ＦＩＲフィルタを適用した時の速度の時定数を、「Ｔ１」と称す。二回目に適用するＦＩＲフィルタを「第二ＦＩＲフィルタ」と称し、図６において「ＦＩＲ２」と表す。第二ＦＩＲフィルタを適用した時の速度の時定数を、「Ｔ２」と称す。
【００３０】
図６（Ｂ）に示す速度波形に第一ＦＩＲフィルタを適用した時、図６（Ｃ）に示すように、速度波形のうち速度が０からＶｍａｘまで変化する部分（立ち上がり部分）、及び、速度がＶｍａｘから０まで変化する部分（立ち下がり部分）の傾き（加速度）は一定となる。速度波形の立ち上がり部分及び立ち下がり部分の時間（以下、夫々を「立ち上がり時間」「立ち下がり時間」と称す。）は、何れもｔ１となる。ｔ１は、速度波形に第一ＦＩＲフィルタを適用した時の時定数Ｔ１に対応する。
【００３１】
第一ＦＩＲフィルタを適用した速度波形（図６（Ｃ）参照）に第二ＦＩＲフィルタを適用した時、図６（Ｄ）に示すように、速度波形の立ち上がり部分及び立下り部分の傾き（加速度）が一定となる部分の開始部分及び終了部分で、速度は緩やかに変化する。該時、加速度の時系列変化を示す波形（以下、「加速度波形」と称す。）において、速度が緩やかに変化する部分に対応する傾きは一定となる。速度波形の立ち上がり時間及び立ち下がり時間は、夫々ｔ２ずつ増加し、「ｔ１＋ｔ２」となる。ｔ２は、速度波形に第二ＦＩＲフィルタを適用した時の時定数Ｔ２に対応する。以上のように、ＣＰＵ４１は、速度に複数のＦＩＲフィルタを適用することで、送り軸制御時における被削材支持装置８の移動速度の変化を緩和する。第一ＦＩＲフィルタの時定数Ｔ１及び第二ＦＩＲフィルタの時定数Ｔ２は、制御対象となるＡ軸モータ６５の加減速時における加減速時定数に対応する。
【００３２】
ＣＰＵ４１は、Ｐ１の工程（図５参照）によりＮＣプログラムから取得した送り軸指令に基づいて、所定周期毎に工具の速度（図６（Ｂ）参照）を算出する。ＣＰＵ４１は、時定数Ｔ１、Ｔ２の夫々の第一ＦＩＲフィルタ及び第二ＦＩＲフィルタを、算出した速度に適用することで、速度波形の形状に対応する加減速特性を調整する（図６（Ｃ）（Ｄ））。ＣＰＵ４１は、第一ＦＩＲフィルタ及び第二ＦＩＲフィルタを適用して算出した速度波形（図６（Ｄ）参照）に基づき、所定周期毎の目標位置を決定する。ＣＰＵ４１は、決定した目標位置のデータを所定周期で駆動回路５１に出力する。尚、ＣＰＵ４１は、後述のＰ４（図５参照）の工程で、第一ＦＩＲフィルタ及び第二ＦＩＲフィルタの時定数Ｔ１、Ｔ２を最適化して調整する。ＣＰＵ４１は、調整した時定数Ｔ１、Ｔ２の第一ＦＩＲフィルタ及び第二ＦＩＲフィルタを用いる。
【００３３】
駆動回路５１は、ＣＰＵ４１が所定周期で出力する目標位置のデータに基づき、Ａ軸モータ６５を駆動する。Ａ軸モータ６５は、Ａ軸台２０を目標位置までＡ軸まわりに回転する。Ａ軸台２０は所定周期毎に目標位置まで回転する動作を繰り返す。これにより、Ａ軸台２０は、送り軸指令により指定した指令角度に最終的に到達する。
【００３４】
＜提案モデル＞
工作機械１において、偏荷重は、被削材支持装置８のＡ軸台２０の回転角度に応じて変動し、Ａ軸モータ６５を特定の方向に回転させようとする力又はトルクを示す。より具体的には、図２に示すように、Ａ軸台２０の重心Ｃｇを定義する時、該重心Ｃｇは、支軸３１の回転中心Ｒに対して下方に位置する。故に、Ａ軸モータ６５が回転する時、該重心Ｃｇに対して鉛直下向き方向に偏荷重による力が作用する。
【００３５】
故に、本発明では、偏荷重Ｆθｓｉｎ（θ）を定義する。偏荷重係数Ｆθは偏荷重を算出するためのパラメータである。θ＝０は、Ａ軸台２０が鉛直下向き方向に位置することを表すものとする。尚、以下において、「θ（上付き一つドット）」は、角度の一回時間微分を示す。「θ（上付き二つドット）」は、角度の二回時間微分を示す。式（１）は、本実施形態において制御対象となるモデルを示す。ｕは駆動回路５５がＡ軸モータ６５に対して出力するトルク、Ｊは工具被削材支持装置８に関する慣性モーメントである。
【数１】
2020181424.tif 000003
式（１）において、ｆは式（２）の関係を満たす。ここで、Ｄは工具被削材支持装置８に関する粘性摩擦係数、ＦＣは工具被削材支持装置８に関するクーロン摩擦である。
【数２】
2020181424.tif 000004
【００３６】
駆動回路５５が出力するトルクｕは、式（１）のモデルによって推定可能である。推定誤差ｅ（ρ）は式（３）により導出可能である。但し、ρは特定するパラメータ、ｘはエンコーダ７５からのフィードバック値、ＧＬＰＦは、微分ノイズを除去する為のローパスフィルタである。
【数３】
2020181424.tif 000005
式（３）において、ρ及びｘは、それぞれ式（４−１）（４−２）の関係を満たす。
【数４】
2020181424.tif 000006
【数５】
2020181424.tif 000007
【００３７】
ＣＰＵ４１は、図５に示すように、評価関数｜ｅ（ρ）｜２が最小になるρを逐次最小二乗法により特定する（Ｐ３）。具体的には、逐次最小二乗法とは、ステップｋにおける特定中のパラメータをサーカムフレックス付きのρ（以下、ρ^と表記する）（ｋ）、ステップｋにおける推定誤差ｅ（ρ）をε（ｋ）、ステップｋにおける共分散行列をＰ（ｋ）と置いた時、ρ^（ｋ）、ε（ｋ）、Ｐ（ｋ）は以下の式（５−１）、（５−２）、（５−３）を計算することによって実現される。
【数６】
2020181424.tif 000008
【数７】
2020181424.tif 000009
【数８】
2020181424.tif 000010
【００３８】
ρ^（ｋ）、ε（ｋ）、Ｐ（ｋ）は、何れも上記式（５−１）、（５−２）、（５−３）よりステップ（ｋ−１）における該ρ^（ｋ―１）、ε（ｋ―１）、Ｐ（ｋ―１）及びステップｋにおけるトルクｕ（ｋ）、フィードバック値ｘ（ｋ）用いて逐次的に算出可能である。故に上記式（５−１）、（５−２）、（５−３）を毎ステップ計算することで、最終的に評価関数｜ｅ（ρ）｜２が最小になるρを逐次的に算出できる。
【００３９】
上記逐次最小二乗法により、ＣＰＵ４１は、偏荷重Ｆθｓｉｎ（θ）を考慮したモデルにおいて、評価関数｜ｅ（ρ）｜２が最小になるρを特定することで、推定誤差ｅを最小にする慣性モーメントＪ、粘性摩擦係数Ｄ、クーロン摩擦Ｆｃ、偏荷重係数Ｆθを特定できる。以下、上記評価関数を用いて特定した慣性モーメントＪ、粘性摩擦係数Ｄ、クーロン摩擦ＦＣ、偏荷重係数Ｆθを総称して「モデルパラメータ」と称す。
【００４０】
ＣＰＵ４１は更に、特定したモデルパラメータに基づき、目標位置の時系列データを決定する為に用いる第一ＦＩＲフィルタ及び第二ＦＩＲフィルタ（図６参照）の時定数Ｔ１、Ｔ２を特定する（Ｐ４）。ＣＰＵ４１は、特定した時定数Ｔ１、Ｔ２に基づき、目標位置の時系列データを決定する（Ｐ１）。又、ＣＰＵ４１は、特定したモデルパラメータに基づき、工作機械１に作用する後述の外乱ノイズを特定する（Ｐ４）。ＣＰＵ４１は、特定した外乱ノイズが所定の閾値を超えた時、工作機械１の動作を停止する。
【００４１】
＜メイン処理＞
図７を参照し、数値制御装置４０のＣＰＵ４１が実行するメイン処理について説明する。メイン処理は、数値制御装置４０の電源がＯＮした時、フラッシュメモリ４４に記憶したプログラムをＣＰＵ４１が読み出し実行することにより開始する。
【００４２】
ＣＰＵ４１は、モデルパラメータを同定する動作モード（以下、「同定モード」と称す。）で動作するか判定する（Ｓ１１）。ＣＰＵ４１は、操作部１８を介して作業者が同定モードで動作する設定を入力しない時、同定モードで動作しないと判定する（Ｓ１１：ＮＯ）。該時、ＣＰＵ４１は、処理を後述のＳ２５に進める。ＣＰＵ４１は、作業者が動作モードで動作する設定を入力した時、同定モードで動作すると判定する（Ｓ１１：ＹＥＳ）。該時、ＣＰＵ４１は、処理をＳ１３に進める。
【００４３】
ＣＰＵ４１は、フラッシュメモリ４４に記憶したＮＣプログラムを読み出す（Ｓ１３）。ＣＰＵ４１は、読み出したＮＣプログラムの指令が、早送り条件を満たすか判定する（Ｓ１５）。早送り条件とは、工作機械１において設定可能な最大速度でモータ６０が回転する動作条件を示す。ＣＰＵ４１は、早送り条件を満たす命令であると判定した時（Ｓ１５：ＹＥＳ）、処理をＳ１７に進める。該工程は、図５のＰ１の工程に対応する。
【００４４】
ＣＰＵ４１は、取得した早送り条件に応じて駆動回路５０に出力する目標位置の時系列データ（目標値ｒ）を、フラッシュメモリ４４に記憶した第一フィルタ及び第二ＦＩＲフィルタ（図６参照）の時定数Ｔ１、Ｔ２に基づいて決定する（Ｓ１７）。該処理は、図５のＰ２の工程に対応する。尚、ＣＰＵ４１は後述のＳ２９を実行していない時、フラッシュメモリ４４に記憶した時定数Ｔ１、Ｔ２の初期値を用いて目標位置の時系列データを決定する。ＣＰＵ４１は、決定した目標位置の時系列データを、駆動回路５０に出力する（Ｓ１９）。該時、駆動回路５０は対応するモータ６０を駆動する。工作機械１は、工具により被削材を加工する（Ｓ１９）。
【００４５】
次にＣＰＵ４１は、駆動回路５５が出力したトルクｕ及びエンコーダ７５からのフィードバック値ｘを適用した評価関数｜ｅ（ρ）｜2（式（３）参照）に基づき、推定誤差ｅが最小になる時のモデルパラメータ（慣性モーメントＪ、粘性摩擦係数Ｄ、クーロン摩擦ＦＣ、偏荷重係数Ｆθ）を特定する（Ｓ２１）。該処理は、図５のＰ３の工程に対応する。ＣＰＵ４１は、処理をＳ１３に戻す。
【００４６】
ＣＰＵ４１は、早送り条件を満たす指令でないと判定した時（Ｓ１５：ＮＯ）、処理をＳ２３に進める。ＣＰＵ４１は、Ｓ１３の処理により読み出したＮＣプログラムの指令が、工作機械１の動作を停止する指令であるか判定する（Ｓ２３）。ＣＰＵ４１は、工作機械１の動作を停止する指令でないと判定した時（Ｓ２３：ＮＯ）、処理をＳ１３に戻す。
【００４７】
ＣＰＵ４１は、同定モードで動作しないと判定した時（Ｓ１１：ＮＯ）、Ｓ２１の処理により特定したモデルパラメータに基づき、工作機械１に作用する外乱トルクを特定する（Ｓ２５）。ＣＰＵ４１は、決定したトルクが所定の閾値よりも大きいか判定する（Ｓ２７）。ＣＰＵ４１は、決定したトルクが閾値以下と判定した時（Ｓ２７：ＮＯ）、処理をＳ１３に戻す。ＣＰＵ４１は、決定したトルクが閾値よりも大きいと判定した時（Ｓ２７：ＹＥＳ）、工作機械１が異常であると判定して、処理をＳ３０に進める。
【００４８】
特定したモデルパラメータに基づいて外乱トルクを決定する方法の一例は、次の通りである。ＣＰＵ４１は、式（６）により、エンコーダ７５が出力するフィードバック値に基づき、推定トルクＴｅｓｔを導出する。
【数９】
2020181424.tif 000011
又、ＣＰＵ４１は、対応するモータ６５の駆動回路５５より出力トルクを取得する。ここで、「外乱トルク＝出力トルク−推定トルク」の関係が成立する。故に、ＣＰＵ４１は、導出した出力トルク及び推定トルクＴｅｓｔに基づき外乱トルクを精度良く推定できる。
【００４９】
ＣＰＵ４１は、工作機械１が異常であると判定したとき、工作機械１の動作を停止して表示部１９にアラームメッセージを表示する（Ｓ３０）。その後、ＣＰＵ４１は、メイン処理を終了する。
【００５０】
ＣＰＵ４１は、工作機械１の動作を停止する指令であると判定した時（Ｓ２３：ＹＥＳ）、処理をＳ２９に進める。ＣＰＵ４１は、Ｓ２１の処理により特定したモデルパラメータに基づき、第一ＦＩＲフィルタ及び第二ＦＩＲフィルタ（図６参照）の時定数Ｔ１、Ｔ２を決定する（Ｓ２９）。ＣＰＵ４１は、フラッシュメモリ４４に記憶した時定数Ｔ１、Ｔ２を、決定した時定数Ｔ１、Ｔ２により更新する（Ｓ２９）。その後、ＣＰＵ４１は、メイン処理を終了する。
【００５１】
時定数Ｔ１、Ｔ２の決定方法の第一例は、次の通りである。ＣＰＵ４１は、特定したモデルパラメータ（慣性モーメントＪ、粘性摩擦係数Ｄ、クーロン摩擦ＦＣ、偏荷重係数Ｆθ）、モータの最高回転速度ｖｍａｘ、モータの最大トルクＴｍａｘより、モータが出力可能な最大の加速度ａｍａｘを、式（７−１）により導出する。
ａｍａｘ＝（Ｔｍａｘ−Ｆθ−Ｆc−Ｄｖｍａｘ）／Ｊ      （７−１）
ＣＰＵ４１は、時定数ｔの移動平均フィルタを用いて加減速を行う場合、最大加速度ａｍａｘを超えない最小限の時定数ｔｍｉｎを、式（７−２）により導出する。時定数Ｔ１がｔｍｉｎ以上なら、加減速時のトルクはモータの最大トルクＴｍａｘを超えることはない。
ｔｍｉｎ＝ｖｍａｘ／ａｍａｘ      （７−２）
該決定方法により、モータ６０のトルクを最大限に利用できる時定数Ｔ１、Ｔ２を決定できる。
【００５２】
時定数Ｔ１、Ｔ２の決定方法の第二例は、次の通りである。移動平均フィルタを用いてモータ６０の加減速を行う時、例えば機械系が１自由度系である場合には固有振動の周期Ｔを式（８）により導出できる。Ｊは特定したモデルパラメータの慣性モーメント、Ｋは別途測定もしくは算出した機械系のねじり剛性である。
Ｔｏｐｔ＝２π√（Ｊ／Ｋ）      （８）
該時、ＣＰＵ４１は、ＦＩＲフィルタの時定数Ｔ１もしくはＴ２をＴｏｐｔとすることにより、固有振動数を励起せずにモータ６０の加減速を行うことができる。従って、ＣＰＵ４１は、特定したモデルパラメータから算出された該時定数の適用により、機械系の固有振動数を打ち消すことができるので、工作機械１の固有振動を抑制できる。
【００５３】
尚、ＣＰＵ４１は、次に工作機械１の電源をＯＮしてメイン処理を開始した時、前回のメイン処理のＳ２９の処理により更新した時定数Ｔ１、Ｔ２に基づいて、目標位置の時系列データ（目標値ｒ）を決定する（Ｓ１７）。
【００５４】
＜評価例１＞
早送り条件を満たす指令に基づき、モデルパラメータを特定した。Ａ軸台２０の最高速度３６０（ｄｅｇ／ｓ）、最大加速度２８８０（ｄｅｇ／ｓ２）であり、且つ、移動範囲が−３０（ｄｅｇ）〜１２０（ｄｅｇ）の往復運動を示す指令を、評価対象として用いた。第一ＦＩＲフィルタの時定数Ｔ１、及び、第二ＦＩＲフィルタの時定数Ｔ２を夫々、１２５ｍｓとした。該時、モデルパラメータとして、慣性モーメントＪ：０．００５１［Ｎ／（ｄｅｇ／ｓｅｃ２）］、偏荷重係数Ｆθ：８．６［Ｎｍ］、クーロン摩擦Ｆｃ：１．３［Ｎｍ］、粘性摩擦係数Ｄ：０．００６１［Ｎｍ／（ｄｅｇ／ｓｅｃ）］を導出した。
【００５５】
＜評価例２＞
図８は、ＣＰＵ４１が駆動回路５５に目標値ｒを出力したことに応じてＡ軸モータ６５に生じる実際のトルク（測定値）と、上記のように特定したモデルパラメータ及びエンコーダ７５からのフィードバック値ｘを式（６）に適用したときに推定されるＡ軸モータ６５のトルク（推定値）との関係を示す。
【００５６】
図８に示すように、移動中のトルク（推定値）は、トルク（測定値）に非常に近似した。故に、本実施形態の方法により、モデルパラメータを精度良く導出できることが分かった。
【００５７】
＜評価例３＞
図９は、Ａ軸モータ６５の回転速度とトルクとの関係を示す。図９の各プロット点は、Ａ軸モータ６５をそれぞれの回転速度で、一定回転速度で動作させて測定された実際のトルクを示す。図９の２本の一次直線は、上記のように特定したモデルパラメータ及びエンコーダ７５からのフィードバック値ｘを式（６）に適用したときの、回転速度とトルクとの関係を示す。
【００５８】
図９に示すように、特定されたモデルパラメータに基づく２本の一次直線は、実際に測定されたトルクの変化を良好に近似することが分かった。このことから、上記の方法で特定されたモデルパラメータが、実際の駆動回路系を良好に反映するものであることが分かった。
【００５９】
＜本実施形態の作用、効果＞
工作機械１において、高速且つ高精度な制御を行う為の制御パラメータの決定には、工作機械１に関連する慣性モーメント等の物理パラメータが必要である。例えば、モータ６５の最大加速度を決定するＦＩＲフィルタの時定数は、モータ６５の回転軸の慣性モーメントと最大トルクの関係から、適切な値を自動的に算出するのが好ましい。その理由は、Ａ軸台２０上の積載質量が時々刻々と変化するためである。これに対し、従来の方法では、Ａ軸台２０上の積載質量により発生する偏荷重Ｆθｓｉｎ（θ）を物理パラメータに適用できなかった為、時定数の設定時に偏荷重Ｆθｓｉｎ（θ）を考慮した大きなマージンが必要となり、サイクルタイムの短縮及び精度の向上を阻害していた。
【００６０】
これに対し、数値制御装置４０のＣＰＵ４１は、偏荷重Ｆθｓｉｎ（θ）を含むモデルパラメータを定義する。故に、数値制御装置４０は、偏荷重の影響を考慮した高精度なモデルパラメータに基づき目標指令を決定し、決定した指令により工作機械１を制御できる。
【００６１】
偏荷重Ｆθｓｉｎ（θ）は、被削材を保持するＡ軸台２０の回転角度に応じて変動する。偏荷重Ｆθｓｉｎ（θ）は、Ａ軸モータ６５を特定の方向に回転させようとする力、又はトルクである。該時、数値制御装置４０は、工作機械１のＡ軸台２０の回転角度に応じて偏荷重Ｆθｓｉｎ（θ）が変動する場合でも、適切な目標指令を決定することで工作機械１を制御できる。
【００６２】
ＣＰＵ４１は、特定したモデルパラメータに基づき、ＦＩＲフィルタの時定数Ｔ１、Ｔ２を調整する。時定数Ｔ１、Ｔ２は、モータ６５の加減速時定数に対応する。ＣＰＵ４１は、調整した時定数Ｔ１、Ｔ２の第一ＦＩＲフィルタ及び第二ＦＩＲフィルタを適用することで、目標位置の時系列データを作成する。該時、数値制御装置４０は、モータ６５の加減速時における時定数を、偏荷重Ｆθｓｉｎ（θ）の影響を考慮して調整し、目標位置の時系列データを決定できる。
【００６３】
ＣＰＵ４１は、特定したモデルパラメータに基づき、外乱トルクを算出する。ＣＰＵ４１は、外乱トルクが所定の閾値よりも大きい時（Ｓ２７：ＹＥＳ）、工作機械１の状態が異常であると判定して動作を停止する（Ｓ３０）。故に、数値制御装置４０は、外乱トルクが過大な状態となった時、工作機械１の動作を停止させて安全性を確保できる。
【００６４】
ＣＰＵ４１は、ＮＣプログラムの指令が早送り条件を満たす時（Ｓ１５：ＹＥＳ）、モデルパラメータを特定する。早送り条件とは、工作機械１において設定可能な最大速度でモータ６５が回転する動作条件を示す。尚、時定数Ｔ１、Ｔ２はモータ速度によらず一定であるので、該条件でモータ６５が駆動する時、モータの加速度は最も大きくなる。故に、数値制御装置４０は、速度及び加速度が０から最大までの全ての条件を考慮してモデルパラメータを特定するので、モータ６５の回転速度、加速度に依らずモデルパラメータを決定できる。
【００６５】
＜変形例＞
本発明は、上記実施形態に限らない。数値制御装置４０は工作機械１に設ける場合に限らず、工作機械１とは別体に設けてもよい。例えば数値制御装置４０は、工作機械１に接続した装置（ＰＣ、専用機等）でもよい。
【００６６】
上記実施例はＡ軸モータ６５に関するモデルパラメータの特定について示したが、偏荷重の影響を受ける他の軸についても実施可能である。例えば工作機械１のＣ軸モータ６４について実施する場合、Ｃ軸上の偏荷重はＡ軸の影響も受けるため、偏荷重の算出式はＦθｓｉｎ（θＡ）ｓｉｎ（θＣ）である。θＡはＡ軸の角度、θＣはＣ軸の角度を表す。工作機械１とは異なる機械構成を持つ機械に対しても、偏荷重を受ける軸については当然実施可能である。
【００６７】
ＣＰＵ４１は、特定したモデルパラメータに基づき、ＦＩＲフィルタの時定数及び外乱トルクの特定以外の処理を実行してもよい。例えば数値制御装置４０は、エンコーダ７０が出力したフィードバック信号に基づくフィードバック制御だけでなく、フィードフォワード制御を実行してもよい。該時、ＣＰＵ４１は、フィードフォワード制御のパラメータを、決定したモデルパラメータにより最適化してもよい。又、フィードバック制御の位置比例ゲイン、速度比例ゲイン、速度積分ゲイン等の制御パラメータを最適化してもよい。該時、数値制御装置４０は、工作機械１高速且つ高精度に制御できる。
【００６８】
ＣＰＵ４１は、ＮＣプログラムの指令が早送り条件を満たす時、モデルパラメータの決定を行い、時定数Ｔ１、Ｔ２等を特定した。これに対し、ＣＰＵ４１は、指令が他の条件を満たす時にモデルパラメータの決定を行ってもよい。例えばＣＰＵ４１は、指令が切削送り指令の時にモデルパラメータを特定してもよい。又、例えばＣＰＵ４１は、指令に基づく工作機械１の動作が複数の静止状態である時に、モデルパラメータを特定してもよい。
【００６９】
＜その他＞
Ｓ１５の処理を行うＣＰＵ４１は、本発明の「取得部」の一例である。Ｓ２１の処理を行うＣＰＵ４１は、本発明の「特定部」の一例である。Ｓ１７の処理を行うＣＰＵ４１は、本発明の「決定部」の一例である。モデルパラメータは、本発明の「パラメータ」の一例である。駆動回路５０は、本発明の「加工部」の一例である。
【符号の説明】
【００７０】
１        ：工作機械
６        ：主軸ヘッド
２０      ：Ａ軸台
４０      ：数値制御装置
４１      ：ＣＰＵ
５０、５１、５２、５３、５４、５５、５６      ：駆動回路
６０、６１、６２、６３、６４、６５、６６      ：モータ
７０、７１、７２、７３、７４、７５、７６      ：エンコーダ
【図１】
2020181424.tif 000012
【図２】
2020181424.tif 000013
【図３】
2020181424.tif 000014
【図４】
2020181424.tif 000015
【図５】
2020181424.tif 000016
【図６】
2020181424.tif 000017
【図７】
2020181424.tif 000018
【図８】
2020181424.tif 000019
【図９】
2020181424.tif 000020