(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024034256
(43)【公開日】2024-03-13
(54)【発明の名称】数値制御装置、同定方法、及び同定プログラム
(51)【国際特許分類】
B23Q 3/157 20060101AFI20240306BHJP
G05B 19/19 20060101ALI20240306BHJP
【FI】
B23Q3/157 F
G05B19/19 Q
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022138379
(22)【出願日】2022-08-31
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】100104178
【弁理士】
【氏名又は名称】山本 尚
(72)【発明者】
【氏名】小林 太樹
【テーマコード(参考)】
3C002
3C269
【Fターム(参考)】
3C002AA03
3C002BB03
3C002GG03
3C002HH02
3C002HH03
3C002KK01
3C002LL01
3C269AB01
3C269BB03
3C269BB05
3C269CC02
3C269EF03
3C269EF15
3C269GG01
3C269GG08
3C269MN27
3C269PP02
(57)【要約】
【課題】従来よりも簡単に工作機械における偏荷重の影響を正確に検出できる数値制御装置、同定方法、及び同定プログラムを提供する。
【解決手段】工作機械において、高速且つ高精度な制御を行う為の制御パラメータの決定には、工作機械に関連する慣性モーメント等の物理パラメータが必要である。工作機械において、工具マガジンにおける工具の装着の状態により、偏荷重が最小になる基準角度が0deg以外になる場合がある。数値制御装置は、基準角度に基づく偏荷重を用いたモデルに最小二乗法を用いることで、基準角度、慣性モーメント等のパラメータを同定する。
【選択図】
図10
【特許請求の範囲】
【請求項1】
工具を収納し、鉛直方向と交差する方向の回転軸を有する工具マガジンを回転させる為のモータを備えた工作機械に対し、前記モータの駆動条件を示す指令を出力する数値制御装置であって、
所定の前記駆動条件である入力条件を取得する取得部と、
前記取得部により取得した前記入力条件に応じて前記工具マガジンを駆動した駆動結果と、前記工作機械の伝達モデルとに基づいて、前記伝達モデルのパラメータを同定する同定部とを備え、
前記伝達モデルは、回転する前記工具マガジンの角度のうち偏荷重が零になる基準角度に基づく前記偏荷重を含み、
前記パラメータは、前記基準角度を含むことを特徴とする数値制御装置。
【請求項2】
前記同定部が同定した前記パラメータ及び前記モータが出力するトルクに基づき、前記モータの加速度を算出する加速度算出部を備えることを特徴とする請求項1に記載の数値制御装置。
【請求項3】
前記加速度算出部が算出した前記加速度に基づき、前記モータにおける加減速の時定数を算出する時定数算出部を備えることを特徴とする請求項2に記載の数値制御装置。
【請求項4】
前記時定数算出部は、前記工具マガジンにおいて前記工具を収納した状態の基準となる基準状態における、前記モータの基準時定数、前記工具マガジンの基準慣性モーメント、及び前記工具マガジンの基準偏荷重に基づき、前記モータにおける前記時定数を算出することを特徴とする請求項3に記載の数値制御装置。
【請求項5】
前記同定部が同定した前記パラメータは前記偏荷重又は前記工具マガジンの慣性モーメントを更に含み、前記偏荷重又は前記慣性モーメントの大きさが所定の閾値以上であるかを判定する閾値判定部と、
前記偏荷重又は前記慣性モーメントの大きさが前記閾値以上であると前記閾値判定部が判定した時、経過時間の計時を開始する計時部と、
前記計時部が計時する前記経過時間が所定時間を経過したか判定する時間判定部と、
前記経過時間が前記所定時間を経過したと前記時間判定部が判定した時、前記工作機械の主軸に対する前記工具の着脱を行う為の着脱機構の駆動を開始する着脱駆動部と
を備えることを特徴とする請求項1に記載の数値制御装置。
【請求項6】
前記同定部が同定した前記パラメータは前記偏荷重又は前記工具マガジンの慣性モーメントを更に含み、前記偏荷重又は前記慣性モーメントの大きさが所定の閾値以上であるかを判定する閾値判定部と、
前記偏荷重又は前記慣性モーメントの大きさが前記閾値以上であると前記閾値判定部が判定した時、前記工作機械の主軸に対する前記工具の着脱を行う為の着脱機構を駆動する着脱モータの最高回転速度を、前記偏荷重又は前記慣性モーメントの大きさが前記閾値以上でないと前記閾値判定部が判定した時の前記最高回転速度よりも低速に決定する速度決定部を備えることを特徴とする請求項1に記載の数値制御装置。
【請求項7】
前記同定部が同定した前記パラメータは前記偏荷重又は前記工具マガジンの慣性モーメントを更に含み、前記偏荷重又は前記慣性モーメントの大きさが所定の閾値以上であるかを判定する閾値判定部と、
前記偏荷重の大きさが前記閾値以上であると前記閾値判定部が判定した時、前記工作機械の主軸に対する前記工具の着脱を行う為の着脱機構を駆動する着脱モータにおける加減速の時定数を、前記偏荷重又は前記慣性モーメントの大きさが前記閾値以上でないと前記閾値判定部が判定した時の前記時定数よりも大きくする時定数決定部を備えることを特徴とする請求項1に記載の数値制御装置。
【請求項8】
前記同定部が同定した前記パラメータは前記偏荷重又は前記工具マガジンの慣性モーメントを更に含み、前記偏荷重又は前記慣性モーメントの大きさが所定の閾値以上であるかを判定する閾値判定部と、
前記偏荷重又は前記慣性モーメントの大きさが前記閾値以上であると前記閾値判定部が判定した時、エラーを報知する報知部を備えることを特徴とする請求項1に記載の数値制御装置。
【請求項9】
前記取得部が取得した前記入力条件が、前記工作機械の主軸が装着する前記工具と、前記工具マガジンが収納する前記工具とを交換する工具交換指令であるか判定する指令判定部を備え、
前記同定部は、前記取得部が取得した前記入力条件が前記工具交換指令であると前記指令判定部が判定した時、前記パラメータを同定すること
を特徴とする請求項1~8の何れかに記載の数値制御装置。
【請求項10】
前記駆動結果に含まれるノイズを除去するフィルタを備えることを特徴とする請求項9に記載の数値制御装置。
【請求項11】
前記駆動結果を取得する駆動結果取得部と、
前記駆動結果取得部が取得した前記駆動結果を前記同定部による前記パラメータの同定に用いるかを判定する駆動結果判定部と
を備えることを特徴とする請求項10に記載の数値制御装置。
【請求項12】
工具を収納し、鉛直方向と交差する方向の回転軸を有する工具マガジンを回転させる為のモータを備えた工作機械における、前記モータの駆動条件を示す指令を決定するためのパラメータを同定する同定方法であって、
所定の前記駆動条件である入力条件を取得する取得工程と、
前記取得工程により取得した前記入力条件に応じて前記工具マガジンを駆動した駆動結果と、前記工作機械の伝達モデルとに基づいて、前記伝達モデルの前記パラメータを同定する同定工程とを備え、
前記伝達モデルは、回転する前記工具マガジンの角度のうち偏荷重が零になる基準角度に基づく前記偏荷重を含み、
前記パラメータは、前記基準角度を含むことを特徴とする同定方法。
【請求項13】
工具を収納し、鉛直方向と交差する方向の回転軸を有する工具マガジンを回転させる為のモータを備えた工作機械における、前記モータの駆動条件を示す指令を決定するためのパラメータを同定する同定プログラムであって、
所定の前記駆動条件である入力条件を取得する取得処理と、
前記取得処理により取得した前記入力条件に応じて前記工具マガジンを駆動した駆動結果と、前記工作機械の伝達モデルとに基づいて、前記伝達モデルの前記パラメータを同定する同定処理とを備え、
前記伝達モデルは、回転する前記工具マガジンの角度のうち偏荷重が零になる基準角度に基づく前記偏荷重を含み、
前記パラメータは、前記基準角度を含むことを特徴とする同定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、数値制御装置、同定方法、及び同定プログラムに関する。
【背景技術】
【0002】
工具を収納する工具マガジンにおいて、収納された工具の形状及び分布から工具マガジンにアンバランストルク(偏荷重)が生じる。特許文献1は、アンバランストルクを推定し、最適な制御を決定する制御方法を開示する。該制御方法では、工作機械のNC装置が停止状態の工具マガジンのモータの電流値を取得し、アンバランストルクに対抗して工具マガジンを停止状態で保持する為のトルク(停止時負荷トルク)を算出する。NC装置は工具マガジンを90度回転する。NC装置は工具マガジンが回転後に停止した位置でのモータの電流値を取得し、該回転位置での停止時負荷トルクを算出する。NC装置は算出した二つの停止時負荷トルクに基づき、モータの制御条件を決定する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
該制御方法は制御条件を決定するための上記の動作モードを実行する必要がある。該制御方法では、工具マガジンにおける工具の収納の状態が変化する度、上記の動作モードを実行する必要があり、煩雑である。
【0005】
本発明の目的は、従来よりも簡単に工作機械における偏荷重の影響を正確に検出できる数値制御装置、同定方法、及び同定プログラムを提供することである。
【課題を解決するための手段】
【0006】
請求項1の数値制御装置は、工具を収納し、鉛直方向と交差する方向の回転軸を有する工具マガジンを回転させる為のモータを備えた工作機械に対し、前記モータの駆動条件を示す指令を出力する数値制御装置であって、所定の前記駆動条件である入力条件を取得する取得部と、前記取得部により取得した前記入力条件に応じて前記工具マガジンを駆動した駆動結果と、前記工作機械の伝達モデルとに基づいて、前記伝達モデルのパラメータを同定する同定部とを備え、前記伝達モデルは、回転する前記工具マガジンの角度のうち偏荷重が零になる基準角度に基づく前記偏荷重を含み、前記パラメータは、前記基準角度を含むことを特徴とする。
【0007】
数値制御装置において、基準角度に基づく偏荷重を用いた伝達モデルにより、工具交換中にパラメータを同定できる。これにより、数値制御装置は偏荷重の影響を制御する為の専用の動作モードを実行することなく、従来よりも簡単に、工作機械における偏荷重の影響を正確に検出できる。
【0008】
請求項2の数値制御装置は、前記同定部が同定した前記パラメータ及び前記モータが出力するトルクに基づき、前記モータの加速度を算出する加速度算出部を備えてもよい。数値制御装置は同定部が同定したパラメータに基づきモータの加速度を算出することで、工具マガジンにおける工具を収納の状態に応じて適切な加速度で工具マガジンを回転できる。
【0009】
請求項3の数値制御装置は、前記加速度算出部が算出した前記加速度に基づき、前記モータにおける加減速の時定数を算出する時定数算出部を備えてもよい。数値制御装置は加速度算出部が算出したモータの加速度に基づきモータの加減速の時定数を算出することで、工具マガジンにおける工具を収納の状態に応じて適切な加減速で工具マガジンを回転できる。
【0010】
請求項4の数値制御装置において、前記時定数算出部は、前記工具マガジンにおいて前記工具を収納した状態の基準となる基準状態における、前記モータの基準時定数、前記工具マガジンの基準慣性モーメント、及び前記工具マガジンの基準偏荷重に基づき、前記モータにおける前記時定数を算出してもよい。数値制御装置は基準状態のパラメータと同定したパラメータとに基づき時定数を算出することで、工具マガジンにおける工具を収納の状態に応じてより適切な時定数で工具マガジンを回転できる。
【0011】
請求項5の数値制御装置において、前記同定部が同定した前記パラメータは前記偏荷重又は前記工具マガジンの慣性モーメントを更に含み、前記偏荷重又は前記慣性モーメントの大きさが所定の閾値以上であるかを判定する閾値判定部と、前記偏荷重又は前記慣性モーメントの大きさが前記閾値以上であると前記閾値判定部が判定した時、経過時間の計時を開始する計時部と、前記計時部が計時する前記経過時間が所定時間を経過したか判定する時間判定部と、前記経過時間が前記所定時間を経過したと前記時間判定部が判定した時、前記工作機械の主軸に対する前記工具の着脱を行う為の着脱機構の駆動を開始する着脱駆動部とを備えてもよい。偏荷重又は慣性モーメントの大きさが過剰に大きい時、工具マガジンの回転の終了後に工具マガジンの回転位置が安定しないことがある。数値制御装置は偏荷重又は慣性モーメントの大きさが過剰に大きい時に所定時間を空けてから着脱機構の駆動を開始する。故に数値制御装置は工具マガジンの回転位置が安定した後に主軸に対する工具の着脱を実行できる。
【0012】
請求項6の数値制御装置において、前記同定部が同定した前記パラメータは前記偏荷重又は前記工具マガジンの慣性モーメントを更に含み、前記偏荷重又は前記慣性モーメントの大きさが所定の閾値以上であるかを判定する閾値判定部と、前記偏荷重又は前記慣性モーメントの大きさが前記閾値以上であると前記閾値判定部が判定した時、前記工作機械の主軸に対する前記工具の着脱を行う為の着脱機構を駆動する着脱モータの最高回転速度を、前記偏荷重又は前記慣性モーメントの大きさが前記閾値以上でないと前記閾値判定部が判定した時の前記最高回転速度よりも低速に決定する速度決定部を備えてもよい。偏荷重又は慣性モーメントの大きさが過剰に大きい時、工具マガジンの回転の終了後に工具マガジンの回転位置が安定しないことがある。数値制御装置は偏荷重又は慣性モーメントの大きさが過剰に大きい時に着脱モータの最高回転速度を減速する。故に数値制御装置は工具マガジンの回転位置が安定した後に主軸に対する工具の着脱を実行できる。
【0013】
請求項7の数値制御装置において、前記同定部が同定した前記パラメータは前記偏荷重又は前記工具マガジンの慣性モーメントを更に含み、前記偏荷重又は前記慣性モーメントの大きさが所定の閾値以上であるかを判定する閾値判定部と、前記偏荷重の大きさが前記閾値以上であると前記閾値判定部が判定した時、前記工作機械の主軸に対する前記工具の着脱を行う為の着脱機構を駆動する着脱モータにおける加減速の時定数を、前記偏荷重又は前記慣性モーメントの大きさが前記閾値以上でないと前記閾値判定部が判定した時の前記時定数よりも大きくする時定数決定部を備えてもよい。偏荷重又は慣性モーメントの大きさが過剰に大きい時、工具マガジンの回転の終了後に工具マガジンの回転位置が安定しないことがある。数値制御装置は偏荷重又は慣性モーメントの大きさが過剰に大きい時に着脱モータにおける加減速の時定数を大きくする。故に数値制御装置は工具マガジンの回転位置が安定した後に主軸に対する工具の着脱を実行できる。
【0014】
請求項8の数値制御装置において、前記同定部が同定した前記パラメータは前記偏荷重又は前記工具マガジンの慣性モーメントを更に含み、前記偏荷重又は前記慣性モーメントの大きさが所定の閾値以上であるかを判定する閾値判定部と、前記偏荷重又は前記慣性モーメントの大きさが前記閾値以上であると前記閾値判定部が判定した時、エラーを報知する報知部を備えてもよい。数値制御装置は、偏荷重又は慣性モーメントの大きさが過剰に大きい時に報知部によりエラーを報知する。これにより、使用者は偏荷重又は慣性モーメントの大きさが過剰に大きいことを把握できる。
【0015】
請求項9の数値制御装置は、前記取得部が取得した前記入力条件が、前記工作機械の主軸が装着する前記工具と、前記工具マガジンが収納する前記工具とを交換する工具交換指令であるか判定する指令判定部を備え、前記同定部は、前記取得部が取得した前記入力条件が前記工具交換指令であると前記指令判定部が判定した時、前記パラメータを同定してもよい。数値制御装置は工具交換指令に基づき工具マガジンによる工具交換を行う際にパラメータを同定する。故に数値制御装置は被削材の加工前に専用のモードを実行することなく、パラメータを同定できる。
【0016】
請求項10の数値制御装置は、前記駆動結果に含まれるノイズを除去するフィルタを備えてもよい。数値制御装置は駆動結果に含まれるノイズをフィルタにより除去するので、パラメータを精度良く同定できる。
【0017】
請求項11の数値制御装置は、前記駆動結果を取得する駆動結果取得部と、前記駆動結果取得部が取得した前記駆動結果を前記同定部による前記パラメータの同定に用いるかを判定する駆動結果判定部とを備えてもよい。数値制御装置はマガジンが駆動した駆動結果をパラメータの同定に用いるか判定することで、パラメータの同定精度が悪化する駆動結果を除去できる。故に数値制御装置はパラメータを精度良く同定できる。
【0018】
請求項12の同定方法は、工具を収納し、鉛直方向と交差する方向の回転軸を有する工具マガジンを回転させる為のモータを備えた工作機械における、前記モータの駆動条件を示す指令を決定するためのパラメータを同定する同定方法であって、所定の前記駆動条件である入力条件を取得する取得工程と、前記取得工程により取得した前記入力条件に応じて前記工具マガジンを駆動した駆動結果と、前記工作機械の伝達モデルとに基づいて、前記伝達モデルの前記パラメータを同定する同定工程とを備え、前記伝達モデルは、回転する前記工具マガジンの角度のうち偏荷重が零になる基準角度に基づく前記偏荷重を含み、前記パラメータは、前記基準角度を含むことを特徴とする。同定方法は、請求項1の数値制御装置と同様の効果を奏する。
【0019】
請求項13の同定プログラムは、工具を収納し、鉛直方向と交差する方向の回転軸を有する工具マガジンを回転させる為のモータを備えた工作機械における、前記モータの駆動条件を示す指令を決定するためのパラメータを同定する同定プログラムであって、所定の前記駆動条件である入力条件を取得する取得処理と、前記取得処理により取得した前記入力条件に応じて前記工具マガジンを駆動した駆動結果と、前記工作機械の伝達モデルとに基づいて、前記伝達モデルの前記パラメータを同定する同定処理とを備え、前記伝達モデルは、回転する前記工具マガジンの角度のうち偏荷重が零になる基準角度に基づく前記偏荷重を含み、前記パラメータは、前記基準角度を含むことを特徴とする。同定プログラムは、請求項1の数値制御装置と同様の効果を奏する。
【図面の簡単な説明】
【0020】
【
図2】主軸ヘッド7周囲を右側面から見た一部破断図。
【
図3】マガジン本体22の角度θが0degである時の工具マガジン21を示す図。
【
図4】マガジン本体22の角度θが基準角度θ
aである時の工具マガジン21を示す図。
【
図5】数値制御装置40と工作機械1の電気的構成を示すブロック図。
【
図7】数値制御装置40の機能を示す機能ブロック図。
【
図8】二段の移動平均フィルタFIR1、FIR2を適用した時の角速度曲線と角加速度曲線の図。
【
図14】第二実施形態における主処理であり、
図9の続きを示す流れ図。
【
図15】第三実施形態における主処理であり、
図9の続きを示す流れ図。
【
図16】第四実施形態における主処理であり、
図9の続きを示す流れ図。
【発明を実施するための形態】
【0021】
本発明の第一実施形態を、図面を参照し説明する。以下説明は、図中に矢印で示す左右、前後、上下を使用する。工作機械1の左右方向、前後方向、上下方向は夫々、工作機械1のX軸方向、Y軸方向、Z軸方向である。右方向、前方向、上方向は夫々、正方向であり、左方向、後方向、下方向は夫々、負方向である。
図1に示す工作機械1は、工具3(
図2参照)により被削材(図示略)に切削加工を施す機械である。数値制御装置40(
図5参照)は工作機械1の動作を制御する。
【0022】
図1、
図2を参照し、工作機械1の構造を説明する。工作機械1は基台2、コラム5、制御箱6、テーブル装置10、主軸ヘッド7、主軸9、工具交換装置20を備える。基台2は略直方体状の金属製土台である。コラム5は基台2上部後方に固定する。制御箱6はコラム5の背面側に固定する。制御箱6は数値制御装置40を収納する。
【0023】
テーブル装置10はY軸移動機構(図示略)、Y軸テーブル12、テーブル13、X軸移動機構を備える。Y軸移動機構は基台2上部に設け、Y軸モータ62(
図5参照)を備える。Y軸移動機構はY軸モータ62の駆動に応じてY軸テーブル12をY軸方向に移動する。X軸移動機構はY軸テーブル12上部に設け、X軸モータ61(
図5参照)を備える。X軸移動機構はX軸モータ61の駆動に応じてテーブル13をX軸方向に移動する。故にテーブル13はX軸移動機構とY軸移動機構により、基台2上をX軸方向とY軸方向に移動可能である。
【0024】
図2を参照し、主軸ヘッド7、主軸9の構造を説明する。主軸ヘッド7はコラム5前面に設けたZ軸移動機構でZ軸方向に昇降する。Z軸移動機構はZ軸モータ63(
図5参照)を備える。Z軸移動機構はZ軸モータ63の駆動に応じて主軸ヘッド7をZ軸方向に移動する。主軸ヘッド7は前方上部に主軸モータ65を備える。主軸ヘッド7は前方下部の内側に主軸9を回転可能に支持する。
【0025】
主軸9は上下方向に回転軸を有する。主軸9は主軸モータ65の下方に延びる駆動軸に連結する。故に主軸9は主軸モータ65の駆動で回転する。主軸9は軸穴91、装着穴92、挟持部93、ドローバー94を備える。軸穴91は主軸9の中心を通る。装着穴92は主軸9の下端部に設け、軸穴91と連通する。挟持部93は装着穴92上方に設ける。ドローバー94は軸穴91内側に同軸上に設ける。
【0026】
工具3はホルダ17及び刃具4を有する。ホルダ17は一端側に刃具4を保持し、他端側に装着部17Aとプルスタッド17Bを備える。装着部17Aは円錐状である。プルスタッド17Bは装着部17Aの頂上部から軸方向に突出する。装着部17Aは装着穴92に装着する。装着穴92に装着部17Aを装着すると、挟持部93はプルスタッド17Bを挟持する。ドローバー94が挟持部93を下方に押圧すると、挟持部93はプルスタッド17Bの挟持を解除する。
【0027】
主軸ヘッド7は後方上部の内側にクランクレバー30、引張コイルバネ(図示略)を備える。クランクレバー30は左側面視略L字型であり支軸31を中心に揺動自在である。支軸31は左右方向に延び、主軸ヘッド7内に固定する。クランクレバー30前端はドローバー94に直交して突出したピン95に上方から係合する。クランクレバー30後端は板カム32を備える。板カム32背面はカム面を備える。板カム32のカム面はコラム5の軸受部33に固定したカムフォロア34と接離可能である。カムフォロア34は板カム32のカム面を摺動する。引張コイルバネはクランクレバー30を右側面視で時計回りに常時付勢する。故にクランクレバー30はピン95の下方向への押圧を常時解除する。
【0028】
図1、
図2を参照し、工具交換装置20の構造を説明する。工具交換装置20は工具マガジン21を備える。工具マガジン21はタレット式である。工具マガジン21はマガジン本体22、支軸23、複数のグリップアーム8、支持台24、減速機25、マガジンモータ64を備える。
【0029】
マガジン本体22は円盤状である。支軸23は工作機械1の前方に対して斜め下方に延びる。支軸23の軸線は後述するマガジン本体22の中心Qを通る。支軸23はマガジン本体22を回転可能に支持する。マガジン本体22は工作機械1の前方に対して正面を向けて設ける。
【0030】
各グリップアーム8はマガジン本体22の外周に所定間隔毎に設ける。本実施形態では、28本のグリップアーム8(801~828、
図3参照)がマガジン本体22に設けられる。複数のグリップアーム8はマガジン本体22の前後方向に揺動可能に設ける。グリップアーム8は先端に把持部81を備える。把持部81はホルダ17を着脱可能に把持する。
【0031】
支持台24はフレーム(図示略)に固定する。フレームはコラム5に固定し且つ主軸ヘッド7近傍に設ける。支持台24は支軸23を回転可能に支持する。減速機25は支持台24上部に固定する。減速機25は複数のギヤとカム(図示略)を有する。マガジンモータ64は減速機25上部に固定する。マガジンモータ64の回転軸は減速機25と連結する。
【0032】
図2を参照し、主軸9の装着穴92に対するホルダ17の脱着動作を説明する。装着穴92にホルダ17の装着部17Aを装着した状態で、主軸ヘッド7はZ軸モータ63の回転によりテーブル13上のワーク加工位置から上昇する。主軸ヘッド7が上昇すると、カムフォロア34はクランクレバー30の板カム32を摺動する。故にクランクレバー30は右側面視で支軸31を中心に反時計回りに回転し、クランクレバー30前端はピン95に上方から係合してドローバー94を下方に押圧する。ドローバー94は挟持部93を下方に付勢し、挟持部93はプルスタッド17Bの挟持を解除する。同時にグリップアーム8の把持部81は工具3のホルダ17を把持する。
【0033】
主軸ヘッド7はATC原点まで更に上昇する。工具3は主軸9の装着穴92から脱離する。主軸9から脱離した工具3を、第一工具と称す。工具交換装置20の複数のグリップアーム8のうち、工具交換位置にある一のグリップアーム8(以下、第一グリップアームと称す。)は、主軸9から脱離した第一工具を把持する。工具交換位置はマガジン本体22の最下方位置で且つ主軸9に近接して対向する位置である。
【0034】
主軸ヘッド7がATC原点に到達すると、数値制御装置40の制御指令に基づき、工具交換装置20はマガジンモータ64の回転により、マガジン本体22を回転する。工具交換装置20はNCプログラムの制御コマンドが指定する刃具4を含む工具3(以下、第二工具と称す。)を工具交換位置に割り出す。該時、マガジン本体22は第一工具が工具交換位置にある状態から、新たに主軸9に装着する第二工具が工具交換位置にある状態まで回転する。又、工具マガジン21は第一工具を第一グリップアームにより把持し、且つ第二工具を他のグリップアーム8(以下、第二グリップアームと称す。)に把持した状態で回転する。工具交換位置に割り出した第二工具はATC原点に移動した主軸ヘッド7の下方に位置する。
【0035】
次いで、主軸ヘッド7はZ軸モータ63の回転によりATC原点から下降する。第二工具のホルダ17の装着部17Aが主軸9の装着穴92に進入する。装着穴92に装着部17Aが挿入した状態で、主軸ヘッド7は更に下降する。カムフォロア34はクランクレバー30の板カム32を摺動する。故にクランクレバー30は右側面視で支軸31を中心に時計回りに回転し、クランクレバー30はピン95から離れてドローバー94の下方への押圧を解除する。ドローバー94は挟持部93の下方への付勢を解除し、挟持部93はプルスタッド17Bを挟持する。故に第二グリップアームの把持部81は第二工具のホルダ17の把持を解除する。工具交換装置20の第二グリップアームから第二工具が脱離する。主軸9の装着穴92に対してホルダ17の装着部17Aの装着が完了し、主軸9に対する第二工具の装着が完了する。
【0036】
図3、
図4を参照し、工具マガジン21における工具3の装着状態について説明する。工具マガジン21において、複数のグリップアーム8(グリップアーム801~828)のうち一部のグリップアーム8は工具3を装着する。
図3に示す工具マガジン21では、12本のグリップアーム801~811、828が工具3を装着する。以下、グリップアーム801~811、828が装着する工具3を、工具301~311、328という。工具301~311、328の重量G1~G28は同じでもよいし、互いに異なっていてもよい。本実施形態では、重量G1~G28が同じであるものとして説明する。尚、グリップアーム812~827は工具3を装着していない。
【0037】
工具マガジン21が
図3に示す状態である時、グリップアーム8に装着した工具3の多くがマガジン本体22の左側に位置するので、マガジン本体22には、マガジン本体22の中心Qを回転中心として回転しようとする偏荷重(回転モーメント)が工具301~311、328の全体により作用する。以下、工具301~311、328の全体による偏荷重を総偏荷重という。総偏荷重はマガジンモータ64を特定の方向(
図3の場合反時計回り)に回転させようとする。
【0038】
総偏荷重は工具3を装着したグリップアーム8の位置、グリップアーム8が装着する工具3の重量、マガジン本体22の角度θに基づき変動する。マガジン本体22の角度θはグリップアーム801が工具交換位置にある時に0degである(
図3参照)。この状態で、マガジン本体22が中心Qを回転中心として時計回りに回転すると、角度θはプラスになる。マガジン本体22が中心Qを回転中心として反時計回りに回転すると、角度θはマイナスになる。
【0039】
工具マガジン21が
図4に示す状態(角度θ=-58deg)である時、中心Qを支点としてマガジン本体22に作用する工具301~311、328による偏荷重が釣り合う。該時、総偏荷重の大きさが零になる。以下、総偏荷重の大きさが零になるマガジン本体22の角度θを基準角度θ
aという。
【0040】
工具3を装着するマガジン本体22の状態(以下、工具マガジン21における工具の装着状態)は、工具3の段取り替え時に変化する。工具3の段取り替えは、工作機械1による被削材の加工前に、使用者又はロボットが工具マガジン21に収納された工具3と工具マガジン21に収納されていない工具3とを入れ替える作業である。
【0041】
図5を参照し、数値制御装置40と工作機械1の電気的構成を説明する。数値制御装置40はCPU41、ROM42、RAM43、記憶部44、入出力部45、駆動回路51~55を備える。工作機械1はX軸モータ61、Y軸モータ62、Z軸モータ63、マガジンモータ64、主軸モータ65、エンコーダ71~75を備える。以下、駆動回路51~55を区別しない時、駆動回路50と総称する。X軸モータ61、Y軸モータ62、Z軸モータ63、マガジンモータ64、主軸モータ65を区別しない時、モータ60と総称する。エンコーダ71~75を区別しない時、エンコーダ70と総称する。
【0042】
CPU41は工作機械1の動作を制御する。ROM42は後述する主処理(
図9参照)を実行する為の制御プログラム等を記憶する。RAM43は各種処理実行中に発生する各種データを記憶する。記憶部44はNCプログラム、後述する所定角度θ
TL、所定値θ
L(上付き一つドット)、F
θL、J
L、基準慣性モーメントJ
b、基準偏荷重係数F
θb、基準時定数T1
b等を記憶する。入出力部45は駆動回路50、エンコーダ70、操作部18、表示部19と電気的に接続し、駆動回路50、エンコーダ70、操作部18、表示部19との間で各種信号の入出力を行う。
【0043】
操作部18、表示部19は操作盤15に設ける。操作盤15は工作機械1を覆うカバー(図示略)の外壁に設ける。操作部18は各種情報、操作指示等の入力を受け付け、入出力部45を介してCPU41に出力する。表示部19はCPU41からの指令に基づき各種画面、異常情報等を表示する。
【0044】
駆動回路50は、CPU41が出力する指令に基づき、モータ60にパルス信号を出力する。エンコーダ70は、対応するモータ60の出力軸の角度を検出し、該検出信号を駆動回路50及び入出力部45に出力する。モータ60は何れもサーボモータである。エンコーダ70は一般的な絶対値エンコーダである。
【0045】
図6を参照し、駆動回路54の制御系を説明する。数値制御装置40のCPU41はNCプログラムの工具交換指令に基づき所定周期毎の目標角度の時系列データ(後述)を生成し、各データに応じた角度指令を駆動回路54に出力する。角度指令はデータが示す目標角度にマガジン本体22を回転する時のマガジンモータ64の出力軸の回転角を示す。
【0046】
エンコーダ74はマガジンモータ64の出力軸の現在の回転角情報を戻り値として駆動回路54に出力する。駆動回路54は該戻り値と該角度指令に基づき、マガジンモータ64に出力する駆動電流を制御する。具体的に駆動回路54は加算器54Aで戻り値と角度指令との角度偏差を算出し、該角度偏差に角度比例ゲインを乗じて角速度指令を算出する。加算器54Bは算出した角速度指令と角速度戻り値との角速度偏差を算出する。角速度戻り値は実際の角速度であり、戻り値を微分器54Cで微分した値である。加算器54Dは算出した角速度偏差に角速度比例ゲインを乗じた電流指令と、角速度偏差を積分器54Eで積分してその積分結果に角速度積分ゲインを乗じた電流指令を加算し、トルク指令を生成する。駆動回路54はトルク指令を示すパルス信号によりマガジンモータ64を回転する。
【0047】
図7を参照し、工具交換指令を説明する。数値制御装置40のCPU41は、記憶部44からNCプログラムを取得し、NCプログラムの先頭行から1ブロック解釈する(P1)。CPU41は解釈したブロックの制御指令が工具交換指令である時、主軸9が装着する工具3を第一工具から第二工具に交換する為、目標角度の時系列データを決定する(P2)。第一工具の工具交換位置はマガジン本体22の角度θ=θ
Sであり、第二工具の工具交換位置はマガジン本体22の角度θ=θ
Eである時、CPU41はマガジン本体22を旋回角度θ
Tだけ回転する。尚、θ
T=θ
E-θ
Sである。CPU41は所定周期で目標角度のデータを駆動回路54に出力する。該データは、目標角度まで第二工具を移動する為のマガジンモータ64の駆動条件を示す。
【0048】
駆動回路54はCPU41が出力した目標角度のデータに基づき、マガジンモータ64を回転する。マガジン本体22はマガジンモータ64の回転により目標角度まで中心Qを回転中心として回転する。CPU41が駆動回路54に目標角度のデータを入力する都度、駆動回路54はマガジンモータ64を回転する。
【0049】
図8を参照し、CPU41による目標角度の時系列データの決定方法について説明する。
図8(A)、(B)に示すように、CPU41は第二工具の工具交換位置まで回転する時の角速度が一定に推移する(
図8(B))ように、各目標角度を決定する(
図8(A))。次にCPU41は
図8(B)に示す角速度の時系列変化を示す波形(以下、「角速度波形」と称す。)に移動平均フィルタ(以下、「FIRフィルタ」と称す。)を少なくとも二回適用し、角速度変化を滑らかにする(
図8(C)、(D))。一回目に適用するFIRフィルタを「第一FIRフィルタ」と称し、
図8において「FIR1」と表す。第一FIRフィルタを適用した時の角速度の時定数を、「T1」と称す。二回目に適用するFIRフィルタを「第二FIRフィルタ」と称し、
図8において「FIR2」と表す。第二FIRフィルタを適用した時の角速度の時定数を、「T2」と称す。
【0050】
図8(B)に示す角速度波形に第一FIRフィルタを適用した時、
図8(C)に示すように、角速度波形のうち角速度が0からV
maxまで変化する部分(立ち上がり部分)、及び、角速度がV
maxから0まで変化する部分(立ち下がり部分)の傾き(角加速度)は一定となる。速度波形の立ち上がり部分及び立ち下がり部分の時間(以下、夫々を「立ち上がり時間」「立ち下がり時間」と称す。)は、何れもt1となる。t1は角速度波形に第一FIRフィルタを適用した時の時定数T1に対応する。
【0051】
第一FIRフィルタを適用した角速度波形(
図8(C)参照)に第二FIRフィルタを適用した時、
図8(D)に示すように、角速度波形の立ち上がり部分及び立下り部分の傾き(角加速度)が一定となる部分の開始部分及び終了部分で、角速度は緩やかに変化する。該時、加速度の時系列変化を示す波形(以下、「角加速度波形」と称す。)において、角速度が緩やかに変化する部分に対応する傾きは一定となる。
【0052】
角速度波形の立ち上がり時間及び立ち下がり時間は、夫々t2ずつ増加し、t1+t2となる。t2は角速度波形に第二FIRフィルタを適用した時の時定数T2に対応する。以上のように、CPU41は角速度に複数のFIRフィルタを適用することで、工具交換時におけるマガジン本体22の角速度の変化を緩和する。第一FIRフィルタの時定数T1及び第二FIRフィルタの時定数T2は制御対象となるマガジンモータ64の加減速時における加減速時定数に対応する。
【0053】
CPU41はP1の工程(
図7参照)で解釈した工具交換指令に基づいて、所定周期毎に工具マガジン21の角速度(
図8(B)参照)を算出する。CPU41は算出した角速度に時定数T1、T2の第一FIRフィルタ及び第二FIRフィルタを適用することで、角速度波形の形状に対応する加減速特性を調整する(
図8(C)、(D))。CPU41は第一FIRフィルタ及び第二FIRフィルタを適用して算出した角加速度波形(
図8(D)参照)に基づき、所定周期毎の目標角度を決定する。CPU41は決定した目標角度のデータを所定周期で駆動回路51に出力する。尚、CPU41は後述のP9(
図7参照)の工程で第一FIRフィルタ及び第二FIRフィルタの時定数T1、T2を最適化して調整する。CPU41は調整した時定数T1、T2の第一FIRフィルタ及び第二FIRフィルタを用いる。
【0054】
駆動回路54はCPU41が所定周期で出力する目標角度のデータに基づき、マガジンモータ64を回転する。マガジンモータ64はマガジン本体22を目標角度まで回転する。マガジン本体22は所定周期毎に目標角度まで回転する動作を繰り返す。これにより、マガジン本体22の角度θは工具交換指令で指定した第二工具の工具交換位置(角度θ=θE)に最終的に到達する。
【0055】
図7を参照し、総偏荷重及び基準角度θ
aの同定について説明する。以下、モデルより算出することで変数を推定することを、変数を同定するという。CPU41は駆動回路54がマガジンモータ64に出力するトルクu
raw(N・m)、及びエンコーダ74からの戻り値θ
rawを制御対象となるモデルに用いて、総偏荷重及び基準角度θ
aを同定する。
【0056】
CPU41は総偏荷重及び基準角度θaの同定を実行する前に、今回の工具交換指令において同定を実行するか否かを判定する(P3)。CPU41は今回の工具交換指令において、旋回角度θTが所定角度θTL以上である場合、総偏荷重及び基準角度θaの同定を実行すると判定する。所定角度θTLは例えば60deg(=π/3rad)である。
【0057】
CPU41は駆動回路54が出力するトルクurawに減速機25の減速比RE及び伝達比τを乗算し、マガジン本体22が出力するトルクu0を以下の数1により算出する。
[数1]
u0=urawREτ
CPU41はマガジン本体22が出力するトルクu0にローパスフィルタを適用し、ノイズを除去する(P4)。ローパスフィルタの適用後、マガジン本体22が出力するトルクuは以下の数2で表される。
[数2]
u=GLPFurawREτ
数2において、GLPFはノイズを除去する為のローパスフィルタである。
【0058】
CPU41はエンコーダ74からの戻り値θrawを減速機25の減速比REで除算し、マガジン本体22の角度θ0を以下の数3により算出する。
[数3]
θ0=θraw/RE
CPU41はマガジン本体22の角度にローパスフィルタを適用し、ノイズを除去する(P5)。ローパスフィルタの適用後、マガジン本体22の角度θは以下の数4で表される。
[数4]
θ=GLPFθraw/RE
【0059】
CPU41は総偏荷重及び基準角度θaの同定に、P4、P5の工程で算出したトルクu、角度θを使用するか否かを判定する(P6)。具体例に、CPU41は数4で表されるマガジン本体22の角度θに一階時間微分を行う。尚、以下において、「θ(上付き一つドット)」は角度θ(rad)の一階時間微分(角速度(rad/s))を示す。CPU41は角度θの一階時間微分θ(上付き一つドット)が所定値θL(上付き一つドット)以上である場合、総偏荷重及び基準角度θaの同定にトルクu、角度θを使用すると判定する。
【0060】
CPU41はモデルを用いて総偏荷重及び基準角度θ
aを同定する。制御対象となるモデルは複数の変数を用い適宜設定すればよく、例えば、以下の数5で表す。角度θにおける総偏荷重はF
θsin(θ-θ
a)で表される。偏荷重係数F
θ(N・m)は総偏荷重を算出するためのパラメータである。尚、以下において、「θ(上付き二つドット)」は、角度θの二回時間微分(角加速度(rad/s
2))を示す。J(kg・m
2)は工具マガジン21に関する慣性モーメントである。
【数5】
【0061】
数5において、fは以下の数6の関係を満たす。ここで、F
C(N・m)は工具マガジン21に関するクーロン摩擦である。sign関数は実数に対しその符号に応じて1、-1、0の何れかを返す符号関数である。D(N・m/(rad/s))は工具マガジン21に関する粘性摩擦係数である。
【数6】
【0062】
トルクuは数5、数6、及び加法定理により以下の数7で表される。数7のモデルを特に工作機械1の伝達モデルという。
【数7】
数7において、F
aは以下の数8で定義される係数である。F
bは以下の数9で定義される係数である。
[数8]
F
a=F
θcos(θ
a)
[数9]
F
b=F
θsin(θ
a)
【0063】
トルクuは数7の伝達モデルによって推定可能である。推定誤差e(ρ)は以下の数10により算出可能である。但し、ρは同定するパラメータである。上付きのTは転置行列であることを示す。例えば、ρ
Tはρの転置行列を示す。
[数10]
e(ρ)=u-ρ
Tx
数10において、ρ及びxは、夫々以下の数11、数12の関係を満たす。
【数11】
【数12】
【0064】
CPU41は評価関数|e(ρ)|
2が最小になるρを逐次最小二乗法により算出する(P7)。逐次最小二乗法とは、ステップkにおける同定中のパラメータをサーカムフレックス付きのρ(以下、ρ^と表記する)(k)、ステップkにおける推定誤差e(ρ)をε(k)、ステップkにおける共分散行列をP(k)とした時、ρ^(k)、ε(k)、P(k)は以下の数13、数14、数15により算出される。
【数13】
【数14】
【数15】
【0065】
ρ^(k)、ε(k)、P(k)は何れも数13、数14、数15により、ステップ(k-1)における該ρ^(k-1)、ε(k-1)、P(k-1)、及びステップkにおけるトルクu(k)、角度θ(k)用いて逐次的に算出可能である。故に数13、数14、数15を毎ステップ計算することで、最終的に評価関数|e(ρ)|2が最小になるρを逐次的に算出できる。
【0066】
上記逐次最小二乗法により、CPU41は総偏荷重Fθsin(θ-θa)を考慮した伝達モデルにおいて、評価関数|e(ρ)|2が最小になるρを算出することで、推定誤差eを最小にする変数(慣性モーメントJ、粘性摩擦係数D、クーロン摩擦FC、係数Fa、Fb)を同定する(P7)。
【0067】
CPU41は更に数8、数9から導出される数16、数17、及び同定したパラメータにより、偏荷重係数F
θ、基準角度θ
aを算出する。これにより、CPU41は基準角度θ
a、及び角度θにおける総偏荷重F
θsin(θ-θ
a)を同定する。以下、上記評価関数を用いて同定された慣性モーメントJ、粘性摩擦係数D、クーロン摩擦F
C、偏荷重係数F
θ、基準角度θ
aを「パラメータ」と総称する。
【数16】
【数17】
【0068】
CPU41は同定したパラメータを記憶部44に記憶し、パラメータを更新する(P8)。CPU41は同定した総偏荷重、慣性モーメントに基づき、工具マガジン21において工具3の過積載であるか否かを判定する(P9)。CPU41はP9の工程において、総偏荷重が最大となる角度θにおける総偏荷重Fθsin(θ-θa)が所定値FθL以下であるか否かを判定する。総偏荷重の大きさが最大となる時、sin(θ-θa)=1またはsin(θ-θa)=-1であるので、CPU41は偏荷重係数の絶対値|Fθ|が所定値FθL以下であるか否かを判定する。CPU41はP9の工程において、同定した慣性モーメントJが所定値JL以下であるか否かを判定する。CPU41は偏荷重係数の絶対値|Fθ|が所定値FθLを超える時、又は慣性モーメントJが所定値JLを超える時、工具マガジン21において工具3の過積載であると判定する。該時、CPU41は表示部19を介して工具マガジン21における工具3の過積載を報知し、工作機械1の動作を停止する。
【0069】
CPU41は同定したパラメータに基づき、FIRフィルタの時定数T1、T2を更新する。時定数T1、T2は、マガジンモータ64の加減速における時定数に対応する。CPU41は次回の目標位置の時系列データを生成する時、更新した時定数T1、T2の第一FIRフィルタ及び第二FIRフィルタを適用する。
【0070】
時定数T1の算出方法の第一例は、次の通りである。マガジンモータ64が出力可能な角加速度(θ(上付き二つドット))の最大である最大角加速度Amaxは、総偏荷重の大きさが最大になる角度θ(sin(θ-θa)=1またはsin(θ-θa)=-1)の時、数5、数6により以下の数18で表される。尚、数6におけるクーロン摩擦力(左辺第二項)、粘性力(左辺第三項)は、総偏荷重の大きさ(偏荷重係数の絶対値|Fθ|に等しい。)に対して十分小さいので無視する。CPU41は数18により最大角加速度Amaxを算出する(P11)
[数18]
Amax=(umax-Fθ)/J
ここで、umaxはマガジンモータ64が出力できる最大トルクである。記憶部44は予め最大トルクumaxを記憶する。
【0071】
工具3の基準装着状態におけるマガジンモータ64の時定数T1(基準時定数)は以下の数19で表される(
図8(C)参照)。CPU41は数19により時定数T1を算出する(P11)。
[数19]
T1=V
max/A
max
ここで、V
maxはマガジンモータ64が出力できる最大角速度(最高回転速度)である。記憶部44は予め最大角速度V
maxを記憶する。
【0072】
時定数T1の算出方法の第二例は、次の通りである。CPU41は工具マガジン21における工具3の基準装着状態に基づき、時定数を算出する。記憶部44は予め工具3の基準装着状態における、偏荷重係数F
θb(基準偏荷重係数)、慣性モーメントJ
b(基準慣性モーメント)、及び時定数T1
b(基準時定数)を記憶する。基準装着状態は機械仕様で定まる最大イナーシャ積載、最大偏荷重積載状態である。例えば、積載可能な最大重量工具を、総重量が機械仕様で定まる最大積載工具総重量になる本数分、
図1のようにマガジンの片側に偏らせて積載した状態が基準積載状態である。基準時定数は、基準積載状態においてマガジンモータ64が出力可能な最大トルクを超えることなく動作できる時定数である。
【0073】
工具3の基準装着状態において、マガジンモータ64が出力可能な最大角加速度Amaxbは、数18から導出される以下の数20で表される。
[数20]
Amaxb=(umax-Fθb)/Jb
【0074】
工具3の基準装着状態におけるマガジンモータ64の時定数T1b(基準時定数)は数19から導出される以下の数21で表される。
[数21]
T1b=Vmax/Amaxb
【0075】
数18~数21より、時定数T1は以下の数22で表される。CPU41は同定したパラメータに基づき、数22によりFIRフィルタの時定数T1を算出する。CPU41は基準時定数T1
bを算出した時定数T1に更新し、記憶部44に記憶する。
【数22】
【0076】
時定数T1(又はT2)の算出方法の第三例は、次の通りである。移動平均フィルタを用いてモータ60の加減速を行う時、例えば機械系が1自由度系である場合には固有振動の周期Toptを以下の数23により算出できる。Jは同定したパラメータの慣性モーメント、Kは別途測定もしくは算出した機械系のねじり剛性である。
[数23]
Topt=2π√(J/K)
該時、CPU41は、FIRフィルタの時定数T1又はT2をToptとすることにより、固有振動数を励起せずにモータ60の加減速を行うことができる。故にCPU41は同定したパラメータから算出された該時定数を適用することにより、機械系の固有振動数を打ち消すことで、工作機械1の固有振動を抑制できる。
【0077】
尚、CPU41は、次の工具交換指令において、前回の工具交換指令により更新した時定数T1、T2に基づいて、目標位置の時系列データ(目標角度)を決定する。
【0078】
図9、
図10を参照し、数値制御装置40のCPU41が実行する主処理を説明する。使用者は操作部18を操作し、NCプログラムの実行を選択する。操作部18で選択されたNCプログラムの実行を受け付けると、CPU41はROM42に記憶した制御プログラムを読み出し、主処理を開始する。
【0079】
図9の如く、CPU41は操作部18で選択されたNCプログラムを読み込む(S1)。CPU41は読み込んだNCプログラムから1ブロック解釈する(S2)。該処理は
図7のP1の工程に対応する。CPU41は解釈したブロックの制御指令が終了指令であるか否かを判定する(S3)。
【0080】
CPU41は解釈した制御指令が終了指令でないと判定した時(S3:NO)、解釈した制御指令が工具交換指令であるか否かを判定する(S4)。CPU41は解釈した制御指令が工具交換指令でないと判定した時(S4:NO)、解釈した制御指令に応じた各種処理を実行し(S5)、処理をS2に戻す。
【0081】
CPU41は解釈した制御指令が工具交換指令であると判定した時(S4:YES)、Z軸モータ63を回転し、主軸ヘッド7をワーク加工位置からATC原点まで上昇する(S11)。CPU41は解釈した工具交換指令に応じて駆動回路54に出力する目標角度の時系列データを生成する(S12)。該処理は
図7のP2の工程に対応する。
【0082】
図10の如く、CPU41は工具交換指令で指定された旋回角度θ
Tが所定角度θ
TL以上であるか否かを判定する(S13)。CPU41は旋回角度θ
Tが所定角度θ
TL未満であると判定した時(S13:NO)、S12(
図9参照)で生成した目標角度の時系列データに基づき、駆動回路54に目標角度のデータを出力する(S14)。駆動回路54は目標角度のデータに基づきマガジンモータ64を回転する。マガジン本体22はマガジンモータ64の回転により目標角度まで回転する。
【0083】
CPU41はエンコーダ74からの戻り値θrawに基づき、マガジン本体22の角度θが第二工具の工具交換位置(角度θ=θE)に到達したか否かを判定する(S15)。CPU41はマガジン本体22の角度θが第二工具の工具交換位置に到達していないと判定した時(S15:NO)、処理をS14に戻す。CPU41はマガジン本体22の角度θが第二工具の工具交換位置に到達する迄、上記処理を繰り返す。
【0084】
CPU41はマガジン本体22の角度θが第二工具の工具交換位置に到達したと判定した時(S15:YES)、Z軸モータ63を回転し、主軸ヘッド7をATC原点からワーク加工位置まで下降する(S37)。主軸ヘッド7が下降中に主軸9は工具交換位置に位置する第二工具を装着する。その後、CPU41は処理をS2(
図9参照)に戻す。
【0085】
CPU41は旋回角度θTが所定角度θTL以上であると判定した時(S13:YES)、基準角度θaを含むパラメータの同定を実行する。CPU41はS12で生成した目標角度の時系列データに基づき、駆動回路54に目標角度のデータを出力する(S16)。CPU41は同定処理を実行する(S17)。
【0086】
図11を参照し、主処理(
図10参照)で実行される同定処理について説明する。CPU41はパラメータ(慣性モーメントJ、粘性摩擦係数D、クーロン摩擦F
C、偏荷重係数F
θ、基準角度θ
a)を初期化する(S21)。初期化はパラメータを0にすることであり、前述したρの各成分を0にすることと等価である。
【0087】
CPU41は駆動回路54がマガジンモータ64に出力するトルクu
rawに基づきマガジン本体22のトルクu
0を取得し、エンコーダ75からの戻り値θ
rawに基づきマガジン本体22の角度θ
0を取得する(S22)。CPU41は数2、数4に基づき、S22で取得したマガジン本体22のトルクu
0、及びマガジン本体22の角度θ
0の夫々にローパスフィルタを適用することで、マガジン本体22のトルクu
0及びマガジン本体22の角度θ
0からノイズを除去し、トルクu、及び角度θを算出する(S23)。該処理は
図7のP4、P5の工程に対応する。
【0088】
CPU41はマガジン本体22の角度θの一階時間微分θ(上付き一つドット)を数4に時間微分を行うことで算出し、算出したマガジン本体22の角度θの一階時間微分が所定値θ
L(上付き一つドット)以上であるか否かを判定する(S24)。CPU41は角度θの一階時間微分が所定値未満であると判定した時(S24:NO)、処理を主処理に戻す。CPU41は角度θの一階時間微分が所定値以上であると判定した時(S24:YES)、処理をS25に移行する。該処理は
図7のP6の工程に対応する。
【0089】
CPU41はS23の処理でローパスフィルタを適用後のマガジン本体22のトルクu及びマガジン本体22の角度θの夫々を適用した評価関数|e(ρ)|
2(数10参照)に基づき、角度θにおける、推定誤差eが最小になる時のパラメータを同定する(S25)。該処理は、
図7のP7の工程に対応する。
【0090】
CPU41は同定したパラメータを記憶部44に記憶し、パラメータを更新する(S26)。該処理は、
図7のP8の工程に対応する。CPU41はその後処理を主処理に戻す。
【0091】
図10の如く、CPU41は同定処理(S17)の終了後、マガジン本体22の角度θが第二工具の工具交換位置に到達したか否かを判定する(S18)。該処理はS15と同様の処理である。CPU41はマガジン本体22の角度θが第二工具の工具交換位置に到達していないと判定した時(S18:NO)、処理をS16に戻す。CPU41はマガジン本体22の角度θが第二工具の工具交換位置に到達する迄、角度θにおけるパラメータを同定する。
【0092】
CPU41はマガジン本体22の角度θが第二工具の工具交換位置に到達したと判定した時(S18:YES)、総偏荷重が最大となる角度θにおける総偏荷重(同定した偏荷重係数の絶対値|F
θ|と等しい)が所定値F
θL以下であるか否かを判定する(S30)。CPU41は同定した偏荷重係数の絶対値|F
θ|が所定値F
θLよりも大きいと判定した時(S30:NO)、処理をS61に進める。CPU41は偏荷重係数の絶対値|F
θ|が所定値F
θL以下であると判定した時(S30:YES)、同定した慣性モーメントJが所定値J
L以下であるか否かを判定する(S31)。CPU41は慣性モーメントJが所定値J
Lよりも大きいと判定した時(S31:NO)、処理をS61に進める。CPU41は慣性モーメントJが所定値J
L以下であると判定した時(S31:YES)、重量フラグがONであるか否かを判定する(S32)。重量フラグは、後述する重量同定処理において工具マガジン21に装着された全ての工具3の重量の合計である総重量W
Tが閾値以上である場合にONになるフラグであり、詳細は後述する。CPU41は重量フラグがONである場合(S32:YES)、工具3の過積載であるとして、計時を開始する(S61)。CPU41はS61で計時を開始してから所定時間が経過したか否かを判定する(S62)。CPU41は所定時間が経過していないと判定した時(S62:NO)、処理をS62に戻す。CPU41は所定時間が経過したと判定した時(S62:YES)、処理をS37に移行する。CPU41は重量フラグがOFFである場合(S32:NO)、処理をS33に進める。該処理は、
図7のP9の工程に対応する。
【0093】
CPU41は時定数設定を読み込む(S33)。時定数設定は時定数T1、T2の算出を実行するか否かを決定するための設定である。使用者が操作部18を操作し、時定数T1、T2の算出を実行するか否かを設定する。記憶部44は該設定を時定数設定として記憶する。
【0094】
CPU41はS33の処理で記憶部44から読み込んだ時定数設定に基づき、今回の工具交換指令において時定数の算出を実行するか否かを判定する(S34)。CPU41は時定数の算出を実行しないと判定した時(S34:NO)、処理をS37に移行する。
【0095】
CPU41は時定数の算出を実行すると判定した時(S34:YES)、数20に基づき、同定したパラメータ(J、F
θ)を用いて最大角加速度A
maxを算出する(S35)。該処理は、
図7のP10の工程に対応する。
【0096】
CPU41は数18~数23に基づき時定数T1、T2を算出し、算出した時定数T1、T2を記憶部44に記憶する(S36)。該処理は、
図7のP11の工程に対応する。CPU41は処理をS37に移行する。
【0097】
図9の如く、CPU41は解釈した制御指令が終了指令であると判定した時(S3:YES)、主処理を終了する。
【0098】
図12はマガジン本体22を0度から360度まで回転した時のマガジン本体22のトルクuの測定結果及び同定結果を示す。尚、工具の装着状態は
図3に示した状態である。
図12の如く、トルクuの同定結果は、トルクuの測定結果に非常に近似した。故に、本実施形態の方法により、パラメータを精度良く同定できることが分かった。
【0099】
数値制御装置40はパラメータを精度良く同定できるので、パラメータの一つである慣性モーメントJを利用して工具3全体の総重量WTを精度よく同定することができる。以降、工具3全体の総重量WTの同定について説明する。工具3全体とは工具マガジン21に装着された全ての工具を示す。
【0100】
工具3が装着された工具マガジン21の総重量Wは以下の式24で表される。
[数24]
W=J/R2
Rは工具マガジン21において基準となる基準半径(m)である。基準半径Rは例えば以下の数25で表される。
[数25]
R=RM+(RT/2)
RMはマガジン本体22の中心Qからグリップアーム8の把持部81迄の回転半径である。記憶部44は予め回転半径RMを記憶する。RTは刃具4の基準長さである。刃具4の基準長さの決定方法の第一例は工具マガジン21に装着する刃具4の工具長の一般的な値から一意に決める方法である。刃具4の基準長さの決定方法の第二例は記憶部44が記憶する刃具4の工具長の平均値を用いる方法である。記憶部44は予め刃具4の基準長さRTを記憶する。
【0101】
工具3が装着されていない工具マガジン21の総重量WNは以下の数26で表される。
[数26]
WN=JN/R2
JNは工具3を装着していない工具マガジン21の慣性モーメントである。
【0102】
工具3全体の総重量は以下の数27により表される。
[数27]
WT=W-WN
CPU41は工具3が装着された工具マガジン21の慣性モーメントJ、及び工具3を装着していない工具マガジン21の慣性モーメントJNを同定することで、数27に基づき、工具3全体の総重量WTを同定する。
【0103】
図13を参照し、数値制御装置40のCPU41が実行する重量同定処理を説明する。使用者は操作部18を操作し、重量同定処理の実行を指示する。CPU41は重量同定処理の実行を受け付けると、ROM42に記憶した制御プログラムを読み出し、制御プログラムを実行する。重量同定処理の実行前、使用者は工具マガジン21から工具3を取り外す。
【0104】
CPU41は工具マガジン21における工具3の装着状態について設定の入力を受け付けたか否かを判定する(S41)。使用者は操作部18を操作し、工具マガジン21における工具3の装着状態について、工具マガジン21から工具3を取り外した旨の設定を入力する。CPU41は工具マガジン21における工具3の装着状態について設定の入力を受け付けていないと判定した時(S41:NO)、処理をS41に戻す。CPU41は工具マガジン21における工具3の装着状態について設定の入力を受け付けたと判定した時(S41:YES)、受け付けた設定が工具マガジン21から全ての工具3を取り外した旨の設定か否かを判定する(S42)。CPU41は受け付けた設定が工具マガジン21から全ての工具3を取り外した旨の設定でないと判定した時(S42:NO)、処理をS41に戻す。
【0105】
CPU41受け付けた設定が工具マガジン21から全ての工具3を取り外した旨の設定であると判定した時(S42:YES)、第一送り処理を実行する(S43)。CPU41は第一送り処理において、マガジンモータ64を回転し、例えばマガジン本体22の角度θを0(deg)から360(deg)に回転する。第一送り処理におけるマガジン本体22の角度θは適宜変更してもよい。
【0106】
CPU41は同定処理を実行する(S44)。S44の同定処理は
図11の同定処理と同様の処理である。CPU41はS44の同定処理において、工具3を装着していない工具マガジン21の慣性モーメントJ
Nを同定し、記憶部44に記憶する。CPU41は数26、及びS44で同定した工具3を装着していない工具マガジン21の慣性モーメントJ
Nに基づき、工具3を装着していない工具マガジン21の総重量W
Nを同定する(S45)。
【0107】
S44の同定処理の終了後、使用者は工具マガジン21に工具3を装着する。CPU41は工具マガジン21における工具3の装着状態について設定の入力を受け付けたか否かを判定する(S46)。使用者は操作部18を操作し、工具マガジン21における工具3の装着状態について、工具マガジン21に工具3を装着した旨の設定を入力する。CPU41は工具マガジン21における工具3の装着状態について設定の入力を受け付けていないと判定した時(S46:NO)、処理をS45に戻す。CPU41は工具マガジン21における工具3の装着状態について設定の入力を受け付けたと判定した時(S46:YES)、受け付けた設定が工具マガジン21に工具3を装着した旨の設定か否かを判定する(S47)。CPU41は受け付けた設定が工具マガジン21に工具3を装着した旨の設定でないと判定した時(S47:NO)、処理をS45に戻す。
【0108】
CPU41はS46において受け付けた設定が工具マガジン21に工具3を装着した旨の設定であると判定した時(S47:YES)、第二送り処理を実行する(S48)。CPU41は第二送り処理において、第一送り処理(S43)と同様にマガジンモータ64を回転し、例えばマガジン本体22の角度θを0(deg)から360(deg)に回転する。第二送り処理におけるマガジン本体22の角度θは適宜変更してもよい。第一送り処理と第二送り処理とで、マガジン本体22の角度θは同じでもよいし、異なっていてもよい。
【0109】
CPU41は同定処理を実行する(S49)。S49の同定処理は
図11の同定処理と同様の処理である。CPU41はS49の同定処理において、工具3を装着した工具マガジン21の慣性モーメントJを同定し、記憶部44に記憶する。CPU41は数24、及びS49で同定した工具3を装着した工具マガジン21の慣性モーメントJに基づき、工具3を装着した工具マガジン21の総重量Wを同定する(S50)。
【0110】
CPU41はS45で同定した工具3を装着していない工具マガジン21の総重量WN、S50で同定した工具3を装着した工具マガジン21の総重量W、及び数27に基づき、工具3全体の総重量WTを同定する(S51)。
【0111】
CPU41は同定した工具3全体の総重量WTが所定値WL以下であるか否かを判定する(S52)。CPU41は工具3全体の総重量WTが所定値WL以下であると判定した時(S52:YES)、重量同定処理を終了する。
【0112】
CPU41は工具3全体の総重量W
Tが所定値W
Lよりも大きいと判定した時(S52:NO)、重量フラグをONにする(S53)。重量フラグは工具3全体の総重量W
Tが所定値W
Lよりも大きい時、値が1に設定され、ONになる。重量フラグは重量同定処理の開始時、値が0であり、OFFである。重量フラグがONである時、主処理において工具3の過積載であると判定される(S32:NO、
図10参照)。CPU41は重量同定処理を終了する。
【0113】
図14を参照し、本発明の第二実施形態を説明する。以下の各実施形態では、主処理における、偏荷重係数の絶対値|F
θ|が所定値F
θLよりも大きい場合(S30:NO)、慣性モーメントJが所定値J
Lよりも大きい場合(S31:NO)、又は重量フラグがONである場合(S32:YES)の処理が第一実施形態と異なる。第二実施形態では、偏荷重係数の絶対値|F
θ|が所定値F
θLよりも大きい場合(S30:NO)、慣性モーメントJが所定値J
Lよりも大きい場合(S31:NO)、又は重量フラグがONである場合(S32:YES)、Z軸モータ63の回転速度を減速して、工具3の装着を実行する。第二実施形態のその他の構成は、第一実施形態と同じである。以下の各実施形態において、第一実施形態と共通する構成に、第一実施形態と同一の符号を付し、説明を省略する。
【0114】
CPU41は偏荷重係数の絶対値|Fθ|が所定値FθLよりも大きい場合(S30:NO)、慣性モーメントJが所定値JLよりも大きい場合(S31:NO)、又は重量フラグがONである場合(S32:YES)、速度決定処理を実行する(S63)。CPU41はS63の処理において、S37におけるZ軸モータ63の設定した最大角速度Vmaxよりも減速した速度を最大角速度V2maxに決定する。記憶部44はZ軸モータ63の最大角速度V2maxを記憶する。CPU41は処理をS37に移行する。CPU41はS37の処理において、S61で減速したZ軸モータ63の最大角速度V2maxにて、主軸ヘッド7をATC原点からワーク加工位置まで下降する。
【0115】
図15を参照し、本発明の第三実施形態を説明する。第三実施形態では、偏荷重係数の絶対値|F
θ|が所定値F
θLよりも大きい場合(S30:NO)、慣性モーメントJが所定値J
Lよりも大きい場合(S31:NO)、又は重量フラグがONである場合(S32:YES)、Z軸モータ63の加減速の時定数を大きくして、工具3の装着を実行する。第三実施形態のその他の構成は、第一実施形態と同じである。
【0116】
CPU41は偏荷重係数の絶対値|Fθ|が所定値FθLよりも大きい場合(S30:NO)、慣性モーメントJが所定値JLよりも大きい場合(S31:NO)、又は重量フラグがONである場合(S32:YES)、時定数決定処理を実行する(S64)。CPU41はS64の処理において、S37におけるZ軸モータ63の予め設定した加減速の時定数よりも大きい時定数に決定する。記憶部44はZ軸モータ63の時定数を記憶する。CPU41は処理をS37に移行する。CPU41はS37の処理において、S64で決定したZ軸モータ63の時定数にて、主軸ヘッド7をATC原点からワーク加工位置まで下降する。
【0117】
図16を参照し、本発明の第四実施形態を説明する。第四実施形態では、偏荷重係数の絶対値|F
θ|が所定値F
θLよりも大きい場合(S30:NO)、慣性モーメントJが所定値J
Lよりも大きい場合(S31:NO)、又は重量フラグがONである場合(S32:YES)、工具3の過積載を報知して、モータ60の駆動を停止する。第四実施形態のその他の構成は、第一実施形態と同じである。
【0118】
CPU41は偏荷重係数の絶対値|Fθ|が所定値FθLよりも大きい場合(S30:NO)、慣性モーメントJが所定値JLよりも大きい場合(S31:NO)、又は重量フラグがONである場合(S32:YES)、報知処理を実行する(S65)。CPU41はS65の処理において、表示部19を介して工具3の過積載を報知する。CPU41はモータ60の駆動を停止し(S66)、主処理を終了する。
【0119】
以上の如く、工作機械1において、高速且つ高精度な制御を行う為の制御パラメータの決定には、工作機械1に関連する慣性モーメント等の物理パラメータが必要である。工具マガジン21における工具3の装着の状態に基づき、工具3による総偏荷重が釣り合う基準角度θaが変化する。工具3による総偏荷重は基準角度θaの大きさに依存する。故に、従来の数値制御装置は工具3による総偏荷重の影響により物理パラメータを同定することが困難であった。
【0120】
これに対し、数値制御装置40のCPU41は工具交換指令に基づく工具交換の時に、基準角度θaに基づく総偏荷重Fθsin(θ-θa)を用いたモデルにより、パラメータを同定する。これにより、CPU41はパラメータを同定する為の専用の動作モードを実行することなく工作機械1の工具マガジン21における総偏荷重の影響を制御できる。故に数値制御装置40は従来よりも簡単に、工作機械1における総偏荷重の影響を適切に制御できる。
【0121】
CPU41はマガジンモータ64が出力できる最大トルクumax、及び同定したパラメータ(偏荷重係数Fθ、慣性モーメントJ)に基づき、パラメータを同定した時の最大角加速度Amaxを算出する(S35、P10)。CPU41は同定したパラメータに基づき最大角加速度Amaxを算出することで、工具マガジン21における工具3の装着状態に応じて適切な角加速度でマガジン本体22を回転できる。
【0122】
CPU41はマガジンモータ64が出力できる最大角速度Vmax及び最大角加速度Amaxに基づき、数19により時定数T1を算出する。CPU41は最大角加速度Amaxに基づきマガジンモータ64における加減速の時定数T1を算出する。故にCPU41は工具マガジン21における工具3の装着の状態に応じて適切な加減速でマガジン本体22を回転できる。
【0123】
CPU41は基準偏荷重係数Fθb、基準慣性モーメントJb、基準時定数T1bに基づき、数22により時定数T1を算出する。CPU41は工具3の基準装着状態のパラメータと同定したパラメータとに基づき、マガジンモータ64における加減速の時定数T1を算出する。故にCPU41は工具マガジン21における工具3の装着状態に応じて適切な加減速でマガジン本体22を回転できる。
【0124】
CPU41は総偏荷重の大きさが最大となる角度θにおける総偏荷重を同定する。該時の総偏荷重の大きさは、同定した偏荷重係数の絶対値|Fθ|と等しい。CPU41は偏荷重係数の絶対値|Fθ|が所定値FθL以下であるか否かを判定する(S30、P9)。又、CPU41は慣性モーメントJを同定する。CPU41は同定した偏荷重係数の絶対値|Fθ|が所定値FθLよりも大きいと判定した時(S30:NO)、又は慣性モーメントJが所定値JLよりも大きいと判定した時(S31:NO)、計時を開始する(S61)。CPU41は計時を開始してから所定時間が経過したと判定した時(S62:YES)、Z軸モータ63を回転し、主軸ヘッド7をATC原点からワーク加工位置まで下降する(S37)。
【0125】
工具3全体の総偏荷重又は慣性モーメントの大きさが過剰に大きい時、マガジン本体22の回転終了後にマガジン本体22の回転位置が安定しないことがある。該時、工具3の装着を実行すると、主軸9が工具3を十分に装着できない可能性がある。本発明の数値制御装置40のCPU41は所定時間が経過した後、Z軸モータ63を回転するので、マガジン本体22の回転位置が安定した後に主軸9に対する工具3の装着を実行できる。
【0126】
CPU41は同定した偏荷重係数の絶対値|Fθ|が所定値FθLよりも大きいと判定した時(S30:NO)、又は慣性モーメントJが所定値JLよりも大きいと判定した時(S31:NO)、Z軸モータ63の最大角速度V2maxに減速する(S63)。故にCPU41はマガジン本体22の回転位置が安定した後に主軸9に対する工具3の装着を実行できる。
【0127】
CPU41は同定した偏荷重係数の絶対値|Fθ|が所定値FθLよりも大きいと判定した時(S30:NO)、又は慣性モーメントJが所定値JLよりも大きいと判定した時(S31:NO)、Z軸モータ63の予め設定した加減速の時定数よりも大きい時定数に決定する(S64)。故にCPU41はマガジン本体22の回転位置が安定した後に主軸9に対する工具3の装着を実行できる。
【0128】
CPU41は同定した偏荷重係数の絶対値|Fθ|が所定値FθLよりも大きいと判定した時(S30:NO)、又は慣性モーメントJが所定値JLよりも大きいと判定した時(S31:NO)、報知処理を実行する(S65)。CPU41はS65の処理において、表示部19を介して工具3の過積載であることを報知する。これにより、使用者は工具3の装着状態において、偏荷重係数の絶対値|Fθ|又は慣性モーメントJの大きさが過剰に大きいことを把握できる。
【0129】
CPU41はNCプログラムから解釈した制御指令が工具交換指令であると判定した時(S4:YES)、パラメータの同定を行う(S25)。故にCPU41はパラメータを同定する為に、被削材の加工前にパラメータを同定する為の専用の動作モードを実行することなく、被削材の加工時にパラメータを同定できる。故に数値制御装置40は従来よりも簡単に、工作機械1における総偏荷重の影響を適切に制御できる。
【0130】
CPU41は駆動回路54が出力するトルクurawに基づき、マガジン本体22のトルクu0を取得する(S22)。CPU41はマガジン本体22のトルクu0にローパスフィルタを適用して、ノイズを除去し、トルクuを算出する(S23、P4)。CPU41はエンコーダ74からの戻り値θrawに基づき、マガジン本体22の角度θ0を取得する(S22)。CPU41はマガジン本体22の角度θ0にローパスフィルタを適用して、ノイズを除去し、角度θを算出する(S23、P5)。数値制御装置40はマガジン本体22のトルクu0及びマガジン本体22の角度θ0に含まれるノイズをフィルタにより除去するので、パラメータを精度良く同定できる。
【0131】
CPU41はマガジン本体22の角度θ0を取得する(S22)。CPU41は数4に基づき、マガジン本体22の角度θの一階時間微分θ(上付き一つドット)を算出し、算出した角度θの一階時間微分が所定値θL(上付き一つドット)以上であるか否かを判定する(S24、P6)。CPU41はマガジン本体22の角度θの一階時間微分が所定値θL以上であると判定した時、マガジン本体22のトルクu及びマガジン本体22の角度θを使用して、パラメータの同定を行う。これにより、数値制御装置40はパラメータの同定精度が悪化するトルクu及び角度θを除去するので、パラメータを精度良く同定できる。
【0132】
上記実施形態において、工具交換指令は本発明の入力条件の一例である。S2の処理を行うCPU41は本発明の取得部の一例である。マガジン本体22のトルクu、マガジン本体22の角度θが本発明の駆動結果の一例である。数7が本発明の伝達モデルの一例である。S25の処理を行うCPU41は本発明の同定部の一例である。S30、S31の処理を行うCPU41は本発明の閾値判定部の一例である。S61の処理を行うCPU41は本発明の計時部の一例である。S62の処理を行うCPU41は本発明の時間判定部の一例である。S37の処理を行うCPU41は本発明の着脱駆動部の一例である。S63の処理を行うCPU41は本発明の速度決定部の一例である。S64の処理を行うCPU41は本発明の時定数決定部の一例である。S65の処理を行うCPU41は本発明の報知部の一例である。S4の処理を行うCPU41は本発明の指令判定部の一例である。S23の処理を行うCPU41は本発明のフィルタの一例である。S22の処理を行うCPU41は本発明の駆動結果取得部の一例である。S24の処理を行うCPU41は本発明の駆動結果判定部の一例である。
【0133】
本発明は上記実施形態から種々変更できる。以下説明する各種変形例は、矛盾が生じない限り夫々組み合わせ可能である。例えば、数値制御装置40は工作機械1に設ける場合に限らず、工作機械1とは別体に設けてもよい。例えば数値制御装置40は、工作機械1に接続した装置(PC、専用機等)でもよい。工具マガジン21はタレット式に限らず、例えばアーム式でもよい。
【0134】
CPU41は、同定したパラメータに基づき、工具3の過積載の判定(S31、S32)以外の処理を実行してもよい。例えば数値制御装置40はエンコーダ74が出力したフィードバック信号に基づくフィードバック制御だけでなく、フィードフォワード制御を実行してもよい。該時、CPU41はフィードフォワード制御のパラメータを、決定したパラメータにより最適化してもよい。又、フィードバック制御の位置比例ゲイン、速度比例ゲイン、速度積分ゲイン等の制御パラメータを最適化してもよい。該時、数値制御装置40は工作機械1を高速且つ高精度に制御できる。
【0135】
数値制御装置40が同定するパラメータは基準角度θaを含んでいればよく、数値制御装置40は適宜他のパラメータを同定してもよい。
【0136】
上記実施形態において、数値制御装置40は逐次最小二乗法によりパラメータを同定したが、他の方法でパラメータを同定してもよい。例えば、数値制御装置40は線形最小二乗法によりパラメータを同定してもよい。線形最小二乗法によりパラメータを同定する方法を以下で説明する。
【0137】
線形最小二乗法のモデルにおいて推定誤差jは以下の数28で表される。
【数28】
数28においてΦは以下の数29で表される。CPU41は推定誤差jを最小にするパラメータを同定する。
【数29】
【0138】
数28の正規方程式は以下の数30で表される。
【数30】
CPU41は数30を解くことによりパラメータを同定できる。
【0139】
CPU41は旋回角度θTが所定角度θTL未満である時にパラメータを同定してもよい。この場合、CPU41は主処理において、S13の処理を省略してもよい。CPU41は指令が他の条件を満たす時にパラメータを同定してもよい。例えば、CPU41は指令が終了指令の時にパラメータを同定してもよい。又、例えばCPU41は、指令に基づく工作機械1の動作が複数の静止状態である時に、パラメータを同定してもよい。
【0140】
上記実施形態において、CPU41は角度θの一階時間微分の大きさに基づき、トルクu及び角度θをパラメータの同定に用いるか否かを判定した。これに対し、CPU41は取得した全てのトルクu及び角度θをパラメータの同定に用いてもよい。又、CPU41は他の条件に基づき、トルクu及び角度θをパラメータの同定に用いるか否かを判定してもよい。例えば、CPU41は角度θの二階時間微分の大きさに基づき、トルクu及び角度θをパラメータの同定に用いるか否かを判定してもよい。
【0141】
CPU41は取得したトルクuraw及び戻り値θrawをパラメータの同定に用いるか否かを判定した後、ノイズを除去してもよい。
【0142】
CPU41は取得したトルクuraw及び戻り値θrawにローパスフィルタを適用してもよい。該時、CPU41はS25の処理の前にトルクu及び角度θを算出すればよい。
【0143】
CPU41はトルクu0及び角度θ0のノイズを除去する際、ローパスフィルタ以外を適用してもよい。例えば、CPU41はハイパスフィルタを適用することでトルクu0及び角度θ0のノイズを除去してもよい。CPU41はトルクu0及び角度θ0のうちいずれか一方のノイズを除去してもよい。CPU41はトルクu0及び角度θ0のノイズを除去しなくてもよい。この場合、CPU41は同定処理において、S23の処理を省略してもよい。
【0144】
CPU41は同定した偏荷重係数Fθ、及び慣性モーメントJの何れか一方の大きさに基づき、工具3の過積載であるか否かを判定してもよい。CPU41は同定した偏荷重係数Fθ、及び慣性モーメントJの両方の大きさに基づき、工具3の過積載であるか否かを判定してもよい。CPU41は、偏荷重係数Fθ、及び慣性モーメントJ以外の同定したパラメータに基づき、工具3の過積載であるか否かを判定してもよい。
【0145】
CPU41は工具3の過積載であるか否かを判定しなくてもよい。この場合、CPU41は主処理において、S30~S32、S61~S66の処理を省略してもよい。第四実施形態において、CPU41はS65の処理において表示部19を介して報知した。これに対し、CPU41はスピーカ、ランプ等を介して報知してもよい。
【0146】
CPU41は同定したパラメータに基づき、工具マガジン21の工具3の装着時における目標角度を補正してもよい。工具マガジン21に工具3を装着した影響に因り、慣性モーメントJ等のパラメータが変化する。数値制御装置40は工具マガジン21に工具3を装着した影響を考慮してマガジンモータ64を制御できる。
【符号の説明】
【0147】
1 工作機械
3 工具
20 工具交換装置
22 マガジン本体
40 数値制御装置
41 CPU
64 マガジンモータ