IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ スター精密株式会社の特許一覧

<>
  • 特許-工作機械 図1
  • 特許-工作機械 図2
  • 特許-工作機械 図3
  • 特許-工作機械 図4
  • 特許-工作機械 図5
  • 特許-工作機械 図6
  • 特許-工作機械 図7
  • 特許-工作機械 図8
  • 特許-工作機械 図9
  • 特許-工作機械 図10
  • 特許-工作機械 図11
  • 特許-工作機械 図12
  • 特許-工作機械 図13
  • 特許-工作機械 図14
  • 特許-工作機械 図15
  • 特許-工作機械 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-26
(45)【発行日】2024-12-04
(54)【発明の名称】工作機械
(51)【国際特許分類】
   G05B 19/404 20060101AFI20241127BHJP
   G05B 19/4155 20060101ALI20241127BHJP
   B23Q 15/00 20060101ALI20241127BHJP
【FI】
G05B19/404 G
G05B19/4155 V
B23Q15/00 C
【請求項の数】 3
(21)【出願番号】P 2020203558
(22)【出願日】2020-12-08
(65)【公開番号】P2022090946
(43)【公開日】2022-06-20
【審査請求日】2023-12-01
(73)【特許権者】
【識別番号】000107642
【氏名又は名称】スター精密株式会社
(74)【代理人】
【識別番号】100096703
【弁理士】
【氏名又は名称】横井 俊之
(74)【代理人】
【識別番号】100124958
【弁理士】
【氏名又は名称】池田 建志
(72)【発明者】
【氏名】篠宮 克宏
(72)【発明者】
【氏名】江藤 正人
(72)【発明者】
【氏名】賀来 則夫
(72)【発明者】
【氏名】志鎌 耕一郎
【審査官】松浦 陽
(56)【参考文献】
【文献】特開平03-228106(JP,A)
【文献】特開平10-063325(JP,A)
【文献】特開2012-113430(JP,A)
【文献】特開平07-110171(JP,A)
【文献】特開2004-280565(JP,A)
【文献】特開2010-049599(JP,A)
【文献】特開平11-024754(JP,A)
【文献】特開平09-081216(JP,A)
【文献】特開2018-181029(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18-19/416
G05B 19/42-19/46
B23Q 15/00-15/28
(57)【特許請求の範囲】
【請求項1】
第一送り軸に沿って駆動対象を移動させる第一駆動部、及び、前記第一送り軸と交差する第二送り軸に沿って前記駆動対象を移動させる第二駆動部を含む複数の駆動部と、
前記複数の駆動部による前記駆動対象の移動を制御し、さらに、前記駆動部の駆動方向の反転による象限突起を抑制するために設定加速量を設定加速時間の間、前記駆動部に加える補正を行う制御部と、を備え、
前記制御部は、
前記駆動部から前記駆動対象に加えられるトルクを表す値を駆動トルク値として、前記駆動部の駆動方向の反転を伴う指令を含むテストプログラムに合わせられて初期の設定加速量が初期の設定加速時間の間、加えられた前記駆動部から取得された初期の駆動トルク値を基準トルク値として記憶し、
前記テストプログラムに合わせて前記初期の設定加速量を前記初期の設定加速時間の間、前記駆動部に加え、該駆動部から新たな駆動トルク値を取得し、前記初期の設定加速量と前記初期の設定加速時間の少なくとも一方を前記象限突起が抑制されるように補正するための係数又は計算式を前記基準トルク値と前記新たな駆動トルク値とに基づいて決定し、決定した係数又は計算式に従って前記初期の設定加速量と前記初期の設定加速時間の少なくとも一方を補正する、工作機械。
【請求項2】
第一送り軸に沿って駆動対象を移動させる第一駆動部、及び、前記第一送り軸と交差する第二送り軸に沿って前記駆動対象を移動させる第二駆動部を含む複数の駆動部と、
前記複数の駆動部による前記駆動対象の移動を制御し、さらに、前記駆動部の駆動方向の反転による象限突起を抑制するために調整済加速量を調整済加速時間、前記駆動部に加える補正を行う制御部と、
機械学習部と、を備え、
前記制御部は、
前記駆動部から前記駆動対象に加えられるトルクを表す値を駆動トルク値として、前記駆動部の駆動方向の反転を伴う指令を含むテストプログラムに合わせられて初期の設定加速量が初期の設定加速時間の間、加えられた前記駆動部から取得された初期の駆動トルク値を基準トルク値として記憶し、
前記テストプログラムに合わせて前記初期の設定加速量を前記初期の設定加速時間の間、前記駆動部に加え、該駆動部から新たな駆動トルク値を取得し、前記初期の設定加速量と前記初期の設定加速時間の少なくとも一方を前記象限突起が抑制されるように補正するための係数又は計算式を前記基準トルク値と前記新たな駆動トルク値とに基づいて決定し、決定した係数又は計算式に従って前記初期の設定加速量と前記初期の設定加速時間の少なくとも一方を補正することにより前記調整済加速量と前記調整済加速時間の少なくとも一方を設定し、
前記機械学習部は、前記駆動対象の動作を表す動作パラメーターであって前記駆動対象の移動の円弧半径と前記駆動対象の送り速度とを含む動作パラメーター前記新たな駆動トルク値、及び、前記調整済加速量と前記調整済加速時間の少なくとも一方の設定値に基づいた機械学習により、前記動作パラメーター及び前記駆動部から取得される駆動トルク値に基づいて、前記駆動部に加える前記設定値を決定するようにコンピューターを機能させる学習済モデルを生成する工作機械。
【請求項3】
前記制御部は、前記動作パラメーター及び前記駆動部からの駆動トルク値を取得し、該取得した動作パラメーター及び駆動トルク値を入力として前記学習済モデルを実行させることにより決定された前記設定値を取得し、該取得した設定値を前記駆動部に加える前記補正を行う、請求項2に記載の工作機械。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、互いに交差する送り軸に沿って駆動対象を移動させる複数の駆動部を備える工作機械に関する。
【背景技術】
【0002】
NC(数値制御)旋盤は、工具等の駆動対象をサーボモーターで移動させる送り軸を複数有する場合、駆動対象の軌跡を二次元形状や三次元形状にすることができる。例えば、第一送り軸をX軸で表し、第一送り軸と交差する第二送り軸をY軸で表すと、工作機械に円弧形状の指令が与えられた場合、XY平面において駆動対象の軌跡が円弧形状となる。各送り軸においては、駆動対象の移動方向が反転することがある。駆動対象を送り軸に沿って移動させる送り系に発生する摩擦力は、駆動対象の移動方向とは反対の方向に作用する。駆動対象の移動方向が反転すると、その送り系の摩擦により反転時に始動に遅れが発生し制御系が遅れて応答するため、指令に対する誤差が生じる。XY平面において象限が切り替わった直後は、駆動対象の軌跡が指令の軌跡よりも外側へ僅かに膨らんだ突起状となる。このような突起状の軌跡は、象限突起と呼ばれる。象限突起を有する動作は、加工面に筋として現れる。
【0003】
特許文献1に開示された制御装置の象限突起補正部は、送り系の送り方向を反転させる際に、NCプログラム等から認識された切削円弧半径及び加速度に応じた補正量を速度指令信号に加える補正を行う。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-181029号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、送り系の送り方向を反転させる際に切削円弧半径及び加速度に応じた補正量を速度指令信号に加えても、象限突起の大きさにばらつきが生じる。このため、オペレーターは、切削した部品の加工面を見ながら補正量を調整するという試行錯誤を行う必要がある。
尚、上述のような問題は、旋盤に限らず、マシニングセンター等、種々の工作機械に存在する。
【0006】
本発明は、象限突起をさらに抑制可能な技術を開示するものである。
【課題を解決するための手段】
【0007】
本発明の工作機械は、
第一送り軸に沿って駆動対象を移動させる第一駆動部、及び、前記第一送り軸と交差する第二送り軸に沿って前記駆動対象を移動させる第二駆動部を含む複数の駆動部と、
前記複数の駆動部による前記駆動対象の移動を制御し、さらに、前記駆動部の駆動方向の反転による象限突起を抑制するために設定加速量を設定加速時間の間、前記駆動部に加える補正を行う制御部と、を備え、
前記制御部は、
前記駆動部から前記駆動対象に加えられるトルクを表す値を駆動トルク値として、前記駆動部の駆動方向の反転を伴う指令を含むテストプログラムに合わせられて初期の設定加速量が初期の設定加速時間の間、加えられた前記駆動部から取得された初期の駆動トルク値を基準トルク値として記憶し、
前記テストプログラムに合わせて前記初期の設定加速量を前記初期の設定加速時間の間、前記駆動部に加え、該駆動部から新たな駆動トルク値を取得し、前記初期の設定加速量と前記初期の設定加速時間の少なくとも一方を前記象限突起が抑制されるように補正するための係数又は計算式を前記基準トルク値と前記新たな駆動トルク値とに基づいて決定し、決定した係数又は計算式に従って前記初期の設定加速量と前記初期の設定加速時間の少なくとも一方を補正する、態様を有する。
【0008】
また、本発明の工作機械は、
第一送り軸に沿って駆動対象を移動させる第一駆動部、及び、前記第一送り軸と交差する第二送り軸に沿って前記駆動対象を移動させる第二駆動部を含む複数の駆動部と、
前記複数の駆動部による前記駆動対象の移動を制御し、さらに、前記駆動部の駆動方向の反転による象限突起を抑制するために調整済加速量を調整済加速時間、前記駆動部に加える補正を行う制御部と、
機械学習部と、を備え、
前記制御部は、
前記駆動部から前記駆動対象に加えられるトルクを表す値を駆動トルク値として、前記駆動部の駆動方向の反転を伴う指令を含むテストプログラムに合わせられて初期の設定加速量が初期の設定加速時間の間、加えられた前記駆動部から取得された初期の駆動トルク値を基準トルク値として記憶し、
前記テストプログラムに合わせて前記初期の設定加速量を前記初期の設定加速時間の間、前記駆動部に加え、該駆動部から新たな駆動トルク値を取得し、前記初期の設定加速量と前記初期の設定加速時間の少なくとも一方を前記象限突起が抑制されるように補正するための係数又は計算式を前記基準トルク値と前記新たな駆動トルク値とに基づいて決定し、決定した係数又は計算式に従って前記初期の設定加速量と前記初期の設定加速時間の少なくとも一方を補正することにより前記調整済加速量と前記調整済加速時間の少なくとも一方を設定し、
前記機械学習部は、前記駆動対象の動作を表す動作パラメーターであって前記駆動対象の移動の円弧半径と前記駆動対象の送り速度とを含む動作パラメーター前記新たな駆動トルク値、及び、前記調整済加速量と前記調整済加速時間の少なくとも一方の設定値に基づいた機械学習により、前記動作パラメーター及び前記駆動部から取得される駆動トルク値に基づいて、前記駆動部に加える前記設定値を決定するようにコンピューターを機能させる学習済モデルを生成する態様を有する。
【発明の効果】
【0009】
本発明によれば、象限突起の大きさのばらつきに対して適正な補正を行えることによって象限突起をさらに抑制可能な技術を提供することができる。
【図面の簡単な説明】
【0010】
図1】工作機械の構成例を模式的に示す図である。
図2】機械本体の電気回路の構成例を模式的に示すブロック図である。
図3】真円切削のテストを実行した時の加工精度の例を模式的に示す図である。
図4】象限突起を抑制するための加速量及び加速時間を模式的に示す図である。
図5】バックラッシ加速を行う制御系の例を模式的に示すブロック図である。
図6】送り速度と加速量及び加速時間との関係の例を模式的に示す図である。
図7】円弧半径と加速量及び加速時間との関係の例を模式的に示す図である。
図8】初期調整処理の例を模式的に示すフローチャートである。
図9】象限突起補正調整画面の例を模式的に示す図である。
図10】設定加速量及び設定加速時間の調整処理の例を模式的に示すフローチャートである。
図11】別の象限突起補正調整画面の例を模式的に示す図である。
図12】別の象限突起補正調整画面の例を模式的に示す図である。
図13】機械学習部を備える工作機械の例を模式的に示す図である。
図14】学習処理の例を模式的に示すフローチャートである。
図15】調整処理の例を模式的に示すフローチャートである。
図16】機械学習部を備える工作機械の例を模式的に示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態を説明する。むろん、以下の実施形態は本発明を例示するものに過ぎず、実施形態に示す特徴の全てが発明の解決手段に必須になるとは限らない。
【0012】
(1)本発明に含まれる技術の概要:
まず、図1~16に示される例を参照して本発明に含まれる技術の概要を説明する。尚、本願の図は模式的に例を示す図であり、これらの図に示される各方向の拡大率は異なることがあり、各図は整合していないことがある。むろん、本技術の各要素は、符号で示される具体例に限定されない。
【0013】
[態様1]
図1,2等に例示するように、本技術の一態様に係る工作機械1は、複数の駆動部U1、及び、制御部U2を備える。前記複数の駆動部U1は、第一送り軸F1に沿って駆動対象(例えば刃物台20)を移動させる第一駆動部U11、及び、前記第一送り軸F1と交差する第二送り軸F2に沿って前記駆動対象(20)を移動させる第二駆動部U12を含んでいる。前記制御部U2は、前記複数の駆動部U1による前記駆動対象(20)の移動を制御し、さらに、前記駆動部U1の駆動方向の反転による象限突起200を抑制するために設定加速量ΔViを設定加速時間Tiの間、前記駆動部U1に加える補正を行う。当該制御部U2は、前記駆動部U1から前記駆動対象(20)に加えられるトルクを表す値を駆動トルク値TR2iとして、基準のトルクを表す基準トルク値TR1iを基準とした前記駆動トルク値TR2iに基づいて、前記設定加速量ΔViと前記設定加速時間Tiの少なくとも一方を調整する。
【0014】
駆動対象(20)を送り軸に沿って移動させる送り系の摩擦は、潤滑油の粘度、案内面の摩耗状況、温度、送り系の稼動時間、等により変化する。送り系の摩擦が変化すると、象限突起200の大きさが変動する。送り系の摩擦力の変化は基準トルク値TR1iに対する駆動トルク値TR2iの変化量に現れるので、設定加速量ΔViと設定加速時間Tiの少なくとも一方が基準トルク値TR1iを基準とした駆動トルク値TR2iに基づいて調整されることにより、送り系の摩擦が変化しても象限突起200を抑制することができる。従って、上記態様は、象限突起をさらに抑制可能な工作機械を提供することができる。
【0015】
ここで、工作機械には、旋盤、マシニングセンター、等が含まれる。
駆動トルク値には、駆動対象を移動させるサーボモーターに流す電流値、サーボモーターに流す電流値の相対値、等が含まれ、サーボアンプからサーボモーターに出力されるトルク指令の値でもよい。
制御部は、設定加速量と設定加速時間の両方を調整してもよいし、設定加速時間を調整しないで設定加速量を調整してもよいし、設定加速量を調整しないで設定加速時間を調整してもよい。
基準トルク値を基準とした駆動トルク値に基づいて設定値(設定加速量と設定加速時間の少なくとも一方)を調整することには、駆動トルク値を基準トルク値で割った値の変換値等を係数として元の設定値に乗ずること、駆動トルク値を基準トルク値で割った値の変換値等と元の設定値とをそれぞれ変数として含む計算式により調整後の設定値を算出すること、等が含まれる。また、駆動トルク値を基準トルク値で割った値の変換値の代わりに、駆動トルク値が大きくなるほど大きくなり、且つ、基準トルク値が大きくなるほど小さくなる様々な値を前述の係数や変数に用いることも可能である。
上述した付言は、以下の態様においても適用される。
【0016】
[態様2]
また、図13,16等に例示するように、本技術の別の態様に係る工作機械1は、複数の駆動部U1、制御部U2、及び、機械学習部U3を備える。前記複数の駆動部U1は、第一送り軸F1に沿って駆動対象(20)を移動させる第一駆動部U11、及び、前記第一送り軸F1と交差する第二送り軸F2に沿って前記駆動対象(20)を移動させる第二駆動部U12を含む。前記制御部U2は、前記複数の駆動部U1による前記駆動対象(20)の移動を制御し、さらに、前記駆動部U1の駆動方向の反転による象限突起200を抑制するために調整済加速量ΔViを調整済加速時間Ti、前記駆動部U1に加える補正を行う。図14に例示するように、前記機械学習部U3は、前記駆動対象(20)の動作を表す動作パラメーター(例えば円弧半径riと送り速度vi)、前記駆動部U1から前記駆動対象(20)に加えられるトルクを表す駆動トルク値tri、及び、前記調整済加速量ΔViと前記調整済加速時間Tiの少なくとも一方の設定値に基づいた機械学習により、前記動作パラメーター(ri,vi)及び前記駆動トルク値triに基づいて、前記駆動部U1に加える前記設定値を決定するようにコンピューターを機能させる学習済モデルLMを生成する。前述のコンピューターは、図13に例示するコンピューター100でもよいし、図16に例示するNC装置70でもよいし、コンピューター100とNC装置70の組合せでもよい。
【0017】
駆動対象(20)を送り軸に沿って移動させる送り系の摩擦は、潤滑油の粘度、案内面の摩耗状況、温度、送り系の稼動時間、等により変化する。送り系の摩擦が変化すると、象限突起200の大きさが変動する。送り系の摩擦力は駆動トルク値triに現れるので、象限突起200を抑制するための設定値であって調整済加速量ΔViと調整済加速時間Tiの少なくとも一方である設定値は、駆動対象(20)の動作を表す動作パラメーター(ri,vi)のみならず、駆動トルク値triにも影響される。そこで、前述の動作パラメーター(ri,vi)、駆動トルク値tri、及び、前述の設定値に基づいた機械学習により生成された学習済モデルLMを用いることにより、象限突起200を抑制するために駆動部U1に加える設定値を動作パラメーター(ri,vi)及び駆動トルク値triに基づいて決定することができる。従って、本態様は、象限突起をさらに抑制する学習済モデルを生成する工作機械を提供することができる。
【0018】
ここで、工作機械は、機械本体と該機械本体に接続されたコンピューターとの組合せでもよい。
動作パラメーターから求められる値を機械学習に用いることや、駆動トルク値から求められる値を機械学習に用いることや、設定値から求められる値を機械学習に用いることも、上記態様の機械学習に含まれる。
動作パラメーターは、駆動対象の移動の円弧半径と駆動対象の送り速度との少なくとも一方を含むパラメーターが好ましい。また、動作パラメーターは、駆動対象の移動の円弧半径、及び、駆動対象の送り速度を含むパラメーターがさらに好ましい。
上述した付言は、以下の態様においても適用される。
【0019】
[態様3]
図15に例示するように、前記制御部U2は、前記動作パラメーター(ri,vi)及び前記駆動トルク値triを取得してもよく、該取得した動作パラメーター(ri,vi)及び駆動トルク値triを入力として前記学習済モデルLMを実行させることにより決定された前記設定値(ΔVi,Ti)を取得してもよく、該取得した設定値(ΔVi,Ti)を前記駆動部U1に加える前記補正を行ってもよい。この態様は、象限突起をさらに抑制可能な工作機械を提供することができる。
【0020】
(2)工作機械の構成の具体例:
図1は、機械本体2とコンピューター100を含む工作機械1の例として旋盤の構成を模式的に例示している。図1に示す工作機械1は、ワークW1の加工の数値制御を行うNC(数値制御)装置70を備えるNC旋盤である。工作機械1においてコンピューター100は必須の要素ではないため、コンピューター100が接続されていない機械本体2自体も本技術の工作機械となり得る。
【0021】
工作機械1は、主軸台11,12、主軸台駆動部17,18、本技術の駆動対象の例である刃物台20、該刃物台20の複数の駆動部U1(図2に例示する第一駆動部U11及び第二駆動部U12)、制御部U2の例であるNC装置70、等を機械本体2に備えるNC工作機械である。図1に示す機械本体2の制御軸は、「X」で示されるX軸、「Y」で示されるY軸、及び、「Z」で示されるZ軸を含んでいる。Z軸方向は、ワークW1の回転中心となる主軸中心線AX1に沿った水平方向である。X軸方向は、Z軸と直交する水平方向である。Y軸方向は、Z軸と直交する鉛直方向である。尚、Z軸とX軸とは交差していれば直交していなくてもよく、Z軸とY軸とは交差していれば直交していなくてもよく、X軸とY軸とは交差していれば直交していなくてもよい。また、本明細書において参照される図面は、本技術を説明するための例を示しているに過ぎず、本技術を限定するものではない。また、各部の位置関係の説明は、例示に過ぎない。従って、左右を逆にしたり、回転方向を逆にしたり等することも、本技術に含まれる。また、方向や位置等の同一は、厳密な一致に限定されず、誤差により厳密な一致からずれることを含む。
【0022】
主軸台11,12は、Z軸方向において互いに対向している。主軸台11には、正面主軸と呼ばれる主軸13が組み込まれている。主軸台12には、背面主軸や対向主軸と呼ばれる主軸14が組み込まれている。図1に示す工作機械1は主軸移動型旋盤であり、主軸台駆動部17が主軸台11をZ軸方向へ移動させ、主軸台駆動部18が主軸台12をZ軸方向へ移動させる。むろん、工作機械1は主軸台11が移動しない主軸固定型旋盤でもよいし、主軸台12が移動せずに主軸台11がZ軸方向へ移動してもよい。
【0023】
主軸13は、コレット等といった把持部15を備え、該把持部15によりワークW1を解放可能に把持する。加工前のワークW1が例えば円柱状(棒状)の長尺な材料である場合、主軸13の後端(図1において左端)から把持部15にワークW1が供給されてもよい。この場合、主軸13の前側(図1において右側)には、ワークW1をZ軸方向へ摺動可能に支持するガイドブッシュが配置されてもよい。加工前のワークW1が短い材料である場合、主軸13の前端から把持部15にワークW1が供給されてもよい。ワークW1を把持した主軸13は、ワークW1とともに主軸中心線AX1を中心として回転可能である。正面加工後のワークW1は、主軸13から主軸14に引き渡される。主軸14は、コレット等といった把持部16を備え、該把持部16により正面加工後のワークW1を解放可能に把持し、ワークW1とともに主軸中心線AX1を中心として回転可能である。正面加工後のワークW1は、背面加工により製品となる。
【0024】
刃物台20は、ワークW1を加工するための複数の工具TO1が取り付けられ、X軸方向及びY軸方向へ移動可能である。むろん、刃物台20は、Z軸方向へ移動してもよい。刃物台20は、タレット刃物台でもよいし、くし形刃物台等でもよい。複数の工具TO1には、突っ切りバイトを含むバイト、ドリルやエンドミルといった回転工具、等が含まれる。
【0025】
NC装置70に接続されたコンピューター100は、プロセッサーであるCPU(Central Processing Unit)101、半導体メモリーであるROM(Read Only Memory)102、半導体メモリーであるRAM(Random Access Memory)103、記憶装置104、入力装置105、表示装置106、音声出力装置107、I/F(インターフェイス)108、時計回路109、等を備えている。コンピューター100の制御プログラムは、記憶装置104に記憶され、CPU101によりRAM103に読み出され、CPU101により実行される。記憶装置104には、フラッシュメモリーといった半導体メモリー、ハードディスクといった磁気記録媒体、等を用いることができる。入力装置105には、ポインティングデバイス、キーボード、表示装置106の表面に貼り付けられたタッチパネル、等を用いることができる。I/F108は、NC装置70に有線又は無線で接続され、NC装置70からデータを受信したりNC装置70にデータを送信したりする。コンピューター100と機械本体2との接続は、インターネットやイントラネット等のネットワーク接続でもよい。コンピューター100には、タブレット型端末を含むパーソナルコンピューター、スマートフォンといった携帯電話、等が含まれる。
【0026】
図2は、機械本体2の電気回路の構成を模式的に例示している。図2に示す機械本体2において、制御部U2の例であるNC装置70には、操作部80、上述した主軸台駆動部17,18、複数の駆動部U1に含まれるサーボアンプ31,32、等が接続されている。NC装置70は、プロセッサーであるCPU71、半導体メモリーであるROM72、半導体メモリーであるRAM73、時計回路74、I/F75、等を備えている。従って、NC装置70は、コンピューターの一種である。図2では、操作部80、主軸台駆動部17,18、サーボアンプ31,32、コンピューター100、等のI/FをまとめてI/F75と示している。ROM72には、加工プログラムPR2を解釈して実行したり象限突起を抑制する処理を実行したりするための制御プログラムPR1が書き込まれている。ROM72は、データを書き換え可能な半導体メモリーでもよい。RAM73には、オペレーターにより作成された加工プログラムPR2が書き換え可能に記憶される。加工プログラムは、NCプログラムとも呼ばれる。CPU71は、RAM73をワークエリアとして使用し、ROM72に記録されている制御プログラムPR1を実行することにより、NC装置70の機能を実現させる。むろん、制御プログラムPR1により実現される機能の一部又は全部をASIC(Application Specific Integrated Circuit)といった他の手段により実現させてもよい。
【0027】
操作部80は、入力部81及び表示部82を備え、NC装置70のユーザーインターフェイスとして機能する。入力部81は、例えば、オペレーターから操作入力を受け付けるためのボタンやタッチパネルから構成される。表示部82は、例えば、オペレーターから操作入力を受け付けた各種設定の内容や機械本体2に関する各種情報を表示するディスプレイで構成される。オペレーターは、操作部80やコンピューター100を用いて加工プログラムPR2をRAM73に記憶させることが可能である。
【0028】
複数の駆動部U1は、第一送り軸F1の例であるX軸に沿って刃物台20を移動させる第一駆動部U11、及び、第一送り軸F1と交差する第二送り軸F2の例であるY軸に沿って刃物台20を移動させる第二駆動部U12を含んでいる。第一駆動部U11は、NC装置70に接続されたサーボアンプ31、及び、該サーボアンプ31に接続されたサーボモーター33を備えている。第二駆動部U12は、NC装置70に接続されたサーボアンプ32、及び、該サーボアンプ32に接続されたサーボモーター34を備えている。
【0029】
サーボアンプ31は、NC装置70からの指令に従って、X軸方向において刃物台20の位置及び移動速度を制御する。サーボアンプ32は、NC装置70からの指令に従って、Y軸方向において刃物台20の位置及び移動速度を制御する。サーボモーター33は、ロータリーエンコーダーを備え、サーボアンプ31からの指令に従って回転し、X軸方向において不図示の送り機構及びガイドを介して刃物台20を移動させる。サーボモーター34は、ロータリーエンコーダーを備え、サーボアンプ32からの指令に従って回転し、Y軸方向において不図示の送り機構及びガイドを介して刃物台20を移動させる。送り機構には、ボールねじによる機構等を用いることができる。ガイドには、アリとアリ溝との組合せといった滑り案内等を用いることができる。
NC装置70は、複数の駆動部U1による刃物台20の移動を制御する。
【0030】
工作機械1が刃物台20をサーボモーター33,34で移動させる送り軸F1,F2を有する場合、刃物台20の軌跡を二次元形状にすることができる。例えば、第一送り軸F1がX軸であって第二送り軸F2がY軸である場合、円弧形状の指令が与えられた工作機械1の刃物台20の軌跡は、XY平面において円弧形状となる。X軸とY軸のそれぞれにおいて、刃物台20の移動方向は反転することがある。刃物台20を送り軸に沿って移動させる送り系に発生する摩擦力は、刃物台20の移動方向とは反対の方向に作用する。刃物台20の移動方向が反転すると、制御系が遅れて応答するため、指令に対する誤差が生じる。
【0031】
図3は、真円切削のテストを実行した時の加工精度を模式的に例示している。図3に示す横軸は、X軸であり、右側が+の座標であり、左側が-の座標である。図3に示す縦軸は、Y軸であり、上側が+の座標であり、下側が-の座標である。
図3に示すように、XY平面において象限が切り替わった直後には、刃物台20の軌跡が指令の軌跡よりも外側へ膨らんだ象限突起200が現れる。図3において、象限突起200は、実際の誤差を拡大することにより示されている。特に、刃物台20の送り機構に滑り案内が用いられている場合、送り系の摩擦が大きくなるため、象限突起200が大きくなり易い。刃物台20において象限突起200を有する動作は、ワークW1の加工面に筋として現れる。加工精度を向上させるためには、象限突起200を抑制する必要がある。そこで、工作機械1は、象限突起200を抑制するためのバックラッシ加速を行う機能を有している。バックラッシ加速は、各送り軸F1,F2に沿った刃物台20の移動方向の反転時、すなわち、駆動部U1の駆動方向の反転時に象限突起200を打ち消す補正指令を速度指令に加算することにより応答の遅れを抑制することを意味する。
【0032】
図4は、象限突起200を抑制するための加速量ΔVi及び加速時間Tiを模式的に例示している。図4の上部は、駆動部U1の駆動方向の反転を伴う指令iにおいて時間tに対する位置X又はY、及び、速度Vx又はVyを例示している。図4の上部において、横軸は時間tであり、左側の縦軸は刃物台20の位置X又はYであり、右側の縦軸は刃物台20の速度Vx又はVyである。例えば、対象の送り軸がX軸である場合、図4の上部には時間tに対する位置X及び速度Vxが表されていることになる。時間tがt1になるまでは、速度Vxが+であり、位置Xが+方向へ変わっている。時間tがt1を過ぎると、速度Vxが-となり、位置Xが-方向へ変わっている。図4の下部は、時間tに対するバックラッシ加速の加速量ΔVを例示している。時間tがt1になると、象限突起200を抑制するために加速量ΔViが加速時間Tiの間、駆動部U1に加えられる。例えば、対象の送り軸がX軸である場合、図4の下部には、第一駆動部U11に加えられる加速量ΔVi及び加速時間Tiが示されていることになる。対象の送り軸がY軸である場合、図4の下部には、第二駆動部U12に加えられる加速量ΔVi及び加速時間Tiが示されていることになる。加速量ΔViを大きくしたり加速時間Tiを長くしたりするとバックラッシ加速を強くすることができ、加速量ΔViを小さくしたり加速時間Tiを短くしたりするとバックラッシ加速を弱くすることができる。このようにして、象限突起200が小さくなるように設定値を調整することができる。
【0033】
図5は、工作機械1においてバックラッシ加速を行う制御系を模式的に例示している。図5には、第一送り軸F1としてのX軸における制御系が示されている。第二送り軸F2としてのY軸における制御系は、図5に示す制御系に類似しているので、説明を省略する。
【0034】
図5において、NC装置70は、刃物台20のX軸に沿った移動方向の反転動作を伴う移動指令にバックラッシ補正指令を加えた位置指令をサーボアンプ31に出力することができる。サーボアンプ31の減算部41は、NC装置70から位置指令を入力し、サーボモーター33のエンコーダー35からの出力に基づいて位置フィードバックを入力し、位置指令を位置フィードバックに基づいて補正してポジションゲインに出力する。ポジションゲインは、減算部41から処理結果を入力し、該処理結果に基づいて速度指令を加算部42に出力する。加算部42は、ポジションゲインから速度指令を入力し、加速時間Tiの間、加速量ΔViのバックラッシ加速を行う補正指令に基づいて速度指令を補正して減算部43に出力する。減算部43は、加算部42から補正された速度指令を入力し、サーボモーター33のエンコーダー35からの出力に基づいて速度フィードバックを入力し、補正された速度指令を速度フィードバックに基づいて補正して速度ゲインに入力する。速度ゲインは、減算部43から処理結果を入力し、該処理結果に基づいてサーボモーター33にトルク指令を出力する。トルク指令は、サーボモーター33から刃物台20に加えられるトルクを表す駆動トルク値を含んでいる。駆動トルク値は、サーボモーター33の最大出力を100%とする相対値でもよい。前述のトルクはサーボモーター33に流れる電流に比例するので、トルク指令は、サーボモーター33に流れる電流を表す電流値でもよい。
以上より、NC装置70は、駆動部U1の駆動方向の反転による象限突起200を抑制するために加速量ΔViの指令を加速時間Tiの間、サーボアンプ31に出力する。すなわち、NC装置70は、象限突起200を抑制するために加速量ΔViを加速時間Tiの間、前記駆動部U1に加える補正を行う。
【0035】
ところで、象限突起200の大きさは、加工プログラムPR2に含まれる指令に応じて異なる。繰り返し試験を行ったところ、象限突起200の大きさは刃物台20の移動の円弧半径と刃物台20の送り速度とに応じて変わることが判った。また、象限突起200を抑制するための加速量ΔVi及び加速時間Tiは円弧半径及び送り速度を用いた関係式で表すことができることが判った。
【0036】
図6は、円弧半径が2mmである場合における送り速度vと加速量ΔV及び加速時間Tとの関係を模式的に例示している。図6において、横軸は送り速度v(単位:mm/min)であり、左側の縦軸は加速量ΔVであり、右側の縦軸は加速時間Tである。グラフ中、「ΔV」は加速量ΔVの測定値をプロットした曲線を示し、「ΔV(sim)」は後述する関係式から求められた加速量ΔVをプロットした曲線を示し、「T」は加速時間Tの測定値をプロットした曲線を示し、「T(sim)」は後述する関係式から求められた加速時間Tをプロットした曲線を示している。加速量ΔVの曲線は上述した各指令iの加速量ΔViから得られ、加速時間Tの曲線は上述した各指令iの加速時間Tiから得られる。
図6に示すように、送り速度vが速くなるほど、加速量ΔVを増やす必要があり、加速時間Tを減らす必要がある。このような必要性は、円弧半径が2mm以外の場合にもいえる。
【0037】
図7は、送り速度vが50mm/minである場合における円弧半径rと加速量ΔV及び加速時間Tとの関係を模式的に例示している。図7において、横軸は円弧半径r(単位:mm)であり、左側の縦軸は加速量ΔVであり、右側の縦軸は加速時間Tである。グラフ中、「ΔV」は加速量ΔVの測定値をプロットした曲線を示し、「ΔV(sim)」は後述する関係式から求められた加速量ΔVをプロットした曲線を示し、「T」は加速時間Tの測定値をプロットした曲線を示し、「T(sim)」は後述する関係式から求められた加速時間Tをプロットした曲線を示している。加速量ΔVの曲線は上述した各指令iの加速量ΔViから得られ、加速時間Tの曲線は上述した各指令iの加速時間Tiから得られる。
図7に示すように、円弧半径rが大きくなるほど、加速量ΔVを減らす必要があり、加速時間Tを増やす必要がある。このような必要性は、送り速度vが50mm/min以外の場合にもいえる。
【0038】
送り速度vと円弧半径rを変えて繰り返し試験を行ったところ、送り速度v及び円弧半径rと加速量ΔV及び加速時間Tとの関係は、以下の関係式で近似することができることが判った。
ΔV=(Av+B)/(Cr+D) …(1)
T =(Er+F)/(Gv+H) …(2)
ここで、係数A,C,E,Gは正の値であり、定数B,D,F,Hは正の値でも負の値でも0でもよい。図6,7に示す「ΔV(sim)」及び「T(sim)」は、送り速度vと円弧半径rから上記関係式(1),(2)に従って得られた値をグラフにプロットした曲線である。
上記関係式(1),(2)を用いることにより、象限突起200がある程度抑制される。
【0039】
しかし、上記関係式(1),(2)を用いても、象限突起200の大きさにばらつきが生じてしまう。高精度の加工面を得るため、オペレーターが切削した部品の加工面を見ながら補正量を調整するという試行錯誤を行うことは、時間がかかる煩わしい作業となる。象限突起200の大きさにばらつきが生じる原因を調べるために繰り返し試験を行ったところ、潤滑油の粘度、案内面の摩耗状況、温度、等により送り系に生じる摩擦が変化するためと考えられた。送り系の摩擦が変化すると、象限突起200の大きさが変動する。送り系の摩擦力はサーボモーター33,34から刃物台20に加えられるトルクに現れるので、本具体例は、前述のトルクを表す駆動トルク値に基づいて加速量ΔViと加速時間Tiを調整することにしている。
以下、加速量ΔViと加速時間Tiを調整する処理の具体例を説明する。
【0040】
(3)加速量と加速時間を調整する処理の具体例:
図8は、駆動部U1から刃物台20に加えられる基準のトルクを表す基準トルク値TR1iを取得するための初期調整処理を模式的に例示している。この処理は、制御プログラムPR1を実行するNC装置70(図2参照)により行われ、工作機械1を出荷する前にテストプログラム(テスト用の加工プログラム)に従って行われる。図2に示すRAM73は、テストプログラムを保持している。
初期調整処理が開始すると、NC装置70は、テストプログラムに合わせて、駆動部U1の駆動方向の反転を伴う指令毎に、指令iに対応する加速量ΔVi及び加速時間Tiを設定する(ステップS102)。以下、「ステップ」の記載を省略する。S102の設定処理は、例えば、図9に例示する象限突起補正調整画面500を用いて行うことができる。
【0041】
図9は、表示部82に表示される象限突起補正調整画面500を模式的に例示している。NC装置70は、駆動部U1の駆動方向の反転を伴う指令iについての象限突起補正調整画面500の表示データを操作部80に出力することにより象限突起補正調整画面500を表示部82に表示させる。
指令iについての象限突起補正調整画面500は、加速量ΔViの設定領域511,512、加速時間Tiの設定領域513,514、刃物台20の移動の円弧半径rの設定領域515、主軸13又は14の回転数の設定領域516、刃物台20の送り速度vの設定領域517、及び、ソフトキー521~525を有している。象限突起補正調整画面500には、入力箇所を示すカーソルCU1が設けられている。操作部80は、カーソルCU1の位置を変える操作を入力部81で受け付けることによりカーソルCU1の位置を変える処理を行う。
【0042】
設定領域511は、X軸における加速量ΔViの入力を受け付ける領域である。設定領域512は、Y軸における加速量ΔViの入力を受け付ける領域である。設定領域513は、X軸における加速時間Tiの入力を受け付ける領域である。設定領域514は、Y軸における加速時間Tiの入力を受け付ける領域である。設定領域515は、指令iにおける円弧半径(riとする。)の入力を受け付ける領域である。図9に示す円弧半径riの単位は、mmである。設定領域516は、指令iにおける主軸13又は14の回転数(siとする。)の入力を受け付ける領域である。図9に示す主軸回転数siの単位は、min-1である。設定領域517は、指令iにおける送り速度(Liとする。)の入力を受け付ける領域である。図9に示す送り速度Liの単位は、主軸1回転当たりの送り量を表すmm/revである。尚、Liに主軸回転数siを乗じると、送り速度の単位がmm/min-1となる。
【0043】
ソフトキー521~524は、カーソルCU1の位置にある設定領域の値を変える操作を受け付ける。例えば、円弧半径riの設定領域515にカーソルCU1がある場合、ソフトキー521は操作を受け付けると円弧半径riの表示を1増やし、ソフトキー522は操作を受け付けると円弧半径riの表示を1減らし、ソフトキー523は操作を受け付けると円弧半径riの表示を10増やし、ソフトキー524は操作を受け付けると円弧半径riの表示を10減らす。ソフトキー525は、設定領域511~514のいずれかにカーソルCU1がある場合にカーソルCU1の位置にある送り軸の加速量ΔVi及び加速時間Tiの計算値を設定領域に表示させるための操作を受け付ける。NC装置70は、ソフトキー525が操作を受け付けると、設定領域515の円弧半径ri、設定領域516の主軸回転数si、及び、設定領域517の送り速度Liに基づいて加速量ΔVi及び加速時間Tiを計算し、得られた加速量ΔVi及び加速時間Tiを対応する設定領域に表示させる。
【0044】
加速量ΔVi及び加速時間Tiの計算は、上述した関係式(1),(2)を用いて行うことができる。まず、NC装置70は、対象の送り軸について、送り速度Liに主軸回転数siを乗じることにより送り速度viを求める。次に、NC装置70は、以下の関係式により加速量ΔVi及び加速時間Tiを算出する。
ΔVi=(Avi+B)/(Cri+D) …(3)
Ti =(Eri+F)/(Gvi+H) …(4)
算出された加速量ΔVi及び加速時間Tiは、対応する設定領域に表示される。
NC装置70は、図8のS102において、設定領域511,512に入力された加速量ΔViを設定加速量としてROM72とRAM73の少なくとも一方に記憶し、設定領域513,514に入力された加速時間Tiを設定加速時間としてROM72とRAM73の少なくとも一方に記憶する。
【0045】
設定加速量ΔVi及び設定加速時間Tiの記憶後、図2に示すNC装置70は、テストプログラムの実行を開始し、テストプログラムを解釈することによりテストプログラムに従って複数の駆動部U1等に指令を出力する(S104)。
【0046】
NC装置70は、駆動部U1の駆動方向の反転を伴う指令iの実行時、象限突起200を抑制するために設定加速量ΔViを設定加速時間Tiの間、駆動部U1に加えるバックラッシ加速を行う。この時、NC装置70は、サーボアンプ31,32から駆動トルク値を取得し、該駆動トルク値を基準トルク値TR1iとしてROM72とRAM73の少なくとも一方に記憶する(S106)。指令iの実行時、サーボアンプ31は駆動トルク値を含むトルク指令をサーボモーター33に出力しサーボアンプ32は駆動トルク値を含むトルク指令をサーボモーター34に出力する。サーボアンプ31,32は、NC装置70から駆動トルク値の出力指令を受け取ると、トルク指令に含まれる駆動トルク値をNC装置70に出力する。これにより、NC装置70は、サーボアンプ31,32から駆動トルク値を取得することができる。該駆動トルク値は、工作機械1の出荷前に取得されるので、基準のトルクを表す基準トルク値TR1iとなる。
NC装置70は、テストプログラムが終了するまでS106の処理を行う(S108)。テストプログラムが終了すると、NC装置70は、初期調整処理を終了させる。
【0047】
図10は、基準トルク値TR1iを基準とした駆動トルク値TR2iに基づいて設定加速量ΔVi及び設定加速時間Tiを調整するための調整処理を模式的に例示している。この処理は、制御プログラムPR1を実行するNC装置70(図2参照)により行われ、工場に工作機械1が設置されている状態で上述のテストプログラムに従って行われる。図2に示すRAM73は、テストプログラムを保持している。
調整処理が開始すると、NC装置70は、テストプログラムの実行を開始し、テストプログラムを解釈することによりテストプログラムに従って複数の駆動部U1等に指令を出力する(S202)。
【0048】
NC装置70は、駆動部U1の駆動方向の反転を伴う指令iの実行時、象限突起200を抑制するために設定加速量ΔViを設定加速時間Tiの間、駆動部U1に加えるバックラッシ加速を行う。この時、NC装置70は、サーボアンプ31,32から駆動トルク値TR2iを取得し、該駆動トルク値TR2iをROM72とRAM73の少なくとも一方に記憶する(S204)。上述したように、指令iの実行時、サーボアンプ31,32は駆動トルク値を含むトルク指令をサーボモーター33,34に出力する。サーボアンプ31,32は、NC装置70から駆動トルク値の出力指令を受け取ると、トルク指令に含まれる駆動トルク値をNC装置70に出力する。これにより、NC装置70は、サーボアンプ31,32から駆動トルク値TR2iを取得することができる。
NC装置70は、テストプログラムが終了するまでS104の処理を行う(S206)。
【0049】
テストプログラムが終了すると、NC装置70は、基準トルク値TR1iを読み出し、基準トルク値TR1iと駆動トルク値TR2iから、設定加速量ΔViを調整するための正の係数K、及び、設定加速時間Tiを調整するための正の係数Mを決定する(S208)。係数K,Mを種々の指令に共通の値にする場合、トルク値の比TR2i/TR1iの相加平均と係数K,Mとの対応関係が規定された係数テーブルをROM72に設けておき、NC装置70は係数テーブルを参照することによりトルク値の比TR2i/TR1iの相加平均に対応する係数K,Mを決定してもよい。また、トルク値の比TR2i/TR1iの相加平均から係数K,Mを求める関係式をROM72に設けておけば、NC装置70は関係式に従ってトルク値の比TR2i/TR1iの相加平均から係数K,Mを算出してもよい。
【0050】
刃物台20を送り軸に沿って移動させる送り系に発生する摩擦力が工作機械1の出荷前よりも工作機械1の設置後の方が大きくなると、駆動トルク値TR2iが基準トルク値TR1iよりも大きくなる。この場合、設定加速量ΔViのための係数Kは1よりも大きい値が好ましく、設定加速時間Tiのための係数Mは1よりも大きい値が好ましい。上述した係数テーブルや関係式は、前述の好ましい値の係数K,Mとなるように決めておけばよい。
一方、刃物台20を送り軸に沿って移動させる送り系に発生する摩擦力が工作機械1の出荷前よりも工作機械1の設置後の方が小さくなると、駆動トルク値TR2iが基準トルク値TR1iよりも小さくなる。この場合、設定加速量ΔViのための係数Kは1よりも小さい正の値が好ましく、設定加速時間Tiのための係数Mは1よりも小さい正の値が好ましい。上述した係数テーブルや関係式は、前述の好ましい値の係数K,Mとなるように決めておけばよい。
【0051】
係数K,Mの決定後、NC装置70は、加工プログラムPR2に合わせて、駆動部U1の駆動方向の反転を伴う指令iに対応する加速量ΔVi及び加速時間Tiを設定する(S210)。加工プログラムPR2に複数の指令iがある場合、NC装置70は、指令毎に加速量ΔVi及び加速時間Tiを設定する。S210の設定処理も、例えば、図9に例示する象限突起補正調整画面500を用いて行うことができる。ここでも、NC装置70は、ソフトキー525が操作を受け付けると、設定領域515の円弧半径ri、設定領域516の主軸回転数si、及び、設定領域517の送り速度Liに基づいて上述した関係式(3),(4)により加速量ΔVi及び加速時間Tiを計算する。得られた加速量ΔVi及び加速時間Tiは、対応する設定領域に表示されるが、係数K,Mによる調整が行われていない。
【0052】
そこで、NC装置70は、設定加速量ΔViを係数Kで補正し、設定加速時間Tiを係数Mで補正し(S212)、調整処理を終了させる。S212の処理は、元の設定加速量ΔViに係数Kを乗じた値を新たな設定加速量ΔViとして記憶させ、且つ、元の設定加速時間Tiに係数Mを乗じた値を新たな設定加速時間Tiとして記憶させる処理とすることができる。
以上のようにして、NC装置70は、基準トルク値TR1iを基準とした駆動トルク値TR2iに基づいて、設定加速量ΔVi及び設定加速時間Tiを調整する。
【0053】
その後、NC装置70は、加工プログラムPR2を実行すると、複数の駆動部U1による刃物台20の移動を制御し、駆動部U1の駆動方向の反転を伴う指令iの実行時、象限突起200を抑制するために設定加速量ΔViを設定加速時間Tiの間、駆動部U1に加えるバックラッシ加速を行う。上述したように、駆動部U1に加えられる設定加速量ΔVi及び設定加速時間Tiは、基準トルク値TR1iを基準とした駆動トルク値TR2iに基づいて調整されている。
【0054】
刃物台20を送り軸に沿って移動させる送り系の摩擦は、潤滑油の粘度、案内面の摩耗状況、温度、送り系の稼動時間、等により変化する。送り系の摩擦が変化すると、象限突起200の大きさが変動する。送り系の摩擦力の変化は基準トルク値TR1iに対する駆動トルク値TR2iの変化量に現れるので、設定加速量ΔVi及び設定加速時間Tiが基準トルク値TR1iを基準とした駆動トルク値TR2iに基づいて調整されることにより、送り系の摩擦が変化しても象限突起200を抑制することができる。従って、本具体例は、象限突起200をさらに抑制することができる。
【0055】
尚、上述した具体例では基準トルク値TR1iを基準とした駆動トルク値TR2iに基づいて設定加速量ΔViと設定加速時間Tiの両方を調整したが、設定加速量ΔViと設定加速時間Tiのいずれか一方のみ調整しても、象限突起をさらに抑制する効果が得られる。すなわち、基準トルク値TR1iを基準とした駆動トルク値TR2iに基づいて、設定加速時間Tiを調整しないで設定加速量ΔViを調整してもよいし、設定加速量ΔViを調整しないで設定加速時間Tiを調整してもよい。
また、上述した具体例ではトルク値の比TR2i/TR1iの相加平均に対応する係数K,Mを設定加速量ΔVi及び設定加速時間Tiに使用したが、係数K,Mは駆動トルク値が大きくなるほど大きくなり、且つ、基準トルク値が大きくなるほど小さくなる様々な値にすることができる。係数K,Mの代わりに様々な計算式を設定加速量ΔVi及び設定加速時間Tiに使用することも可能である。
【0056】
図11,12に例示するように、NC装置70は、図8に示すS102、及び、図10に示すS210において、図9に示す象限突起補正調整画面500の代わりに象限突起補正調整画面501,502を表示部82に表示させてもよい。
図11に示す象限突起補正調整画面501は、加速量ΔViの設定領域511,512、加速時間Tiの設定領域513,514、及び、ソフトキー521~525を有している。設定領域511~514及びソフトキー521~525は図9で示した設定領域511~514及びソフトキー521~525と同じであるので、説明を省略する。さらに、象限突起補正調整画面501は、「半径が大きい場合は加速量を小さく加速時間を大きく設定します。」というガイダンス531、及び、「送り速度が大きい場合は加速量を大きく加速時間を小さく設定します。」というガイダンス532を有している。オペレーターは、ガイダンス531に従って、円弧半径riが比較的大きい場合に加速量ΔViを比較的小さく且つ加速時間Tiを比較的大きく設定すればよく、円弧半径riが比較的小さい場合に加速量ΔViを比較的大きく且つ加速時間Tiを比較的小さく設定すればよい。また、オペレーターは、ガイダンス532に従って、送り速度viが比較的大きい場合に加速量ΔViを比較的大きく且つ加速時間Tiを比較的小さく設定すればよく、送り速度viが比較的小さい場合に加速量ΔViを比較的小さく且つ加速時間Tiを比較的大きく設定すればよい。
【0057】
図12に示す象限突起補正調整画面502は、ソフトキー521~525に加えて、一つの画面で加速量ΔVi及び加速時間Tiを複数のチャンネルCH1,CH2,CH3について設定するための設定領域群533を有している。どのチャンネルCH1~CH3の設定値を適用するかは、加工プログラムPR2で決定可能である。
【0058】
(4)機械学習への適用例:
さらに、図13~16に例示するように、機械学習を利用することにより象限突起200をさらに抑制可能な工作機械1を構成することも可能である。
図13は、機械学習部U3をコンピューター100に備える工作機械1の例を模式的に示している。図13において、図1,2と一部重複する要素については記載及び説明を省略している。図13の下部には、データベースDBの構造例が示されている。
【0059】
図13に示すコンピューター100の記憶装置104は、機械学習部U3に対応する機械学習プログラムPR3、及び、制御部U2の一部に対応する調整プログラムPR4を記憶している。これらのプログラム(PR3,PR4)は、CPU101によってRAM103に読み出されることにより実行される。コンピューター100のRAM103には、データベースDB、及び、該データベースDBに基づいて生成される学習済モデルLMが格納されている。学習済モデルLMは、刃物台20の動作を表す動作パラメーター及び駆動トルク値に基づいて駆動部U1に加える設定値を決定するようにコンピューター100を機能させるためのプログラムである。図13に示す動作パラメーターは、刃物台20の移動の円弧半径ri、及び、刃物台20の送り速度viを含んでいる。また、図13に示す設定値は、図14に示す駆動トルク値triに基づいて決定された調整済加速量ΔVi及び調整済加速時間Tiを含んでいる。NC装置70は、複数の駆動部U1による刃物台20の移動を制御し、さらに、駆動部U1の駆動方向の反転による象限突起200を抑制するために調整済加速量ΔViを調整済加速時間Ti、駆動部U1に加えるバックラッシ加速を行っている。
【0060】
生成された学習済モデルLMは、コンピューター100からNC装置70に送信されてNC装置70のRAM73に格納されてもよい。これにより、NC装置70は、学習済モデルLMに従って加速量ΔVi及び加速時間Tiを決定することができる。
【0061】
データベースDBには、レコードを識別する識別情報である識別番号jに、円弧半径rji、送り速度vji、駆動トルク値trji、調整済加速量ΔVji、及び、調整済加速時間Tjiが紐付けられている状態で格納されている。尚、円弧半径rji、送り速度vji、駆動トルク値trji、調整済加速量ΔVji、及び、調整済加速時間Tjiは、それぞれ、識別番号jに対応付けられている円弧半径ri、送り速度vi、駆動トルク値tri、調整済加速量ΔVi、及び、調整済加速時間Tiを意味する。
【0062】
図14は、学習済モデルLMを生成する学習処理の例を示している。この処理は、機械学習プログラムPR3を実行するコンピューター100により行われる。
学習処理が開始すると、コンピューター100は、加工プログラムPR2に合わせて、駆動部U1の駆動方向の反転を伴う指令iに対応する円弧半径ri及び送り速度viを含む動作パラメーターを取得する(S302)。加工プログラムPR2に複数の指令iがある場合、コンピューター100は、指令毎に動作パラメーターを取得する。例えば、コンピューター100は、NC装置70から自動的に出力される動作パラメーターを取得してもよい。また、コンピューター100は、NC装置70に動作パラメーターの出力を要求することによりNC装置70から出力される動作パラメーターを取得することができる。この場合、動作パラメーターの出力要求を受け取ったNC装置70は、加工プログラムPR2(図2参照)から動作パラメーターを取得してコンピューター100に出力すればよい。さらに、コンピューター100は、加工プログラムPR2を読み出して加工プログラムPR2から動作パラメーターを取得してもよい。
【0063】
また、コンピューター100は、指令iに対応する駆動トルク値triを取得する(S304)。例えば、コンピューター100は、NC装置70から自動的に出力される駆動トルク値triを取得してもよい。また、コンピューター100は、NC装置70に駆動トルク値triの出力を要求することによりNC装置70から出力される駆動トルク値triを取得することができる。この場合、駆動トルク値triの出力要求を受け取ったNC装置70は、加工プログラムPR2の実行時に駆動トルク値triをサーボアンプ31,32から取得しておき、取得した駆動トルク値triをコンピューター100に出力すればよい。
さらに、コンピューター100は、指令iに対応する調整済加速量ΔVi及び調整済加速時間Tiを含む設定値を取得する(S306)。例えば、コンピューター100は、NC装置70から自動的に出力される設定値を取得してもよい。また、コンピューター100は、NC装置70に設定値の出力を要求することによりNC装置70から出力される設定値を取得することができる。この場合、設定値の出力要求を受け取ったNC装置70は、設定値を取得してコンピューター100に出力すればよい。
【0064】
その後、コンピューター100は、S302で取得された円弧半径ri及び送り速度viを含む動作パラメーター、S304で取得された駆動トルク値tri、及び、S306で取得された調整済加速量ΔVi及び調整済加速時間Tiを含む設定値をデータベースDBに格納する(S308)。データベースDBのレコードは多い方がよいため、S302~S308の処理は繰り返し行われる。
【0065】
データベースDBに情報が蓄積された後、コンピューター100は、データベースDBに格納されている情報に基づいた教師有り機械学習により、学習済モデルLMをRAM103に生成する(S310)。学習済モデルLMには、ニューラルネットワーク、ベイジアンネットワーク、これらの少なくとも一方を主要部として換算式を組み合わせた学習済モデル、等を用いることができる。学習済モデルLMにニューラルネットワークが含まれる場合には深層学習の手法により学習を進めるようにしてもよい。尚、ニューラルネットワーク、ベイジアンネットワーク、深層学習、等の詳細については公知であるため説明を省略する。得られる学習済モデルLMは、円弧半径ri及び送り速度viを含む動作パラメーター、及び、駆動トルク値triが入力されることにより、調整済加速量ΔVi及び調整済加速時間Tiを含む設定値を出力する。すなわち、学習済モデルLMは、動作パラメーター(ri,vi)及び駆動トルク値triに基づいて、駆動部U1に加える加速量ΔVi及び加速時間Tiを決定するようにコンピューター100を機能させる。
【0066】
学習済モデルLMの生成後、コンピューター100は、学習済モデルLMを記憶し(S312)、学習処理を終了させる。機械本体2が学習済モデルLMを使用する場合、コンピューター100は、学習済モデルLMを機械本体2に送信すればよい。学習済モデルLMを受信した機械本体2は、学習済モデルLMをRAM73に格納することにより、駆動部U1に加える加速量ΔVi及び加速時間Tiを決定する処理を行うことができる。
【0067】
図15は、調整された加速量ΔVi及び加速時間Tiを決定して駆動部U1に出力する調整処理の例を示している。この処理は、例えば、制御部U2としてのNC装置70により行われる。
まず、NC装置70は、加工プログラムPR2に合わせて、駆動部U1の駆動方向の反転を伴う指令iに対応する円弧半径ri及び送り速度viを含む動作パラメーターを取得する(S402)。次に、NC装置70は、加工プログラムPR2を試験的に実行し、駆動部U1の駆動方向の反転を伴う指令iの実行時にサーボアンプ31,32から駆動トルク値triを取得する(S404)。指令iの実行時に駆動部U1に加える加速量ΔVi及び加速時間Tiは、初期値等、調整されていない値でよい。
【0068】
動作パラメーター(ri,vi)及び駆動トルク値triの取得後、NC装置70は、動作パラメーター(ri,vi)及び駆動トルク値triを学習済モデルLMに入力することにより、学習済モデルLMに調整済加速量ΔVi及び調整済加速時間Tiを含む設定値を出力させる(S406)。学習済モデルLMがRAM73に格納されている場合、NC装置70は、自ら学習済モデルLMを実行することにより設定値(ΔVi,Ti)を決定することができる。学習済モデルLMがコンピューター100のRAM103に格納されている場合、NC装置70は、コンピューター100に動作パラメーター(ri,vi)及び駆動トルク値triを出力して設定値(ΔVi,Ti)の出力を要求することによりコンピューター100から設定値(ΔVi,Ti)を取得することができる。この場合、設定値(ΔVi,Ti)の出力要求を受け取ったコンピューター100は、動作パラメーター(ri,vi)及び駆動トルク値triを学習済モデルLMに入力することにより学習済モデルLMに設定値(ΔVi,Ti)を出力させ、該設定値(ΔVi,Ti)をNC装置70に出力すればよい。
以上により、NC装置70は、動作パラメーター(ri,vi)及び駆動トルク値triを入力として学習済モデルLMを実行させることにより決定された設定値(ΔVi,Ti)を取得する。
【0069】
設定値(ΔVi,Ti)の取得後、NC装置70は、設定値(ΔVi,Ti)をROM72とRAM73の少なくとも一方に記憶させ、さらに、設定値(ΔVi,Ti)を駆動部U1に出力し(S408)、調整処理を終了させる。NC装置70は、加工プログラムPR2を実行すると、複数の駆動部U1による刃物台20の移動を制御し、駆動部U1の駆動方向の反転を伴う指令iの実行時、象限突起200を抑制するために調整済加速量ΔViを調整済加速時間Tiの間、駆動部U1に加えるバックラッシ加速を行う。
尚、コンピューター100がNC装置70と協働して調整処理を行ってもよい。
【0070】
刃物台20を送り軸に沿って移動させる送り系の摩擦は、潤滑油の粘度、案内面の摩耗状況、温度、送り系の稼動時間、等により変化する。送り系の摩擦が変化すると、象限突起200の大きさが変動する。送り系の摩擦力は駆動トルク値triに現れるので、調整済加速量ΔVi及び調整済加速時間Tiは、刃物台20の動作を表す動作パラメーター(ri,vi)のみならず、駆動トルク値triにも影響される。そこで、動作パラメーター(ri,vi)、駆動トルク値tri、調整済加速量ΔVi、及び、調整済加速時間Tiに基づいた機械学習により生成された学習済モデルLMを用いることにより、象限突起200を抑制するために駆動部U1に加える調整済加速量ΔVi及び調整済加速時間Tiを動作パラメーター(ri,vi)及び駆動トルク値triに基づいて決定することができる。従って、図13~15に示す例は、象限突起200をさらに抑制する学習済モデルLMを生成することができ、この学習済モデルLMを使用することにより象限突起200をさらに抑制することができる。
【0071】
さらに、図16に例示するように、機械本体2が機械学習プログラムPR3を実行することにより学習済モデルLMを生成してもよい。図16は、機械学習部U3を備える機械本体2の例を模式的に示している。図16において、図2と一部重複する要素については記載及び説明を省略している。図16の下部には、データベースDBの構造例が示されている。図16に示すデータベースDBは、図13に示すデータベースDBと同じであるので、説明を省略する。
【0072】
図16に示すNC装置70のROM72には、制御部U2に対応する制御プログラムPR1、及び、機械学習部U3に対応する機械学習プログラムPR3が書き込まれている。NC装置70のRAM73には、加工プログラムPR2、データベースDB、及び、学習済モデルLMが格納されている。学習済モデルLMは、動作パラメーター(ri,vi)及び駆動トルク値triに基づいて、駆動部U1に加える加速量ΔVi及び加速時間Tiを決定するようにコンピューター100を機能させる。
【0073】
NC装置70は、図14に示すフローチャートに従って学習処理を行うことができる。
学習処理が開始すると、NC装置70は、加工プログラムPR2に合わせて、駆動部U1の駆動方向の反転を伴う指令iに対応する円弧半径ri及び送り速度viを含む動作パラメーターを取得する(S302)。また、NC装置70は、指令iに対応する駆動トルク値triを取得する(S304)。さらに、NC装置70は、指令iに対応する調整済加速量ΔVi及び調整済加速時間Tiを含む設定値を取得する(S306)。その後、NC装置70は、S302で取得された動作パラメーター(ri,vi)、S304で取得された駆動トルク値tri、及び、S306で取得された設定値(ΔVi,Ti)をデータベースDBに格納する(S308)。S302~S308の処理は、繰り返し行われる。データベースDBに情報が蓄積された後、NC装置70は、データベースDBに格納されている情報に基づいた教師有り機械学習により、学習済モデルLMをRAM103に生成する(S310)。学習済モデルLMの生成後、NC装置70は、必要に応じて学習済モデルLMを記憶し(S312)、学習処理を終了させる。学習済モデルLMの記憶場所は、ROM72、機械本体2内の記憶装置(不図示)、コンピューター100の記憶装置104、等のいずれでもよい。尚、図15に示す調整処理をNC装置70が行う場合、学習済モデルLMがRAM73に格納されている状態で調整処理が行われる。
【0074】
図16に示す例は、コストアップを抑制しながら象限突起200をさらに抑制する学習済モデルLMを生成することができ、この学習済モデルLMを使用することにより象限突起200をさらに抑制することができる。
上述した機械学習部U3はNC装置70とコンピューター100との協働により実現されてもよく、上述した制御部U2もNC装置70とコンピューター100との協働により実現されてもよい。
【0075】
尚、図13~16で示した例では調整済加速量ΔViと調整済加速時間Tiの両方を決定する学習済モデルLMを生成したが、調整済加速量ΔViと調整済加速時間Tiのいずれか一方のみ生成する学習済モデルLMを生成しても、象限突起をさらに抑制する学習済モデルを生成する効果が得られる。例えば、調整済加速時間Tiを使用しないで動作パラメーター(ri,vi)と駆動トルク値triと調整済加速量ΔViに基づいた機械学習により、動作パラメーター(ri,vi)と駆動トルク値triに基づいて駆動部U1に加える調整済加速量ΔViを決定するようにコンピューターを機能させる学習済モデルを生成することが可能である。また、調整済加速量ΔViを使用しないで動作パラメーター(ri,vi)と駆動トルク値triと調整済加速時間Tiに基づいた機械学習により、動作パラメーター(ri,vi)と駆動トルク値triに基づいて駆動部U1に加える調整済加速時間Tiを決定するようにコンピューターを機能させる学習済モデルを生成することが可能である。
【0076】
(5)変形例:
本発明は、種々の変形例が考えられる。
例えば、駆動対象が移動する第一送り軸は、X軸に限定されず、第二送り軸と異なる限り、Y軸やZ軸等でもよい。駆動対象が移動する第二送り軸は、Y軸に限定されず、第一送り軸と異なる限り、X軸やZ軸等でもよい。
上述した処理は、順番を入れ替える等、適宜、変更可能である。
【0077】
(6)結び:
以上説明したように、本発明によると、種々の態様により、象限突起をさらに抑制可能な工作機械等の技術を提供することができる。むろん、独立請求項に係る構成要件のみからなる技術でも、上述した基本的な作用、効果が得られる。
また、上述した例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術及び上述した例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も実施可能である。本発明は、これらの構成等も含まれる。
【符号の説明】
【0078】
1…工作機械、2…機械本体、
20…刃物台(駆動対象の例)、
31,32…サーボアンプ、33,34…サーボモーター、35…エンコーダー、
70…NC装置、
100…コンピューター、
200…象限突起、
DB…データベース、
F1…第一送り軸、F2…第二送り軸、
LM…学習済モデル、
PR1…制御プログラム、PR2…加工プログラム、
PR3…機械学習プログラム、PR4…調整プログラム、
U1…駆動部、U2…制御部、U3…機械学習部、
U11…第一駆動部、U12…第二駆動部、
W1…ワーク。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16