(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024005673
(43)【公開日】2024-01-17
(54)【発明の名称】数値制御装置、同定方法、及び同定プログラム
(51)【国際特許分類】
G05B 19/18 20060101AFI20240110BHJP
G05B 19/404 20060101ALI20240110BHJP
G05B 13/02 20060101ALI20240110BHJP
B23Q 17/00 20060101ALI20240110BHJP
B23Q 1/52 20060101ALI20240110BHJP
【FI】
G05B19/18 W
G05B19/18 X
G05B19/404 K
G05B13/02 P
G05B13/02 D
B23Q17/00 A
B23Q1/52
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022105957
(22)【出願日】2022-06-30
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】100104178
【弁理士】
【氏名又は名称】山本 尚
(72)【発明者】
【氏名】小林 太樹
【テーマコード(参考)】
3C029
3C048
3C269
5H004
【Fターム(参考)】
3C029EE00
3C048BC02
3C048DD12
3C269AB01
3C269BB03
3C269CC02
3C269CC15
3C269EF39
3C269GG02
3C269MN07
3C269MN14
3C269MN16
3C269MN29
3C269PP02
3C269PP03
5H004KC35
5H004KC48
5H004MA11
(57)【要約】
【課題】工作機械の伝達特性のパラメータを精度良く同定して工作機械を適切に制御できる数値制御装置、同定方法、及び同定プログラムを提供する。
【解決手段】工作機械において、高速且つ高精度な制御を行う為の制御パラメータの決定には、工作機械に関連する慣性モーメント等の物理パラメータが必要である。工作機械において、被削材が治具に固定される位置により、偏荷重が最小になる基準角度が0deg以外になる場合がある。数値制御装置は、基準角度に基づく偏荷重を用いたモデルに最小二乗法を用いることで、基準角度、慣性モーメント等のパラメータを同定する(S8)。
【選択図】
図10
【特許請求の範囲】
【請求項1】
被削材を加工する工具と前記被削材とを相対的に移動及び回転させる為のモータを備えた工作機械に対し、前記モータの駆動条件を示す指令を出力する数値制御装置であって、
所定の前記駆動条件である入力条件を取得する取得部と、
前記取得部により取得した前記入力条件に応じて前記モータに出力した出力結果と、前記工作機械の伝達モデルを前記入力条件に適用して導出した導出結果とに基づいて、前記伝達モデルのパラメータを同定する同定部とを備え、
前記伝達モデルは、偏荷重が零になる基準角度から回転した角度に基づく前記偏荷重を含み、
前記パラメータは、前記基準角度を含むことを特徴とする数値制御装置。
【請求項2】
前記取得部が取得した前記入力条件を前記同定部による前記パラメータの同定に用いるかを判定する入力条件判定部を備えることを特徴とする請求項1に記載の数値制御装置。
【請求項3】
前記駆動条件は前記モータの駆動時間及び駆動角度を含み、
前記駆動角度を時間で二階微分して駆動加速度を算出し、前記駆動加速度に基づき、前記同定部により前記パラメータを同定するか否かを判定する同定判定部を備えることを特徴とする請求項2に記載の数値制御装置。
【請求項4】
前記入力条件判定部が判定する前の前記入力条件に含まれるノイズを除去するフィルタを備えることを特徴とする請求項3に記載の数値制御装置。
【請求項5】
前記同定部により同定した前記パラメータに基づき、前記被削材の過積載であるか否かを判定する過積載判定部と、
前記過積載判定部により前記被削材の過積載であると判定された場合、前記被削材の過積載であることを通知する通知部と
を備えることを特徴とする請求項1~4の何れかに記載の数値制御装置。
【請求項6】
前記工作機械は、前記被削材を固定する台を回転し、
前記同定部は、前記パラメータとして、前記台に付加する積載物の前記偏荷重の係数である偏荷重係数を同定し、
前記基準角度と、前記モータのねじり剛性係数と、前記同定部が同定した前記偏荷重係数と、プログラムが指令する、前記台を回転する指令角度とに基づき、前記台に前記被削材を固定したことに因る角度誤差分、前記指令角度を補正する補正部と、
前記補正部が補正した前記指令角度に対応する量だけ前記モータを駆動する駆動制御部と
を備えることを特徴とする請求項1に記載の数値制御装置。
【請求項7】
前記基準角度と、前記ねじり剛性係数と、前記偏荷重係数と、前記指令角度とに基づき、前記角度誤差を算出する算出部を備え、
前記補正部、前記指令角度を前記算出部が算出した前記角度誤差で補正すること
を特徴とする請求項6に記載の数値制御装置。
【請求項8】
前記算出部は、
前記台に前記積載物を付加しない時の前記偏荷重を、前記台に前記積載物を付加しない時の前記偏荷重係数及び前記基準角度に基づき算出し、
前記台に前記積載物を付加した時の前記偏荷重を、前記台に前記積載物を付加した時の前記偏荷重係数及び前記基準角度に基づき算出し、
前記台に前記積載物を付加しない時の前記偏荷重と、前記台に前記積載物を付加した時の前記偏荷重との変化量に基づき、前記角度誤差を算出すること
を特徴とする請求項7に記載の数値制御装置。
【請求項9】
前記同定部は、
前記台に前記積載物を付加しない時の前記偏荷重係数及び前記基準角度を、前記台に前記積載物を付加しない時に前記台を所定角度回動した時の前記出力結果と前記導出結果とに基づいて同定し、
前記台に前記積載物を付加した時の前記偏荷重係数及び前記基準角度を、前記台に前記積載物を付加した時に前記台を前記所定角度回動した時の前記出力結果と前記導出結果とに基づいて同定すること
を特徴とする請求項8に記載の数値制御装置。
【請求項10】
被削材を加工する工具と前記被削材とを相対的に移動及び回転させる為のモータを備えた工作機械における、前記モータの駆動条件を示す指令を決定するためのパラメータを同定する同定方法であって、
所定の前記駆動条件である入力条件を取得する取得工程と、
前記取得工程により取得した前記入力条件に応じて前記モータに出力した出力結果と、前記工作機械の伝達モデルを前記入力条件に適用して導出した導出結果とに基づいて、前記伝達モデルの前記パラメータを同定する同定工程とを備え、
前記伝達モデルは、偏荷重が零になる基準角度から回転した角度に基づく前記偏荷重を含み、
前記パラメータは、前記基準角度を含むことを特徴とする同定方法。
【請求項11】
被削材を加工する工具と前記被削材とを相対的に移動及び回転させる為のモータを備えた工作機械における、前記モータの駆動条件を示す指令を決定するためのパラメータを同定する同定プログラムであって、
所定の前記駆動条件である入力条件を取得する取得処理と、
前記取得処理により取得した前記入力条件に応じて前記モータに出力した出力結果と、前記工作機械の伝達モデルを前記入力条件に適用して導出した導出結果とに基づいて、前記伝達モデルの前記パラメータを同定する同定処理とを備え、
前記伝達モデルは、偏荷重が零になる基準角度から回転した角度に基づく前記偏荷重を含み、
前記パラメータは、前記基準角度を含むことを特徴とする同定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、数値制御装置、同定方法、及び同定プログラムに関する。
【背景技術】
【0002】
工作機械を制御するための制御条件を適切に決定する為に、工作機械の伝達特性を示す物理パラメータ(イナーシャ等)を高精度に設定する必要がある。特許文献1は、制御誤差の推定技術を開示する。該推定技術は、制御出力の観測値にプラントの逆モデルを適用して制御入力を演算する。そして、演算した制御入力と、制御入力の観測値との比較により、制御誤差を推定する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記技術を適用して工作機械の物理パラメータを設定した時、工作機械の駆動時に受ける偏荷重の影響が考慮されず、物理パラメータの精度が低下する。故に、工作機械を適切に制御できる制御条件を決定できない時があるという問題点がある。
【0005】
本発明の目的は、工作機械の伝達特性のパラメータを精度良く同定して工作機械を適切に制御できる数値制御装置、同定方法、及び同定プログラムを提供することである。
【課題を解決するための手段】
【0006】
請求項1の数値制御装置は、被削材を加工する工具と前記被削材とを相対的に移動及び回転させる為のモータを備えた工作機械に対し、前記モータの駆動条件を示す指令を出力する数値制御装置であって、所定の前記駆動条件である入力条件を取得する取得部と、前記取得部により取得した前記入力条件に応じて前記モータに出力した出力結果と、前記工作機械の伝達モデルを前記入力条件に適用して導出した導出結果とに基づいて、前記伝達モデルのパラメータを同定する同定部とを備え、前記伝達モデルは、偏荷重が零になる基準角度から回転した角度に基づく前記偏荷重を含み、前記パラメータは、前記基準角度を含むことを特徴とする。
【0007】
数値制御装置において、基準角度に基づく偏荷重を用いた伝達モデルにより、基準角度を含むパラメータを同定する。これにより、数値制御装置は被削材の条件によって基準角度が0でない場合、又は基準角度が未知である場合においても、パラメータを精度良く同定する。故に数値制御装置は工作機械を適切に制御できる。
【0008】
請求項2の数値制御装置は、前記取得部が取得した前記入力条件を前記同定部による前記パラメータの同定に用いるかを判定する入力条件判定部を備えてもよい。数値制御装置は、パラメータの同定に用いる入力条件を判定する。これにより、数値制御装置は、パラメータの同定精度が悪化する入力条件を除去するので、パラメータを精度良く同定できる。
【0009】
請求項3の数値制御装置において、前記駆動条件は前記モータの駆動時間及び駆動角度を含み、前記駆動角度を時間で二階微分して駆動加速度を算出し、前記駆動加速度に基づき、前記同定部により前記パラメータを同定するか否かを判定する同定判定部を備えてもよい。数値制御装置は、モータの駆動時において、算出した駆動加速度が所定値よりも小さく、偏荷重が小さい場合に同定部がパラメータを同定しない。故に数値制御装置は、処理を簡略化できる。
【0010】
請求項4の数値制御装置は、前記入力条件判定部が判定する前の前記入力条件に含まれるノイズを除去するフィルタを備えてもよい。入力条件判定部が判定した後の入力条件は、入力条件判定部の判定により不連続となる。このような不連続な入力条件をフィルタでノイズを除去してパラメータを同定した場合、同定の精度が悪化する可能性がある。数値制御装置は、入力条件判定部が判定する前の入力条件に含まれるノイズをフィルタにより除去する。これにより、数値制御装置は、パラメータを精度良く同定できる。
【0011】
請求項5の数値制御装置は、前記同定部により同定した前記パラメータに基づき、前記被削材の過積載であるか否かを判定する過積載判定部と、前記過積載判定部により前記被削材の過積載であると判定された場合、前記被削材の過積載であることを通知する通知部とを備えてもよい。数値制御装置は、被削材の過積載であるか否かを判定する。被削材の過積載であると判定された場合、通知部の通知により、作業者は被削材の過積載を把握できる。
【0012】
請求項6の数値制御装置において、前記工作機械は、前記被削材を固定する台を回転し、前記同定部は、前記パラメータとして、前記台に付加する積載物の前記偏荷重の係数である偏荷重係数を同定し、前記基準角度と、前記モータのねじり剛性係数と、前記同定部が同定した前記偏荷重係数と、プログラムが指令する、前記台を回転する指令角度とに基づき、前記台に前記被削材を固定したことに因る角度誤差分、前記指令角度を補正する補正部と、前記補正部が補正した前記指令角度に対応する量だけ前記モータを駆動する駆動制御部とを備えてもよい。数値制御装置は積載物の条件によって基準角度が0でない場合、又は基準角度が未知である場合においても、角度誤差分、指令角度を補正する。故に数値制御装置は工作機械を適切に制御できる。
【0013】
請求項7の数値制御装置は、前記基準角度と、前記ねじり剛性係数と、前記偏荷重係数と、前記指令角度とに基づき、前記角度誤差を算出する算出部を備え、前記補正部、前記指令角度を前記算出部が算出した前記角度誤差で補正してもよい。数値制御装置は角度誤差を算出せずに指令角度を角度誤差分補正する装置よりも、指令角度を角度誤差分補正する処理を簡単にできる。
【0014】
請求項8の数値制御装置において、前記算出部は、前記台に前記積載物を付加しない時の前記偏荷重を、前記台に前記積載物を付加しない時の前記偏荷重係数及び前記基準角度に基づき算出し、前記台に前記積載物を付加した時の前記偏荷重を、前記台に前記積載物を付加した時の前記偏荷重係数及び前記基準角度に基づき算出し、前記台に前記積載物を付加しない時の前記偏荷重と、前記台に前記積載物を付加した時の前記偏荷重との変化量に基づき、前記角度誤差を算出してもよい。数値制御装置は偏荷重の変化量を勘案せず角度誤差分補正する装置よりも、指令角度を精度よく補正できる。
【0015】
請求項9の数値制御装置において、前記同定部は、前記台に前記積載物を付加しない時の前記偏荷重係数及び前記基準角度を、前記台に前記積載物を付加しない時に前記台を所定角度回動した時の前記出力結果と前記導出結果とに基づいて同定し、前記台に前記積載物を付加した時の前記偏荷重係数及び前記基準角度を、前記台に前記積載物を付加した時に前記台を前記所定角度回動した時の前記出力結果と前記導出結果とに基づいて同定してもよい。数値制御装置は台に積載物を付加しない時の偏荷重係数及び基準角度、及び台に積載物を付加した時の偏荷重係数及び基準角度を夫々同定できる。
【0016】
請求項10の同定方法は、被削材を加工する工具と前記被削材とを相対的に移動及び回転させる為のモータを備えた工作機械における、前記モータの駆動条件を示す指令を決定するためのパラメータを同定する同定方法であって、所定の前記駆動条件である入力条件を取得する取得工程と、前記取得工程により取得した前記入力条件に応じて前記モータに出力した出力結果と、前記工作機械の伝達モデルを前記入力条件に適用して導出した導出結果とに基づいて、前記伝達モデルの前記パラメータを同定する同定工程とを備え、前記伝達モデルは、偏荷重が零になる基準角度から回転した角度に基づく前記偏荷重を含み、前記パラメータは、前記基準角度を含むことを特徴とする。同定方法は、請求項1の数値制御装置と同様の効果を奏する。
【0017】
請求項11の同定プログラムは、被削材を加工する工具と前記被削材とを相対的に移動及び回転させる為のモータを備えた工作機械における、前記モータの駆動条件を示す指令を決定するためのパラメータを同定する同定プログラムであって、所定の前記駆動条件である入力条件を取得する取得処理と、前記取得処理により取得した前記入力条件に応じて前記モータに出力した出力結果と、前記工作機械の伝達モデルを前記入力条件に適用して導出した導出結果とに基づいて、前記伝達モデルの前記パラメータを同定する同定処理とを備え、前記伝達モデルは、偏荷重が零になる基準角度から回転した角度に基づく前記偏荷重を含み、前記パラメータは、前記基準角度を含むことを特徴とする。同定プログラムは、請求項1の数値制御装置と同様の効果を奏する。
【図面の簡単な説明】
【0018】
【
図3】角度θが90deg時の支持装置8の背面図。
【
図4】被削材WがC軸に対し偏った位置で治具201に固定された時を説明する図。
【
図5】被削材WがC軸に対し偏っていない位置で治具201に固定された時を説明する図。
【
図6】数値制御装置40と工作機械1の電気的構成を示すブロック図。
【
図8】数値制御装置40の機能を示す機能ブロック図。
【
図9】二段の移動平均フィルタFIR1、FIR2を適用した時の角速度曲線と角加速度曲線の図。
【発明を実施するための形態】
【0019】
本発明の実施形態を、図面を参照し説明する。以下説明は、図中に矢印で示す左右、前後、上下を使用する。工作機械1の左右方向、前後方向、上下方向は夫々、工作機械1のX軸方向、Y軸方向、Z軸方向である。右方向、前方向、上方向は夫々、正方向であり、左方向、後方向、下方向は夫々、負方向である。
図1に示す工作機械1は、工具により被削材W(
図2参照)の切削加工と旋削加工ができる複合機である。
【0020】
図1、
図2を参照し、工作機械1の構造を説明する。工作機械1は基台2、Y軸移動機構(図示略)、X軸移動機構(図示略)、Z軸移動機構(図示略)、移動体15、立柱5、主軸ヘッド6、主軸(図示略)、支持装置8、工具交換装置9、制御箱(図示略)、数値制御装置40(
図6参照)等を備える。基台2は架台11、主軸基台12、右側基台13、左側基台14等を備える。架台11は前後方向に長い略直方体状の構造体である。主軸基台12は前後方向に長い略直方体状に形成し、架台11上面後方に設ける。右側基台13は架台11上面右前方に設ける。左側基台14は架台11上面左前方に設ける。右側基台13と左側基台14は夫々、上面に支持装置8を支持する。
【0021】
Y軸移動機構は主軸基台12上面に設け、Y軸モータ62(
図6参照)等を備える。Y軸移動機構はY軸モータ62の駆動により、略平板状の移動体15をY軸方向に移動する。X軸移動機構は移動体15上面に設け、X軸モータ61(
図6参照)等を備える。X軸移動機構はX軸モータ61の駆動により、立柱5をX軸方向に移動する。立柱5は、Y軸移動機構、移動体15、X軸移動機構により、基台2上をX軸方向とY軸方向に移動する。Z軸移動機構は立柱5前面に設け、Z軸モータ63(
図6参照)等を備える。Z軸移動機構はZ軸モータ63の駆動により、主軸ヘッド6をZ軸方向に移動する。主軸(図示略)は主軸ヘッド6内部に設け、主軸下部に工具装着穴(図示略)を備える。工具装着穴は工具を装着する。故に、X軸移動機構、Y軸移動機構、Z軸移動機構は夫々、主軸に装着した工具に対して被削材Wを相対的に、X軸方向、Y軸方向、Z軸方向に移動する。主軸は主軸ヘッド6上部に設けた主軸モータ66(
図3参照)で回転する。該時、主軸に設けた工具は、被削材Wに対して回転する。
【0022】
工具交換装置9は立柱5と主軸ヘッド6周囲を取り巻く略円環状である。工具交換装置9はZ軸移動機構が主軸ヘッド6を昇降する間に、主軸に現在装着する工具を交換する。制御箱は工作機械1を覆うカバー(図示略)の外壁に取り付ける。数値制御装置40は制御箱の内側に格納する。数値制御装置40はNCプログラムに基づき工作機械1の動作を制御する。工作機械1を覆うカバーは外壁面に操作盤10(
図6参照)を備える。操作盤10は操作部18と表示部19を備える。操作部18は数値制御装置40の各種設定を行う。表示部19は各種画面、メッセージ、警報等を表示する。
【0023】
支持装置8は右側基台13と左側基台14の上面に固定する。
図2、
図3の如く、支持装置8はA軸台20、左側支持台27、駆動部28、回転台29、C軸駆動部30等を備える。A軸台20は積載物200、300を取り外し可能に付加できる。積載物200はA軸台20に対しA軸側(台側)に付加する。積載物200の詳細の説明は後述する。積載物300はA軸台20に対しA軸側とは反対側(尾側)に付加する回転シリンダ、ロータリージョイントを含む。ロータリージョイントは切削液、冷却液等の液体を供給する。回転シリンダは被削材Wを保持するチャック等の治具の可動部を直線方向に駆動する。
【0024】
A軸台20は台部21、連結部22、23を備える。台部21は、基準面R(
図4参照)に対するA軸台20の角度θが0degの時、上面が基準面Rと平行となる平面視略長方形状の板状部である。基準面Rは水平面と平行な仮想面である。角度θは右側面視において時計回りにA軸台20が回転する時に大きくなる。角度θは右側面視において反時計回りにA軸台20が回転する時に小さくなる。
【0025】
連結部22は台部21の右端部から右斜め上方に延び且つ駆動部28と回動可能に連結する。連結部22はその右端面から右方に突出する略円柱状の支軸32を有する。連結部23は台部21の左端部から左斜め上方に延び且つ後述する左側支持台27と回動可能に連結する。連結部23はその左端面から左方に突出する略円柱状の支軸31を有する。左側支持台27はA軸台20右側に位置する。左側支持台27は支軸31を回転可能に支持する。左側支持台27の底部は、左側基台14(
図1参照)の上面に固定する。
【0026】
駆動部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と一体に回動する(
図3、
図4参照)。A軸はX軸方向と平行であり、側面視で支軸31、32の中心を通る。駆動部28は工具に対して被削材Wを、A軸を中心として回転する。A軸台20はA軸回りに任意角度で傾くことで、主軸に装着する工具に対して被削材WをA軸回りの任意方向に傾ける。
【0027】
回転台29は台部21のA軸側面の略中央に回転可能に設ける。回転台29は円盤状に形成し、A軸台20のA軸側面の略中央に設ける。C軸駆動部30は台部21のA軸側面に設け、且つ台部21の略中央に設けた穴(図示略)を介して回転台29と連結する。
【0028】
C軸駆動部30は内部に回転軸(図示略)、減速機(図示略)、C軸モータ64(
図4参照)等を備える。回転軸は回転台29に対して直交する方向に延びる。回転軸は回転台29に固定する。C軸モータ64のローターは減速機を介して回転軸に接続する。故に、C軸モータ64が回転軸を回転すると、回転台29はC軸を中心に回転する。回転台29上面は積載物200を固定する。
【0029】
図2~
図4を参照し、本実施形態の積載物200について説明する。
図2、
図3の如く、積載物200は治具201、被削材Wを含む。治具201は円盤状に形成し、被削材Wを回転台29に固定する。治具201の直径は回転台29の直径よりも大きい。治具201の回転軸は回転台29の回転軸と同軸である。
【0030】
被削材Wは仮想軸CWの方向に延びる円柱状である。仮想軸CWはC軸と平行に延びる。被削材Wは治具201に対しA軸側に固定する(
図4(A)参照)。被削材WはA軸台20の角度θが0degの時、治具201の後端部に位置する。即ち、仮想軸CWはC軸に対し偏心している。C軸駆動部30は工具に対して被削材Wを、C軸を中心として回転する。
【0031】
工作機械1において、A軸モータ65には積載物200による偏荷重(回転モーメント)が作用する。A軸モータ65に対しての偏荷重はA軸モータ65を特定の方向に回転させようとする力又はトルクである。A軸モータ65に対しての偏荷重の大きさは支持装置8のA軸台20の角度θに基づき変動する。
図4(A)の如く、A軸台20の角度θが0degの時、A軸台20、C軸駆動部30及び積載物300の全体の重心GAは、A軸に対し下方に位置する。以下、A軸台20、C軸駆動部30及び積載物300の全体を保持体25と称する。積載物200の重心GWは、A軸に対し後方に位置する。A軸モータ65が回転する時、A軸モータ65に対し鉛直下向き方向に偏荷重による力が作用する。
【0032】
例えば、
図5の如く、被削材Wの仮想軸CWがC軸と同軸であり、治具201の中心で固定される時、保持体25の重心GAと積載物200の重心GWとがA軸を支点として釣り合うのは、A軸台20の角度θが0degの時である。重心GAと重心GWがA軸を支点として釣り合うとは、重力に起因するA軸回りのモーメントが零になる場合である。具体的には、保持体25と積載物200を合わせた総重心が、A軸回転中心の真下に来る時にA軸回りのモーメントが零になる。該時、積載物200によるA軸モータ65に対しての偏荷重の大きさは零となる。
【0033】
一方、
図4(B)の如く、被削材Wが固定される位置がC軸に対して偏った位置にある時、保持体25の重心GAと積載物200の重心GWとがA軸を支点として釣り合うのは、A軸台20の角度θが0の時ではない。本実施形態において、保持体25の重心GAと積載物200の重心GWとがA軸を支点として釣り合うのは、A軸台20の角度θが10degの時である。このように、被削材Wが固定される位置がC軸に対して偏った位置にある時、A軸モータ65に対する偏荷重の大きさが零となる角度が、A軸台20が水平となる角度(θ=0deg)から変動する。
【0034】
A軸モータ65に対する偏荷重の大きさが零となる角度は、被削材Wが固定される位置、被削材Wの重量に依存して変動する。故にA軸モータ65に対する偏荷重の大きさが零となる角度が不明である時、数値制御装置40はA軸モータ65の駆動を精度よく制御できない可能性がある。以下、偏荷重の大きさが零になる角度(本実施形態では、θ=10deg)を基準角度θaという。
【0035】
図6を参照し、数値制御装置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と総称する。
【0036】
CPU41は工作機械1の動作を制御する。ROM42は後述する主処理(
図10参照)を実行する為の制御プログラム等を記憶する。RAM43は各種処理実行中に発生する各種データを記憶する。記憶部44はNCプログラム等を記憶する。入出力部45は駆動回路50、エンコーダ70、操作部18、表示部19と電気的に接続し、駆動回路50、エンコーダ70、操作部18、表示部19との間で各種信号の入出力を行う。
【0037】
駆動回路50は、CPU41が出力する指令に基づき、モータ60にパルス信号を出力する。エンコーダ70は、対応するモータ60の出力軸の回転角度を検出し、該検出信号を駆動回路50及び入出力部45に出力する。モータ60は何れもサーボモータである。エンコーダ70は一般的な絶対値エンコーダである。
【0038】
図7を参照し駆動回路55の制御系を説明する。数値制御装置40のCPU41はNCプログラムのA軸送り指令に基づき所定周期毎の目標角度の時系列データ(後述)を生成し、各データに応じた角度指令を、駆動回路55に出力する。角度指令はデータが示す目標角度にA軸台20を回動する時のA軸モータ65の出力軸の回転角を示す。エンコーダ75はA軸モータ65の出力軸の現在の回転角情報を戻り値として駆動回路55に出力する。駆動回路55は該戻り値と該角度指令に基づき、A軸モータ65に出力する駆動電流を制御する。具体的に駆動回路55は加算器55Aで戻り値と角度指令との角度偏差を算出し、該角度偏差に角度比例ゲインを乗じて角速度指令を算出する。駆動回路55は加算器55Bで算出した角速度指令と角速度戻り値との角速度偏差を算出する。角速度戻り値は実際の角速度であり、戻り値を微分器55Cで微分した値である。駆動回路55は加算器55Dで算出した角速度偏差に角速度比例ゲインを乗じた電流指令と、角速度偏差を積分器55Eで積分してその積分結果に角速度積分ゲインを乗じた電流指令を加算し、トルク指令を生成する。駆動回路55はトルク指令を示すパルス信号により、A軸モータ65を駆動する。
【0039】
被削材Wに対して工具をA軸早送り指令に基づくA軸早送りを説明する。
図8の如く、数値制御装置40のCPU41は、はじめにNCプログラムを読み込み、NCプログラムから送り軸指令を取得する(P1)。CPU41は、被削材Wを送り軸指令により指定した角度まで移動する為、目標角度の時系列データを決定する(P2)。CPU41は、所定周期で目標角度のデータを駆動回路55に出力する。該データは、目標角度まで被削材Wを移動する為のA軸モータ65の駆動条件を示す。
【0040】
駆動回路55は、CPU41が出力した目標角度のデータに基づき、A軸モータ65を駆動する。A軸モータ65は、A軸台20を目標角度までA軸まわりに回転する。CPU41が駆動回路51に目標角度のデータを入力する都度、駆動回路55はA軸モータ65を駆動する。これにより、A軸台20は、送り軸指令により指定した回転角度(以下、「指令角度」と称す。)に最終的に到達する。送り軸指令に基づきCPU41が実行する上記の制御を、「送り軸制御」と称す。
【0041】
図9を参照し、CPU41による目標角度の時系列データの決定方法について説明する。
図9(A)(B)に示すように、はじめにCPU41は、送り軸指令の指令角度までA軸台20が移動する時の速度が一定に推移する(
図9(B))ように、各目標角度を決定する(
図9(A))。次にCPU41は、
図9(B)に示す角速度の時系列変化を示す波形(以下、「角速度波形」と称す。)に移動平均フィルタ(以下、「FIRフィルタ」と称す)を少なくとも二回適用し、角速度変化を滑らかにする(
図9(C)(D))。一回目に適用するFIRフィルタを「第一FIRフィルタ」と称し、
図9において「FIR1」と表す。第一FIRフィルタを適用した時の角速度の時定数を、「T1」と称す。二回目に適用するFIRフィルタを「第二FIRフィルタ」と称し、
図9において「FIR2」と表す。第二FIRフィルタを適用した時の角速度の時定数を、「T2」と称す。
【0042】
図9(B)に示す角速度波形に第一FIRフィルタを適用した時、
図9(C)に示すように、角速度波形のうち角速度が0からVmaxまで変化する部分(立ち上がり部分)、及び、角速度がVmaxから0まで変化する部分(立ち下がり部分)の傾き(角加速度)は一定となる。速度波形の立ち上がり部分及び立ち下がり部分の時間(以下、夫々を「立ち上がり時間」「立ち下がり時間」と称す。)は、何れもt1となる。t1は、角速度波形に第一FIRフィルタを適用した時の時定数T1に対応する。
【0043】
第一FIRフィルタを適用した角速度波形(
図9(C)参照)に第二FIRフィルタを適用した時、
図9(D)に示すように、角速度波形の立ち上がり部分及び立下り部分の傾き(角加速度)が一定となる部分の開始部分及び終了部分で、角速度は緩やかに変化する。該時、加速度の時系列変化を示す波形(以下、「角加速度波形」と称す。)において、角速度が緩やかに変化する部分に対応する傾きは一定となる。
【0044】
角速度波形の立ち上がり時間及び立ち下がり時間は、夫々t2ずつ増加し、「t1+t2」となる。t2は、角速度波形に第二FIRフィルタを適用した時の時定数T2に対応する。以上のように、CPU41は、角速度に複数のFIRフィルタを適用することで、送り軸制御時における支持装置8の移動速度の変化を緩和する。第一FIRフィルタの時定数T1及び第二FIRフィルタの時定数T2は、制御対象となるA軸モータ65の加減速時における加減速時定数に対応する。
【0045】
CPU41は、P1の工程(
図8参照)によりNCプログラムから取得した送り軸指令に基づいて、所定周期毎に工具の角速度(
図9(B)参照)を算出する。CPU41は、時定数T1、T2の夫々の第一FIRフィルタ及び第二FIRフィルタを、算出した角速度に適用することで、角速度波形の形状に対応する加減速特性を調整する(
図9(C)(D))。CPU41は、第一FIRフィルタ及び第二FIRフィルタを適用して算出した角加速度波形(
図9(D)参照)に基づき、所定周期毎の目標角度を決定する。CPU41は、決定した目標角度のデータを所定周期で駆動回路51に出力する。尚、CPU41は、後述のP7(
図8参照)の工程で、第一FIRフィルタ及び第二FIRフィルタの時定数T1、T2を最適化して調整する。CPU41は、調整した時定数T1、T2の第一FIRフィルタ及び第二FIRフィルタを用いる。
【0046】
駆動回路51は、CPU41が所定周期で出力する目標角度のデータに基づき、A軸モータ65を駆動する。A軸モータ65は、A軸台20を目標角度までA軸まわりに回転する。A軸台20は所定周期毎に目標角度まで回転する動作を繰り返す。これにより、A軸台20は、送り軸指令により指定した指令角度に最終的に到達する。
【0047】
偏荷重及び基準角度θaの同定について説明する。本実施形態において、駆動回路55がA軸モータ65に対して出力するトルクuraw(N・m)、及びエンコーダ75からの戻り値xrawを制御対象となるモデルに用いて、偏荷重及び基準角度θaを同定する。
【0048】
CPU41は偏荷重及び基準角度θaの同定を実行する前に、今回の制御において同定を実行するか否かを判定する(P3)。CPU41は三つの条件に基づき、今回の制御において同定を実行するか否かを判定する。
【0049】
第一の条件は、算出した角加速度波形(
図9(D)参照)に基づき、角加速度の最大値A
MAXが第一所定値以上であることである。第二の条件は、今回の制御における目標角度(目標値θ)の範囲が所内範囲を含むことである。第三の条件は、A軸台20のA軸まわりの回転動作と同時に負荷軸を動作しないことである。負荷軸は其の動作時において、A軸モータ65が出力するトルクu
rawに影響を与える軸である。負荷軸の動作は、支持装置8をA軸と交差する方向に並進移動、又は支持装置8においてA軸と交差する方向に回転移動である。本実施形態において、負荷軸はY軸及びC軸である。
【0050】
三つの条件の何れも満たす時、CPU41はA軸モータ65が出力するトルクurawの大きさが十分に大きく、偏荷重及び基準角度θaを精度よく同定できる。CPU41は三つの条件の何れも満たす時、今回の制御において同定を実行すると判定する。
【0051】
CPU41は偏荷重及び基準角度θaの同定を実行する前、ローパスフィルタによりトルクuraw及び戻り値xrawから微分ノイズを除去する(P4、P5)。ローパスフィルタが適用された後のトルクuは式(1)で表される。ローパスフィルタが適用された後の戻り値xは式(2)で表される。式(1)、(2)において、GLPFは微分ノイズを除去する為のローパスフィルタである。
u=GLPFuraw ・・・式(1)
x=GLPFxraw ・・・式(2)
【0052】
CPU41はトルクu及び戻り値xを偏荷重及び基準角度θaの同定に使用するか判定する(P6)。具体例に、CPU41は微分器55Cから角速度戻り値(角速度(rad/s))を取得する。CPU41は取得した角速度戻り値が第二所定値以上である場合、トルクu及び戻り値xを偏荷重及び基準角度θaの同定に使用すると判定する。
【0053】
CPU41はモデルを用いて偏荷重及び基準角度θ
aを同定する。本実施形態において制御対象となるモデルは複数の変数を用い適宜設定すればよく、例えば、式(3)で表す。角度θにおける偏荷重はF
θsin(θ-θ
a)で表される。偏荷重係数F
θ(N・m)は偏荷重を算出するためのパラメータである。尚、以下において、「θ(上付き一つドット)」は、角度θの一回時間微分(角速度(rad/s))を示す。「θ(上付き二つドット)」は、角度の二回時間微分(角加速度(rad/s
2))を示す。J(kg・m
2)は支持装置8に関する慣性モーメントである。
【数3】
【0054】
式(3)において、fは式(4)の関係を満たす。ここで、F
C(N・m)は支持装置8に関するクーロン摩擦である。sign関数は実数に対しその符号に応じて1、-1、0の何れかを返す符号関数である。D(N・m/(rad/s))は支持装置8に関する粘性摩擦係数である。
【数4】
【0055】
駆動回路55が出力するトルクuは式(3)、(4)、及び加法定理により式(5)で表される。式(5)は、工作機械1の伝達モデルを示す。
【数5】
式(5)において、F
aは式(6)で定義される係数である。F
bは式(7)で定義される係数である。
F
a=F
θcos(θ
a) ・・・式(6)
F
b=F
θsin(θ
a) ・・・式(7)
【0056】
トルクuは式(5)のモデルによって推定可能である。推定誤差e(ρ)は式(8)により算出可能である。但し、ρは特定するパラメータである。上付きのTは転置行列であることを示す。例えば、ρ
Tはρの転置行列を示す。
e(ρ)=u-ρ
Tx ・・・式(8)
式(8)において、ρ及びxは、夫々式(9)、(10)の関係を満たす。
【数9】
【数10】
【0057】
CPU41は評価関数|e(ρ)|
2が最小になるρを逐次最小二乗法により算出する(P7)。具体的に、逐次最小二乗法とは、ステップkにおける特定中のパラメータをサーカムフレックス付きのρ(以下、ρ^と表記する)(k)、ステップkにおける推定誤差e(ρ)をε(k)、ステップkにおける共分散行列をP(k)と置いた時、ρ^(k)、ε(k)、P(k)は以下の式(11)、(12)、(13)により算出される。
【数11】
【数12】
【数13】
【0058】
ρ^(k)、ε(k)、P(k)は、何れも上記式(11)、(12)、(13)よりステップ(k-1)における該ρ^(k-1)、ε(k-1)、P(k-1)及びステップkにおけるトルクu(k)、戻り値x(k)用いて逐次的に算出可能である。故に上記式(11)、(12)、(13)を毎ステップ計算することで、最終的に評価関数|e(ρ)|2が最小になるρを逐次的に算出できる。
【0059】
上記逐次最小二乗法により、CPU41は偏荷重Fθsin(θ-θa)を考慮したモデルにおいて、評価関数|e(ρ)|2が最小になるρを算出する。即ち、CPU41は推定誤差eを最小にする変数(慣性モーメントJ、粘性摩擦係数D、クーロン摩擦FC、係数Fa、Fb)を同定する(P7)。
【0060】
CPU41は更に、式(6)、(7)から導出される式(14)、(15)により、偏荷重係数F
θ、基準角度θ
aを算出する。これにより、CPU41は角度θにおける偏荷重はF
θsin(θ-θ
a)を同定する。以下、上記評価関数を用いて同定された慣性モーメントJ、粘性摩擦係数D、クーロン摩擦F
C、偏荷重係数F
θ、基準角度θ
aを「パラメータ」と総称する。
【数14】
【数15】
【0061】
CPU41は同定したパラメータを記憶部44に記憶し、パラメータを更新する(P8)。又、CPU41は被削材Wの過積載であるか否かを判定する(P9)。CPU41はP9の工程において、偏荷重が最大となる角度θにおける偏荷重Fθsin(θ-θa)が第三所定値以下であるか否かを判定する。偏荷重が最大となる時、sin(θ-θa)=1であるので、CPU41は偏荷重係数Fθが第三所定値以下であるか否かを判定する。CPU41はP9の工程において、更に同定した慣性モーメントJが第四所定値以下であるか否かを判定する。CPU41は偏荷重Fθsin(θ-θa)が第三所定値以下である時、又は慣性モーメントJが第四所定値以下である時の何れかの時に、被削材Wの過積載であると判定する。該時、CPU41は表示部19を介して被削材Wの過積載を通知し、工作機械1の動作を停止する。
【0062】
図10を参照し、数値制御装置40のCPU41が実行する主処理を説明する。主処理は数値制御装置40の電源がONである時、記憶部44に記憶した制御プログラムをCPU41が読出し実行することにより開始する。
【0063】
CPU41は記憶部44に記憶したNCプログラムを読み出す(S1)。CPU41は、読み出したNCプログラムの指令が早送り条件を満たすか否かを判定する(S2)。早送り条件とは、工作機械1において設定可能な最大速度でモータ60が回転する動作条件を示す。CPU41は早送り条件を満たす命令でないと判定した時(S2:NO)、処理をS1に戻す。CPU41は早送り条件を満たす命令であると判定した時(S2:YES)、処理をS3に進める。該処理は
図8のP1の工程に対応する。
【0064】
CPU41は、取得した早送り条件に応じて駆動回路50に出力する目標角度の時系列データ(目標値θ)を生成する(S3)。該処理は
図8のP2の工程に対応する。
【0065】
CPU41は生成した目標角度の時系列データに基づき、角加速度の最大値A
MAXが第一所定値以上か否か判定する(S4)。CPU41は角加速度の最大値A
MAXが第一所定値未満であると判定した時(S4:NO)、処理をS1に戻す。CPU41は角加速度の最大値A
MAXが第一所定値以上であると判定した時(S4:YES)、目標角度の時系列データが所定範囲を含む否かを判定する(S5)。CPU41は目標角度の時系列データが所定範囲を含まないと判定した時(S5:NO)、処理をS1に戻す。CPU41は目標角度の時系列データが所定範囲を含むと判定した時(S5:YES)、今回の制御においてA軸と負荷軸(Y軸、C軸)とを同時に動作しないか否かを判定する(S6)。CPU41はA軸と負荷軸とを同時に動作すると判定した時(S6:NO)、処理をS1に戻す。CPU41はA軸と負荷軸とを同時に動作しないと判定した時(S6:YES)、処理をS7に進める。該処理は
図8のP3の工程に対応する。
【0066】
CPU41は決定した目標角度の時系列データを駆動回路50に出力する(S7)。該時、駆動回路50はA軸モータ65等の対応するモータ60を駆動する。工作機械1は工具により被削材Wを加工する。CPU41は同定処理を実行する(S8)。
【0067】
図11を参照し同定処理について説明する。CPU41はパラメータ(慣性モーメントJ、粘性摩擦係数D、クーロン摩擦F
C、偏荷重係数F
θ、基準角度θ
a)を初期値にする(S11)。
【0068】
CPU41は、駆動回路55がA軸モータ65に対して出力するトルクu
raw、及びエンコーダ75からの戻り値x
rawを取得する(S12)。CPU41は取得したトルクu
raw及び戻り値x
rawの夫々にローパスフィルタを適用し、トルクu
raw及び戻り値x
rawからノイズを除去する(S13)。該処理は
図8のP4、P5の工程に対応する。
【0069】
CPU41は微分器55Cから角速度戻り値(角速度(rad/s))を取得し、取得した角速度戻り値が第二所定値以上であるか否かを判定する(S14)。CPU41は角速度戻り値が第二所定値未満であると判定した時(S14:NO)、処理をS12に戻す。CPU41は角速度戻り値が第二所定値以上であると判定した時(S14:YES)、処理をS15に進める。該処理は
図8のP6の工程に対応する。
【0070】
CPU41は駆動回路55が出力したトルクu及び戻り値xを適用した評価関数|e(ρ)|
2(式(8)参照)に基づき、角度θにおける、推定誤差eが最小になる時のパラメータを同定する(S15)。該処理は、
図8のP7の工程に対応する。
【0071】
CPU41は同定したパラメータを記憶部44に記憶し、パラメータを更新する(S17)。該処理は、
図8のP8の工程に対応する。CPU41は処理を主処理に戻す。
【0072】
図10の如く、CPU41は同定処理(S8)が完了した後、同定した偏荷重係数F
θが第三所定値以下であるか否かを判定する(S21)。CPU41は偏荷重係数F
θが第三所定値より大きいと判定した時(S21:NO)、処理をS23に進める。CPU41は偏荷重係数F
θが第三所定値以下であると判定した時(S21:YES)、同定した慣性モーメントJが第四所定値以下であるか否かを判定する(S22)。CPU41は慣性モーメントJが第四所定値より大きいと判定した時(S22:NO)、被削材Wの過積載であるとして通知処理を実行する(S23)。CPU41はS23において、表示部19を介して偏荷重係数F
θ又は慣性モーメントJが大きく、被削材Wの過積載であることを通知する。CPU41はモータ60の駆動を停止し(S24)、主処理を終了する。CPU41は慣性モーメントJが第四所定値以下であると判定した時(S22:YES)、処理をS25に進める。該処理は、
図8のP9の工程に対応する。
【0073】
CPU41は全ての目標角度の時系列データ(目標値θ)においてパラメータの同定が完了したか否かを判定する(S25)。CPU41は全ての目標角度の時系列データにおいてパラメータの同定が完了していないと判定した時(S25:NO)、処理をS8に戻す。CPU41は全ての目標角度の時系列データにおいてパラメータの同定が完了したと判定した時(S25:YES)、主処理を終了する。
【0074】
図12の如く、被削材Wの仮想軸CWがC軸に対し偏心し、偏った位置で固定されている時(
図3参照)でも、A軸モータ65の出力に減速比をかけた支軸32の出力トルクの同定結果は、出力トルクの測定結果に非常に近似した。故に、本実施形態の方法により、パラメータを精度良く導出できることが分かった。
【0075】
以上の如く、工作機械1において、高速且つ高精度な制御を行う為の制御パラメータの決定には、工作機械1に関連する慣性モーメント等の物理パラメータが必要である。被削材WがC軸に対して偏った位置で固定されている時、被削材Wが固定された位置により基準角度θaの大きさが変動する。積載物200の偏荷重は基準角度θaの大きさに依存する。故に、積載物200の偏荷重の影響により物理パラメータを同定することが困難であった。
【0076】
これに対し、数値制御装置40のCPU41は基準角度θaに基づく偏荷重Fθsin(θ-θa)を用いたモデルにより、パラメータを同定する。これにより、CPU41は被削材Wが固定される位置によって基準角度θaが0degでない時、又は基準角度θaが未知である時でも、パラメータを精度良く同定できる。故に数値制御装置40は工作機械1を適切に制御できる。
【0077】
CPU41は微分器55Cから角速度戻り値(角速度(rad/s))を取得し、取得した角速度戻り値が第二所定値以上であるか否かを判定する(S14、P6)。CPU41は角速度戻り値が第二所定値以上であると判定した時、トルクu及び戻り値xを使用して、パラメータの同定を行う。これにより、数値制御装置40はパラメータの同定精度が悪化するトルクu及び戻り値xを除去するので、パラメータを精度良く同定できる。
【0078】
CPU41はパラメータを同定する前に、算出した角加速度波形(
図8(D)参照)に基づき、角加速度の最大値A
MAXが第一所定値以上であるか否かを判定する(S4、P3)。数値制御装置40は角加速度の最大値A
MAXが第一所定値よりも小さく、偏荷重F
θsin(θ-θ
a)が小さい場合にパラメータを同定しない。故に数値制御装置40は、処理を簡略化できる。
【0079】
CPU41は、駆動回路55がA軸モータ65に対して出力するトルクuraw、及びエンコーダ75からの戻り値xrawにローパスフィルタを適用し、トルクuraw及び戻り値xrawから微分ノイズを除去する(S13、P4、P5)。数値制御装置40において、S14の処理により、トルクu及び戻り値xは角度θに対して不連続となる。このような、不連続なトルクu及び戻り値xからノイズを除去し、パラメータを同定した場合、パラメータの同定精度が悪化する可能性がある。数値制御装置40はS14の処理の前にローパスフィルタを適用し、微分ノイズを除去するので、パラメータを精度良く同定できる。
【0080】
CPU41は同定した偏荷重Fθsin(θ-θa)が第三所定値以下であるか否か(S21)、及び同定したクーロン摩擦FCが第四所定値以下であるか否かを判定する(S22)。CPU41は、偏荷重Fθsin(θ-θa)が第三所定値より大きい、又はクーロン摩擦FCが第四所定値より大きいと判定した時、被削材Wの過積載であるとして通知処理を実行する(S23)。CPU41はS23において、表示部19を介して被削材Wの過積載であることを通知する。数値制御装置40は被削材Wの過積載であると判定した場合、表示部19を介して通知する。作業者は表示部19での通知により被削材Wの過積載を把握できる。
【0081】
上記実施形態において、S1の処理を行うCPU41は本発明の取得部の一例である。S15の処理を行うCPU41は本発明の同定部の一例である。S14の処理を行うCPU41は本発明の入力条件判断部の一例である。角加速度が本発明の駆動加速度の一例である。S4の処理を行うCPU41は本発明の同定判定部の一例である。S21、S22の処理を行うCPU41は本発明の過積載判定部の一例である。S23の処理を行うCPU41は本発明の通知部の一例である。式(5)は、本発明の伝達モデルの一例である。
【0082】
本発明は上記実施形態から種々変更できる。以下説明する各種変形例は、矛盾が生じない限り夫々組合わせ可能である。例えば、数値制御装置40は工作機械1に設ける場合に限らず、工作機械1とは別体に設けてもよい。例えば数値制御装置40は、工作機械1に接続した装置(PC、専用機等)でもよい。
【0083】
上記実施例はA軸モータ65に関するパラメータの特定について示したが、偏荷重の影響を受ける他の軸についても実施可能である。例えば工作機械1のC軸モータ64について実施する場合、C軸上の偏荷重はA軸の影響も受けるため、偏荷重の算出式はFθsin(θA)sin(θC-θC0)である。θAはA軸の角度、θCはC軸の角度、θC0はC軸の偏荷重が最小になる基準角度を表す。工作機械1とは異なる機械構成を持つ機械に対しても、偏荷重を受ける軸については当然実施可能である。
【0084】
CPU41は、特定したパラメータに基づき、被削材Wの過積載の判定以外の処理を実行してもよい。例えば数値制御装置40はエンコーダ70が出力したフィードバック信号に基づくフィードバック制御だけでなく、フィードフォワード制御を実行してもよい。該時、CPU41はフィードフォワード制御のパラメータを、決定したパラメータにより最適化してもよい。又、フィードバック制御の位置比例ゲイン、速度比例ゲイン、速度積分ゲイン等の制御パラメータを最適化してもよい。該時、数値制御装置40は工作機械1を高速且つ高精度に制御できる。
【0085】
数値制御装置40が同定するパラメータは基準角度θaを含んでいればよく、数値制御装置40は適宜他のパラメータを同定してもよい。
【0086】
上記実施例で、数値制御装置40は逐次最小二乗法によりパラメータを同定したが、他の方法でパラメータを同定してもよい。例えば、数値制御装置40は線形最小二乗法によりパラメータを同定してもよい。線形最小二乗法によりパラメータを同定する方法を以下で説明する。
【0087】
線形最小二乗法のモデルにおいて推定誤差jは式(16)で表される。
【数16】
式(16)においてΦは式(17)で表される。CPU41は推定誤差jを最小にするパラメータを同定する。
【数17】
【0088】
式(16)の正規方程式は式(18)で表される。
【数18】
CPU41は式(18)を解くことによりパラメータを同定できる。
【0089】
CPU41はNCプログラムの指令が早送り条件を満たさない時にパラメータを同定してもよい。この場合、CPU41は主処理において、S2の処理を省略してもよい。CPU41は指令が他の条件を満たす時にパラメータを同定してもよい。例えば、CPU41は指令が切削送り指令の時にパラメータを同定してもよい。又、例えばCPU41は、指令に基づく工作機械1の動作が複数の静止状態である時に、パラメータを同定してもよい。
【0090】
上記実施例において、CPU41は角速度戻り値(角速度)の大きさに基づき、取得したトルクu及び戻り値xをパラメータの同定に用いるか否かを判定した。これに対し、CPU41は取得した全てのトルクu及び戻り値xをパラメータの同定に用いてもよい。又、CPU41は他の条件に基づき、取得したトルクu及び戻り値xをパラメータの同定に用いるか否かを判定してもよい。例えば、CPU41は角加速度の大きさに基づき、取得したトルクu及び戻り値xをパラメータの同定に用いるか否かを判定してもよい。
【0091】
上記実施例において、CPU41は3つの条件(S4、S5、S6)の全ての条件を満たした時にパラメータの同定を実行した。これに対し、CPU41は3つの条件の少なくとも一つを満たした時にパラメータの同定を実行してもよい。CPU41はパラメータの同定の実行を上記の3つの条件以外の条件に基づき判定してもよい。CPU41は無条件でパラメータの同定を実行してもよい。この場合、CPU41は主処理において、S4、S5、S6の処理を省略してもよい。
【0092】
CPU41は取得したトルクuraw、及び戻り値xrawをパラメータの同定に用いるか否かを判定した後、微分ノイズを除去してもよい。この場合、CPU41は主処理において、S14の処理を実行した後、S13の処理を実行する。
【0093】
CPU41は取得したトルクuraw、及び戻り値xrawの微分ノイズを除去する際、ローパスフィルタ以外を適用してもよい。例えば、CPU41はハイパスフィルタを適用することで微分ノイズを除去してもよい。CPU41は取得したトルクuraw、及び戻り値xrawのうちいずれか一方の微分ノイズを除去してもよい。CPU41は取得したトルクuraw、及び戻り値xrawの微分ノイズを除去しなくてもよい。この場合、CPU41は主処理において、S13の処理を省略してもよい。
【0094】
CPU41は同定した偏荷重係数Fθ、及び慣性モーメントJの何れか一方の大きさに基づき、被削材Wの過積載であるか否かを判定してもよい。CPU41は、偏荷重係数Fθ、及び慣性モーメントJ以外の同定したパラメータに基づき、被削材Wの過積載であるか否かを判定してもよい。上記実施例において、CPU41は通知処理にて表示部19を介して被削材Wの過積載であることを通知した。これに対し、CPU41はスピーカ、ランプ等を介して通知してもよい。CPU41は被削材Wの過積載であるか否かを判定しなくてもよい。この場合、CPU41は主処理において、S21、S22、S23の処理を省略してもよい。
【0095】
CPU41は同定したパラメータに基づき、回転台29に積載物200を付加した場合における指令角度θを補正してもよい。回転台29に積載物200を付加した影響に因り、慣性モーメントJ等のパラメータが変化する。数値制御装置40は回転台29に積載物200を付加した影響を考慮して駆動部28を制御する。数値制御装置40による該制御を以下で説明する。
【0096】
数値制御装置40のCPU41は指令角度θ(rad)に応じた角度誤差ΔQ(θ)(rad)を算出し、指令角度θを角度誤差ΔQ(θ)分補正する。角度誤差ΔQ(θ)はA軸送り指令で指示する指令角度θに対応する量だけ駆動部28を駆動した時の、回転台29に積載物200を付加したことに因る角度の誤差である。
【0097】
CPU41は式(19)を用い角度誤差ΔQ(θ)を算出する。式(19)において、E(rad/N・m)は駆動部28のねじり剛性係数であり、駆動部28に固有な値である。Fθb(N・m)は回転台29に積載物200を付加していない時の偏荷重係数である。θabは回転台29に積載物200を付加していない時の基準角度である。ねじり剛性係数Eは予め記憶部44が記憶する。角度誤差ΔQ(θ)はねじり剛性係数Eに、回転台29に積載物200を付加した時と回転台29に積載物200を付加していない時との偏荷重の変化量を乗算することで算出される。
ΔQ(θ)=E(Fθsin(θ-θa)-Fθbsin(θ-θab))・・・式(19)
【0098】
図13を参照し、数値制御装置40のCPU41が実行する補正処理を説明する。CPU41は補正処理を実行することで、指令角度θを補正する。補正処理は数値制御装置40の電源がONである時、記憶部44に記憶した制御プログラムをCPU41が読出し実行することにより開始する。補正処理の開始前、回転台29に積載物200を付加していない時の偏荷重係数F
θb及び基準角度θ
abは、予め記憶部44が記憶する。
【0099】
CPU41は記憶部44に記憶したNCプログラムを一行読み出す(S31)。CPU41はS31で読み出したプログラムがA軸送り指令である時、A軸送り指令が指示する指令角度θに応じた角度誤差ΔQ(θ)を式(19)に基づき算出する(S32)。偏荷重係数Fθ及び基準角度θaは回転台29に積載物200を付加した状態で実行される前回のS36の処理により、CPU41が同定し、記憶部44に記憶する。CPU41がS36の処理を実行していない時、記憶部44は偏荷重係数Fθ及び基準角度θaの初期値を記憶する。
【0100】
CPU41は算出した角度誤差ΔQ(θ)を用いて。指令角度θを補正する(S33)。CPU41は例えば、指令角度θから角度誤差ΔQ(θ)を差し引いて、指令角度θを補正する。CPU41はS1で読み出したプログラムがA軸送り指令でない時、S32、S33を省略してもよい。
【0101】
CPU41はS1で読み出したプログラムがA軸早送り指令であるか否かを判定する(S34)。CPU41はS1で読み出したプログラムがA軸早送り指令であると判定した時(S34:YES)、S3で補正した指令角度θに関するA軸早送りを実行する(S35)。CPU41は同定処理(S36)を実行する。S36の同定処理は
図11の同定処理と同様の処理である。CPU41はS36において、偏荷重係数F
θ及び基準角度θ
aを含むパラメータを同定し、記憶部44に記憶する。CPU41は処理をS1に戻す。尚、CPU41はS36において、回転台29に積載物200を付加していない時の偏荷重係数F
θb及び基準角度θ
abの同定、及び記憶部44への記憶を実行しない。
【0102】
CPU41はS1で読み出したプログラムがA軸早送り指令でないと判定した時(S34:NO)、読み出したプログラムが工作機械1の動作を停止する指令であるか否かを判定する(S37)。CPU41はS1で読み出したプログラムが工作機械1の動作を停止する指令でないと判定した時(S37:NO)、読み出したプログラムの指令に応じた処理を実行し(S38)、処理をS31に戻す。CPU41はS1で読み出したプログラムが工作機械1の動作を停止する指令であると判定した時(S37:YES)、補正処理を終了する。
【0103】
図14の如く、被削材Wの仮想軸CWがC軸に対し偏心し、偏った位置で固定されている時(
図3参照)でも、算出された角度誤差ΔQ(θ)は指令角度θの誤差の測定結果に非常に近似した。故に、本実施形態の方法により、指令角度θを補正することで工作機械1を適切に制御できることが分かった。
【0104】
CPU41は補正処理と別途行う係数同定処理にて、積載物200を回転台29に付加していない時の偏荷重係数Fθb、基準角度θab及び積載物200を回転台29に付加した時の偏荷重係数Fθ、基準角度θaを夫々同定してもよい。
【0105】
図15を参照し、数値制御装置40のCPU41が実行する係数同定処理を説明する。係数同定処理は数値制御装置40の電源がONである時、記憶部44に記憶した制御プログラムをCPU41が読出し実行することにより開始する。
【0106】
CPU41は回転台29に積載物200を付加していないか否かを判定する(S51)。作業者は操作部18を操作して積載物200の重量をCPU41に入力する。CPU41は入力された積載物200の重量が0でない時、回転台29に積載物200を付加しているとして(S51:NO)、処理をS51に戻す。
【0107】
CPU41は入力された積載物200の重量が0である時、回転台29に積載物200を付加していないとして(S51:YES)、第一送り処理を実行する(S52)。CPU41はS52において、A軸モータ65を駆動し、例えば基準面Rに対するA軸台20の角度θが0(deg)から90(deg)、90(deg)から0(deg)に回動する。第一送り処理におけるA軸台20が回転する角度は適宜変更してもよい。
【0108】
CPU41は無積載時同定処理を実行する(S53)。S53の無積載時同定処理は
図11の同定処理と同様の処理である。CPU41はS53において、回転台29に積載物200を付加していない時の偏荷重係数F
θb及び基準角度θ
abを同定し、記憶部44に記憶する。
【0109】
CPU41は回転台29に積載物200を付加しているか否かを判定する(S54)。作業者は回転台29に積載物200を付加し、操作部18を操作して積載物200の重量をCPU41に入力する。CPU41は入力された積載物200の重量が0である時、回転台29に積載物200を付加していないとして(S54:NO)、処理をS54に戻す。
【0110】
CPU41は入力された積載物200の重量が0よりも大きい時、回転台29に積載物200を付加しているとして(S54:YES)、第二送り処理を実行する(S55)。CPU41はS55において、第一送り処理(S52)と同様にA軸モータ65を駆動し、例えば基準面Rに対するA軸台20の角度θが0(deg)から90(deg)、90(deg)から0(deg)に回動する。第二送り処理におけるA軸台20が回転する角度は適宜変更してもよい。第一送り処理と第二送り処理とで、A軸台20が回転する角度は同じでもよいし、異なっていてもよい。
【0111】
CPU41は積載時同定処理を実行する(S56)。S56の積載時同定処理は
図11の同定処理と同様の処理である。CPU41はS56において、回転台29に積載物200を付加した時の偏荷重係数F
θ、及び基準角度θ
aを同定し、記憶部44に記憶する。CPU41は係数同定処理を終了する。図示しないが、CPU41が係数同定処理において同定した偏荷重係数F
θ、F
θb、及び基準角度θ
a、θ
abを用いて角度誤差ΔQ(θ)を算出することで、
図14の評価結果と同様の評価結果を示す。
【0112】
上記変形例において、S33の処理を行うCPU41は本発明の補正部の一例である。S35の処理を行うCPU41は本発明の駆動制御部の一例である。S32の処理を行うCPU41は本発明の算出部の一例である。
【符号の説明】
【0113】
1 工作機械
20 A軸台
40 数値制御装置
41 CPU
200 積載物
W 被削材