(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022131354
(43)【公開日】2022-09-07
(54)【発明の名称】振動抑制方法、振動抑制装置、及び工作機械
(51)【国際特許分類】
G05B 19/19 20060101AFI20220831BHJP
G05B 19/416 20060101ALI20220831BHJP
G05D 3/12 20060101ALI20220831BHJP
【FI】
G05B19/19 P
G05B19/416 K
G05D3/12 S
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021030256
(22)【出願日】2021-02-26
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(71)【出願人】
【識別番号】504150450
【氏名又は名称】国立大学法人神戸大学
(74)【代理人】
【識別番号】100104178
【弁理士】
【氏名又は名称】山本 尚
(72)【発明者】
【氏名】寺田 弦
(72)【発明者】
【氏名】佐藤 隆太
(72)【発明者】
【氏名】近藤 大智
【テーマコード(参考)】
3C269
5H303
【Fターム(参考)】
3C269AB01
3C269BB03
3C269BB05
3C269BB12
3C269CC02
3C269EF02
3C269GG01
3C269MN27
5H303AA01
5H303BB03
5H303BB08
5H303BB12
5H303CC01
5H303DD01
5H303EE03
5H303FF03
5H303KK14
5H303KK25
(57)【要約】
【課題】機械装置が送り軸指令に応じて駆動する時に発生する振動を適切に抑制できる振動抑制方法、振動抑制装置、及び工作機械を提供する。
【解決手段】数値制御装置のCPUは、加速度指令に基づき工作機械を駆動する場合に発生する振動を抑制する。CPUは、関係式から、固有振動の振幅を最小化するよう第一時間T
1及び加減速時間Tsumを最適化する(S123)。CPUは、最適化した第一時間T
1及び加減速時間Tsumに基づき加速度指令を決定する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
移動距離によりモータの回転位置を制御する位置指令、前記モータの速度を制御する速度指令及び前記モータの加速度を制御する加速度指令に基づき機械装置を駆動する場合に発生する振動を抑制する振動抑制方法であって、
前記加速度指令は、
連続する第一期間、第二期間、第三期間、第四期間に亘り前記モータの加速度を制御し、
前記第一期間では、前記モータの加速度が零から第一加速度迄増加し、
前記第二期間では、前記モータの加速度が前記第一加速度から零迄減少し、
前記第三期間では、前記モータの加速度が零から第二加速度迄減少し、
前記第四期間では、前記モータの加速度が前記第二加速度から零迄増加し、
前記第一期間の長さである第一時間、前記第二期間の長さである第二時間、前記第三期間の長さである第三時間、前記第四期間の長さである第四時間の内、前記第一時間と前記第四時間とが同一であり、且つ、前記第二時間と前記第三時間とが同一であり、
前記第一時間、前記第二時間、前記第三時間、前記第四時間の合計の時間を規定した駆動時間をTsumとし、前記機械装置の固有振動数をωn/2πとし、前記第一時間をT1とし、前記移動距離をLとした時、Tsum、ωn、T1、Lを含み、固有振動の振幅を示す関係式から、固有振動の振幅を最小化するよう前記第一時間及び前記駆動時間を最適化する最適化工程と、
前記最適化工程に依り最適化した前記第一時間及び前記駆動時間に基づき前記加速度指令を決定する決定工程と
を備えたことを特徴とする振動抑制方法。
【請求項2】
前記最適化工程は、
0<T1<Tsum/2の条件を満たすように前記駆動時間及び前記第一時間を変数として可変した場合、前記第一時間と前記駆動時間の組毎に前記関係式に基づき前記振幅を算出する第一算出工程と、
前記第一算出工程により算出した算出結果毎に、前記振幅が零となる前記組があるか否か判断する第一判断工程と、
前記第一判断工程により前記振幅が零となる前記組があると判断した場合、前記振幅が零となる前記組の前記第一時間と前記駆動時間を前記第一時間と前記駆動時間に決定する第一最適化工程と
を備え、
前記決定工程は、前記第一最適化工程により最適化した前記第一時間及び前記駆動時間に基づき、前記加速度指令を決定し、
前記第一判断工程により前記振幅が零となる前記組がないと判断した場合、前記第一算出工程により算出した前記振幅のうち最も小さい振幅に対応する前記第一時間と前記駆動時間との組を検索する検索工程と、
前記検索工程により検索した前記組の前記第一時間と前記駆動時間を前記第一時間と前記駆動時間に決定する第二最適化工程と
を備え、
前記決定工程は、前記第二最適化工程により最適化した前記第一時間及び前記駆動時間に基づき、前記加速度指令を決定する
ことを特徴とする請求項1に記載の振動抑制方法。
【請求項3】
前記第一判断工程により判断した前記振幅が零となる前記組に対応する前記振幅又は前記検索工程により検索した前記組に対応する前記振幅の算出結果が所定の閾値以下か否か判断する第二判断工程と
を備え、
前記決定工程は、前記第二判断工程により前記算出結果が所定の閾値以下であると判断した前記振幅に対応する前記第一時間と前記駆動時間に最適化する
ことを特徴とする請求項2に記載の振動抑制方法。
【請求項4】
移動距離によりモータの回転位置を制御する位置指令、前記モータの速度を制御する速度指令、前記モータの加速度を制御する加速度指令に基づき機械装置を駆動する場合に発生する振動を抑制する振動抑制方法であって、
前記加速度指令は、
連続する第一期間、第二期間、第三期間、第四期間に亘り前記モータの加速度を制御し、
前記第一期間では、前記モータの加速度が零から第一加速度迄増加し、
前記第二期間では、前記モータの加速度が前記第一加速度から零迄減少し、
前記第三期間では、前記モータの加速度が零から第二加速度迄減少し、
前記第四期間では、前記モータの加速度が前記第二加速度から零迄増加し、
前記第一期間の長さである第一時間、前記第二期間の長さである第二時間、前記第三期間の長さである第三時間、前記第四期間の長さである第四時間の内、前記第一時間と前記第四時間とが同一であり、且つ、前記第二時間と前記第三時間とが同一であり、
前記移動距離に対応する時間であり、前記第一時間、前記第二時間、前記第三時間、前記第四時間の合計の時間を規定した駆動時間を取得する取得工程と、
前記取得工程により取得した前記駆動時間Tsumとし、前記機械装置の固有振動数をωn/2πとし、前記第一時間をT1とし、前記移動距離をLとした時、Tsum、ωn、T1、Lを含み、固有振動の振幅を示す関係式から、固有振動の振幅を最小化するよう前記第一時間の解を算出する第一算出工程と、
0<T1<Tsum/2の条件において、前記第一算出工程により算出した前記解がある場合、前記解を前記第一時間に最適化する第一最適化工程と、
0<T1<Tsum/2の条件において、前記第一算出工程により算出した前記解がない場合、前記第一時間を変数として可変し、複数の前記第一時間毎に前記関係式に基づき前記振幅を算出する第二算出工程と、
前記第二算出工程により算出した前記振幅のうち、最も小さい前記振幅に対応する前記第一時間に最適化する第二最適化工程と、
前記第一最適化工程により最適化した前記第一時間又は前記第二最適化工程により最適化した前記第一時間、及び前記駆動時間に基づき、前記加速度指令を決定する決定工程と
を備えたことを特徴とする振動抑制方法。
【請求項5】
前記第二最適化工程は、前記機械装置を駆動する為に実現可能な最小の前記第一時間に最適化し、
前記決定工程は、前記第二最適化工程により最適化した実現可能な最小の前記第一時間、及び前記駆動時間に基づき、前記加速度指令を決定する
ことを特徴とする請求項4に記載の振動抑制方法。
【請求項6】
請求項1から5の何れかに記載の前記振動抑制方法により決定した前記加速度指令で前記機械装置の前記モータを制御する制御部を備えたことを特徴とする振動抑制装置。
【請求項7】
移動距離によりモータの回転位置を制御する位置指令、前記モータの速度を制御する速度指令及び前記モータの加速度を制御する加速度指令に基づき前記モータを駆動する工作機械であって、
前記加速度指令は、
連続する第一期間、第二期間、第三期間、第四期間に亘り前記モータの加速度を制御し、
前記第一期間では、前記モータの加速度が零から第一加速度迄増加し、
前記第二期間では、前記モータの加速度が前記第一加速度から零迄減少し、
前記第三期間では、前記モータの加速度が零から第二加速度迄減少し、
前記第四期間では、前記モータの加速度が前記第二加速度から零迄増加し、
前記第一期間の長さである第一時間、前記第二期間の長さである第二時間、前記第三期間の長さである第三時間、前記第四期間の長さである第四時間の内、前記第一時間と前記第四時間とが同一であり、且つ、前記第二時間と前記第三時間とが同一であり、
前記第一時間、前記第二時間、前記第三時間、前記第四時間の合計の時間を規定した駆動時間をTsumとし、前記機械装置の固有振動数をωn/2πとし、前記第一時間をT1とし、前記移動距離をLとした時、Tsum、ωn、T1、Lを含み、固有振動の振幅を示す関係式から、固有振動の振幅を最小化するよう前記第一時間及び前記駆動時間を最適化する最適化手段と、
前記最適化手段に依り最適化した前記第一時間及び前記駆動時間に基づき前記加速度指令を決定する決定手段と
を備えたことを特徴とする工作機械。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、振動抑制方法、振動抑制装置、及び工作機械に関する。
【背景技術】
【0002】
特許文献1は振動抑制装置を開示する。振動抑制装置は、工作機械が送り軸指令に応じて駆動した時に発生する振動を抑制する為、送り軸指令に補償トルク指令を付加する。補償トルク指令は、振動の位相に対して逆位相となる波形を有する。該時、振動の振幅は補償トルク指令により減少するので、工作機械は振動を抑制できる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
工作機械が送り軸指令に応じて駆動時に生じる振動の周波数が、送り軸指令の条件に応じて変化する時がある。該時、特許文献1の如く補償トルク指令を用いる方法では駆動時に生じる振動を抑制できない時がある。
【0005】
本発明の目的は、機械装置が送り軸指令に応じて駆動する時に発生する振動を適切に抑制できる振動抑制方法、振動抑制装置、及び工作機械を提供することである。
【課題を解決するための手段】
【0006】
本発明の第一態様に係る振動抑制方法は、移動距離によりモータの回転位置を制御する位置指令、前記モータの速度を制御する速度指令及び前記モータの加速度を制御する加速度指令に基づき機械装置を駆動する場合に発生する振動を抑制する振動抑制方法であって、前記加速度指令は、連続する第一期間、第二期間、第三期間、第四期間に亘り前記モータの加速度を制御し、前記第一期間では、前記モータの加速度が零から第一加速度迄増加し、前記第二期間では、前記モータの加速度が前記第一加速度から零迄減少し、前記第三期間では、前記モータの加速度が零から第二加速度迄減少し、前記第四期間では、前記モータの加速度が前記第二加速度から零迄増加し、前記第一期間の長さである第一時間、前記第二期間の長さである第二時間、前記第三期間の長さである第三時間、前記第四期間の長さである第四時間の内、前記第一時間と前記第四時間とが同一であり、且つ、前記第二時間と前記第三時間とが同一であり、前記第一時間、前記第二時間、前記第三時間、前記第四時間の合計の時間を規定した駆動時間をTsumとし、前記機械装置の固有振動数をωn/2πとし、前記第一時間をT1とし、前記移動距離をLとした時、Tsum、ωn、T1、Lを含み、固有振動の振幅を示す関係式から、固有振動の振幅を最小化するよう前記第一時間及び前記駆動時間を最適化する最適化工程と、前記最適化工程に依り最適化した前記第一時間及び前記駆動時間に基づき前記加速度指令を決定する決定工程とを備えたことを特徴とする。振動抑制方法により決定した加速度指令で機械装置のモータを駆動することにより、モータの駆動時に発生する機械装置の振動を抑制できる。
【0007】
第一態様によれば、前記最適化工程は、0<T1<Tsum/2の条件を満たすように前記駆動時間及び前記第一時間を変数として可変した場合、前記第一時間と前記駆動時間の組毎に前記関係式に基づき前記振幅を算出する第一算出工程と、前記第一算出工程により算出した算出結果毎に、前記振幅が零となる前記組があるか否か判断する第一判断工程と、前記第一判断工程により前記振幅が零となる前記組があると判断した場合、前記振幅が零となる前記組の前記第一時間と前記駆動時間を前記第一時間と前記駆動時間に決定する第一最適化工程とを備え、前記決定工程は、前記第一最適化工程により最適化した前記第一時間及び前記駆動時間に基づき、前記加速度指令を決定し、前記第一判断工程により前記振幅が零となる前記組がないと判断した場合、前記第一算出工程により算出した前記振幅のうち最も小さい振幅に対応する前記第一時間と前記駆動時間との組を検索する検索工程と、前記検索工程により検索した前記組の前記第一時間と前記駆動時間を前記第一時間と前記駆動時間に決定する第二最適化工程とを備え、前記決定工程は、前記第二最適化工程により最適化した前記第一時間及び前記駆動時間に基づき、前記加速度指令を決定してもよい。該方法では、振幅が零となる組がある場合には、該組の第一時間及び駆動時間に最適化することで、機械装置の振動を抑制できる。また、振幅が零となる組が無い場合でも、振幅が最も小さい第一時間と駆動時間に最適化することで、機械装置の振動を抑制できる。
【0008】
第一態様によれば、前記第一判断工程により判断した前記振幅が零となる前記組に対応する前記振幅又は前記検索工程により検索した前記組に対応する前記振幅の算出結果が所定の閾値以下か否か判断する第二判断工程とを備え、前記決定工程は、前記第二判断工程により前記算出結果が所定の閾値以下であると判断した前記振幅に対応する前記第一時間と前記駆動時間に最適化してもよい。該方法では、振幅を所定の閾値以下に抑制できる。
【0009】
本発明の第二態様に係る振動抑制方法は、移動距離によりモータの回転位置を制御する位置指令、前記モータの速度を制御する速度指令、前記モータの加速度を制御する加速度指令に基づき機械装置を駆動する場合に発生する振動を抑制する振動抑制方法であって、前記加速度指令は、連続する第一期間、第二期間、第三期間、第四期間に亘り前記モータの加速度を制御し、前記第一期間では、前記モータの加速度が零から第一加速度迄増加し、前記第二期間では、前記モータの加速度が前記第一加速度から零迄減少し、前記第三期間では、前記モータの加速度が零から第二加速度迄減少し、前記第四期間では、前記モータの加速度が前記第二加速度から零迄増加し、前記第一期間の長さである第一時間、前記第二期間の長さである第二時間、前記第三期間の長さである第三時間、前記第四期間の長さである第四時間の内、前記第一時間と前記第四時間とが同一であり、且つ、前記第二時間と前記第三時間とが同一であり、前記移動距離に対応する時間であり、前記第一時間、前記第二時間、前記第三時間、前記第四時間の合計の時間を規定した駆動時間を取得する取得工程と、前記取得工程により取得した前記駆動時間をTsumとし、前記機械装置の固有振動数をωn/2πとし、前記第一時間をT1とし、前記移動距離をLとした時、Tsum、ωn、T1、Lを含み、固有振動の振幅を示す関係式から、固有振動の振幅を最小化するよう前記第一時間の解を算出する第一算出工程と、0<T1<Tsum/2の条件において、前記第一算出工程により算出した前記解がある場合、前記解を前記第一時間に最適化する第一最適化工程と、0<T1<Tsum/2の条件において、前記第一算出工程により算出した前記解がない場合、前記第一時間を変数として可変し、複数の前記第一時間毎に前記関係式に基づき前記振幅を算出する第二算出工程と、前記第二算出工程により算出した前記振幅のうち、最も小さい前記振幅に対応する前記第一時間に最適化する第二最適化工程と、前記第一最適化工程により最適化した前記第一時間又は前記第二最適化工程により最適化した前記第一時間、及び前記駆動時間に基づき、前記加速度指令を決定する決定工程とを備えたことを特徴とする。振動抑制方法により決定した加速度指令で機械装置のモータを駆動することにより、モータの駆動時に発生する機械装置の振動を抑制できる。
【0010】
第二態様によれば、前記第二最適化工程は、前記機械装置を駆動する為に実現可能な最小の前記第一時間に最適化し、前記決定工程は、前記第二最適化工程により最適化した実現可能な最小の前記第一時間、及び前記駆動時間に基づき、前記加速度指令を決定してもよい。該方法では、機械装置を駆動する為に実現可能な最小の第一時間に最適化することで、機械装置の振動を抑制できる。
【0011】
本発明の第三態様に係る振動抑制装置は、第一態様又は第二態様の前記振動抑制方法により決定した前記加速度指令で前記機械装置の前記モータを制御する制御部を備えたことを特徴とする。第三態様によれば、第一態様又は第二態様と同様の効果を奏することができる。
【0012】
本発明の第四態様に係る工作機械は、移動距離によりモータの回転位置を制御する位置指令、前記モータの速度を制御する速度指令及び前記モータの加速度を制御する加速度指令に基づき前記モータを駆動する工作機械であって、前記加速度指令は、連続する第一期間、第二期間、第三期間、第四期間に亘り前記モータの加速度を制御し、前記第一期間では、前記モータの加速度が零から第一加速度迄増加し、前記第二期間では、前記モータの加速度が前記第一加速度から零迄減少し、前記第三期間では、前記モータの加速度が零から第二加速度迄減少し、前記第四期間では、前記モータの加速度が前記第二加速度から零迄増加し、前記第一期間の長さである第一時間、前記第二期間の長さである第二時間、前記第三期間の長さである第三時間、前記第四期間の長さである第四時間の内、前記第一時間と前記第四時間とが同一であり、且つ、前記第二時間と前記第三時間とが同一であり、前記第一時間、前記第二時間、前記第三時間、前記第四時間の合計の時間を規定した駆動時間をTsumとし、前記機械装置の固有振動数をωn/2πとし、前記第一時間をT1とし、前記移動距離をLとした時、Tsum、ωn、T1、Lを含み、固有振動の振幅を示す関係式から、固有振動の振幅を最小化するよう前記第一時間及び前記駆動時間を最適化する最適化手段と、前記最適化手段に依り最適化した前記第一時間及び前記駆動時間に基づき前記加速度指令を決定する決定手段とを備えたことを特徴とする。第四態様によれば、第一態様又は第二態様と同様の効果を奏することができる。
【図面の簡単な説明】
【0013】
【
図2】数値制御装置30と工作機械1の電気的構成を示すブロック図。
【
図3】工具4の位置、速度波形、加速度波形を示すグラフ。
【
図8】振幅Amplitudeの算出結果と、第一時間T
1との関係を示す図。
【発明を実施するための形態】
【0014】
本発明の実施形態を説明する。以下説明は、図中に矢印で示す左右、前後、上下を使用する。工作機械1の左右方向、前後方向、上下方向は夫々工作機械1のX軸方向、Y軸方向、Z軸方向である。
図1に示す工作機械1は主軸9に装着した工具4を回転し、テーブル13上面に保持した被削材3に切削加工を施す機械である。数値制御装置30(
図2参照)は工作機械1の動作を制御する。
【0015】
図1を参照し、工作機械1の構造を説明する。工作機械1は、基台2、コラム5、主軸ヘッド7、主軸9、テーブル装置10、工具交換装置20、制御箱6、操作パネル15(
図2参照)等を備える。基台2は金属製の略直方体状の土台である。コラム5は基台2上部後方に固定する。主軸ヘッド7はコラム5前面に沿ってZ軸方向に移動可能に設ける。主軸ヘッド7は内部に主軸9を回転可能に支持する。主軸9は下部に装着穴(図示略)を有する。主軸9は該装着穴に工具4を装着し、主軸モータ52(
図2参照)の駆動で回転する。主軸モータ52は主軸ヘッド7に設ける。主軸ヘッド7はコラム5前面に設けたZ軸移動機構(図示略)でZ軸方向に移動する。数値制御装置30はZ軸モータ51(
図2参照)の駆動を制御して主軸ヘッド7をZ軸方向に移動制御する。
【0016】
テーブル装置10は、Y軸移動機構(図示略)、Y軸テーブル12、X軸移動機構(図示略)、テーブル13等を備える。Y軸移動機構は基台2上面前側に設け、一対のY軸レール、Y軸ボール螺子、Y軸モータ54(
図2参照)等を備える。Y軸レールとY軸ボール螺子はY軸方向に延びる。Y軸レールは上面にY軸テーブル12をY軸方向に案内する。Y軸テーブル12は略直方体状に形成し、底部にナット(図示略)を備える。該ナットはY軸ボール螺子に螺合する。Y軸モータ54がY軸ボール螺子を回転すると、Y軸テーブル12はナットと共にY軸レールに沿って移動する。故にY軸移動機構はY軸テーブル12をY軸方向に移動可能に支持する。
【0017】
X軸移動機構はY軸テーブル12上面に設け、一対のX軸レール(図示略)、X軸ボール螺子(図示略)、X軸モータ53(
図2参照)等を備える。X軸レールとX軸ボール螺子はX軸方向に延びる。テーブル13は平面視矩形板状に形成し、Y軸テーブル12上面に設ける。テーブル13は底部にナット(図示略)を備える。該ナットはX軸ボール螺子に螺合する。X軸モータ53がX軸ボール螺子を回転すると、テーブル13はナットと共に一対のX軸レールに沿って移動する。故にX軸移動機構はテーブル13をX軸方向に移動可能に支持する。故にテーブル13は、Y軸移動機構、Y軸テーブル12、X軸移動機構により、基台2上をX軸方向とY軸方向に移動する。
【0018】
工具交換装置20は主軸ヘッド7の前側に設け、円盤型の工具マガジン21を備える。工具マガジン21は外周に複数の工具(図示略)を放射状に保持する。工具交換装置20はマガジンモータ55(
図2参照)により工具マガジン21を駆動し、工具交換指令が指示する工具を工具交換位置に位置決めする。工具交換指令はNCプログラムで指令する。工具交換位置は工具マガジン21の最下部位置である。工具交換装置20は主軸9に装着する工具4と工具マガジン21に取り付けた工具とを主軸ヘッド7の上昇、工具マガジン21の回転、主軸ヘッド7の下降の一連の動作により入れ替え交換する。
【0019】
制御箱6は数値制御装置30(
図2参照)を格納する。数値制御装置30は、工作機械1に設けたZ軸モータ51、主軸モータ52、X軸モータ53、Y軸モータ54(
図2参照)を夫々制御し、テーブル13上に保持した被削材3と主軸9に装着した工具4を相対移動して各種加工を被削材3に施す。各種加工とは、ドリル、タップ等を用いた穴空け加工、エンドミル、フライス等を用いた側面加工等である。
【0020】
操作パネル15(
図2参照)は、例えば工作機械1を覆うカバー(図示略)の外壁に設ける。操作パネル15は入力部16と表示部17(
図2参照)を備える。入力部16は各種情報、操作指示等の入力を受け付け、数値制御装置30に出力する。表示部17は数値制御装置30からの指令に基づき、各種画面を表示する。
【0021】
図2を参照し、数値制御装置30と工作機械1の電気的構成を説明する。数値制御装置30と工作機械1は、CPU31、ROM32、RAM33、記憶装置34、入出力部35、駆動回路51A~55A等を備える。CPU31は数値制御装置30を統括制御する。ROM32は、主プログラム等を記憶する。主プログラムは、主処理(
図7参照)を実行する為のプログラムである。主処理は、NCプログラムを一行ずつ読み込んで各種動作を実行する。NCプログラムは各種制御指令を含む複数行で構成し、制御指令は工作機械1の軸移動、工具交換等である。なお、軸移動は位置指令を含み、送り量LによりZ軸モータ51等の回転位置を制御する指令である。CPU31は位置指令から速度指令、加速度指令を作成する。速度指令は、Z軸モータ等の速度を制御する指令である。加速度指令は後述する。
【0022】
RAM33は各種情報を一時的に記憶する。記憶装置34は不揮発性であり、NCプログラム、各種情報を記憶する。CPU31は作業者が操作パネル15の入力部16で入力したNCプログラムに加え、外部入力で読み込んだNCプログラム等を記憶装置34に記憶できる。
【0023】
駆動回路51AはZ軸モータ51とエンコーダ51Bに接続する。駆動回路52Aは主軸モータ52とエンコーダ52Bに接続する。駆動回路53AはX軸モータ53とエンコーダ53Bに接続する。駆動回路54AはY軸モータ54とエンコーダ54Bに接続する。駆動回路55Aはマガジンモータ55とエンコーダ55Bに接続する。Z軸モータ51、主軸モータ52、X軸モータ53、Y軸モータ54、マガジンモータ55は何れもサーボモータである(以下、総称する場合は単にモータ50と称す)。駆動回路51A~55AはCPU31から指令を受け、対応する各モータ51~55に駆動電流を夫々出力する。駆動回路51A~55Aはエンコーダ51B~55Bからフィードバック信号を受け、位置と速度のフィードバック制御を行う。入出力部35は操作パネル15の入力部16と表示部17に夫々接続する。
【0024】
被削材3に対して工具4をX軸方向、Y軸方向、Z軸方向に夫々移動するNCプログラムの指令(以下、送り軸指令と称す。)に基づき、工作機械1が駆動する場合を例示する。以下、被削材3に対して工具4をZ軸方向に沿って下向きに移動する時を例示して説明する。詳細説明は省略するが、被削材3に対して工具4をX軸方向、Y軸方向に夫々移動して加工する時も同様である。
図3に示すグラフの縦軸は、Z軸方向の位置(
図3(A))、速度(
図3(B)(C))、加速度(
図3(D))を示す。以後、説明を簡単にするために
図3(A)~(D)において下向きを正、上向きを負として説明する。
図3(A)において、所定の基準位置にある工具4の位置を示すZ軸座標を零で示す。基準位置よりも下側にある工具4の位置を示すZ軸座標を正の値で示す。
図3(B)~(D)において、工具4が下向きに移動する時の速度及び加速度を正の値で示す。
【0025】
CPU31はNCプログラムの送り軸指令を読み込んだ時、主軸9を保持した主軸ヘッド7を送り軸指令により指定した位置まで移動する為、主軸ヘッド7の目標位置の時系列データを生成する。CPU31は、所定周期で目標位置のデータを駆動回路51Aに出力する。駆動回路51Aは、CPU31が出力した目標位置のデータに基づき、Z軸モータ51を駆動する。Z軸モータ51は、主軸ヘッド7を介して工具4を目標位置までZ軸方向に移動する。CPU31が駆動回路51Aに目標位置のデータを入力する都度、駆動回路51AはZ軸モータ51を駆動する。これにより、工具4は、送り軸指令により指定した位置(以下、指令位置と称す。)に最終的に到達する(
図3(A)参照)。送り軸指令に基づきCPU31が実行する上記の制御を送り軸制御と称す。
【0026】
上記において目標位置の時系列データを生成時、CPU31は、指令位置まで工具4がZ軸方向に移動する時の速度が一定に推移するように、各目標位置を決定する(
図3(B)参照)。次にCPU31は、速度の時系列変化を示す波形(以下、速度波形と称す。)の立ち上がり特性及び立ち下がり特性に対応する加減速特性を調整する(
図3(C)(D)参照)。以下、速度波形の加減速特性を調整する処理を、加減速処理と称す。加減速処理を実行した速度波形の立ち上がり及び立ち下がりの夫々の傾きは、工具4の加速度に対応する。
【0027】
CPU31は、加減速処理を実行した速度波形に基づき、所定周期毎の目標位置を決定する。CPU31は、決定した目標位置のデータを所定周期で駆動回路51Aに出力する。該時、
図3(C)に示すように、駆動回路51Aが駆動するZ軸モータ51により移動する工具4は、移動開始時に加速期間Paで加速し、移動終了時に減速期間Pdで減速する。以下、加速期間Paの長さを加速時間Taと称し、減速期間Pdの長さを減速時間Tdと称す。
【0028】
以下、CPU31がNCプログラムの送り軸指令に基づき駆動回路50Aに出力する制御指令を加速度指令と称す。加速度指令は、工具4を加速する加速指令、及び、工具4が減速する減速指令を含む概念である。
図3(D)は、加速度指令に応じて工具4が移動時の加速度の時系列変化(以下、加速度波形と称す。)を示す。加速期間Paにおいて工具4の加速度が増加する期間を第一期間P
1と称し、第一期間P
1の長さを第一時間T
1と称す。第一期間P
1では、モータ50の加速度が零から第一加速度A
1迄増加する。加速期間Paにおいて工具4の加速度が減少する期間を第二期間P
2と称し、第二期間P
2の長さを第二時間T
2と称す。第二期間P
2では、モータ50の加速度が第一加速度A
1から零迄減少する。減速期間Pdにおいて工具4の加速度が減少する期間を第三期間P
3と称し、第三期間P
3の長さを第三時間T
3と称す。第三期間P
3では、モータ50の加速度が零から第二加速度A
2迄減少する。減速期間Pdにおいて工具4の加速度が増加する期間を第四期間P
4と称し、第四期間P
4の長さを第四時間T
4と称す。第四期間P
4では、モータ50の加速度が第二加速度A
2から零迄増加する。
【0029】
加速度指令は、連続する第一期間P
1~第四期間P
4に亘りモータ50の加速度を制御する。第一期間P
1の開始から第四期間P
4の終了迄の長さを加減速時間Tsumと称す。第一時間T
1~第四時間T
4を加減速時定数Tαと総称する。なお、加速度指令は、T
1=T
4、T
2=T
3を満たし(
図5参照)、第一時間T
1と加減速時間Tsumは、0<T1<Tsum/2を満たすことを前提とする。
【0030】
なお、加速度指令に応じた加速度波形は、
図3(D)に示す場合に限らず、例えば、第二期間P
2と第三期間P
3との間に加速度0で推移する期間を含む時もある。以下では、説明を容易化する為、
図3(D)に示すように加速度0で推移する期間を含まない加速度波形であることを前提とする。
【0031】
加速度指令に応じて工具4が移動することで発生する工作機械1の振動を加速度指令とは別の補正トルク指令により抑制する方法がある。補正トルク指令は、工作機械1の振動と逆位相の振動を発生する為の指令である。例えば、加速度指令により工具4がZ軸方向に移動時、工作機械1の主軸ヘッド7がZ軸方向に90Hzで振動する時がある。該時、90Hzに振動のピークを有し、且つ、振動の位相と逆位相である補正トルク指令を用いて、主軸ヘッド7のZ軸方向の振動を抑制する。
【0032】
加速度指令により工具4がZ軸方向に移動時に発生する工作機械1の振動周波数の成分は、移動距離によっては主軸ヘッド7がZ軸方向に振動する時の周波数90Hzでなく、工作機械1全体が振動する時の周波数30Hzの場合もある(
図4参照)。該時、補正トルク指令により工作機械1全体の振動を抑制できない時がある。
【0033】
数値制御装置30のCPU31は、補正トルク指令により抑制できない振動を抑制する為、送り軸指令に応じて駆動回路51Aに出力する加速度指令の加速度波形を決定する。より詳細には、CPU31は、関係式(1-1)~(1-3)の方程式を用いて、振動が発生しにくい加速度波形を決定する。関係式(1-1)は、加速度指令が含む工作機械1の固有振動成分の振幅Amplitudeを示す。工作機械1に発生する固有振動の大きさは、振幅Amplitudeで決まる。ここで、ωn/2πは、工作機械1の固有振動数である。また、aは、第一時間T
1と第二時間T
2との比を示す。
【数1】
【0034】
関係式(1-3)は、関係式(1-1)に関係式(1-2)を代入することで導出する。工作機械1の振動が最小となる条件は、振幅Amplitudeが零となる条件である。ここで、ωn/2πは工作機械1に固有の固有振動数なので角速度ωnは定数である。従って、送り量Lを指定した時、関係式(1-3)に因れば、振幅Amplitudeは、第一時間T
1と加減速時間Tsumの二つの変数で表すことができる。従って、CPU31は、関係式(1-3)の方程式を満たす第一時間T
1及び加減速時間Tsumにより加速度指令を決定することで、振動の抑制が可能となる。
【数2】
【0035】
CPU31は、関係式(1-3)の方程式を満たす第一時間T1と加減速時間Tsumを算出する。算出方法の詳細は後述する。CPU31は、算出した第一時間T1、加減速時間Tsumに最適化を行う。CPU31は、最適化した第一時間T1、加減速時間Tsumを、式(1-2)に代入して第二時間T2を算出する。T1=T4且つT2=T3なので、CPU31は、第一時間T1から第四時間T4及び第二時間T2から第三時間T3を夫々算出する。CPU31は、最適化した第一時間T1及び加減速時間Tsumと、第二時間T2、第三時間T3、第四時間T4とによる加速度指令を決定する。CPU31は、生成した加速度指令で工作機械1を駆動する。
【0036】
一方、関係式(1-3)の方程式を満たす第一時間T1と加減速時間Tsumが存在しない場合、つまり振幅Amplitudeが零となる第一時間T1と加減速時間Tsumの組が存在しない場合がある。この場合、CPU31は、関係式(1-3)を用いて、第一時間T1、加減速時間Tsumを変数として、第一時間T1と加減速時間Tsumとの組毎に振幅Amplitudeを算出する。算出方法の詳細は後述する。CPU31は、各組毎に算出した振幅Amplitudeのうち、最も小さい振幅Amplitudeに対応する第一時間T1と加減速時間Tsumに最適化を行う。CPU31は、最適化した第一時間T1と加減速時間Tsumに基づき加速度指令を決定する。CPU31は、生成した加速度指令で工作機械1を駆動する。
【0037】
図6を参照し、数値制御装置30のCPU31が実行する主処理について説明する。CPU31は、記憶装置34に記憶した主プログラムを読み出して実行することにより、主処理を実行する。主処理が実行されると、CPU31は、NCプログラムを受け付けたか否か判断する(S1)。NCプログラムを受け付けていないと判断した場合(S1:NO)、CPU31は、処理を戻して待機する。NCプログラムを受け付けたと判断した場合(S1:YES)、CPU31は、NCプログラムを一行分読み込む(S3)。
【0038】
CPU31は、NCプログラムのうち読み込んだ一行分が送り軸指令か否か判断する(S5)。送り軸指令ではないと判断した場合(S5:NO)、CPU31は、送り軸指令以外の読み込んだ指令を実行する(S13)。送り軸指令でない場合は、例えば、工具交換指令等である。CPU31は、処理をS15に進める。一方、送り軸指令であると判断した場合(S5:YES)、CPU31は、最適化処理を実行する(S7)。
【0039】
最適化処理では、加減速時間Tsum、第一時間T1の最適化を実行する。最適化処理を開始すると、送り軸指令を実行するNC装置の処理周期が0.001secである時、CPU31は、加減速時間Tsumを0.004sec、第一時間T1を0.001secに設定する(S101)。なお、初期設定において、加減速時間Tsumは、第一時間T1の四倍である。CPU31は、設定した第一時間T1及び加減速時間Tsumと固有振動数より求まる角速度ωnと送り量Lとを関係式(1-3)に代入し、振幅Amplitudeを算出する(S104)。CPU31は、演算した振幅Amplitudeと、演算に使用した第一時間T1及び加減速時間Tsumの組とを対応付けて、記憶装置34に記憶する(S105)。
【0040】
次いで、CPU31は、振幅Amplitudeの算出で使用した第一時間T1に対して、0.001secを加算する(S107)。CPU31は、0.001sec加算した第一時間T1について、T1<Tsum/2の条件を満たすか否か判断する(S109)。
【0041】
T1<Tsum/2の条件を満たすと判断した場合(S109:YES)、CPU31は、0.001secを加算した第一時間T1と設定済みの加減速時間Tsumを関係式(1-3)に代入して振幅Amplitudeを演算する(S111)。CPU31は、S105の処理で記憶した振幅Amplitudeの符号と、S111の処理で演算した振幅Amplitudeの符号が反転したか否か判断する(S113)。
【0042】
以下、
図8を参照して、S113の処理を実行する理由を説明する。
図8の横軸は第一時間T
1であり、縦軸は第一時間T
1毎に算出した振幅Amplitudeの算出結果である。なお、加減速時間Tsumは任意の定数とする。振幅Amplitudeは、第一時間T1の値に応じで変化する。0からTsum/2の範囲内の位置Pにおいて、振幅Amplitudeが零となる。振幅Amplitudeが零となる第一時間T
1の前後で、振幅Amplitudeの算出結果の符号が負から正へ反転する。つまり、CPU31は、振幅Amplitudeの符号が反転したかを確認することで、振幅Amplitudeが零となるか否か判断している。
【0043】
符号が反転していないと判断した場合(S113:NO)、CPU31は、処理をS105に戻し、S105~S113の処理を実行する。このようにして、CPU31は、振幅Amplitudeの算出結果と、算出結果に対応する第一時間T1と加減速時間Tsumの組を記憶装置34に記憶していく。
【0044】
一方、符号が反転したと判断した場合(S113:YES)、CPU31は、S105の処理で算出した振幅AmplitudeとS111の処理で算出した振幅Amplitudeとのうち、絶対値が小さい方の振幅Amplitudeに対応する第一時間T1と加減速時間Tsumの組を特定する(S115)。この場合、振幅Amplitudeの算出結果は、零に近い値であると推定できる。
【0045】
S109でT1<Tsum/2の条件を満たさないと判断した場合(S109:NO)、CPU31は、記憶装置34に記憶した振幅Amplitudeのうち最も小さい振幅を検索する(S117)。CPU31は、検索した最も小さい振幅Amplitudeに対応する第一時間T1と加減速時間Tsumを特定する(S119)。
【0046】
CPU31は、S115の処理又はS119の処理で特定した第一時間T1及び加減速時間Tsumに対応する振幅Amplitudeが所定の閾値Th以下であるか判断する(S121)。ここで、所定の閾値Thとは、許容可能な振動の最大の大きさであり、予め記憶装置34に記憶してある。振幅Amplitudeが所定の閾値Thよりも大きいと判断した場合(S121:NO)、CPU31は、加減速時間Tsumに0.001secを加算し、第一時間T1を0.001secに初期化し(S125)、S104に処理を戻す。CPU31はS125の処理で新たに設定した加減速時間Tsumに基づき、第一時間T1を変数としてS105~S121の処理を実行する。このようにして、CPU31は、第一時間T1と加減速時間Tsumを可変させ、振幅Amplitudeの算出を繰り返す。
【0047】
S121で振幅Amplitudeが所定の閾値Th以下であると判断した場合(S121:YES)、CPU31は、S115の処理又はS119の処理で特定した第一時間T1及び加減速時間Tsumが最適な値であると決定する。この処理を最適化と称する(S123)。CPU31は、処理を主処理に戻す。
【0048】
CPU31は、最適化した第一時間T1と加減速時間Tsumに基づき、加速度指令を作成する(S9)。CPU31は、作成した加速度指令に基づき、送り軸指令を実行する(S11)。CPU31は、NCプログラムが最終行であるか否か判断する(S15)。NCプログラムが最終行でないと判断した場合(S15:NO)CPU31は、処理をS3に戻す。NCプログラムが最終行であると判断した場合(S15:YES)、CPU31は、処理を終了する。
【0049】
以上、説明したように、数値制御装置30のCPU31は、関係式(1-3)から、固有振動の振幅Amplitudeを最小化するよう第一時間T1及び加減速時間Tsumを最適化する。CPU31は、最適化した第一時間T1及び加減速時間Tsumに基づき加速度指令を決定する。
【0050】
数値制御装置30は、決定した加速度指令で工作機械1のモータ50を駆動することにより、モータ50の駆動時に発生する工作機械1の振動を抑制できる。故に、数値制御装置30は、より短時間で第一時間T1と加減速時間Tsumを最適化できる。
【0051】
CPU31は、0<T1<Tsum/2の条件のうち加減速時間Tsumと共に第一時間T1を変数として可変した場合、第一時間T1と加減速時間Tsumの組毎に関係式(1-3)に基づき振幅Amplitudeを算出する。CPU31は、算出した算出結果毎に、振幅Amplitudeが零となる組があるか否か判断する。CPU31は、振幅Amplitudeが零となる組があると判断した場合、振幅Amplitudeが零となる組の第一時間T1と加減速時間Tsumに最適化する。CPU31は、最適化した第一時間T1及び加減速時間Tsumに基づき、加速度指令を決定する。数値制御装置30は、振幅Amplitudeが零となる組がある場合には、該組の第一時間T1及び加減速時間Tsumに最適化することで、工作機械1の振動を抑制できる。また、CPU31は、幅Amplitudeが零となる組がないと判断した場合、算出した振幅Amplitudeのうち最も小さい振幅を検索する。CPU31は、検索した振幅に対応する組の第一時間T1と加減速時間Tsumに最適化する。CPU31は最適化した第一時間T1及び加減速時間Tsumに基づき、加速度指令を決定する。数値制御装置30は、振幅Amplitudeが零となる組が無い場合でも、振幅Amplitudeが最も小さい第一時間T1と加減速時間Tsumに最適化することで、工作機械1の振動を抑制できる。
【0052】
また、CPU31は、演算した振幅Amplitudeが所定の閾値Th以下か否か判断する。CPU31は、振幅Amplitudeが所定の閾値Th以下であると判断した場合、振幅Amplitudeが所定の閾値Th以下となる組の第一時間T1と加減速時間Tsumに最適化する。数値制御装置30は、工作機械1の振動を所定の閾値Th以下に抑制できる。
【0053】
本発明は上記実施形態に限定されず、種々の変更が可能である。
図9を参照し、変形例における最適化処理について説明する。上記実施形態と同一の処理については、同一のステップ番号を付し、異なる処理については異なる符号で示す。以下の説明では、異なる処理について詳細に説明する。
【0054】
変形例の最適化処理では、移動指令に含まれる送り量Lに応じて加減速時間Tsumを予め定めている点が異なる。記憶装置34は、位置指令に含まれる送り量Lと、送り量Lに対応付けた加減速時間Tsumの関係を示すテーブルを記憶する。
【0055】
また、上記実施形態では、加減速時間Tsumと第一時間T1が変数であったが、変形例では、第一時間T1のみが変数となる点が異なる。また、上記実施形態では、工作機械1に発生する振動が所定の閾値Th以下となるように第一時間T1を最適化したが、変形例の最適化処理は、所定の閾値Thとの比較を行わない点も異なる。
【0056】
主処理のS7において、最適化処理が実行されると(S7)、CPU31は、移動指令に含まれる送り量Lを取得する(S100)。CPU31は、記憶装置34が記憶するテーブルを参照して、取得した送り量Lに対応付けられた加減速時間Tsumを読み込む(S102)。CPU31は、第一時間T1を0.001secに設定する(S103)。CPU31は、読み込んだ加減速時間Tsumと設定した第一時間T1を式(1-3)に代入して振幅Amplitudeを算出する(S104)。CPU31は、算出した振幅Amplitudeの値と、対応する加減速時間Tsumと第一時間T1の組とを関連付けて記憶装置34に記憶する(S105)。
【0057】
なお、S107~S119までの処理は、上記実施形態と同一なので詳細な説明は省略する。S113の処理では、関係式(1-3)に関する第一時間T1の解に略等しい値が算出される。つまり、CPU31は、S113の符号の反転を検出することで、関係式(1-3)の第一時間T1の解を取得できる。なお、S117、S119の処理において最適化された第一時間T1では振幅Amplitudeが零とはならないものの、振動を抑え且つ工作機械1を駆動する為に実現可能な最小の第一時間T1に最適化されている。
【0058】
CPU31は、S115又はS119の処理で特定した第一時間T1と加減速時間Tsumの組に最適化する(S123)。CPU31は、処理を主処理に戻して、加速度指令を作成し(S9)、送り軸指令を実行する(S11)。
【0059】
以上説明したように、CPU31は、関係式(1-3)から、第一時間T1の解を算出する。CPU31は、0<T1<Tsum/2の条件において、算出した解がある場合、解を第一時間T1に最適化する。CPU31は、0<T1<Tsum/2の条件において、算出した解がない場合、第一時間T1を変数として可変し、複数の第一時間T1毎に関係式(1-3)に基づき振幅Amplitudeを算出する。CPU31は、算出した振幅Amplitudeのうち、最も小さい振幅Amplitudeに対応する第一時間T1に最適化する。CPU31は、最適化した第一時間T1、及び加減速時間Tsumに基づき、加速度指令を決定する。数値制御装置30は、決定した加速度指令で工作機械1のモータ50を駆動することにより、モータ50の駆動時に発生する工作機械1の振動を抑制できる。
【0060】
CPU31は、工作機械1を駆動する為に実現可能な最小の第一時間T1に最適化する。CPU31は、最適化した実現可能な最小の第一時間T1、及び加減速時間Tsumに基づき、加速度指令を決定する。数値制御装置30は、工作機械1を駆動する為に実現可能な最小の第一時間T1に最適化することで、工作機械1の振動を抑制できる。
【0061】
本発明は上記実施形態に限定されず、更に種々の変更が可能である。本発明は、工作機械1の振動を低減したが、これに限らず他の機械装置において上記実施形態の技術を適用してもよい。数値制御装置30のCPU31により主処理を実行する場合に限らず、例えばPC等により主処理を実行してもよい。該時、PC等により主処理を実行することで決定した加速度波形を示す情報を、数値制御装置30に入力してもよい。数値制御装置30は、入力した加速度波形を示す加速度指令により、工作機械1のモータ50を制御してもよい。
【0062】
上記実施形態及び変形例の最適化処理において、S107、S125の処理では、第一時間T1に0.001を加算したが、これに限らず適宜加算値を設定してもよい。また、S125の処理において、加減速時間Tsumに0.001を加算したがこれに限らず適宜加算値を設定してもよい。所定の閾値Thは、適宜設定してもよい。
【0063】
S113の処理では、振幅Amplitudeの算出結果の符号が反転したか否かを判断することで、関係式(1-3)を満たす第一時間T
1の解を算出したがこれに限らない。例えば、関係式(1-3)について、第一時間T
1に関する解を直接算出してもよい。この場合、第一時間T
1を直接算出した解に最適化すればよい。上記実施形態では、0<T
1<Tsum/2の条件において、第一時間T
1の解が1つの場合で説明したが(
図8参照)、条件によって複数の解が存在する場合がある。この場合、CPU31は、何れかの解に基づき最適化を行えばよい。
【0064】
S121では、算出した振幅Amplitudeと所定の閾値Thと比較を行ったが、比較処理を実行せずにS115、S119の処理で特定した第一時間T1、加減速時間Tsumに最適化してもよい。
【0065】
仮に、S121の処理において、所定の閾値Th以下の算出結果が無い場合、CPU31は、零に近似する値に第一時間T1を最適化することで、一定の振動を低減可能である。零に近似する値は、例えば0.001secである。この場合においても、数値制御装置30は、振動を抑制可能である。
【0066】
関係式(1-3)の右辺を前半部分Aと後半部分Bで分けたとき、前半部分Aが∞となるT
1=0、T
1=Tsum以外において、後半部分Bが0となるT
1を求めることで振幅Amplitude=0となるT
1を求めることができる。
【数3】
【0067】
<その他>
数値制御装置30は、本発明の「振動抑制装置」の一例である。工作機械1は、本発明の「機械装置」の一例である。加減速時間Tsumは、本発明の「駆動時間」の一例である。送り量Lは、本発明の「移動距離」の一例である。S7の処理は、本発明の「最適化工程」の一例である。S9の処理は、本発明の「決定工程」の一例である。S104、S111の処理は、本発明の「第一算出工程」の一例である。S113の処理は、本発明の「第一判断工程」の一例である。S115、S123の処理は、本発明の「第一最適化工程」の一例である。S121の処理は、本発明の「第二判断工程」の一例である。S119、S123の処理は、本発明の「第二最適化工程」の一例である。
【0068】
S102の処理は、本発明の「取得工程」の一例である。S104、S111の処理は、本発明の「第一算出工程」の一例である。S115、S123の処理は、本発明の「第一最適化工程」の一例である。S113、S107、S111の処理は、本発明の「第二算出工程」の一例である。S119、S123の処理は、本発明の「第二最適化工程」の一例である。S7の処理は、本発明の「最適化手段」の一例である。S9の処理は、本発明の「決定手段」の一例である。
【符号の説明】
【0069】
1 :工作機械
4 :工具
30 :数値制御装置
31 :CPU
50 :モータ
50A :駆動回路
T1 :第一時間
T2 :第二時間
T3 :第三時間
T4 :第四時間
Tsum :加減速時間
L :送り量
ωn/2π :固有振動数