(57)【特許請求の範囲】
【請求項１】
モータにより駆動され並進又は回転運動をする機械装置に対して前記モータに移動指令に基づくトルク指令を出力するトルク指令出力部を有し、該トルク指令出力部が出力した前記トルク指令により前記機械装置に発生する振動を抑制する振動抑制装置において、
前記機械装置を駆動することで発生する振動と逆の位相の振動に対応する補償トルク指令を生成するトルク指令生成手段と、
前記トルク指令生成手段が生成した前記補償トルク指令を前記トルク指令出力部が出力する前記トルク指令に加算する加算手段と、
前記機械装置の移動時における加速度を検出する加速度検出手段と、
前記加速度検出手段が検出した前記加速度の振幅を測定する振幅測定手段と、
前記振幅測定手段が測定した前記振幅のデータを、前記機械装置固有の振動での前記振幅の周波数の範囲内の成分を通過させるバンドパスフィルタで処理するフィルタ処理手段と、
前記フィルタ処理手段によって処理した前記振幅のデータに基づき、インパルス状の波形を設定する波形設定手段と
を備え、
前記トルク指令生成手段は、前記波形設定手段によって設定された前記波形に基づき、前記補償トルク指令を生成すること
を特徴とする振動抑制装置。
【請求項２】
前記振動は前記機械装置の移動開始時、移動停止開始時、又は移動速度の変化時に発生する加速又は減速に基づくものであること
を特徴とする請求項１記載の振動抑制装置。
【請求項３】
前記トルク指令生成手段は前記トルク指令出力部が前記加速又は減速の前記トルク指令を出力した後、所定時間経過後前記補償トルク指令を前記加算手段に出力すること
を特徴とする請求項２に記載の振動抑制装置。
【請求項４】
前記インパルス状の前記波形を形成する為の情報である最大出力値、出力時間、及び前記所定時間を設定する情報設定手段を備え、
前記トルク指令生成手段は、前記波形設定手段によって設定された前記波形と、前記情報設定手段で設定された前記最大出力値、前記出力時間及び前記所定時間とに基づき、前記補償トルク指令を生成すること
を特徴とする請求項３に記載の振動抑制装置。
【請求項５】
前記トルク指令生成手段は、前記移動指令に基づく前記機械装置の加速度指令の変化に基づき、前記補償トルク指令を生成すること
を特徴とする請求項１から４の何れかに記載の振動抑制装置。
【請求項６】
モータにより駆動され並進又は回転運動をする機械装置に対して前記モータに移動指令に基づくトルク指令を出力するトルク指令出力部を有し、該トルク指令出力部が出力した前記トルク指令により前記機械装置に発生する振動を抑制する振動抑制装置が行う振動抑制方法において、
前記機械装置を駆動することで発生する振動と逆の位相の振動に対応する補償トルク指令を生成するトルク指令生成工程と、
前記トルク指令生成工程で生成した前記補償トルク指令を前記トルク指令出力部が出力する前記トルク指令に加算する加算工程と、
前記機械装置の移動時における加速度を検出する加速度検出工程と、
前記加速度検出工程で検出した前記加速度の振幅を測定する振幅測定工程と、
前記振幅測定工程で測定した前記振幅のデータを、前記機械装置固有の振動での前記振幅の周波数の範囲内の成分を通過させるバンドパスフィルタで処理するフィルタ処理工程と、
前記フィルタ処理工程で処理した前記振幅のデータに基づき、インパルス状の波形を設定する波形設定工程と
を備え、
前記トルク指令生成工程は、前記波形設定工程で設定された前記波形に基づき、前記補償トルク指令を生成すること
を特徴とする振動抑制方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振動抑制装置と振動抑制方法に関する。
【背景技術】
【０００２】
特許文献１は、モータ等の送り駆動機構を有する機械の位置決め時に発生する振動を打ち消す為に、位置指令をインパルス状に変化させて、該振動と逆位相の振動を発生させるサーボ制御装置の振動抑制方法を開示する。該方法は、モータに設置したセンサからの位置信号を取り込み、位置指令信号の最終値と位置信号を比較し、位置信号が位置指令信号を越えるオーバシュートが発生したことをトリガに、位置指令信号と逆位相のインパルス状の信号を付加する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−９２６２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記方法は、オーバシュートが発生したことをトリガに、逆位相のインパルス状の信号を付加するので、オーバシュートを打ち消すことができないという問題点があった。
【０００５】
本発明の目的は、機械装置に発生する振動を抑制できる振動抑制装置と振動抑制方法を提供することである。
【課題を解決するための手段】
【０００６】
請求項１に係る振動抑制装置は、モータにより駆動され並進又は回転運動をする機械装置に対して前記モータに移動指令に基づくトルク指令を出力するトルク指令出力部を有し、該トルク指令出力部が出力した前記トルク指令により前記機械装置に発生する振動を抑制する振動抑制装置において、前記機械装置を駆動することで発生する振動と逆の位相の振動に対応する補償トルク指令を生成するトルク指令生成手段と、前記トルク指令生成手段が生成した前記補償トルク指令を前記トルク指令出力部が出力する前記トルク指令に加算する加算手段と、前記機械装置の移動時における加速度を検出する加速度検出手段と、前記加速度検出手段が検出した前記加速度の振幅を測定する振幅測定手段と、前記振幅測定手段が測定した前記振幅のデータを、前記機械装置固有の振動での前記振幅の周波数の範囲内の成分を通過させるバンドパスフィルタで処理するフィルタ処理手段と、前記フィルタ処理手段によって処理した前記振幅のデータに基づき、インパルス状の波形を設定する波形設定手段とを備え、前記トルク指令生成手段は、前記波形設定手段によって設定された前記波形に基づき、前記補償トルク指令を生成することを特徴とする。故に振動抑制装置は、機械装置に発生する振動と逆位相の振動を発生できるので、トータルでの機械装置に発生する振動を効果的に打ち消して抑制できる。
【０００７】
請求項２に係る振動抑制装置は、請求項１に記載の発明の構成に加え、前記振動は前記機械装置の移動開始時、移動停止開始時、又は移動速度の変化時に発生する加速又は減速に基づくものであることを特徴とする。故に振動抑制装置は、機械装置の移動開始時、移動停止時、又は移動速度の変化時に発生する加速又は減速に基づく振動を抑制できる。
【０００８】
請求項３に係る振動抑制装置は、請求項２に記載の発明の構成に加え、前記トルク指令生成手段は前記トルク指令出力部が前記加速又は減速の前記トルク指令を出力した後、所定時間経過後前記補償トルク指令を前記加算手段に出力することを特徴とする。故に振動抑制装置は、振動の発生時に生ずるオーバシュートも抑制できる。
【０００９】
【００１０】
請求項４に係る振動抑制装置は、請求項３に記載の発明の構成に加え、前記インパルス状の前記波形を形成する為の情報である最大出力値、出力時間、及び前記所定時間を設定する情報設定手段を備え、前記トルク指令生成手段は、前記波形設定手段によって設定された前記波形と、前記情報設定手段で設定された前記最大出力値、前記出力時間及び前記所定時間とに基づき、前記補償トルク指令を生成することを特徴とする。振動抑制装置は、インパルス状の補償トルク指令について、機械装置に発生する振動の性質に応じて、補償トルク指令の最大出力値、出力時間、所定時間を設定できる。所定時間とは、トルク指令出力部が加速又は減速のトルク指令を出力した後、補償トルクを加算手段に出力するまでの時間である。故に振動抑制装置は、機械装置に発生する振動に応じて最適な逆位相の振動を発生できる。
【００１１】
請求項５に係る振動抑制装置は、請求項１から４の何れかに記載の発明の構成に加え、前記トルク指令生成手段は、前記移動指令に基づく前記機械装置の加速度指令の変化に基づき、前記補償トルク指令を生成することを特徴とする。振動抑制装置は加速度指令の変化に基づき、振動と逆位相の振動に対応する補償トルク指令をトルク指令に加算する。故に振動抑制装置は、予想される機械装置に発生する振動と逆位相の振動をフィードフォワード処理で発生できるので、機械装置に発生する振動を打ち消して抑制できる。
【００１２】
請求項６に係る振動抑制方法は、モータにより駆動され並進又は回転運動をする機械装置に対して前記モータに移動指令に基づくトルク指令を出力するトルク指令出力部を有し、該トルク指令出力部が出力した前記トルク指令により前記機械装置に発生する振動を抑制する振動抑制装置が行う振動抑制方法において、前記機械装置を駆動することで発生する振動と逆の位相の振動に対応する補償トルク指令を生成するトルク指令生成工程と、前記トルク指令生成工程で生成した前記補償トルク指令を前記トルク指令出力部が出力する前記トルク指令に加算する加算工程と、前記機械装置の移動時における加速度を検出する加速度検出工程と、前記加速度検出工程で検出した前記加速度の振幅を測定する振幅測定工程と、前記振幅測定工程で測定した前記振幅のデータを、前記機械装置固有の振動での前記振幅の周波数の範囲内の成分を通過させるバンドパスフィルタで処理するフィルタ処理工程と、前記フィルタ処理工程で処理した前記振幅のデータに基づき、インパルス状の波形を設定する波形設定工程とを備え、前記トルク指令生成工程は、前記波形設定工程で設定された前記波形に基づき、前記補償トルク指令を生成することを特徴とする。振動抑制装置は上記工程を行うことで、請求項１に記載の効果を得ることができる。
【００１３】
上記請求項１〜５の一部の構成を任意に組み合わせてもよい。
【図面の簡単な説明】
【００１４】
【図１】工作機械１の斜視図。
【図２】数値制御装置３０と工作機械１の電気的構成を示すブロック図。
【図３】駆動回路５３Ａのサーボ制御系を示す図。
【図４】テーブルの移動経路を示す図表。
【図５】加速度指令と補償トルク指令の時間変化を示す図表。
【図６】移動経路のＹ軸方向反転部分におけるテーブルの加速度変化を示す図表。
【図７】図６に示す加速度変化をバンドパスフィルタで処理した図表。
【図８】インパルス状のトルク指令を加算した時のテーブルの加速度変化を示す図表。
【図９】図８に示す加速度変化をバンドパスフィルタで処理した図表。
【図１０】指令最大加速度とテーブルの加速度振幅の関係を示す図表。
【図１１】力積とテーブルの加速度振幅の関係を示す図表。
【図１２】メイン処理の流れ図。
【図１３】補償トルク加算処理の流れ図。
【図１４】振動抑制機能の確認試験の結果を示す図表。
【図１５】二慣性系の機械系シミュレーションモデルを示す図。
【図１６】減衰振動波形の一例を示す図表。
【図１７】機械固有の振動波形に減衰振動波形を加算したときのシミュレーション結果を示す図表。
【発明を実施するための形態】
【００１５】
本発明の実施形態を図面を参照して説明する。以下説明は、図中に矢印で示す左右、前後、上下を使用する。工作機械１の左右方向、前後方向、上下方向は夫々工作機械１のＸ軸方向、Ｙ軸方向、Ｚ軸方向である。図１に示す工作機械１は主軸９に装着した工具４を回転し、テーブル１３上面に保持した被削材３に切削加工を施す機械である。数値制御装置３０（図２参照）は工作機械１の動作を制御するものであり、本発明の振動抑制装置の一例である。
【００１６】
図１を参照し工作機械１の構造を説明する。工作機械１は、基台２、コラム５、主軸ヘッド７、主軸９、テーブル装置１０、工具交換装置２０、制御箱６、操作パネル１５（図２参照）等を備える。基台２は金属製の略直方体状の土台である。コラム５は基台２上部後方に立設する。主軸ヘッド７はコラム５前面に沿ってＺ軸方向に移動可能に設ける。主軸ヘッド７は内部に主軸９を回転可能に支持する。主軸９は主軸ヘッド７下部に装着穴（図示略）を有する。主軸９は該装着穴に工具４を装着し、主軸モータ５２（図２参照）の駆動で回転する。主軸モータ５２は主軸ヘッド７に設ける。主軸ヘッド７はコラム５前面に設けたＺ軸移動機構（図示略）でＺ軸方向に移動する。数値制御装置３０はＺ軸モータ５１の駆動を制御することで、主軸ヘッド７をＺ軸方向に移動制御する。
【００１７】
テーブル装置１０は、Ｙ軸移動機構（図示略）、Ｙ軸テーブル１２、Ｘ軸移動機構（図示略）、テーブル１３等を備える。Ｙ軸移動機構は基台２上面前側に設け、一対のＹ軸レール、Ｙ軸ボール螺子、Ｙ軸モータ５４（図２参照）等を備える。一対のＹ軸レールとＹ軸ボール螺子はＹ軸方向に延びる。一対のＹ軸レールは上面にＹ軸テーブル１２をＹ軸方向に案内する。Ｙ軸テーブル１２は略直方体状に形成し、底部外面にナット（図示略）を備える。該ナットはＹ軸ボール螺子に螺合する。Ｙ軸モータ５４がＹ軸ボール螺子を回転すると、Ｙ軸テーブル１２はナットと共に一対のＹ軸レールに沿って移動する。故にＹ軸移動機構はＹ軸テーブル１２をＹ軸方向に移動可能に支持する。
【００１８】
Ｘ軸移動機構はＹ軸テーブル１２上面に設け、一対のＸ軸レール（図示略）、Ｘ軸ボール螺子（図示略）、Ｘ軸モータ５３（図２参照）等を備える。Ｘ軸レールとＸ軸ボール螺子はＸ軸方向に延びる。テーブル１３は平面視矩形板状に形成し、Ｙ軸テーブル１２上面に設ける。テーブル１３は底部にナット（図示略）を備える。該ナットはＸ軸ボール螺子に螺合する。Ｘ軸モータ５３がＸ軸ボール螺子を回転すると、テーブル１３はナットと共に一対のＸ軸レールに沿って移動する。故にＸ軸移動機構はテーブル１３をＸ軸方向に移動可能に支持する。故にテーブル１３は、Ｙ軸移動機構、Ｙ軸テーブル１２、Ｘ軸移動機構により、基台２上をＸ軸方向とＹ軸方向に移動可能である。
【００１９】
工具交換装置２０は主軸ヘッド７の前側に設け、円盤型の工具マガジン２１を備える。工具マガジン２１は外周に複数の工具（図示略）を放射状に保持し、工具交換指令が指示する工具を工具交換位置に位置決めする。工具交換指令はＮＣプログラムで指令する。工具交換位置は工具マガジン２１の最下部位置である。工具交換装置２０は主軸９に装着する工具４と工具交換位置にある工具とを入れ替え交換する。
【００２０】
制御箱６は数値制御装置３０(図２参照）を格納する。数値制御装置３０は、工作機械１に設けたＺ軸モータ５１、主軸モータ５２、Ｘ軸モータ５３、Ｙ軸モータ５４(図２参照）を夫々制御し、テーブル１３上に保持した被削材３と主軸９に装着した工具４を相対移動することで各種加工を被削材３に施す。各種加工とは、例えばドリル、タップ等を用いた穴空け加工、エンドミル、フライス等を用いた側面加工等である。
【００２１】
操作パネル１５は、例えば工作機械１を覆うカバー（図示略）の外壁に設ける。操作パネル１５は入力部１６と表示部１７(図２参照）を備える。入力部１６は各種情報、操作指示等の入力を受け付け、後述する数値制御装置３０に出力する。表示部１７は後述する数値制御装置３０からの指令に基づき、各種画面を表示する。
【００２２】
図２を参照し、数値制御装置３０と工作機械１の電気的構成を説明する。数値制御装置３０と工作機械１は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、記憶装置３４、入出力部３５、駆動回路５１Ａ〜５５Ａ等を備える。ＣＰＵ３１は数値制御装置３０を統括制御する。ＲＯＭ３２は、メインプログラム、補償トルク加算プログラムを含む各種プログラム等を記憶する。メインプログラムは、後述するメイン処理(図１２参照）を実行するものである。メイン処理は、ＮＣプログラムを一行ずつ読み込んで各種動作を実行する。ＮＣプログラムは各種制御指令を含む複数行で構成し、工作機械１の軸移動、工具交換等を含む各種動作を行単位で制御するものである。補償トルク加算プログラムは、メインプログラムのサブプログラムであり、後述する補償トルク加算処理（図１３参照）を実行するものである。ＲＡＭ３３は各種情報を一時的に記憶する。記憶装置３４は不揮発性であり、ＮＣプログラム、各種情報を記憶する。ＣＰＵ３１は作業者が操作パネル１５の入力部１６で入力したＮＣプログラムに加え、外部入力で読み込んだＮＣプログラム等を記憶装置３４に記憶できる。
【００２３】
駆動回路５１ＡはＺ軸モータ５１とエンコーダ５１Ｂに接続する。駆動回路５２Ａは主軸モータ５２とエンコーダ５２Ｂに接続する。駆動回路５３ＡはＸ軸モータ５３とエンコーダ５３Ｂに接続する。駆動回路５４ＡはＹ軸モータ５４とエンコーダ５４Ｂに接続する。駆動回路５５Ａは工具マガジン２１を駆動するマガジンモータ５５とエンコーダ５５Ｂに接続する。Ｚ軸モータ５１、主軸モータ５２、Ｘ軸モータ５３、Ｙ軸モータ５４、マガジンモータ５５は何れもサーボモータである（以下総称する場合は単にモータと呼ぶ）。駆動回路５１Ａ〜５５ＡはＣＰＵ３１から指令を受け、対応する各モータ５１〜５５に駆動電流を夫々出力する。駆動回路５１Ａ〜５５Ａはエンコーダ５１Ｂ〜５５Ｂからフィードバック信号を受け、位置と速度のフィードバック制御を行う。入出力部３５は操作パネル１５の入力部１６と表示部１７に夫々接続する。
【００２４】
図３を参照し、駆動回路５３Ａのサーボ制御系を説明する。駆動回路５１Ａ〜５５Ａのサーボ制御系は同一の構成であるので、駆動回路５３Ａのサーボ制御系を一例として説明する。Ｘ軸モータ５３のエンコーダ５３Ｂは、Ｘ軸モータ５３の現在の位置情報を位置フィードバック信号として、加算器６２に出力する。数値制御装置３０はＮＣプログラムの制御指令に基づき位置指令（本発明の移動指令の一例）を生成し、駆動回路５３Ａに出力する。駆動回路５３Ａは位置指令に従い、Ｘ軸モータ５３が動作するようにＸ軸モータ５３に出力する駆動電流を制御する。
【００２５】
駆動回路５３Ａの加算器６２は、位置指令と実際の位置の信号である位置フィードバック信号の位置偏差を算出し、該位置偏差に位置比例ゲインを乗ずることで速度指令を算出する。加算器６３は、算出した速度指令と実際の速度、即ち位置フィードバック信号を微分器６４で微分して得た速度フィードバック信号との速度偏差を算出する。加算器６７は、加算器６３が算出した速度偏差に速度比例ゲインを乗ずることで得た電流指令（比例）と、上記速度偏差を積分器６５で積分してその積分結果に速度積分ゲインを乗ずることで得た電流指令（積分）を加算し、トルク指令を生成する。電流制御部６８は、加算器６７が生成したトルク指令に対し後述する補償トルク指令を加算して得られる電流指令に基づき、Ｘ軸モータ５３に流れる電流の通電制御を行う。
【００２６】
図４，図５を参照し、補償トルク指令を説明する。補償トルク指令は、テーブル装置１０を駆動し、テーブル１３に発生する振動に対して１８０°位相が異なる振動を発生する為のトルク指令（電流）である。補償トルク指令は、テーブル１３に発生する振動を打ち消すことができる。数値制御装置３０のＣＰＵ３１は、Ｘ軸モータ５３の加速度指令の出力開始をトリガとし、後述する遅れ時間ｔｄ経過後に、インパルス状の補償トルク指令をＸ軸モータ５３に出力するトルク指令に加算する。加速度指令は、位置指令を二回微分して得られる。加速度指令は加速又は減速指令を含む概念である。加速又は減速指令は、例えばテーブル１３の移動開始時、移動停止開始時、又は移動方向反転時等に生成する。加速度指令の出力開始とは、加速度指令が０から０以外に変化した時点を指す。但し、一定速移動時の加速度指令は一般的に量子化誤差によって微小な値を持つため、加速度指令の出力開始を判定するための閾値Ａｔ（図５参照）を加速度指令の絶対値が超えた時点を加速度指令の出力開始と見なす。
【００２７】
例えば、図４に示す菱形状の移動経路に沿ってテーブル１３が移動する場合、テーブル１３の加速度は変化する。図５は、移動経路のＹ軸方向反転部分における加速度指令の時間変化を示す。点線は加速度指令を示し、実線は補償トルク指令を示す。加速度指令はｔｓで出力を開始する。加速度指令は時間に比例して増大し、ｔｓの出力開始から例えば約０．０２５ｓ後に最大値に達する。その後、時間に比例して減少する。加速度指令の最大値は、指令最大加速度である。ＣＰＵ３１は、加速度指令の出力を開始したｔsから遅れ時間ｔｄ経過後に、インパルス状の補償トルク指令を出力する。補償トルク指令の力積は、ＴＣとｔｌの積である。ＴＣは力の大きさ、ｔｌは力の持続時間である。力積は指令最大加速度から求められる。指令最大加速度は、例えば指令速度と、加減速時定数等の情報から求められる。なお、力積と指令最大加速度の関係は後述する。
【００２８】
次に、テーブル装置１０の駆動時に発生する機械固有振動と、インパルス状のトルクを加算した時に発生する振動とを比較する為に、試験１と２を実施した。本実施形態の機械固有振動とは、テーブル装置１０の構造のみに由来する振動を意味する。
【００２９】
試験１を説明する。試験１では、図４に示す菱形状の移動経路に沿ってテーブル１３を移動し、Ｙ軸方向反転部分においてテーブル１３に発生する振動での加速度振幅を測定した。テーブル１３の加速度は、周知のグリッドエンコーダで測定した。図６は試験１の結果である。加速度は、移動開始から０．８２〜０．８５ｓでプラス方向に大きなピークを生じた後、小刻みに上下に振れながら時間経過と共に徐々に減衰している。テーブル１３に発生する振動は加速度を変化させる。但し、０．８２〜０．８５ｓに生じた大きなピークは、テーブル１３の移動反転時に生じたものであり、移動方向を反転する為に必要な加速度である。故に図６に示す加速度振幅は、他要因の加速度が混合したものであるから、テーブル装置１０の機械固有振動での加速度振幅を示すものではない。
【００３０】
図７に示す図表は、図６に示す加速度振幅のデータをバンドパスフィルタで処理したものである。バンドパスフィルタは、所定範囲内の周波数成分を通過させるフィルタである。所定範囲は、機械固有振動での加速度振幅の周波数の範囲に設定する。故に図７に示す図表は、機械固有振動での加速度振幅を示したものである。０．８２〜０．８５ｓに生じた大きなピークは消失している。加速度は、０．８２ｓを過ぎた時点から小刻みに上下に振れながら時間経過と共に徐々に減衰している。本実施形態は、テーブル１３の移動反転後の最大加速度を、テーブル１３の加速度振幅とした。図７の結果より、移動方向反転時における機械固有振動での加速度振幅は、０．６５３ｍ／ｓ２であった。
【００３１】
試験２を説明する。試験２では、インパルス状のトルク指令を加算したときのテーブル１３に発生する振動での加速度振幅を測定した。図８は試験２の結果である。加速度は、０．１ｓ付近で大きく上下に振れた後、小刻みに上下に振れながら時間経過と共に徐々に減衰している。試験１と同様に、テーブル１３に発生する振動は加速度を変化させる。但し、０．１ｓ付近の大きな振幅は、インパルス状のトルク指令をモータに出力したことによって瞬間的に生じたものである。故に図８に示す加速度振幅は、インパルス状のトルク指令を加算したときにテーブル１３に発生する振動での加速度振幅のみを示すものではない。
【００３２】
図９に示す図表は、図８に示す加速度振幅のデータをバンドパスフィルタで処理したものである。バンドパスフィルタは、図７で用いたバンドパスフィルタと同一である。故に図９に示す図表は、インパルス状のトルクを加算したことによる機械固有振動での加速度振幅のみを示したものである。０．１ｓ付近の大きな振幅は消失している。加速度は、０．１ｓ付近から小刻みに上下に振れながら時間経過と共に徐々に減衰している。図９の結果より、インパルス状のトルク指令を加算したことによる機械固有振動での加速度振幅は、０．６０１ｍ／ｓ２であった。
【００３３】
試験１と２の結果より、インパルス状のトルクを加算することによって、テーブル１３の移動反転時に発生する振動での加速度振幅と同等の加速度振幅を生成できることがわかった。故に数値制御装置３０は、テーブル１３に発生する振動と大きさが同じで且つ逆位相の振動を、インパルス状の補償トルク指令で発生することで、テーブル１３の移動反転時に発生する振動を打ち消すことができる。
【００３４】
図１０，図１１を参照し、補償トルクに必要とする力積と指令最大加速度の関係を説明する。図１０に示す図表は、指令最大加速度を変えたときのテーブル１３の加速度振幅を夫々測定してプロットしたものであり、横軸は最大加速度、縦軸は加速度振幅である。図１０に示すように、テーブル１３の加速度振幅は、指令最大加速度にほぼ比例することがわかった。図１１に示す図表は、インパルス状のトルクの力積を変えたときのテーブル１３の加速度振幅を夫々測定してプロットしたものであり、横軸は力積であり、縦軸は加速度振幅である。力積は、ＴＣとｔｌの積であるので、ｔｌを１、２、２．５ｍｓに分け、夫々のｔｌに対してＴＣを変えることによって、力積について複数のバリエーションを設定した。図１１に示すように、ｔｌが同じであれば、テーブル１３の加速度振幅は、力積にほぼ比例することがわかった。
【００３５】
以上の結果より、本実施形態は、補償トルク指令をトルク指令に加算するトリガとなる加速度指令の指令最大加速度が分かれば、図１０，図１１に示すデータに基づき、その指令最大加速度に対応するテーブル１３の加速度振幅を求めることができ、その加速度振幅に対応する力積を求めることができる。故に本実施形態は、補償トルク指令を加算するトリガとなる加速度指令の指令最大加速度に基づき、補償トルクに必要とされる力積を求めることができる。なお、本実施形態の数値制御装置３０は、指令最大加速度から力積を求める為に、指令最大加速度と力積が対応付けられたデータ（図１０，図１１に基づくデータ）を記憶装置３４等に記憶する。
【００３６】
図１２を参照し、メイン処理を説明する。作業者は操作パネル１５の入力部１６を用いて、記憶装置３４に記憶する複数のＮＣプログラムの中から一のＮＣプログラムを選択し、選択したＮＣプログラムに基づく被削材３の加工開始を指示する。ＣＰＵ３１は入力部１６から加工開始指示を受け付けると、ＲＯＭ３２に記憶するメインプログラムを読み込み、本処理を実行する。なお、本実施形態は、操作パネル１５の入力部１６において、補償入力パラメータを予め設定可能である。補償入力パラメータとは、例えば上述のｔｌとｔｄである。設定した補償入力パラメータは記憶装置３４等に記憶するとよい。
【００３７】
ＣＰＵ３１は入力部１６で選択を受け付けたＮＣプログラムを読み込み（Ｓ１）、一行解釈する（Ｓ２）。ＣＰＵ３１は解釈した指令が終了指令か否か判断する（Ｓ３）。終了指令で無ければ（Ｓ３：ＮＯ）、ＣＰＵ３１は解釈した指令が位置指令か否か判断する（Ｓ４）。位置指令でも無ければ（Ｓ４：ＮＯ）、ＣＰＵ３１は解釈した指令に基づき動作を実行し（Ｓ５）、Ｓ２に戻り、次の一行を解釈する。解釈した指令が例えばＸ軸方向の位置指令である場合（Ｓ４：ＹＥＳ）、ＣＰＵ３１は位置指令をＸ軸モータ５３の駆動回路５３Ａに出力し（Ｓ６）、補償トルク加算処理を実行する（Ｓ７）。Ｓ３において、解釈した指令が終了指令と判断すると（Ｓ４：ＹＥＳ）、ＣＰＵ３１はメイン処理を終了する。
【００３８】
図１３を参照し、補償トルク加算処理を説明する。ＣＰＵ３１は位置指令に基づく加速又は減速指令（加速度指令）の出力を開始したか否か判断する（Ｓ１１）。加速又は減速指令を出力しない場合（Ｓ１１：ＮＯ）、加速又は減速に伴う振動がテーブル１３に生じないので、ＣＰＵ３１は補償トルクを生成する必要が無い。故にＣＰＵ３１は何もせずに本処理を終了し、図１２に示すメイン処理のＳ２に戻り、次の一行を解釈して処理を繰り返す。
【００３９】
加速又は減速指令の出力を開始した場合（Ｓ１１：ＹＥＳ）、ＣＰＵ３１は加速又は減速指令の出力を開始（図５のｔｓ参照）してから遅れ時間ｔｄが経過したか否か判断する（Ｓ１２）。遅れ時間ｔｄは記憶装置３４から読み出す。遅れ時間ｔｄが経過するまで（Ｓ１２：ＮＯ）、ＣＰＵ３１はＳ１２に戻って待機する。遅れ時間ｔｄが経過した場合（Ｓ１２：ＹＥＳ）、ＣＰＵ３１は補償トルク指令を生成する（Ｓ１３）。
【００４０】
ＣＰＵ３１はＳ６で出力した位置指令から指令速度を求め、指令速度と加減速時定数等の情報から指令最大加速度を求める。ＣＰＵ３１は指令最大加速度からテーブル１３の加速度振幅を求める。ＣＰＵ３１は求めた加速度振幅と記憶装置３４に記憶されたｔｌに基づき、補償トルク指令に必要な力積を求める。例えば、加速度振幅が２．５３７ｍ／ｓ２で、記憶装置３４等に予め記憶したｔｌが２ｍｓであった場合、図１１に示すデータに基づき、力積は約２０ＮＭとなる。ＣＰＵ３１は求めた力積に対応する補償トルク指令を生成する。なお、補償トルク指令の力の大きさＴＣは、モータに定められている許容トルクを考慮するのがよい。ＴＣはｔｌを調整することによって調整できる。
【００４１】
ＣＰＵ３１は生成した補償トルク指令を、図３に示すサーボ制御系の電流制御部６８に出力することで、加算器６７が出力するトルク指令に加算する（Ｓ１４）。補償トルク指令をトルク指令に加算することにより、テーブル１３が加速又は減速時に発生する振動に対して、大きさが同じで且つ１８０°逆位相の振動が発生する。故にＣＰＵ３１はテーブル１３の加速又は減速時に発生する振動を打ち消して抑制できる。ＣＰＵ３１は図１２に示すメイン処理のＳ２に戻り、次の一行を解釈して処理を繰り返す。解釈した指令が終了指令である場合（Ｓ３：ＹＥＳ）、ＣＰＵ３１はメイン処理を終了する。
【００４２】
本実施形態は、テーブル１３に発生する振動のオーバシュートをトリガとするのでは無く、位置指令の変化に基づき、予想されるテーブル１３に発生する振動と大きさが同じで、１８０°逆位相の振動をフィードフォワード処理で発生させる。具体的には、モータの加速又は減速指令の出力開始をトリガとして、その遅れ時間ｔｄ経過後に補償トルク指令をトルク指令に加算する。故に数値制御装置３０は、テーブル１３の加速又は減速時に発生する振動を効果的に抑制できる。
【００４３】
次に、本実施形態の振動抑制機能の効果を実証する為に確認試験を行った。確認試験では、補償トルク有りと無しで、図１４の左側に示す菱形状の移動経路に沿ってテーブル１３を移動した場合に、コーナ部Ｃ１とＣ２通過後にテーブル１３に発生する振動を測定した。コーナ部Ｃ１とＣ２はＹ軸方向で移動方向が反転する部分である。
【００４４】
例えばＦ＝１５０００ｍｍ／ｍｉｎの移動速度で反転したときのテーブル１３に生じた加速度振幅の最大値は２．５３７ｍ／ｓ２であった。このとき、補償トルクに必要とする力積は、図１１に示すように、ｔｌ＝２ｍｓであれば約２０Ｎｍ・ｍｓ、ｔｌ＝２．５ｍｓであれば約３０Ｎｍ・ｍｓであることがわかった。故に本実施形態は、ｔｌ＝２．５ｍｓ、力積＝３０Ｎｍ・ｍｓに設定し、補償トルクの大きさＴＣを、３０／２．５３７＝１１．８Ｎｍに設定した。遅れ時間ｔｄは、テーブル１３に発生する振動に対して位相を逆にする為、テーブル装置１０の機械固有振動数の半周期の整数倍にするのがよい。本実施形態は、遅れ時間ｔｄを機械固有振動数の半周期の一倍に設定した。
【００４５】
図１４に示すように、コーナ部Ｃ１をＹ軸方向において正から負方向に反転して移動した時にテーブル１３に生じた振動は、補償トルク無しでは、コーナ部Ｃ１通過直後から上下に大きく振幅し、時間経過と共に徐々に減衰した。これに対し、補償トルク有りでは、補償トルク無しに比べて振幅が全体的にかなり小さくなっていることから、振動が抑制されていることを確認できた。他方、コーナ部Ｃ２をＹ軸方向において負から正方向に反転して移動したときのテーブル１３に生じた振動は、補償トルク無しでは、コーナ部Ｃ２通過直後は、コーナ部Ｃ１の通過後とは逆に上下に小さく振幅し、時間経過と共に徐々に増大した。これに対し、補償トルク有りでは、補償トルク無しに比べて振幅が全体的にかなり小さくなっていることから、振動が抑制されていることを確認できた。以上のことから、本実施形態の振動抑制機能は、テーブル１３の移動経路の反転部分においてテーブル１３に発生する振動を抑制できることが実証された。
【００４６】
図１５〜図１７を参照し、補償トルク指令の変形例を説明する。本実施形態は、インパルス状の波形（矩形波）を有する補償トルク指令をトルク指令に加算しているが、インパルス状以外の波形を有する補償トルク指令を加算してもよい。インパルス状の波形は、広義の意味では、矩形波以外に、例えば、三角波、所定の周波数をもつ正弦波又は余弦波の半周期分に相当する波形、所定の周期と減衰比をもつ減衰振動波形、インパルスハンマによる加振力波形を模擬した波形、矩形波や三角波をローパスフィルタにより処理し、補償対象の振動の周波数以上の周波数を除いた波形、矩形波や三角波をバンドパスフィルタにより処理し、補償対象の振動の周波数のみを抽出した波形、矩形波や三角波をノッチフィルタにより処理し、補償にあたり不要な周波数を除去した波形、矩形波や三角波をハイパスフィルタにより処理し、補償対象の振動の周波数以下の周波数を除いた波形、補償対象の周波数に応じた入力タイミングを考慮し、上記補償信号を複数組み合わせた波形等を含むものとし、これらの波形に基づき、補償トルク指令を生成してもよい。本実施形態はこれらの波形の中から補償トルク指令として加算する波形を、操作パネル１５の入力部１６で選択して設定できるようにしてもよい。
【００４７】
次に、減衰振動波形を有する補償トルク指令をトルク指令に加算する場合についてシミュレーション実験を行った。本実験は、図１５に示す二慣性系の機械系シミュレーションモデルを用いた。本モデルは、モータとテーブル（負荷）の間をばねで接続した機械系モデルである。本実験は、モータ側の慣性、テーブル側の慣性と粘性、ばね定数等を考慮する。本実験で用いた減衰振動の式は以下の数１である。ａ，ｂ，ｃは任意の定数、ωは機械の固有振動数である。数１に基づく減衰振動波形の一例は、図１６に示す図表である。
【数１】
0006693013.tif 000002
【００４８】
図１７を参照し、実験結果を説明する。図１７（Ａ）は、機械反転後の振動波形を振動数（μｍ）で示している。実線はテーブルの振動波形、点線はモータの振動波形を示している。モータとテーブルの振動波形は同一時刻で同様に振幅し、時間経過と共に徐々に減衰している。モータの振動波形よりもテーブルの振動波形の方が大きい。図１７（Ｂ）は、補償入力用の減衰振動波形を振動数（μｍ）で示している。モータとテーブルの減衰振動波形は、図１７（Ａ）の振動波形に対して同一時刻で逆の振幅となった逆位相の波形である。
【００４９】
図１７（Ｃ）は、図１７（Ａ）の振動波形に対して、図１７（Ｂ）の減衰振動波形を入力した実験結果である。図１７（Ａ）に比べて、テーブルの振動波形はほぼ直線となっていることから、テーブルに発生する振動を抑制できることを確認できた。なお、モータの振動波形は、機械反転後の初期においてテーブルとは異なる挙動を示しているが、機械系の最終出力側であるテーブルの振動が十分に抑制できているので問題ないと思われる。
【００５０】
以上説明にて、テーブル装置１０は本発明の機械装置の一例である。操作パネル１５は本発明の設定手段の一例である。遅れ時間ｔｄは本発明の所定時間の一例である。ＴＣは本発明の最大出力値の一例である。ｔｌは本発明の出力時間の一例である。駆動回路５３Ａの加算器６７が本発明のトルク指令出力部の一例である。図１３の補償トルク加算処理のＳ１３の処理を実行するＣＰＵ３１は本発明のトルク指令生成手段の一例である。Ｓ１４の処理を実行するＣＰＵ３１は本発明の加算手段の一例である。ＣＰＵ３１が実行するＳ１３の処理は本発明のトルク指令生成工程の一例である。ＣＰＵ３１が実行するＳ１４の処理は本発明の加算工程の一例である。
【００５１】
以上説明したように、本実施形態の数値制御装置３０は工作機械１の動作を制御する。工作機械１はテーブル装置１０を備える。テーブル装置１０は、Ｘ軸モータ５３とＹ軸モータ５４により駆動し、テーブル１３をＸ軸方向とＹ軸方向に移動（並進）する。駆動回路５３Ａ，５４Ａのサーボ制御系は、Ｘ軸モータ５３とＹ軸モータ５４に対し、移動指令に基づくトルク指令を出力する。テーブル装置１０はトルク指令により駆動する。数値制御装置３０はテーブル装置１０の駆動時にテーブル１３に発生する振動と１８０°逆位相の振動に対応する補償トルク指令を生成する。数値制御装置３０は生成した補償トルク指令をトルク指令に加算する。故に数値制御装置３０はトータルでのテーブル１３に発生する振動、即ち、テーブル１３と工具４の相対振動を打ち消して抑制できる。数値制御装置３０はモータのトルクが許す限りの速度で加工を行うことができるので、加工のサイクルタイムを短縮できる。
【００５２】
本実施形態は、インパルス状の補償トルク指令のＴＣ、ｔｌ、ｔｄを変化させることで、テーブルと工具の相対振動と大きさが同じで１８０°位相の異なる振動を発生できる。
【００５３】
本発明は上記実施形態に限らず各種変形が可能なことはいうまでもない。上記実施形態の工作機械１は、工具４を装着する主軸９がＺ軸方向に移動可能であり、テーブル１３がＸ軸とＹ軸方向に移動可能であるが、テーブル１３に対してＸ軸、Ｙ軸、Ｚ軸方向に相対的に移動する工具の移動機構の仕組みは上記実施形態に限定しない。例えば主軸はＸ、Ｙ、Ｚ軸方向の三軸に駆動するもので、テーブルは固定若しくは回転可能であってもよい。主軸を三軸に駆動する工作機械の場合、主軸の移動開始時、移動停止時、又は移動速度の変化時に発生する加速又は減速に基づく振動を抑制できる。即ち本実施形態は工具とテーブルの相対的移動によって生じる振動を抑制できる。
【００５４】
上記実施形態のテーブル装置１０はテーブル１３をＸ軸方向とＹ軸方向に並進可能に支持する機械装置であるが、テーブル１３を回転可能に支持するようにしてもよい。また、上記実施形態はテーブル装置１０を本発明の機械装置の一例として説明したが、モータにより駆動され並進又は回転運動をする機械装置であれば、テーブル装置１０に限定しない。
【００５５】
上記実施形態は、テーブル１３のＹ軸方向反転時に発生する振動を抑制することを例に説明したが、テーブル１３の移動開始時、移動停止時に発生する加速又は減速時に基づく振動も抑制できる。
【００５６】
上記実施形態は、補償トルク加算処理（図１３参照）のＳ１３の処理において、補償トルクを生成しているが、例えばＮＣプログラムを先読みすることによって、補償トルクを生成してもよい。
【００５７】
上記実施形態は、工作機械１の動作を制御する数値制御装置３０を一例として説明したが、モータにより駆動され並進又は回転運動をする機械装置に対してモータに移動指令に基づくトルク指令を出力するトルク指令出力部を有し、該トルク指令出力部が出力したトルク指令により機械装置に発生する振動を抑制する振動抑制装置にも適用可能である。
【００５８】
上記実施形態の工作機械１は主軸がＺ軸方向に対して平行な縦型の工作機械であるが、主軸が水平方向に延びる横型の工作機械であってもよい。
【００５９】
上記実施形態の駆動回路５１Ａ〜５５Ａは工作機械１に設けているが、駆動回路５１Ａ〜５５Ａを数値制御装置３０に設けてもよい。
【符号の説明】
【００６０】
１０    テーブル装置
１３    テーブル
１５    操作パネル
１６    入力部
３０    数値制御装置
３１    ＣＰＵ
５３    Ｘ軸モータ
５３Ａ  駆動回路
ＴＣ    最大出力値
ｔｌ    出力時間
ｔｄ    遅れ時間
【図１】
0006693013.tif 000003
【図２】
0006693013.tif 000004
【図３】
0006693013.tif 000005
【図４】
0006693013.tif 000006
【図５】
0006693013.tif 000007
【図６】
0006693013.tif 000008
【図７】
0006693013.tif 000009
【図８】
0006693013.tif 000010
【図９】
0006693013.tif 000011
【図１０】
0006693013.tif 000012
【図１１】
0006693013.tif 000013
【図１２】
0006693013.tif 000014
【図１３】
0006693013.tif 000015
【図１４】
0006693013.tif 000016
【図１５】
0006693013.tif 000017
【図１６】
0006693013.tif 000018
【図１７】
0006693013.tif 000019